Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Question: I assign X condition on some nodes and then assign Y condition on some nodes(include some nodes I select when assign X condition),then I write a calculate file,those nodes I select both when I assign X condition and Y condition only have Y condition value,but the X condition is lost.Could you tell me the reason?


Response: If you desire to apply a same condition (same name with different values) more of one times to a entity, this condition must be declared as CANREPEAT: yes in the *.cnd file.
If CANREPEAT: no (default), then the second same condition replaces the first:


Sample *.cnd:

Code Block
CONDITION: Face-Load

...


CONDTYPE: over lines

...


CONDMESHTYPE: over face elements

...


CANREPEAT: yes

...


QUESTION: X_preassure

...


VALUE: 0

...


HELP: 2D case, X force for length unit

...


QUESTION: Y_preassure

...


VALUE: 0

...


HELP: 2D case, Y force for length unit

...


END CONDITION


Inside the bas file also exist a *CanRepeat keyword:
If command *CanRepeat is added after *nodes or *elems in *Set cond, one entity can be several times in the entities list of the loop. If command *NoCanRepeat is used, entities will be just once in the entities list.
By default, *CanRepeat is off except for the case of one condition that have the *CanRepeat flag already set.


Sample *.bas:

Code Block
*Set Cond Face-Load *elems *canrepeat

...

 
*# if canrepeat is missing, it is assumed by default  in this case,

...

 
*# because Face-Load have CANREPEAT: yes

...

 
*loop elems *OnlyInCond

...


Elem number=*elemsnum, Nodes of the loaded face= *globalnodes Px=*cond(X_preassure) Py=*cond(Y_preassure)

...

 
*end elems