Custom verifications

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.