discretize - A python package for finite volume discretization.
The vision is to create a package for finite volume simulation with a focus on large scale inverse problems. This package has the following features:
- modular with respect to the spacial discretization
- built with the inverse problem in mind
- supports 1D, 2D and 3D problems
- access to sparse matrix operators
- access to derivatives to mesh variables
Currently, discretize supports:
- Tensor Meshes (1D, 2D and 3D)
- Cylindrically Symmetric Meshes
- QuadTree and OcTree Meshes (2D and 3D)
- Logically Rectangular Meshes (2D and 3D)
- Triangular (2D) and Tetrahedral (3D) Meshes
discretize is on conda-forge, and is the recommended installation method.
conda install -c conda-forge discretize
Prebuilt wheels of discretize are on pypi for most platforms
pip install discretize
To install from source, note this requires a c++ compiler supporting the c++17 standard.
git clone https://github.com/simpeg/discretize.git
cd discretize
pip install .
Please cite the SimPEG paper when using discretize in your work:
Cockett, R., Kang, S., Heagy, L. J., Pidlisecky, A., & Oldenburg, D. W. (2015). SimPEG: An open source framework for simulation and gradient based parameter estimation in geophysical applications. Computers & Geosciences.
BibTex:
@article{cockett2015simpeg,
title={SimPEG: An open source framework for simulation and gradient based parameter estimation in geophysical applications},
author={Cockett, Rowan and Kang, Seogi and Heagy, Lindsey J and Pidlisecky, Adam and Oldenburg, Douglas W},
journal={Computers \& Geosciences},
year={2015},
publisher={Elsevier}
}
Website: http://simpeg.xyz
Documentation: http://discretize.simpeg.xyz
Code: https://github.com/simpeg/discretize
Tests: https://travis-ci.org/simpeg/discretize
Bugs & Issues: https://github.com/simpeg/discretize/issues
Questions: http://simpeg.discourse.group/