Skip to content

Releases: Deltares/MeshKernelPy

v4.1.0

15 Feb 14:12
3435f38
Compare
Choose a tag to compare

What's Changed

  • Reintroduced mesh deletion option of faces including circumcenters (previously deleted feature)

Bug fixes

  • Fixed back-end API bug related to rotated samples

v4.0.2

31 Jan 09:32
cf718cf
Compare
Choose a tag to compare

What's Changed

  • Allow getting unset contacts in MeshKernel.contacts_get (API change made in MeshKernel v4.0.2).

v4.0.1

25 Jan 15:34
3b81559
Compare
Choose a tag to compare

What's Changed

  • Bind mesh2d_refine_ridges_based_on_gridded_samples API function

v4.0.0

24 Jan 10:12
4875238
Compare
Choose a tag to compare

New features

  • Added the generation of a global spherical mesh.
  • Added ridge refinement mesh2d_refine_based_on_samples.
  • Added support for macOS on arm64 architecture.
  • Added the calculation of curvature for curvilinear grids with curvilinear_compute_curvature.
  • Added the calculation of smoothness for curvilinear grids with curvilinear_compute_smoothness.
  • Gridded samples can now accept values of type numpy.int16 or numpy.float32 type for reducing memory consumption.

API changes

  • Added mesh1d_add and mesh2d_add for adding meshes to existing instances.
  • Added contacts_set for setting the contact indices.
  • Added conversion of an unstructured mesh from spherical to Cartesian with mesh2d_convert_projection.
  • Added mesh rotation with mesh2d_rotate.
  • Added mesh translation with mesh2d_translate.

Other changes

  • Removed type enforcement.

v3.0.0

27 Oct 14:54
76f9ccf
Compare
Choose a tag to compare

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

v2.1.0

06 Jul 13:09
2950078
Compare
Choose a tag to compare

What's Changed

API changes

  • Added mesh refinement based on bilinear interpolation: mesh2d_refine_based_on_gridded_samples
  • Added a projection factor in contacts_compute_single, for generating 1D2D contacts when 1D nodes are not inside the mesh
  • Removed block_size parameter in MakeGridParameters
  • Added an API for making uniform curvilinear based on extensions: curvilinear_make_uniform_on_extension
  • Added an API for retrieving the projection type of the current instance : get_projection
  • Add default initialization for several parameters of the API structures

Bugs

  • Fix a bug in creating a MeshKernel instance with spherical coordinates

Improvements

  • Updated and published the documentation
  • Added more notebook examples
  • Linux support
  • macOS support
  • Python 3.11 support

Full Changelog: v2.0.2...2.1.0

v2.0.2

14 Mar 13:21
7d541c1
Compare
Choose a tag to compare
  • Added a CMake extension in setup.py for building MeshKernel native component from the source
  • Added a new Docker container for reproducible Linux builds
  • Fixed a bug due to incorrect API parameters types

v2.0.1

22 Feb 22:09
Compare
Choose a tag to compare

Add libMeshKernelApi.so

v2.0.0

23 Dec 14:20
Compare
Choose a tag to compare
  • Features:
    • Generation of curvilinear grids from splines using the advancing front and transfinite interpolation methods
    • Generation of curvilinear grids inside a polygon or rotated by a specific angle
    • Curvilinear grid orthogonalization and smoothing
    • Shifting curvilinear grid lines
    • Mirroring curvilinear grid lines
    • Adding nodes and faces to a curvilinear grid
    • Converting a curvilinear grid to an unstructured 2d mesh

v1.0.0

18 Jun 13:21
Compare
Choose a tag to compare
  • First stable release
  • Features:
    • 1d meshes
    • 2d meshes
    • Contacts
    • Polygons
    • Mesh creation routines