CM2 FEM® SDK /release 5.6.0 Preview 2

by | May 21, 2025

  • 5.6.0 Preview 2
  • May 2025.
  • Major release of the CM2 FEM® SDK.
  • All CM2 FEM® SDK.
  • Due to changes in the API, client applications must be recompiled against the new headers.

/caveats

  • Major version. Due to changes in the API, client applications must be recompiled against the new headers.
  • Lib names now end with _56 (Windows®), 5.6.0 with symlinks from 5.6 (Linux®, macOS®).
  • Visual Studio 2015 deprecated (will be no longer provided in future versions).

/new features

fem::law_shell_solid

  • New law for Mindlin shells and plates based on a solid constitutive law (any fem::law_solid_stiff), two thickness abscissas (bottom and top) and a number of Gauss points along the thickness for the numerical integration. Can be associated to any plate/shell mechanical model (fem::model_plate_lin, fem::model_shell_lin, fem::model_plate_gnl, fem::model_shell_gnl). Caveats: no specific mass law (use standard fem::law_scalar or law_shell_mass).

fem::law_shell_laminated

  • New law for laminated (i.e. multi-layer) Mindlin shells and plates based on several solid constitutive laws (any fem::law_solid_stiff). Can be associated to any plate/shell mechanical model (fem::model_plate_lin, model_shell_lin, model_plate_gnl, model_shell_gnl). Optimal transverse-shear coefficients are automatically computed (different from the usual 5/6 coeffcient for homogeneous plates/shells). Caveats: no specific mass law (use standard fem::law_scalar or law_shell_mass).

fem::Cauchy_stresses

  • Updated to support the numerical models based on the new fem::law_shell_solid or fem::law_shell_laminated laws above. Caveat: the computations of the Cauchy stresses are still based on the linear elastic theory (=> results are approximated for geometrically non-linear models and for models based on elasto-plastic constitutive laws).

fem::solver_least_squares

  • Updated to smooth the plasticities of numerical models based on the new fem::law_shell_solid or fem::law_shell_laminated laws above. Caveat: the computed plasticities are the smoothed values of the max plasticities along the thicknesses (only one returned plasticity per node).

fem::link_surface

  • New model for rigid links (DISPLACEMENT, ROTATION or TEMPERATURE) between a set of nodes and a surface (2-D or 3-D). This new class is intended to make junctions between incompatible surface meshes. 👉 May require usage of meshtools2d::get_elements_containing_nodes of the CM2 MeshTools SDK.

fem::law_membrane_skyline

  • New fem::law_membrane_skyline for full (skyline profile) user-defined membrane elasticity law. Similar to fem::law_shell_skyline and fem::law_solid_skyline.

/improvements

None.

/fixes

None.

/breaking changes

fem::numerical_model_base

  • Member get_local_basis replaced with get_centre_and_local_basis (gaining a DoubleVec3& G parameter for the centroid of the element). The centroid and the basis are computed taking into account the hard offsets if any.

fem::solver_least_squares

  • Beams/plates/shells: for physics_kind = FEM_NODES_VON_MISES, FEM_NODES_VON_MISES_SIGNED, FEM_NODES_TRESCA, FEM_NODES_TRESCA_SIGNED, the computations are now smoothing the max values of these stress scalars along the sections/thicknesses (used to smooth the values of these scalars along mid-section line and mid-surface).

fem::context

  • Member set_min_penalty_factor (resp. get_min_penalty_factor, set_max_penalty_factor, get_max_penalty_factor) renamed to set_min_penalty_stiffness (resp. get_min_penalty_stiffness, set_max_penalty_stiffness, get_max_penalty_stiffness).

fem::medit_nodal

  • Overloads replaced with fem::vizir_nodal, fem::vizir_nodal_scalars, fem::vizir_nodal_vectors, fem::vizir_nodal_tensors.