Skip to content

v3.0.0

Compare
Choose a tag to compare
@ahmad-el-sayed ahmad-el-sayed released this 27 Oct 14:54
76f9ccf

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.
  • The refinement of a polygon perimeter has been improved.
  • The size of the internal arrays in GeometryList is now checked

API changes

  • The MeshKernel class instance now accepts a ProjectionType enumeration as a constructor parameter, replacing the previous boolean parameter.
  • Strong typing is now mandatory for all parameters used in the MeshKernel API.
  • Improved the performance of search algorithms mesh2d_get_edge and mesh2d_get_node_index by introducing a bounding box defining the search area
  • GeometryList is now optional in contacts_compute_boundary
  • Small, non-contiguous regions of an unstructured mesh can be removed using the mesh2d_remove_disconnected_regions function.
  • mesh2d_make_uniform is now divided in 3 apis for separating responsabilities
    • mesh2d_make_rectangular_mesh: for making an unstructured mesh based on origin, rows and columns
    • mesh2d_make_rectangular_mesh_from_polygon: for making an unstructured mesh inside a polygon with defined block sizes
    • mesh2d_make_rectangular_mesh_on_extension: for making an unstructured mesh on a defined area using defined block sizes
  • Triangular mesh generation methods have been renamed as follows:
    • mesh2d_make_mesh_from_polygon -> mesh2d_make_triangular_mesh_from_polygon
    • mesh2d_make_mesh_from_samples -> mesh2d_make_triangular_mesh_from_samples
  • Quadrangular unstructured meshes can now be connected using the mesh2d_connect_meshes API function.
  • The mesh2d_delete function now supports only two options: INSIDE_NOT_INTERSECTED = 0 and INSIDE_AND_INTERSECTED = 1. This algorithm supersedes the previous mesh deletion algorithms.
  • edge_faces and face_edges have been added to Mesh2D structure to allow the reconstruction of the faces.

Bug fixes

  • Corrected the computation of the number of interpolation locations in mesh2d_averaging_interpolation and mesh2d_triangulation_interpolation