Reservoir Engineering of Geothermal Energy Production

Course Description

The main purpose of the course is to familiarize students with basic definitions, main challenges, and practical implementation of geothermal energy production. The class will include lectures and practicals.

In the first stage, we will present two lectures related to "Basics of geothermal energy production" and include the following outline:

  • Short energy outlook,
  • Heat transfer in geothermal systems,
  • Classification of geothermal systems,
  • Energy balance in geothermal systems,
  • Dynamics of geothermal systems.
  • Challenges.

The second lecture will describe "Basics of reservoir simulation" relevant to geothermal engineering and include:

  • Main principles of reservoir simulation.
  • Simulation of energy transition applications.
  • Connection list for different grids.
  • Governing equations for geothermal applications.
  • Delft Advanced Research Terra Simulator.

Next, we will proceed to practical exercises in Jupyter Notebooks using the open-DARTS (open-source Delft Advanced Research Terra Simulator) framework. For details see

  1. The first exercise will explain the development of a basic geothermal model with all important gradients. It also will evaluate sensitivities to numerical and physical parameters relevant to geothermal applications.
  2. Next practical will explain several important aspects of geothermal energy production which includes the effect of overburden and realistic heterogeneity. We will evaluate their effects on energy production.
  3. The last exercise will introduce a fractured reservoir and explain how different parameters of fractured systems affect geothermal production. The course will conclude with a brief overview of learned concepts and describe practical challenges in real-world geothermal modeling.

Course Outline

We will start the first day with two lectures.

  1. Basics of geothermal energy production (1 hour)
  2. Basics of reservoir simulation (1 hour)

Next, we will proceed with practical exercises in Jupyter Notebooks using open-DARTS (open-source Delft Advanced Research Terra Simulator,

  1. In this exercise (2 hours) we will learn about the main steps in creating a basic static and dynamic geothermal model in 1D. We will set the main simulation parameters, define the simulation grid, initialize reservoir parameters, define boundary and initial conditions, and run and process the simulation results. We will look into the effect of model resolution, timestep, and sensitivity on two major thermal properties - rock heat capacity and conduction. The prototype of the notebook can be found here.
  2. In this exercise (1.5 hours), we will start with a perfect homogeneous 3D reservoir and learn the effect of overburden and what is the best strategy to model it in geothermal models. In the second part, we will load heterogeneous permeability representing fluvial sediments. We understand how the direction of channels will affect the lifetime of the geothermal system and final energy production. The prototype of the notebook can be found here.
  3. 3. The last exercise (2 hours) is dedicated to geothermal energy production from fractured systems. We will evaluate the sensitivity of energy production to well position, initial fracture aperture, and stress orientation.

The course will be concluded by a short discussion (0.5 hours) on lessons learned and practical recommendations for real-world geothermal applications.

Participants’ Profile

The course is designed for a wide range of specialists starting from engineering students and finishing with industry professionals with broad specializations including (but not limited to) petroleum engineers, civil engineers, environmental engineers, geophysics, etc.


Participants should have prior knowledge of basic Python programming.

About the Instructor

Dr Denis Voskov is an Associate Professor at TU Delft. He has 20 years of experience in the field of reservoir modeling and published more than 50 peer-reviewed journal papers related to this topic. His research interests include reactive flow and transport in altering porous media, scale translation for complex physical processes, high-performance computing for forward and inverse problems, simulation of advanced thermal and geothermal processes, modeling of CO2 sequestration, analysis and improvement of nonlinear solutions, coupled geomechanics and utilization of Machine Learning in simulation (see for more details). Before joining TU Delft, Dr Voskov spent ten years as a senior researcher at Stanford University. His other former positions include founder and chief technology officer of Rock Flow Dynamics company (development of t.Navigator), chief engineer at YUKOS EP company, and leading engineer-mathematician at the Institute for Problems in Mechanics, the Russian Academy of Sciences. Dr Voskov is an Associate Editor of the Society of Petroleum Engineers and Geoenergy Science and Engineering Journals.