Theory and numerical implementation describing groundwater flow and the transport of heat and solute mass in fully saturated fractured rocks with elasto-plastic mechanical feedbacks are developed. In our formulation, fractures are considered as being of lower dimension than the hosting deformable porous rock and we consider their hydraulic and mechanical apertures as scaling parameters to ensure continuous exchange of fluid mass and energy within the fracture–solid matrix system. The coupled system of equations is implemented in a new simulator code that makes use of a Galerkin finite-element technique. The code builds on a flexible, object-oriented numerical framework (MOOSE, Multiphysics Object Oriented Simulation Environment) which provides an extensive scalable parallel and implicit coupling to solve for the multiphysics problem. The governing equations of groundwater flow, heat and mass transport, and rock deformation are solved in a weak sense (either by classical Newton–Raphson or by free Jacobian inexact Newton–Krylow schemes) on an underlying unstructured mesh. Nonlinear feedbacks among the active processes are enforced by considering evolving fluid and rock properties depending on the thermo-hydro-mechanical state of the system and the local structure, i.e. degree of connectivity, of the fracture system. A suite of applications is presented to illustrate the flexibility and capability of the new simulator to address problems of increasing complexity and occurring at different spatial (from centimetres to tens of kilometres) and temporal scales (from minutes to hundreds of years).

Reliable predictions of reservoirs' performance, whether for geothermal and fossil energy extraction, or water,

