Pbox Code, supporting the publication: Macro-element refinement schemes for THB-splines: Applications to Bézier projection and structure-preserving discretizations
The Python code base that adds pbox meshes to Nutils, an open-source finite element package in Python. This is an implementation of my work, presented in the linked article. The package can be installed as an additional package on top of Nutils and, as much as possible, uses the same code structure and functions. As a result, it is very easy to replace a standard nutils rectilinear mesh with a pbox mesh, and refinement uses similar arguments. The main benefit of using this package is: It implements pbox meshes in Nutils. As a result, when using Nutils, the user will not have to do this themselves.One of the main benefits of using a Pbox mesh is that it allows for an efficient local projector. This has also been implemented in this code base. The actual code is in the /src folder (and can be installed via pip), and various examples are in the /Examples folder. The /FigureScripts folder contains the code and figures used to generate the article's figures, along with the data sets used to produce them.
Macro-element refinement schemes for THB-splines: Applications to Bézier projection and structure-preserving discretizations