CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   FLUENT (http://www.cfd-online.com/Forums/fluent/)
-   -   Loop over the faces of a cell in UDF (http://www.cfd-online.com/Forums/fluent/28995-loop-over-faces-cell-udf.html)

Anthony Wachs October 15, 2001 11:57

Loop over the faces of a cell in UDF
 
Hi everybody,

Does someone know how to do a loop over the faces of a cell in an UDF ? or what is the macro to name the face of a given cell ?

I have found the instruction "C_FACE(cell,thread,i)" where I suppose that "i" corresponds to face number i of the cell. Therefore, I tried a thing like :

for (i=0;i less C_NFACES(cell,thread);i++)

{

f0=C_FACE(cell,thread,i);

...

}

(I write "less" otherwise errors occurs in the text, but in the C source, I obviously used the sign, thus don't mind about that, the problem is not here!!)

but it doesn't seem to work.

Any help would be really appreciated.

Thanks in advance

Anthony

ravi October 15, 2001 15:06

Re: Loop over the faces of a cell in UDF
 
The integer variables C_NNODES and C_NFACES return the number of nodes or faces, respectively, for a given cell. The integer variable F_NNODES returns the number of nodes associated with a face.

So this is not the appropriate macro for looping over faces in a cell.

Use : begin_f_loop(f,t) end_f_loop(f,t) ---> which loops over faces in a face thread.

Anthony Wachs October 16, 2001 03:04

Re: Loop over the faces of a cell in UDF
 
Hi Ravi,

Thank you for your contribution.

Unfortunetaly, your answer does not correspond to what I would like to do. I know very well the command : begin_f_loop(f,t) end_f_loop(f,t), which as you mentioned as well, is useful for a loop over faces in a FACE THREAD. But I am concerned with loop over faces of a CELL, not of a thread : this is completely different.

I have been using "begin_f_loop(f,t) end_f_loop(f,t)" efficiently for a long time in simpler situations, when I would like to do a loop over faces of a face thread.

If you have any other suggestion concerning how to write a "LOOP OVER FACES OF A CELL", thank you in advance

Anthony

Greg Perkins October 16, 2001 05:58

Re: Loop over the faces of a cell in UDF
 
Ok here's how to do it:

int numbf; cell_t cf; Thread *tf,*f_thread; face_t face;

/* cf,tf is cell & cell thread */

c_face_loop(cf,tf,numbf) {

face = C_FACE(cf,tf,numbf);

f_thread = C_FACE_THREAD(cf,tf,numbf);

/* do what you like with face numbf with

face & f_thread */

/* -- eg temp = F_T(face,thread); */ }

Greg


Anthony Wachs October 16, 2001 10:55

Re: Loop over the faces of a cell in UDF
 
Thanks Greg !!

Anthony


All times are GMT -4. The time now is 14:50.