To recognize that the majority of geological observations are the results of
nonlinear interactions among classes of physical processes has justified the
recent development and massive use of so-called multiphysics numerical
simulators as complementary tools to classical experimental and theoretical
analyses. Numerical simulations are particularly adapted to the study of a
multicomponent physical system since they allow a systematic analysis of the
dynamics of single processes and their interactions (i) under proper time and
length scales, (ii) within complex geometries, and (iii) also by considering
changing loading conditions. In addition, given their predictive
capabilities, numerical modelling techniques can assist studies aiming at
estimating performances and potential risks related to different operational
scenarios (e.g.

Numerical modelling of fractured reservoirs, whether petroleum or geothermal,
has a long history dating back several decades. Starting from the earlier
works in the 1970s, a number of codes have been implemented under various
licences by the modelling community

A first class of approaches, referred to as sequential/explicit coupling or
operator splitting approaches, relies on splitting the coupled physical
problem into classes of possibly linear sub-problems and to numerically solve
for each process sequentially. During each time step, coupling among the
processes is enforced by passing input/output data among the respective
sub-problems. Usually, external iterations are adopted for simulations
characterized by a high degree of nonlinearity

As an alternative, it is possible to solve the full system of coupled
equations simultaneously, via a fully implicit coupling approach. This
requires to solve for all the variables of the problem simultaneously within
an iterative approach, either (in)exact Newton or simpler Picard methods, for
the resulting algebraic system

Despite all of this, only few attempts have been made so far in developing and implementing fully implicit numerical solutions for thermal–hydraulic–mechanical (THM) problems.

The FRACON code of

The goal of this paper is not to summarize the state-of-the-art computational
methods for problems that are relevant for reservoir applications. Our
interest herein is rather towards computational reliability and performances
when simulating the behaviour of a particular reservoir in a way that can be
of help to improve scenario-oriented analysis of such systems. In this
context, we address issues related on how (i) to quantify the nonlinear
feedbacks among the different physical processes, and (ii) to represent into
a computational model the porous rock–fracture–fluid system by capturing its
discontinuous, anisotropic, inhomogeneous, and non-elastic nature

The remainder of the paper is structured as follows. In
Sect.

In this section, we present the constitutive model for a porous medium
consisting of a deformable hosting rock and a mobile liquid saturating its
pores. In the following we make use of subscripts f and s to refer to the
solid and fluid phase respectively. Deformation of the solid skeleton is
considered in terms of Biot consolidation theory

Fractures are considered as lower-dimensional elements embedded in the porous
matrix filled with fluid (see Fig.

Schematic representation of the approach to model fracture rock
masses as based on a superposition of lower- and higher-dimensional geometric
elements, after

Numerical simulations of tri-axial mechanical experiments on a
Flechtinger sandstone.

In the following the main governing equations are derived. The problem
variables considered are the pore fluid pressure

The mass balance equation for a deformable, saturated porous medium is
described in terms of volumetric averaged mass conservation equations for the
fluid and solid phases. Mass conservation for the liquid phase therefore
requires

Substituting Eq. (

The equations of mass conservations can be rewritten by applying the concept
of the Lagrangian (total) derivative with respect to a moving solid, e.g.

In a similar way, it is possible to rework the solid mass balance equation
(Eq.

From Eq. (

Equation (

Substituting Eq. (

The first term in the left-hand side of Eq. (

The second term in the left-hand side of Eq. (

Deformation of the solid skeleton is described in terms of thermo-poroelastic
response (Biot's consolidation theory) and dissipative plastic behaviour. To
simplify the presentation of the constitutive mechanical model, in the
following we will consider only small strain conditions, but the theory has
also been extended to account for finite deformation. In addition, due to
strain history dependence, we detail the formulation in incremental form.
Following Biot's theory, (effective) stresses are related to elastic strains
via the following relationship:

The stress–strain constitutive relation given by Eq. (

Substituting Eqs. (

By making use of the definition of the total derivative and given the
stress–strain constitutive equation (Eq.

It is possible to rewrite Eq. (

To quantify any permanent (irreversible) deformation of the material due to
inelastic processes we make use of the concept of eigenstrain
(

Therefore, Eq. (

In the present study we focus on two major kinds of residual deformation,
that is, thermal expansion and plastic flow, i.e.

Thermal strains are related to deformation induced by temperature changes
inside the material, and can be therefore expressed by

We determine the plastic component of the strain tensor (Eq.

Therefore, Eq. (

Similarly, the evolution of porosity can therefore be expressed using
Eqs. (

The balance of energy for the fluid–rock mixture, assuming local thermal
equilibrium between the two phases, and neglecting the dissipation of
mechanical energy due to deformation of the solid phase reads as

The use of a conservative finite-element formulation in Eq. (

The energy conservation equation as given by Eq. (

In order to solve the system of coupled and nonlinear equations as described
above (Eqs.

GOLEM is an open-source simulator specifically developed for
thermo-hydro-mechanical coupled applications in fractured geological systems,
supporting 1-D, 2-D, and 3-D computations in a single code implementation. It
builds on the object-oriented numerical framework MOOSE developed at the
Idaho National Laboratory

The finite-element discretization is based on the weak form, in an integral
sense, of the system of partial differential equations as derived in the
previous paragraph. For this purpose, we consider the porous matrix to be
described by a close domain of volume

The equations derived above describe an initial and boundary value problem,
for which proper boundary and initial conditions need to be assigned. These
can be set by prescribing either the value of the problem variables along or
their flux across a portion of the boundary. More precisely, the model
discussed in the previous paragraph must satisfy the following set of
boundary conditions:

Prescribed displacement, pore pressure and temperature, i.e.

Equilibrium of boundary stresses and external loads (last two terms in
Eq.

Continuity of the fluid flux across the imposed boundary, i.e.

Continuity of the total (diffusive plus advective) heat flow, i.e.

The resulting system of equations together with a proper choice of boundary
and initial conditions is discretized spatially by the finite-element method,
while the temporal discretization is done by traditional finite difference
techniques. The nodal values of the primary variables of the problem,
temperature (

Though higher-order polynomials are also available through the libMesh library, we rely on linear finite-element approximation for all variables. Indeed, we have found that, for the kinds of problems as those that will be presented in the next paragraph, higher-order approximations do not necessarily guarantee a better convergence of the solution, being subjected at the same time to severe under- or overshooting numerical effects in the presence of sharp gradients.

Single-noded, zero-thickness finite
elements are used to explicitly represent individual fractures, the latter
assumed to be clean and fully saturated (i.e.

The mass balance equation for a discrete fracture then reads as

In a similar manner, the energy balance equation for a fracture element reads
as

In Eqs. (

Derivatives of the test functions and of direction-dependent material
properties with respect to the system of global coordinates are computed by
standard coordinate transformation, i.e.

Example of a nonlinear convective flow problem after

The above system of coupled equation can be rewritten in a more concise form
as

The coefficient matrices in Eq. (

For problems involving heat transport, if the convective term dominates over
the diffusive term, the solution of the energy transport equation typically
contains interior and boundary layers and its solution by the Galerkin
finite-element technique is usually globally unstable

We consider plastic deformation in terms of a
Drucker–Prager frictional plastic yield criterion

Note that in our formulation we take also into account possible degradation
of the strength of the rock subjected to loading in terms of hardening (and
softening) of the internal parameters (friction angle, cohesion and dilation
angle) as a function of the accumulated plastic strain (internal variable

The stress update procedure is conducted via a return-map algorithm based on
the closest point projection on the yield surface

If plastic loading occurs (

where

This system of equations is then linearized as follows:

which can be expressed as the following matrix system:

where

and

The aforementioned matrix system of equation is solved at each

The variables are updated at the end of the

Steps

We have tested and validated the above-described return-map algorithm to update the elasto-plastic deformation against available algorithms in the MOOSE tensor mechanics module.

In this section we present five different applications of the numerical simulator. These applications are intended to test the ability of the simulator to deal both with single processes and their coupling. By starting with simplistic benchmarks, for which analytical solutions exist, we gradually increase the complexity of the problem formulation in order to demonstrate the applicability of the approach to realistic operational cases.

Comparison of numerical results (red curves) and analytical solutions (black circles) for heat transport in a fracture. The figure shows the temperature evolution at different positions along the fracture as a function of time.

The first application deals with groundwater flow and (diffusive and
advective) heat transport in a fracture, i.e. a TH application. We assume a
fracture which is fully saturated with water (

For the numerical simulation, we consider a fracture of length

Given the parameters considered, a constant fluid velocity (

Fluid properties for the example of heat transport in a fracture.

The purpose of this application is to test the numerical implementation of
the formulation in the presence of discrete fractures. At this purpose, we
refer to a relative common benchmark dealing with uniform, steady-state flow
in a porous medium locally disturbed by the presence of a fracture

We have extended the original formulation to a three-dimensional case; see
Fig.

Geometry and boundary conditions for the benchmark case of groundwater flow in a fractured porous medium.

Isolines of pressure computed from the 3-D numerical simulation extracted along a horizontal plane cutting the model domain. Comparison between simulated (continuous red curve) and analytical derived (empty black circles) pressure distribution along a line through the model.

The numerical solution of the three-dimensional problem has been obtained by
solving a steady-state flow problem within the matrix–fracture domain. We
plot the computed pressure distribution together with the outline of the
geometry of the fracture in Fig.

Material properties the example of flow in a fractured porous medium.

Problem formulation and results of the oedometer benchmark.
Panel

Results of the modified oedometer test to account for pore pressure
coupling. Panel

The presence of the discrete fracture disturbed the uniform horizontal flow in a close domain around its location. There, the isolines of constant pressure are distorted, resulting in a faster flow preferentially oriented parallel to the fracture plane. In order to test the reliability of the numerical solution, we compare the computed pore pressure extracted along a diagonal cross section cutting the model domain along its bottom-left/top-right corners with the pore pressure derived from the analytical solution. The comparison shows a perfect fit between the two results, thus proving the applicability of the discrete fracture approach as implemented in the current formulation.

The results obtained from a variation of the above-described problem by considering two self-intersecting fractures embedded in a two-layered matrix are presented in the Supplement.

In the following test, we consider a cube of porous medium with edges of

Figure

Mechanical properties for the oedometer benchmark.

In the following two subsections, we will describe two synthetic examples that deal with applications as considered of interest in the context of operational geothermal activities. The examples presented do not address a specific field application, though they do bear similarities and links to real cases. An application to an actual field study case based on an injection test performed at the Groß Schönebeck geothermal site (north Germany) is the subject of a separate publication (Jacquey et al., 2017).

In this example, we present a setup inspired by a typical geothermal
reservoir application. The model aims at simulating the thermal and hydraulic
configuration of the reservoir during operational activities (injection and
production) spanning a life time of the reservoir of approximately 100 years.
The model consists of four different geological formations, two units
representing the target reservoir plus an upper and lower formation acting as
cap rocks. The extent of the model domain is

Problem formulation and results of the prototype of multi-fractured
geothermal reservoir. Panel

Material properties for the multifrac reservoir application.

The reservoir boundary conditions adopted for the simulation comprise a
constant temperature fixed along the top of the reservoir (

Operational activity is simulated by injecting water at a fixed temperature,

This example considers operations of a synthetic geothermal doublet within a
low permeability geological formation with induced fractures located at the
two operational wells. The model aims at describing the thermo-poroelastic
response of the reservoir due to geothermal operations. The extent of the
model domain is

Vertical stress

Maximum horizontal stress

Minimum horizontal stress

Two hydraulic fractures are considered for this doublet system and represent
the impacts of a prior hydraulic stimulation campaign to enhance the
productivity of the reservoir. Given the in situ stress conditions, these two
hydraulic fractures are orthogonal to the minimum horizontal stress. They are
implemented as squares with edges of

Material properties for the thermo-poroelastic response of a geothermal doublet.

Problem formulation and results of the thermo-poroelastic response
of a geothermal doublet. Panel

Horizontal slices of the model illustrating the changes in transport
properties. Panel

In this simulation, we consider additional nonlinear effects as related to
imposed variations in the evolution of the fluid (i.e. fluid density and
viscosity) and rock properties (i.e. porosity and permeability) as a
function of the evolution in the state of the reservoir during
operational activities. Changes in porosity are controlled by
Eq. (

Figure

Geothermal operations consist of injecting water at

Figure

Figure

This example illustrates the simulator capability of solving a full thermo-hydro-mechanical coupled problem as relevant for geothermal reservoir applications. At the same time, the formulation adopted to simulate the evolution in time and space of the system properties enables us to quantify the impact of the mechanical alteration induced by geothermal operations (injection/production of fluid and applied injection temperature) on both fluid and heat flows within the reservoir.

In this paper, we have presented a novel but robust simulator for modelling coupled THM processes within fractured rocks, with specific focus on reservoir applications. The code, GOLEM, relies on an open-source massive parallel finite-element-based numerical framework (MOOSE) to solve for the coupled problem. It makes use of a fully implicit approach to treat the nonlinear coupling among the different processes and their feedback effects on fluid and rock properties, thus providing higher numerical stability in the context of nonlinear problems. Geological heterogeneities, i.e. discrete fractures and fault zones, are taken into account in our formulation. The latter are represented as finite element of lower geometrical dimension, which allows us to model focused fluid and heat flows on fractures and faults planes or well paths. The capability and robustness of the simulator has been illustrated by means of five numerical examples by increasing progressively the coupling and geometrical complexity of the considered problem formulations.

Improving the reliability of predictions made for geothermal operations at the field scale requires a better description of the physical phenomena which can alter the reservoir productivity as well as the sustainability of the geothermal operations. In this respect, the current framework provides a powerful tool to analyse the dynamic behaviour of fractured reservoirs during geothermal operations.

Ongoing activities are towards integration of the details of the mechanical description of the geological discontinuities (faults and fractures) either by means of a discrete (XFEM approach) or continuous (such as phase field) approach. Such a feature will help to better describe the dynamics deformation in heterogeneous rocks, including localization and evolution along fault zones, and will also permit to quantitative integrate feedbacks on the hydraulic and thermal behaviours of such geological structures. The description of such processes would help at forecasting environmental impacts of reservoir operations such as induced seismicity from dynamic reactivation of faults during operational activities.

The source code and the input files of the five
numerical examples presented in this paper, plus a suite of specific
benchmark cases, are available for downloading from a GitHub repository
(

During elastic loading with constant velocity

With these expressions of stress, the invariants of the stress tensor,

The onset of plastic strain accumulation is reached when the yield function
reaches

The increment of plastic strain accumulation can be expressed by reinjecting the
expressions of the stress invariant and Eq. (

The increment of stress during plastic accumulation can therefore be written:

Furthermore, the Kuhn–Tucker conditions imply that the derivative over time of
the yield function remains

By injecting Eq. (

The solution for plastic strain and stress can therefore be integrated as

MC and ABJ developed the model code, designed the examples presented in the paper and performed the simulations. Both authors also shared the preparation and writing of the paper.

The authors declare that they have no conflict of interest.

The authors would like to thank the developers team of the MOOSE framework as well as the members of the MOOSE users community for their helpful support and guidance for code development using the MOOSE framework. This work was funded by the Helmholtz Association as part of the Helmholtz Portfolio Geo-Energy project. The article processing charges for this open-access publication were covered by a Research Centre of the Helmholtz Association. Edited by: Gwenn Peron-Pinvidic Reviewed by: Joshua Taron and Manolis Veveakis