CFD Online Discussion Forums

CFD Online Discussion Forums (
-   FLUENT (
-   -   Looping over faces in a cell (

Senthil April 10, 2002 16:55

Looping over faces in a cell

I want to loop over all the faces in a cell. I used the following code. When I compile it, it says there is an error on line c_face_loop(c,t,n). error message is "non-integer subscript expression: unsigned char". I would be grateful if somebody can help me debug this code.

Thread *t,*tf; cell_t c; face_t f; int n,k;

thread_loop_c (t,d) {

begin_c_loop (c,t)



f = C_FACE(c,t,n);

tf = C_FACE_THREAD(c,t,n);

} end_c_loop (c,t) }

Thank you Senthil

Johnix April 10, 2002 21:30

Re: Looping over faces in a cell
I think this must be the compiler's incompatibility...

Add this line in your file just below #include "udf.h":

#define C_NFACES(c,t)(cell_type_nfaces[(int)(C_TYPE((c),(t)))])

Good luck!


Senthil April 10, 2002 22:41

Re: Looping over faces in a cell
Hi Johnix,

Thanks... It worked after including that statement you mentioned. Though it gave a warning stating that C_NFACES had already been defined in mem.h

I am a new user of fluent. I would like to understand what this statement does. I used the compiler supplied by fluent(Use contributed cpp).Thanks in Advance.


Johnix April 11, 2002 11:41

You are welcome!
This line just overloaded the same definition in mem.h

We can easily find the designer's intention is to save mem space. The compiler should accept "uchar" as an array subscript. But why not? Maybe it's the oldest C compiler...

If you meet any problem like this, try to find the answer in the /applic/fluent/.../src/*.h files. Such source codes can be helpful.


All times are GMT -4. The time now is 05:07.