CM2 MeshTools® SDK /release 5.7.0 Preview 1
- 5.7.0 Preview 1
- March 2026.
- Major release of the CM2 MeshTools® SDK.
- All CM2 MeshTools® 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
_57(Windows®),5.7.0with symlinks from5.7(Linux®, macOS®). - New Visual Studio 2026 builds.
- Visual Studio 2017 deprecated.
- Last version with Visual Studio 2010 builds.
- The Visual Studio 2015 builds shall be the legacy/oldest builds for the next series (5.8) and beyond.
/new features
All meshers
- The
settings_type::saveand thedata_type::savemembers now return an error indicator (int, negative value in case of error) like thesettings_type::loadand thedata_type::loadmembers.
All meshers accepting a background mesh
- The meshers now adapt to the user-defined node numbering scheme of the background mesh (need not to be the default CM2 local node ordering scheme anymore).
CM2 SurfMesh T3, CM2 SurfMesh Q4
- Surfaces can now be masked (not meshed) by setting a negative value in
data_type::surface_H.
This is a breaking change vs. previous versions since negative values used to be replaced with the default (setting_type::target_h) mesh size and the surfaces were meshed (see Breaking Changes below).
Core MeshTools libs
meshtools::NASTRAN_inputandmeshtools::NASTRAN_outputnow support theQUAD9/CQUAD9element types (CM2_FACEQ9).
COM wrapper
- Updated.
/improvements
All meshers
- New OMP parallelism in the regularisation steps (node smoothing and element smoothing).
But only beneficial when several subdomains.
CM2 HexaMesh Iso
- Gradations to
settings_type::target_metricare much better honored.
CM2 TetraMesh Iso, CM2 TetraMesh Aniso
- Improvements in the boundary enforcement step (again) to recover the boundary faces in more difficult cases (reducing the risk of
CM2_FACE_ERROR).
In addition, this is achieved with usually fewer Steiner nodes. - Improvements in the regularization step to better chase out the worst elements.
CM2 QuadMesh Iso, CM2 QuadMesh Aniso
- New OMP parallelism in the regularisation step (topological transformations).
- Improvements in the regularization step to better chase out the worst elements.
This can show also in CM2 SurfMesh Q4 and CM2 SurfRemesh Q4.
CM2 TriaMesh Iso, CM2 TriaMesh Aniso
- Improvements in the regularization step to better chase out the worst elements.
This can show also in CM2 SurfMesh T3 and CM2 SurfRemesh T3.
/fixes
CM2 SurfRemesh T3, CM2 SurfRemesh Q4
- Bad gradations towards
settings_type::max_halong skeleton lines under specific conditions. - The final optimization step (
settings_type::final_optimization_flag) could strangely coarsen meshes (especially with highsettings_type::optim_level). - Strange/hallucinated non-regular meshes despite very regular/symmetric initial meshes (such as cylinders).
- Fortified remeshing (again) with fewer
CM2_REMESHING_ERROR.
CM2 HexaMesh Iso
- Rare cases of infinite processing (could happen with several subdomains).
Core MeshTools libs
meshtools::vizir_output(overloads withconst UIntVec& refs): could crash on memory error whenrefshas large values.meshtools::NASTRAN_inputfailed to readBAR/CBAR,ROD/CROD,BEAM/CBEAM.
/breaking changes
CM2 SurfMesh T3, CM2 SurfMesh Q4
- Negative values in the
data_type::surface_Harray used to be replaced with the default (setting_type::target_h) mesh size and the surfaces were meshed.
Now, negative values indicate masked surfaces (i.e. surfaces not to be meshed).
The default (setting_type::target_h) mesh size is now applied only to null and missing values indata_type::surface_H.
CM2 TriaMesh Iso, CM2 TriaMesh Aniso, CM2 TetraMesh Iso, CM2 TetraMesh Aniso
settings_type::no_edge_with_nodes_belowrenamed intosettings_type::no_edge_between_nodes_belowfor better clarity (same functionality).