Order in which faces are accessed through begin_f_loop

In certain types of UDFs, it may be necessary for the faces on a particular zone to be accessed in the same order in the begin_f_loop(face,thread){}end_f_loop(face,thread) loop, no matter where the loop is called from, e.g. called from many different DEFINE_PROFILE macros.

The faces WILL always be called in the same order, but there are a few provisos
Yes. the order of faces in a face thread WILL be the same every time the begin/end_f_loop macros are used regardless
of UDF or time of use.

A limit to this is of course if you partition the grid and run in parallel. Then different faces on a thread will be on different
partitions. Of course, this may not be a problem if all you want is the order to be the same for EACH SET of faces on EACH partition.

Another limit is that the mesh should not be altered (toplogically) in any way if you want the order to be the same from iteration to iteration.
It can be smoothed but not refined or remeshed as this MAY alter the order.
Although faces threads need not necessarily be altered, I think it is safer to assume that their is no assurance that the their order will be preserved.

I think it is safe to assume that you WILL be able to depend on the loop order being the same for all future releases of V6.

Show Form
No comments yet. Be the first to add a comment!