Lucas Blattner Martinho wrote:
Dear Gmsh developers,


I am trying to use Gmsh's "For" loop with a variable incrementation step, however I am not obtaining the expected results.

For example, I expected the following Gmsh commands

step = 1.0;
For k In {0:100:step}
Printf("step = %f   k = %f", step, k ) >> "test.txt";
step = step +1;
EndFor


would produce an output file called "test.txt" containing the following data:

step = 1.000000   k = 0.000000
step = 2.000000   k = 2.000000
step = 3.000000   k = 5.000000
.
.
.
and so on.


However, the previous commands result in the following output file:

step = 1.000000   k = 0.000000
step = 2.000000   k = 1.000000
step = 3.000000   k = 2.000000
step = 4.000000   k = 3.000000
step = 5.000000   k = 4.000000
.
.
.
and so on.


It seems that incrementation of the "step" variable inside the loop does not result in a variable update of "k", which keeps growing with unit steps.

I found this strange behaviour while trying to emulate a "While" loop , which doesn't appear to be promptly available in Gmsh (by setting a "step" variable bigger than the "for" loop's range, when some break condition is satisfied ).


Am I missing something and these are in fact the expected behaviours, or would this be a bug of some sort?

Indeed, it's a limitation of our implementation: we don't reevaluate the arguments of the For after each iteration...


Is there a better way to work these issues around (emulating a "While" loop) ?


Not that can I directly think of. I am adding this issue to our TODO list.

Thanks for the feedback,

Christophe



yours faithfully,
Lucas Blattner Martinho
**




------------------------------------------------------------------------

_______________________________________________
gmsh mailing list
[email protected]
http://www.geuz.org/mailman/listinfo/gmsh


--
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
http://www.montefiore.ulg.ac.be/~geuzaine

_______________________________________________
gmsh mailing list
[email protected]
http://www.geuz.org/mailman/listinfo/gmsh

Reply via email to