Injection and Production in 1D Linear Poroelastic Medium with the Staggered Scheme


Injection and Production in 1D Linear Poroelastic Medium

This benchmark simulates a soil column with fluid injection at the bottom and a production well at the top. It is taken from Kim [1], in detail it coincides with one of his examples (case 2, coupling strength τ=1.21). A brief description of the used staggered scheme follows at the end.

Simulation model with fluid source, sink, observation point and boundary conditions

The fluid enters and leaves only via the source and sink in the domain, there is no flow across the boundaries. The displacements at the bottom are fixed, whereas there is a vertical traction applied on top. Originally the problem is one-dimensional, for simulation with OpenGeoSys it is created in two dimensions with corresponding boundary conditions. All parameters are concluded in the following tables.

Material Properties
Property Value Unit
Fluid density 103 kg/m3
Viscosity 103 Pas
Fluid compressibility 27.5109 Pa1
Porosity 0.3 -
Permeability 493.51016 m2
Young’s modulus (bulk) 300106 Pa
Poisson ratio (bulk) 0 -
Biot coefficient 1.0 -
Solid density 3103 kg/m3
Solid compressibility 0 Pa1
Dimensions and Discretization
Property Value Unit
Height (y) 150 m
Width (x) 10 m
Finite Elements 15 Taylor-Hood quadrilateral elements 10 m × 10 m
Time step 86.4103 s
Sources/Sinks, Initial and Boundary Conditions
Hydraulic Mechanical
injection over area 10m×10m +1.16104 kg/(m3s) -
production over area 10m×10m 1.16104 kg/(m3s) -
top no flow σyy=2.125106 Pa
left no flow ux=0
right no flow ux=0
bottom no flow uy=0
initial state p(x,y)=2.125106 Pa ux(x,y)=uy(x,y)=0

The gravity related terms are neglected in both: the Darcy velocity and the momentum balance equation.

Note that 100 time steps were used for the following results, whereas the provided input file is set to 1 time step (1 day = 86400 s). Kim plots his results over non dimensional time, referring to the time at which the produced fluid volume equals the pore volume of the domain (450 days).

Pressure at observation point (marked by circle) versus time (t=0…100 days) and spatial pressure distribution at t=100 days

Staggered Scheme: Fixed-stress splitting

For each time step run alternating simulations of the hydraulic (H) problem and the mechanical (M) problem until a convergence criteria is met. The fixed-stress split starts with the mass balance (H) followed by the momentum balance (M). These coupling iterations (H,M,H,M,…) add another iteration level compared to the monolithic formulation (HM). However, due to splitting into smaller problems this may result in a speedup.

The balance equations of mass and momentum for the fully saturated porous medium read

Sϱfp˙kμ(ϱf(pϱfg))+αϱfε˙v=0(σeff(u)αpI)=ϱbg.

where α denotes Biot coefficient, S is the storage coefficient, k is the intrinsic permeability, μ the liquid viscosity, ϱf is the fluid density, and ϱb is the bulk density.

In the staggered scheme for solving HM coupled equations, the fixed-stress splitting is employed to enhance the convergence. The fixed stress splitting is based on the the volumetric total stress rate definition the hydro-mechanics:

σ˙v=Kb(ε˙vε˙vne)αp˙,

with Kb the drained bulk modulus of porous medium, and ε˙vne the volumetric non-elastic strain rate.

Fixed stress rate over coupling iteration

As the first option, we consider to fix the volumetric total stress rate over coupling iteration. This means

σ˙vn,k=σ˙vn,k1,

with n the time step index, k the coupling iteration index, and ()˙n,k=(()n,k()n)/dt.

This gives the volumetric strain rate of the current time step as

εv˙n,kϵ˙vn,k1+αKb(p˙n,kp˙n,k1)+(ϵ˙vne|n,kϵ˙vne|n,k1).

Practically, we can set ϵ˙vne|n,kϵ˙vne|n,k1=0.

Under that volumetric strain rate approximation, the mass balance equation for coupling iteration k at time step n becomes

ϱf(βS+α2Kb)p˙n,kkμ(ϱf(pn.kϱfg))+ϱf(αε˙vn,k1α2Kbp˙n,k1)=0.

Denoting α2Kb as βFS, the above equation turns into

ϱf(βS+βFS)p˙n,kkμ(ϱf(pn.kϱfg))+ϱf(αε˙vn,k1βFSp˙n,k1)=0.

One can see from the above equation that βFS can be any scalar number once the coupling iteration converges, i.e. p˙n,kp˙n,k1. Therefore, one can choose an arbitrary value for βFS if it can make the coupling iteration converge. The analysis by Mikelic and Wheeler [2] revealed that βFS=α22Kb is generally close to the a-priori unknown optimal value that enhances the convergence of the coupling iteration. For more information, see the user guide - conventions. For code implementation, we introduce a stabilization factor γ to the physically meaningful parameter α2Kb as:

βFS=γα2Kb,

where γ is treated as an input parameter.

Fixed stress rate over time step

We assume that the volumetric stress rate of the current time step is the same as that of the previous time step:

σ˙vn=σ˙vn1.

That means the current volumetric strain rate is approximated as

εv˙nϵ˙vn1+αKb(p˙np˙n1).

Consequently, and similarly to the fixed stress over coupling iteration, the mass balance equation at time step n becomes

ϱf(S+βFS)p˙nkμ(ϱf(pnϱfg))+ϱf(αε˙vn1βFSp˙n1)=0.

In that sense, only one coupling iteration is needed, and the solution accuracy is dependent on the time step size. The approach of a fixed stress rate over the time step enables the staggered scheme to efficiently solve more HM problems, especially those with small strain change, e.g. hydro-mechanical modeling of reservoirs.

References

[1] Kim, J. and Tchelepi, H.A. and Juanes, R. (2009): Stability, Accuracy and Efficiency of Sequential Methods for Coupled Flow and Geomechanics. SPE International, vol. 16, p. 249--262, DOI:https://doi.org/10.2118/119084-PA https://onepetro.org/SJ/article-abstract/16/02/249/204235

[2] Mikelic, A. and Wheeler, M.F. (2013): Convergence of iterative coupling for coupled flow and geomechanics. Computational Geosciences, vol. 17, p. 455--461, DOI:https://doi.org/10.1007/s10596-012-9318-y https://link.springer.com/content/pdf/10.1007/s10596-012-9318-y.pdf


This article was written by Wenqing Wang and Dominik Kern. If you are missing something or you find an error please let us know.
Generated with Hugo 0.122.0 in CI job 545140 | Last revision: February 26, 2025
Commit: [PCS] Avoid to compute the analytic block in ed9789e  | Edit this page on