A numerical simulator enabling the usage of the reduced basis method based on MOOSE.
Process simulations are important for many scientific and economic questions. Many process simulations are too computationally demanding to allow the employment of inverse processes. The issue is that these inverse processes are important to incorporate, for instance, uncertainties.
DwarfElephant implements the reduced basis (RB) method within the MOOSE framework. Our implementation is primarily based on the rbOOmit package provided by libMesh. Using the RB method, we can construct surrogate models that result in fast forward solves. This, in turn, allows the usage of computationally complex inverse processes, such as uncertainty quantification and global sensitivity studies.
The RB method is a model order reduction technique that aims at constructing low order approximations of, for instance, finite element simulations. For further information, we refer to (Hesthaven et al., 2016; Prud’homme et al., 2002).
DwarfElephant is a MOOSE-based application. Visit the MOOSE framework page for more information regarding the underlying frameworks.
DwarfElephant is distributed under the GNU GENERAL PUBLIC LICENSE v2.1.
For the installation of DwarfElephant you need the latest installation of the MOOSE framework. To install MOOSE, we refer to the Getting Started page of the MOOSE framework and follow the instructions.
DwarfElephant can be cloned directly from GitHub using Git. For all following instructions, we assume that you want to clone DwarfElephant into the directory projects
, as advised during the MOOSE installation (by default ~/projects
):
cd ~/projects git clone https://github.com/denise91/DwarfElephant.git cd ~/projects/DwarfElephant git checkout master
Note: the "master" branch of DwarfElephant is always the "stable" branch that is only updated after passing all tests.
You can compile DwarfElephant with the following instructions:
cd ~/projects/DwarfElephant make -j 4
To ensure that everything is working correctly, please run the tests provided in the package. In case you want to contribute to the package, ensure that you generate a test for your implementations. In that way, we can ensure that new code developments are not interfering with your implementations.
cd ~/projects/DwarfElephant ./run_tests -j 4
If all test passed, then you successfully installed the DwarfElephant package!
We advise running DwarfElephant from the command line. To run it with a single processor, use the following command:
~/projects/golem/DwarfElephant-opt -i
and to run it with multiple processors, use:
mpiexec -n ~/projects/golem/golem-opt -i
Here, <nprocessors>
define the number of processors used in the code execution and<input-file>
is the path to your input file (extension .i
).
Detailed information about the practical usage of the software package and the structure of the inputfile can be found in the documentation (see folder tutorial
).
If you use DwarfElephant please cite:
Degen, D., Veroy, K., & Wellmann, F. (2020a). Certified reduced basis method in geosciences. Computational Geosciences, 24(1), 241-259.
-
Degen, D., Veroy, K., Freymark, J., Scheck-Wenderoth, M., & Wellmann, F. (2020b). Global Sensitivity Analysis to Optimize Basin-Scale Conductive Model Calibration - Insights on the Upper Rhine Graben. https://doi.org/10.31223/osf.io/b7pgs
-
Degen, D., Veroy, K., & Wellmann, F. (2020a). Certified reduced basis method in geosciences. Computational Geosciences, 24(1), 241-259.
-
Hesthaven, J. S., Rozza, G., Stamm, B., et al. (2016). Certified reduced basis methods for parametrized partial differential equations. SpringerBriefs in Mathematics, Springer.
-
Prud’Homme, C., Rovas, D. V., Veroy, K., Machiels, L., Maday, Y., Patera, A. T., & Turinici, G. (2002). Reliable real-time solution of parametrized partial differential equations: Reduced-basis output bound methods. J. Fluids Eng., 124(1), 70-80.