discretize 0.8.0 Release Notes#

May 12, 2022

This minor release introduces a new mesh type to discretize, SimplexMesh!


discretize now has support for triangular (2D) and tetrahedral (3D) meshes. These meshes support most of the operations that you would expect of a discretize mesh that is used to solve PDEs with the finite volume method. You have access to SimplexMesh.face_divergence(), SimplexMesh.nodal_gradient(), and SimplexMesh.edge_curl() operators, along with the expected inner product operators and their derivatives: SimplexMesh.get_edge_inner_product(), SimplexMesh.get_face_inner_product(), SimplexMesh.get_edge_inner_product_deriv(), and SimplexMesh.get_face_inner_product_deriv(). They contain the expected average operators that move between nodes, cell centers, faces, and edges. The interpolation operator can interpolate scalar values from nodes and cell centers, and interpolate vector quantities from edges and faces. The mesh also has operators to handle the boundary conditions in manners similar to the previous implementation.

The basic format of input into a SimplexMesh is an array of node locations, and an array of the simplex indices, enabling for simple interaction with many different mesh generation libraries. There are readers for unstructured VTK files which contain all of either triangular or tetrahedral elements.


Interpolation on TreeMesh is now linear between cells of the same level for the cell centered, edge, and face interpolators.

Future Warnings#

All of the previous Deprecation Warnings from the refactor of discretize to pep8 friendly names in v0.6.0 have been changed to Future Warnings in preparation for the 1.0.0 release of discretize.


  • @jcapriot

Pull requests#

  • #263: Unstructured Triangular/Tetrahedral meshes

  • #277: Updating TreeMesh Interpolation

  • #278: 0.8.0 Release