discretize 0.9.0 Release Notes#

May 31, 2023

This is a minor release with several pieces of additional functionality, and some small bug fixes. It also stages the updates for the 1.0.0 release by changing the FutureWarnings to actual errors that describe to the user of how to update their code. All of these errors and messages will be removed on 1.0.0.


Cylindrical meshes have now become more flexible. They can be created without discretizing the full azimuthal space (think a slice of pizza, or a half-cylinder), and they can be created without starting the radial dimension at 0 (think a ring).

Cylindrical meshes now also support averaging edges to faces, and thus now allow for boundary conditions to be imposed on PDEs involving curls.

Boundary Conditions#

The curvilinear and simplex meshes now better support boundary conditions with improved (and corrected) handling of the inner products in the boundary condition surface integral.

There is also now a detailed example on how to solve a nodal gradient problem with a dirichlet boundary condition.


Discretize tests now better support a pytest environment with new assertion tests. Previous tests now use these internally. Thhe new tests are more flexible and should give better messages when they fail.


The external c++ code now uses a try_emplace function for determining if an item already exists when constructing the mesh. This should speedup mesh refinement.

Bug Fixes#

  • Scrolling through the Slicer object within modern notebook enviroments should now be working correctly.


  • @jcapriot

  • @prisae

Pull requests#

  • #308: Switch to try_emplace

  • #309: Add stacklevel to warnings

  • #310: Assert tests

  • #312: Remove calls with deprecated dir argument

  • #314: change name and description of average edge to face

  • #315: update doc page style sheet

  • #316: Curvilinear vector boundary integral

  • #317: Cyl average edge

  • #318: Feat/simp boundary

  • #319: Add message to assertion error in tests.

  • #320: Nodal boundary example

  • #321: Cyl mesh generalization

  • #322: Capture scroll

  • #323: 0.9.0 release

  • #324: Add total_nodes method to TreeMeshes