5.30.6. Equation Parser

The Envyo application implements an equation parser based on the Shunting yard algorithm and is available as a MIT license [6]. This equation parser has been modified to work with common LS-DYNA application variables such as histories, eff. plast. strains, stresses, temperatures, etc. Variables are declared, using 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 second order stress tensor.

&SIG_INIT Enables initializing a specific stress value that refers to all stress components.
&T Enables modifying temperature initial values or curves stored on nodes.
&ADD ELE HISV#i Element history variable from file i is used.
&LookupTable#1 Lookup table from file i is used.
exp Exponent. An alternative input would be e**.
&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 second order stress tensor.
&SIG_INIT Enables initializing a specific stress value that refers to all stress components.
exp Exponent. 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, times a scale factor. Following these operations, history variable #8 is assigned the value at history variable #2, and the element length will be stored at history variable #9. Nevertheless, only eight history variables are written to the final result file due to MAX_NUM_HISV.

The temperature stored on nodes as fixed initial values and/or curves as tempertature over time are transferred from Celsius degrees to Kelvin degrees.