This repo contains a number of crates that can be used for solving problems using numerical discretisation in Rust, for example by using the finite element method or boundary element method.
ndelement is an open-source Rust library for defining and tabulating finite elements on 1D, 2D, or 3D reference cells.
You can use the latest release of ndelement by adding the following to [dependencies] section of your Cargo.toml file:
ndelement = "0.3.0"You can install the latest release of ndelement by running:
pip3 install ndelementThe Python functionality of the library can be tested by running:
python -m pytest ndelement/python/testndgrid is an open-source Rust library for handling finite element grids/meshes.
You can use the latest release of ndgrid by adding the following to [dependencies] section of your Cargo.toml file:
ndgrid = "0.1.5"ndfunctionspace is an open-source Rust library for creating finite element DOF maps and function spaces.
You can use the latest version of ndfunctionspace by adding the following to [dependencies] section of your Cargo.toml file:
ndfunctionspace = { git = "https://github.com/bempp/nd.git" }The latest documentation of the crates in this repo is available at bempp.github.io/nd/.
The Rust functionality of the library can be tested by running:
cargo testExamples of use can be found in the examples folder of each crate, for example the ndelement examples are in the folder ndelement/examples and the ndgrid examples are in the folder ndgrid/examples.
Errors in the library should be added to the GitHub issue tracker.
Questions about the crates and their use can be asked on the Bempp Discourse.
All the crates included here are licensed under a BSD 3-Clause licence. Full text of the licence can be found here.