For a civil engineer, it is of primary importance to customize the checkings performed on element forces or displacements.

NextFEM Designer allows to handle and checks some defined quantities on nodes/elements by means of user-defined formulas.

It is possible to customize the list of verifications with the notation described in the following. The text file containing checking can be placed in the “*verification*” folder in the program installation directory and must have the “.*nvv*” extension (see for example *trusses.nvv*). Such file can be edited with Notepad++ (https://notepad-plus-plus.org/). A setting for the syntax highlight for Notepad++ can be found in the “*verification*” folder (*NextFEMVerifications.xml*).

The checking engine supports the code execution in blocks. Each block is delimited by the identifiers as in the following example and must the named with a floating point number (0.6).

*$$0.6*

*# this is a comment*

*execif(SecType==1,1.0)*

*$!*

To call each block, the following keywords are available:

*exec(0.6)*: executes the code block named 0.6*execif(condition, 0.6)*: executes the code block named 0.6 is*condition*is true.

Formulas can be written using the following operators/functions:

Addition: **+**

Subtraction: **–**

Multiplication: *****

Division: **/**

Modulo: **%**

Exponentiation: **^**

Less than: **<**

Less than or equal: **<=** or **≤**

More than: **>**

More than or equal: **>=** or **≥**

Equal: **==**

Not Equal: **!=** or **≠**

Sine: **sin**

Cosine: **cos**

Arcsine: **asin**

Arccosine:** acos**

Tangent: **tan**

Cotangent: **cot**

Arctangent: **atan**

Arc cotangent: **acot**

Natural logarithm: **loge**

Common logarithm: **log10**

Logarithm:** logn**

Square root: **sqrt**

Conditional key: **if(var<var2,1,0)**

The hardcoded variables are:

**Model units handling****unitconv**: converts between units. Usage:*unitconv(oldUnits,newUnits,Value)*.

Example: Eps=sqrt(235/*unitconv(model_S,MPa,fk)*)

converts fk from*stress units in the model*to*MPa***rcsect**: calculates resisting moments of a RC section, storing them in Mry and Mrz. Usage:*rcsect(N,Myy,Mzz)***skipItem**: if =1, skips the subsequent checking. To be used only in the time-dependent load cases (for example, linear dynamic analysis)**model_L**: placeholder for the length unit in the model**model_F**: placeholder for the force unit in the model**model_FL**: placeholder for the force per length unit in the model**model_T**: placeholder for the temperature unit in the model**model_M**: placeholder for the mass unit in the model**model_S**: placeholder for the stress unit in the model

**Verifications on element results****A**: Area**Jz**: Moment of inertia around x-axis**Jy**: Moment of inertia around y-axis**Jmin**: Minimum moment of inertia**Jt**: Torsional Inertia**D**: Diameter of circular cross sections**Di**: Inner diameter of pipe cross sections**te**: Thickness of pipe cross sections**b**: Base for any other cross sections**h**: Height for any other cross sections**tw**: web thickness**tf1**: thickness of bottom flange**tf2**: thickness of upper flange**t**: thickness for planar sections**N**: Axial force**Vy**: Shear force along y direction**Vz**: Shear force along z direction**Mt**: Twisting moment**Myy**: Moment around y local axis**Mzz**: Moment around z local axis**Em**: material Young modulus**Gm**: material shear modulus**NIm**: material Poisson’s ratio**fk**: material characteristic strength**WelZ**: section modulus for Z axis**WelY**: section modulus for Y axis**WplZ**: plastic section modulus for Z axis**WplY**: plastic section modulus for Y axis**iz**: radius of inertia for Z axis**iy**: radius of inertia for Y axis**imin**: minimum radius of inertia**SecType**: 1=beam, 2=planar, 0=unknown**SecBeamType**: 0=unknown, 1=rectangular, 2=circular, 3=Cshape, 4=Tshape, 5=DoubleTshape, 6=Lspahe, 7=box, 8=pipe**dx**: axial relative displacement along beam axis**dy**: transversal deflection in local direction y**dz**: transversal deflection in local direction z.

**Verifications on nodal results****dx**: nodal displacement in X direction**dy**: nodal displacement in Y direction**dz**: nodal displacement in Z direction**rx**: nodal rotation around X axis**ry**: nodal rotation around Y axis**rz**: nodal rotation around Z axis**vx**: nodal velocity in X direction**vy**: nodal velocity in Y direction**vz**: nodal velocity in Z direction**vrx**: nodal velocity around X axis**vry**: nodal velocity around Y axis**vrz**: nodal velocity around Z axis**ax**: nodal acceleration in X direction**ay**: nodal acceleration in Y direction**az**: nodal acceleration in Z direction**arx**: nodal acceleration around X axis**ary**: nodal acceleration around Y axis**arz**: nodal acceleration around Z axis**Rx**: nodal reaction in X direction**Ry**: nodal reaction in Y direction**Rz**: nodal reaction in Z direction**Rrx**: nodal reaction around X axis**Rry**: nodal reaction around Y axis**Rrz**: nodal reaction around Z axis.