Skip to content


Repository files navigation

A MOOSE-based application

A numerical simulator for modelling coupled THM processes in faulted geothermal reservoirs based on MOOSE.

GitHub License Gitter DOI


GOLEM is a numerical simulator for modelling coupled Thermo-Hydro-Mechanical processes in faulted geothermal reservoirs. The simulator is developed by Antoine Jacquey ORCID iD iconGitHub icon id and Mauro Cacace ORCID iD iconGitHub icon id at the GFZ German Research Centre for Geosciences from the section Basin Modelling.

GOLEM is a MOOSE-based application. Visit the MOOSE framework page for more information.


GOLEM is distributed under the GNU GENERAL PUBLIC LICENSE v3.

Getting Started

Minimum System Requirements

The following system requirements are from the MOOSE framework (see Getting Started for more information):

  • Compiler: C++11 Compliant GCC 4.8.4, Clang 3.4.0, Intel20130607
  • Python 2.7+
  • Memory: 16 GBs (debug builds)
  • Processor: 64-bit x86
  • Disk: 30 GBs
  • OS: UNIX compatible (OS X, most flavors of Linux)

1. Setting Up a MOOSE Installation

To install GOLEM, you need first to have a working and up-to-date installation of the MOOSE framework.
To do so, please visit the Getting Started page of the MOOSE framework and follow the instructions. If you encounter difficulties at this step, you can ask for help on the MOOSE-users Google group.

2. Clone GOLEM

GOLEM can be cloned directly from GitHub using Git. In the following, we refer to the directory projects which you created during the MOOSE installation (by default ~/projects):

cd ~/projects
git clone
cd ~/projects/golem
git checkout master

Note: the "master" branch of GOLEM is the "stable" branch which is updated only if all tests are passing.

3. Compile GOLEM

You can compile GOLEM by following these instructions:

cd ~/projects/golem
make -j4

4. Test GOLEM

To make sure that everything was installed properly, you can run the tests suite of GOLEM:

cd ~/projects/golem
./run_tests -j2

If all the tests passed, then your installation is working properly. You can now use the GOLEM simulator!


To run GOLEM from the command line with multiple processors, use the following command:

mpiexec -n <nprocs> ~/projects/golem/golem-opt -i <input-file>

Where <nprocs> is the number of processors you want to use and <input-file> is the path to your input file (extension .i).

Information about the structure of the GOLEM input files can be found in the documentation (link to follow).


If you use GOLEM for your work please cite:

  • This repository:
    Antoine B. Jacquey, & Mauro Cacace. (2017, September 29). GOLEM, a MOOSE-based application. Zenodo.
  • The publication presenting GOLEM:
    Cacace, M. and Jacquey, A. B.: Flexible parallel implicit modelling of coupled thermal–hydraulic–mechanical processes in fractured rocks, Solid Earth, 8, 921-941,, 2017.

Please read the CITATION file for more information.

Publications using GOLEM

  • Freymark, J., Bott, J., Cacace, M., Ziegler, M., Scheck-Wenderoth, M.: Influence of the Main Border Faults on the 3D Hydraulic Field of the Central Upper Rhine Graben, Geofluids, 2019.
  • Blöcher, G., Cacace, M., Jacquey, A. B., Zang, A., Heidbach, O., Hofmann, H., Kluge, C., Zimmermann, G.: Evaluating Micro-Seismic Events Triggered by Reservoir Operations at the Geothermal Site of Groß Schönebeck (Germany), Rock Mechanics and Rock Engineering, 2018.
  • Jacquey, A. B., Urpi, L., Cacace, M., Blöcher, G., Zimmermann, G., Scheck-Wenderoth, M.: Far field poroelastic response of geothermal reservoirs to hydraulic stimulation treatment: Theory and application at the Groß Schönebeck geothermal research facility, International Journal of Rock Mechanics and Mining Sciences, 2018.
  • Peters, E., Blöcher, G., Salimzadeh, S., Egberts, P. J. P., Cacace, M.: Modelling of multi-lateral well geometries for geothermal applications, Advances in Geosciences, 2018.
  • Magri, F., Cacace, M., Fischer, T., Kolditz, O., Wang, W., Watanabe, N.: Thermal convection of viscous fluids in a faulted system: 3D benchmark for numerical codes, Energy Procedia, 2017.
  • Cacace, M. and Jacquey, A. B.: Flexible parallel implicit modelling of coupled Thermal-Hydraulic-Mechanical processes in fractured rocks, Solid Earth, 2017.
  • Jacquey, A. B.: Coupled Thermo-Hydro-Mechanical Processes in Geothermal Reservoirs: a Multiphysic and Multiscale Approach Linking Geology and 3D Numerical Modelling, PhD thesis, RWTH Aachen, 2017.
  • Jacquey, A. B., Cacace, M., Blöcher, G.: Modelling coupled fluid flow and heat transfer in fractured reservoirs: description of a 3D benchmark numerical case, Energy Procedia, 2017.
  • Jacquey, A. B., Cacace, M., Blöcher, G., Milsch, H., Deon, F., Scheck-Wenderoth, M.: Processes Responsible for Localized Deformation within Porous Rocks: Insights from Laboratory Experiments and Numerical Modelling, 6th Biot Conference on Poromechanics, Paris 2017.