Releases: Deltares/MeshKernel
Releases · Deltares/MeshKernel
v5.0.0
What's Changed
- Release v4.3.0 by @ahmad-el-sayed in #346
- GRIDEDIT-1287: Bump fmtlib version to 11.0.0 by @ahmad-el-sayed in #347
- Feature 953 spline to curvilinear by @BillSenior in #342
- GRIDEDIT 1110 convert to clg not working by @lucacarniato in #350
- GRIDEDIT-1244 Split row/column for unstructured meshes by @BillSenior in #345
- Feature/gridedit 759 linear refine polygon by @BillSenior in #344
- gridedit 1290 refine curvilinear grid by @BillSenior in #349
- GRIDEDIT-1196/GRIDEDIT-1197: Make all methods of CasulliDeRefinement static and add missing refinement/derefinement on polygon unit tests by @ahmad-el-sayed in #348
- GRIDEDIT-1317 curvilinear boundary polygon by @lucacarniato in #351
- GRIDEDIT-1282 Add mkernel_polygon_count_linear_refine api for by @lucacarniato in #355
- Gridedit 1302 generate circular clg by @BillSenior in #354
- Feature/gridedit 1302 generate circular clg by @BillSenior in #358
- GRIDEDIT 1020 snap mesh to land boundary by @lucacarniato in #357
- GRIDEDIT-1364 FIxed bug in undo in api for connecting meshes by @BillSenior in #359
- GRIDEDIT-1387 Check for an invalid edge in SnapMeshToOriginalMeshBoundary function by @lucacarniato in #361
- GRIDEDIT-1310 Added handling of multiple domains with undo by @BillSenior in #356
- GRIDEDIT-1406 Reset MK API id counter when clearing (draft) by @BillSenior in #365
- Feature/gridedit 1388 check invalid nodes edges by @BillSenior in #362
- GRIDEDIT-1404 First working version to allow changing the stack size by @BillSenior in #364
- GRIDEDIT 1410 non orthogonal face polygons by @lucacarniato in #367
- Feature/gridedit 1419 crash when connecting meshes by @BillSenior in #370
- GRIDEDIT-1417: fix mesh deletion options by @lucacarniato in #369
- GRIDEDIT-1407 add mkernel_mesh2d_get_property api by @lucacarniato in #368
Full Changelog: v4.3.0...v5.0.0
v4.3.0
What's Changed
- Release v4.2.0 by @ahmad-el-sayed in #335
- GRIDEDIT-1130 Clear undo stack when invalid by @BillSenior in #332
- Fixed build failure in master by @BillSenior in #336
- GRIDEDIT-111: Add xml namespace to nuspec input configs by @ahmad-el-sayed in #339
- GRIDEDIR-1211: Name nameless GitHub actions by @ahmad-el-sayed in #341
- GridEdit-1205 correct computation of smothness values by @lucacarniato in #340
- GRIDEDIT-782: Fix crash due to generation of triagular mesh from empty samples by @ahmad-el-sayed in #278
- GRIDEDIT-1224: Add API function mkernel_mesh2d_delete_edge_by_index by @ahmad-el-sayed in #343
Full Changelog: v4.2.0...v4.3.0
v4.2.0
What's Changed
- Release v4.0.2 by @ahmad-el-sayed in #290
- Feature/gridedit 777 casulli refinement by @BillSenior in #283
- GRIDEDIT-887: fix linemirror computing error by @andreasbuykx in #294
- GRIDEDIT-900: SetCurvilinearGrid unnecessarily computes edge centers by @andreasbuykx in #298
- GRIDEDIT-893: make curvilinear grid indexing consistent by @andreasbuykx in #297
- GRIDEDIT-892: Reusable build and test workflow by @ahmad-el-sayed in #295
- GRIDEDIT-892: Bump macos runner to version 14 by @ahmad-el-sayed in #301
- GRIDEDIT-780 Updated SonarScanner from 4.7.0.2747 to 5.0.1.3006 by @ScottWillcox in #258
- Release v4.1.0 by @ahmad-el-sayed in #305
- GRIDEDIT-898 Invalid or unreferenced nodes and edges are no longer by @BillSenior in #306
- Feature/gridedit 902 revalidating curvi tests by @lucacarniato in #307
- Fix bug in ConvertCurvilinearToNodesAndEdges by @lucacarniato in #311
- Feature/gridedit 899 undo in meshkernel by @BillSenior in #309
- Bug fix by @lucacarniato in #313
- Create SetMesh1dApiDimension and SetMesh2dApiDimension functions for … by @lucacarniato in #315
- add MakeRectangular_ConvertToMesh2D test by @lucacarniato in #316
- Feature/gridedit 986 add edge undo not in stack by @BillSenior in #317
- Add double and int type interpolation by @lucacarniato in #312
- Feature/gridedit 992 add api for inserting edges by @lucacarniato in #319
- Feature/gridedit 969 delete node incosistent behavior by @lucacarniato in #321
- Fixed bug related to undo by @BillSenior in #324
- Feature/gridedit 934 undo for curvilinear by @BillSenior in #318
- Feature/gridedit 1013 add missing api by @lucacarniato in #323
- Fixed bug when inserting multiple faces along a domain boundary by @BillSenior in #325
- irregular to regular by @lucacarniato in #322
- GRIDEDIT-1035/GRIDEDIT-1039: Support macOS 13 and trigger builds on pull request for release branches by @ahmad-el-sayed in #327
- Add an api for retriving polygons from faces by @lucacarniato in #328
- GRIDEDIT-998 crash on mesh deletion by @lucacarniato in #320
- GRIDEDIT-1129: migrate to alma linux 8 by @ahmad-el-sayed in #331
- GRIDEDIT-1040 Added snapping curvilinear grid to spline by @BillSenior in #330
- GRIDEDIT-1146: Set the version manually in root CMakeLists rather than deducing it from the latest git tag by @ahmad-el-sayed in #333
- Feature/gridedit 778 casulli derefinement by @BillSenior in #329
Full Changelog: v4.1.0...v4.2.0
v4.1.0
What's Changed
- Reintroduced mesh deletion option of faces including circumcenters (previously deleted feature)
Bug fixes
- Fixed bug related to rotated samples
v4.0.2
Bug fixes
- Do not throw if an attempt to get unset contacts information is made (
mkernel_contacts_get_dimensions
andmkernel_contacts_get_data
)
v4.0.1
What's Changed
- Add mkernel_mesh2d_refine_ridges_based_on_gridded_samples API function
v4.0.0
New features
- Improve the support for spherical meshes by introducing spherical RTrees for searching points in a spherical mesh.
- Added the generation of a global spherical mesh.
- Added support for macOS on arm64 architecture.
- Added the calculation of curvature for curvilinear grids.
- Added the calculation of smoothness for curvilinear grids.
- Added throwing exceptions when invalid projection is used in state allocation.
GriddedSamples
can now accept values of short or float type for reducing memory consumption.- Added ridge refinement and
RefinementType::RidgeDetection
inmkernel_mesh2d_refine_based_on_samples
.
API changes
- Introduce curvilinear delete block exterior and interior,
mkernel_curvilinear_delete_exterior
andmkernel_curvilinear_delete_interior
, respectively. - Added mesh rotation with
mkernel_mesh2d_rotate
. - Added mesh translation with
mkernel_mesh2d_translate
. - Added conversion of an unstructured mesh from spherical to Cartesian with
mkernel_mesh2d_convert_projection
. - Added
mkernel_contacts_set
for setting the contact indices. - Added
mkernel_mesh1d_add
andmkernel_mesh2d_add
for adding meshes to existing instances. - Added equidistant polygon refinement, where the original corner vertices are not preserved and the new vertices are placed at equally spaced intervals for each polygon segment.
- Added linear polygon refinement where the original corner vertices are preserved and the spacing of the refined nodes may differ between polygon segments.
Bug fixes
- Improve the refinement of polygon segments.
- Solved a bug in
mkernel_curvilinear_compute_transfinite_from_splines
related to the provided order of the splines.
v3.0.2
Another minor patch that fixes the nuspec package input configurations. Otherwise identical to v3.0.1.
v3.0.1
What's Changed
Minor patch that fixes the nuspec package input configurations. Otherwise identical to v3.0.0.
v3.0.0
Major improvements
- A new efficient mesh deletion algorithm has been introduced, allowing for the deletion of a mesh based on a polygon with two options:
- Delete faces inside the polygon that are not intersected by the polygon segments.
- Delete faces inside the polygon that are intersected by the polygon segments.
- Minimum edge size in meters is now taken into account when refining a mesh based on a polygon or samples, both in spherical and Cartesian coordinates.
- Mesh refinement based on the Courant criteria now considers the max_courant_time.
- Improved the generation of rotated curvilinear grids within a polygon.
- Performance has been enhanced by utilizing 32-bit integers for unsigned indexes.
- The refinement of a polygon perimeter has been improved.
- The polygon class has been refactored.
- The generation of curvilinear grids has been improved by introducing Eigen.
- Input and parameter range checks are now in place. When invalid values are specified, exceptions are thrown and errors are registered.
API changes
- Improve performance of search algorithms
mkernel_mesh2d_get_edge
andmkernel_mesh2d_get_node_index
by introducing a bounding box defining the search area. - Small, non-contiguous regions of an unstructured mesh can be removed using the
mkernel_mesh2d_remove_disconnected_regions
function. - Quadrangular unstructured meshes can now be connected using the
mkernel_mesh2d_connect_meshes
API function. - Snapping a polygon to a land boundary is now possible with the
mkernel_polygon_snap_to_landboundary
function. - Snapping a spline to a land boundary is now available through the
mkernel_splines_snap_to_landboundary
function. mkernel_curvilinear_make_uniform
is now divided in 3 apis for separating responsibilitiesmkernel_curvilinear_make_rectangular_mesh
: for making a curvilinear mesh based on origin, rows and columnsmkernel_curvilinear_make_rectangular_mesh_from_polygon
: for making an curvilinear mesh inside a polygon with defined block sizesmkernel_curvilinear_make_rectangular_mesh_on_extension
: for making an curvilinear mesh on a defined area using defined block sizes
mkernel_mesh2d_make_uniform
is now divided in 3 apis for separating responsibilitiesmkernel_mesh2d_make_rectangular_mesh
: for making an unstructured mesh based on origin, rows and columnsmkernel_mesh2d_make_rectangular_mesh_from_polygon
: for making an unstructured mesh inside a polygon with defined block sizesmkernel_mesh2d_make_rectangular_mesh_on_extension
: for making an unstructured mesh on a defined area using defined block sizes
- Triangular mesh generation functions have been renamed as follows:
mkernel_mesh2d_make_mesh_from_polygon
->mkernel_mesh2d_make_triangular_mesh_from_polygon
mkernel_mesh2d_make_mesh_from_samples
->mkernel_mesh2d_make_triangular_mesh_from_samples
- The
mkernel_mesh2d_delete
function now supports only two options: InsideNotIntersected = 0 and InsideAndIntersected = 1. This algorithm supersedes the previous mesh deletion algorithms. - edge_faces and face_edge have been added to the meshkernelapi::Mesh2D structure to allow the reconstruction of the faces
Bug fixes
- Account for boundary edges in
mkernel_mesh2d_get_orthogonality
,mkernel_mesh2d_get_smoothness
- The translation of large polygons in spherical coordinate generates erroneous results when used to inquire if a point is in polygon