5.23.7. Equation Parser

The Envyo application implements an equation parser based on the Shunting yard algorithm, and is available as MIT license [6]. This equation parser is modified to work with common LS-DYNA application variables such as histories, eff. plast. strains, stresses, and more. Variables are declared with the & symbol, and commands are executed in the order of input. The following variables are available:

&HISV#i

History variable at position i.

&EPS

Effective plastic strain (the last entry in *INITIAL STRESS SHELL which may have a different meaning than eff. plast. strain).

&ELELENGTH

Element length of the current element.

&SIG_IJ

Components of the 2nd order stress tensor.

&SIG_INIT

Enables initializing a specific stress value - refers to all stress components.

expExponent. An alternative input would be e**.

Example

The following example illustrates the usage of the equation parser. The commands following the additional history are executed in the order of input:

&HISV#4 = abs(&HISV#3-&HISV#2)*0.000467354 
&HISV#8 = &HISV#2 
&HISV#9 = &ELELENGTH
MAX_NUM_HISV = 8 

The value of history variable #4 is calculated using the absolute value of history #3 - #2, multiplied by a scale factor. Following these operations, history variable #8 is assigned the value at history variable #2, and the element length is stored at history variable # 9. Nevertheless, only eight history variables is written to the final result file due to MAX_NUM_HISV.