Documente Academic
Documente Profesional
Documente Cultură
2 TWO-PHASE FLOW
2.1 Introduction
The two-phase flow option in FLAC allows numerical modeling of the flow of two immiscible fluids
through porous media. The formulation applies to problems, such as those encountered in reservoir
simulation, in which a fluid displaces another, and simultaneous flow of the two fluids takes place
in the porous medium with no mass transfer between them. The formulation is not suitable for
describing piston-like processes in which a sharp interface between the two fluids moves at the
average speed of fluid flow. A description of the concepts involved in the mathematical description
of multi-phase flow may be found in reference books such as Fundamentals of Numerical Reservoir
Simulation (Peaceman 1977). Some of these concepts are addressed below.
In two-phase flow, the void space is completely filled by the two fluids. One of the fluids (the wetting
fluid, identified by the subscript w) wets the porous medium more than the other (the non-wetting
fluid, identified by subscript g or nw). As a result, the pressure in the non-wetting fluid will be higher
than the pressure in the wetting fluid. The pressure difference Pg − Pw is the capillary pressure
Pc , which is a function of saturation, Sw . Darcy’s law is used to describe the flow of each fluid.
The effective intrinsic permeability in the law is given as a fraction of the single-fluid (or saturated)
intrinsic permeability. The fractions (or relative permeabilities) are functions of saturation, Sw . In
the FLAC implementation, the curves for capillary pressure and relative permeabilities are built-in
empirical laws of the van Genuchten form (van Genuchten 1980).
The flow modeling with FLAC may be done by itself or in parallel with the mechanical modeling.
In the latter case, the solid grains forming the matrix are assumed to be incompressible (equivalent
to the Biot coefficient equal to one for single phase flow). The following features of the fluids/solid
interaction are captured using the built-in logic:
• Changes in effective stress cause volumetric strain to occur (the effective stress increment
for two-phase flow is the Terzaghi effective stress increment, with pore pressure increment
replaced by mean, saturation-weighted, fluid pressure increments – see, e.g., Dangla
1999).
• Volumetric deformation causes changes in fluid pressures.
• Bishop effective stress is used in the detection of yield in constitutive models involving
plasticity (see, e.g., Hutter et al. 1999).
Volumetric deformations induce changes in porosity, which in turn impact permeability and the
capillary pressure curve parameters. These dependencies are not accounted for automatically in
the code. However, the user can implement them using appropriate FISH functions. (FISH access
is provided to most of the two-phase flow parameters and fluid properties.)
The following characteristics are provided:
1. The fluid transport laws correspond to both isotropic and anisotropic permeability.
* The data files listed in this chapter are created in one of two ways: either by typing in the commands
in a text editor, or by generating the model in the GIIC and exporting the file using the File / Export
Record menu item. The files are stored in the directory “ITASCA\FLAC600\FLUID\2-TwoPhase”
with the extension “.DAT.” A project file is also provided for each example. In order to run an
example and compare the results to plots in this volume, open a project file in the GIIC by clicking
on the File / Open Project menu item and selecting the project file name (with extension “.PRJ”).
Click on the Project Options icon at the top of the Project Tree Record, select Rebuild unsaved
states, and the example data file will be run and plots created.
∂
qiw = −kijw κrw (Pw − ρw gk xk ) (2.1)
∂xj
g μw g ∂
qi = −kijw κr (Pg − ρg gk xk ) (2.2)
μg ∂xj
where kij is saturated mobility coefficient (which is a tensor), κr is relative permeability for the
fluid (which is a function of saturation Sw ), μ is dynamic viscosity, P is pore pressure, ρ is fluid
density and g is gravity. Note that the mobility coefficient (or FLAC permeability) is defined as the
ratio of intrinsic permeability to dynamic viscosity.
Relative Permeability Laws
Relative permeabilities are related to saturation Sw by empirical laws of the van Genuchten form
(van Genuchten 1980) – see, e.g., Figure 2.1:
2
1/a a
κrw = Seb 1 − 1 − Se (2.3)
g 1/a 2a
κr = (1 − Se )c 1 − Se (2.4)
In those laws, a, b and c are constant parameters and Se is the effective saturation.
The effective saturation is defined as
Sw − Srw
Se = (2.5)
1 − Srw
where Srw is residual wetting fluid saturation (the residual saturation, which remains in spite of high
capillary pressures, is referred to as “connate” in the case of water).
JOB TITLE : .
LEGEND
17-Jan-08 14:10
step 0 1.000
Table Plot
non-wetting fluid
0.800
wetting fluid
0.600
0.400
0.200
1 2 3 4 5 6 7 8 9 10
-01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
g
Figure 2.1 Relative permeabilities, κrw , κr , vs effective saturation, Se
Pg − Pw = Pc (Sw ) (2.6)
In FLAC, this empirical law is of the van Genuchten form (see Figure 2.2):
1−a
−1/a
Pc (Sw ) = P0 Se −1 (2.7)
JOB TITLE : .
1.000
0.800
0.600
0.400
0.200
1 2 3 4 5 6 7 8 9 10
-01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
The parameter P0 is larger for finer material, and its dependency on material properties may be
assessed using the Leverett scaling law (see, e.g., Nikolaevskij 1990, p. 414). This law, derived
using dimensional analysis, has the form
σ
P0 = √ (2.8)
κ/n
where σ is surface tension (a property of the matrix), κ is intrinsic permeability and n is porosity.
The “alpha coefficient” is sometimes introduced in the literature in place of P0 . The relation between
those two scaling parameters is
ρw g
P0 = (2.9)
α
Sw + Sg = 1 (2.10)
∂ζw ∂q w
= − i + qvw (2.11)
∂t ∂xi
g
∂ζg ∂q
= − i + qvg (2.12)
∂t ∂xi
where ζ is the variation of fluid content (variation of fluid volume per unit volume of porous
material), and qv is the volumetric fluid source intensity.
Fluid Constitutive Laws
The constitutive laws for the fluids are:
∂Pw Kw ∂ζw ∂Sw ∂
Sw = −n − Sw (2.13)
∂t n ∂t ∂t ∂t
∂Pg Kg ∂ζg ∂Sg ∂
Sg = −n − Sg (2.14)
∂t n ∂t ∂t ∂t
Sw ∂Pw ∂Sw ∂qiw ∂
n + =− + Sw (2.15)
Kw ∂t ∂t ∂xi ∂t
g
Sg ∂Pg ∂Sg ∂qi ∂
n + =− + Sg (2.16)
Kg ∂t ∂t ∂xi ∂t
Balance of Momentum
The balance equation is
∂σij d u̇i
+ ρgi = ρ (2.17)
∂xj dt
where ρ is bulk density and u̇ is velocity. For two-phase flow calculations, we have
ρ = ρd + n(Sw ρw + Sg ρg ) (2.18)
where σ ij is the change in effective stress, H is the functional form of the constitutive law, and
κ is a history parameter. For two-phase flow, the change in effective stress is defined as
P = Sw Pw + Sg Pg (2.21)
As may be seen from this formulation, provided the total stress remains constant, deformation will
only occur if a change of pore pressure takes place. For constitutive models involving plasticity,
Bishop effective stress is used to detect failure. This effective stress is defined as σij + P̄ δij , with
P̄ = Sw Pw + Sg Pg .
Compatibility Equation
The relation between strain rate and velocity gradient is given as usual. It is listed here for com-
pleteness:
1 ∂ u̇i ∂ u̇j
˙ij = + (2.22)
2 ∂xj ∂xi
In FLAC, initial values of saturation Sw and wetting pore pressure Pw must be specified. The initial
value of non-wetting pore pressure is derived internally from the capillary pressure law.
Pore pressure or flux boundary conditions may be specified for each fluid. If no condition is specified
for one of the fluids, the boundary acts as impermeable for that fluid. A seepage condition may
also be imposed. In this case, the non-wetting pressure is ambient (value zero) and the boundary
remains impermeable to the wetting fluid as long as the pressure Pw is less than ambiant.
The fluid balance equations (Eqs. (2.15) and (2.16)) are solved in FLAC using a discretization and
finite-difference method which follow the general scheme presented in Section 1. That section
should be consulted whenever reference is made to the triangles that make up FLAC ’s quadrilateral
elements, and to the derivation of the element fluid “stiffness matrix.”
In the two-phase flow calculation, two pore pressures (Pw , Pg ) and one value of the saturation (Sw )
are defined at each node. It is assumed that these quantities vary linearly within a triangle. The
numerical scheme rests on a nodal formulation of the fluid continuity equations. The nodal flow
contributions are calculated on a zone basis, using an upstream weighting technique. The resulting
system of ordinary differential equations is solved using an explicit formulation in time.
Sw 1
Pw + Sw = − [Qw t + Sw V ] (2.23)
Kw nV
Sg 1
Pg + Sg = − Qg t + Sg V (2.24)
Kg nV
Pg − Pw = Pc Sw (2.25)
Sw + Sg = 0 (2.26)
Sw 1
Pw + Sw = − [Qw t + Sw V ] (2.27)
Kw nV
Sg Sg Pc 1
Pw + − 1 Sw = − Qg t + Sg V (2.28)
Kg Kg nV
t Sg Pc V Sg Pc
Pw = − Qw 1 − + Qg − β Sw 1 − + Sg (2.29)
nV D Kg nV D Kg
t Sg Sw V 1 1
Sw = − Qw − Qg −β Sw Sg − (2.30)
nV D Kg Kw nV D Kg Kw
where, by definition,
Sw Sg Sw Sg Pc
D= + − (2.31)
Kw Kg Kw Kg
and the undrained coefficient β (introduced for numerical convenience) is a constant, equal to one
for mechanical coupling and zero for a stand-alone fluid flow calculation.
Differentiation of Eq. (2.7) with respect to Sw gives, using Eq. (2.5),
1−a
−1/a 1/a −a
Sg Pc = −P0 (1 − Se )Se 1 − Se (2.32)
a
As may be seen from this expression, although the derivative of the capillary curve has a vertical
tangent at Sw = 1, the term Sg Pc , which appears in Eqs. (2.29) to (2.31), is finite and goes to zero
at full saturation.
In the FLAC explicit numerical scheme, the new nodal wetting pore pressure and saturation at t + t
are evaluated from those at time, t, by adding the increments Eqs. (2.29) and (2.30), evaluated from
known quantities at time, t. The new value of Pg at the node is derived from new values of Pw and
Sw , using the capillary pressure law Eq. (2.6).
The zone contributions to nodal flow rates Qw and Qg are calculated in FLAC using the element
wetting-fluid “stiffness matrix,” [Mw ]. The components of this matrix are the same as those which
would have been calculated for saturated flow of the wetting fluid (see Section 1.3.1 for a reference
on its derivation).
For two-phase flow, the nodal volumetric flow rates in a zone Qw , Qg are related to nodal pore
pressures Pw , Pg by the matrix expressions:
g μw
Qg = κ̂r [Mw ]{Pg − ρg xi gi } (2.34)
μg
where κ̂r is relative permeability for the zone. In FLAC, an upstream weighting technique is used,
whereby the average saturation at inflow nodes in the zone is used in combination with Eqs. (2.3)
– (2.5) to evaluate the zone relative permeabilities.
2.3.3 Timestep
In a two-phase flow calculation, the stable timestep for numerical stability is calculated on the
basis of fluid diffusivity (even in coupled simulations). It is taken as the minimum value of stable
timesteps that would be used for saturated flow of the wetting and non-wetting fluid, respectively
(see Section 1.3.5 for reference to critical timestep determination for saturated flow). An estimation
of the timestep magnitude may be obtained using the formula
1 1
t = L2z n min , (2.35)
kw Kw kg Kg
where Lz is the smallest zone size in the simulation, and kg is the saturated mobility coefficient for
the non-wetting fluid (kg = kw μw /μg ).
The effect of increased mechanical stiffness is incorporated in quasi-static analysis in the density-
scaling scheme already in FLAC; the apparent mechanical bulk modulus of a zone is modified by
the presence of fluids:
Sw Kw + Sg Kg
K := K + (2.36)
n
In the FLAC formulation, changes in effective stress induce deformation. Any of the built-in
constitutive models can be used in conjunction with a two-phase fluid flow calculation to model this
effect. The constitutive model calculates an effective stress change using a law of the functional
form Eq. (2.19). The corresponding total stress change is then derived from Eq. (2.20). The mean
zone pressure in this formula is evaluated from Eq. (2.21), using mean zone values for saturations
and pressure increments.
In transient fluid-mechanical calculations, volumetric deformations generate pore pressures and
saturation changes. This additional coupling effect is taken into consideration by incorporation of
the second terms in Eqs. (2.30) and (2.31) in the numerical scheme. The nodal contributions of
those terms are calculated after distribution of zone volumetric strains to the nodes.
As a naming convention in FLAC commands and FISH variables related to two-phase flow, we use
the subscript w for the wetting fluid, and nw or 2 for the non-wetting fluid. The main commands
available to assist in a FLAC simulation are listed in the Section 1 in the Command Reference; the
additional commands specifically related to two-phase flow are listed in this section.
Two-phase flow calculation is performed in CONFIG tpflow only. Please note that CONFIG gw and
CONFIG tpflow cannot be used simultaneously. Also, coupling with the thermal logic is not provided
in this version of the FLAC, so CONFIG thermal should not be used with CONFIG tpflow.
2.4.2 Initialization
The variables listed in Tables 2.1 and 2.2 can be initialized in CONFIG tpflow, using the INITIAL
command.
* This command is only used at fixed nwpp nodes. The quantity is initialized automatically by the
code at nodes where nwpp is not fixed.
* This command initializes k11 and k22 at the given value, and k12 to zero.
** This coefficient, which is 1 by default, can be initialized to 0 to prevent generation of pore
pressure by volumetric straining.
*** The ratio is for wetting over non-wetting fluid dynamic viscosity.
Please note the difference between groundwater-flow mode and two-phase flow mode.
In CONFIG gw we use:
PROPERTY porosity
PROPERTY k11
PROPERTY k12
PROPERTY permeability
In CONFIG tpflow we use:
INITIAL porosity
INITIAL wk11
INITIAL wk12
INITIAL wpermeability
In both configurations, the “permeability” input is the value of the wetting fluid mobility coefficient
(coefficient of pore pressure in Darcy’s law) at full saturation. The effective mobility is obtained
by multiplication of the wetting fluid input value with a relative mobility law built into the code. In
CONFIG tpflow, and for the non-wetting fluid, this relation is multiplied by the viscosity ratio (an
input value equal to wetting fluid over non-wetting fluid viscosity).
The wetting and non-wetting fluid density can be initialized using the commands:
WATER density value
WATER nwdensity value
The minimum value of relative saturation (used to cap the capillary pressure) can be changed to a
value larger than the default value of 10−5 , using the command
WATER secap value
2.4.3 Printing
In CONFIG tpflow mode, the variables listed in Tables 2.3 and 2.4 can be printed using the PRINT
command.
* Defined as Pw Sw + Pg Sg .
** Coefficient of pore pressure increment generated by volumetric straining, which can take the
value 0 or 1.
*** Wetting over non-wetting dynamic fluid viscosity.
2.4.5 Plotting
Contours of wetting and non-wetting pore pressure, saturation and fluid modulus can be plotted
using
PLOT pp
PLOT nwpp
PLOT sat
PLOT fmod
Flow vectors can be plotted for wetting and non-wetting fluids using the commands
PLOT flow
PLOT nwflow
FISH access is provided for the variables listed in Tables 2.5 and 2.6.
Please note:
1. The van Genuchten properties are automatically restricted to the following ranges:
vga : between 0.1 and 1.0
vgpcw : ≥ 0
vgpcnw : ≥ 0
vgp0 : ≥ 0
Also, the residual saturation cannot exceed 0.9, and the initial saturation Sw must be
larger than the residual value.
2. By default, the minimum value of relative saturation for the wetting fluid is taken as 10−5
for evaluation of capillary pressure and its derivative. This minimum value can be reset
to a larger value by using the command
WATER secap value
3. The flow ratio is calculated for the wetting fluid only.
4. Non-wetting bulk modulus cannot be zero; the default value is 10−3 × wetting bulk
modulus.
5. Two-phase flow logic is not implemented for axisymmetry or dynamic analysis.
6. The timestep is taken as the minimum value of the two stable timesteps calculated for
saturated flow of the wetting and non-wetting fluids.
Several examples which illustrate the modeling capabilities of the two-phase flow logic in FLAC
are presented in this section.
This one-dimensional example involves simulation of infiltration in a large caisson, and drainage by
gravity following complete saturation. The geometry, properties, initial and boundary conditions
correspond to those of the Test “Problem 1,” published by Forsyth et al. (1995). The caisson
is 6 m high and 3 m wide. The water saturation is initially Sw = 0.303 throughout the caisson.
Infiltration takes place at the rate of 2.315 m/s (or 0.2 m/day) at the top of the caisson until full
saturation is reached. Subsequently, drainage by gravity is allowed to take place at the bottom
of the caisson for a period of 100 days. The material properties used in the simulation are those
of Bandelier Tuff (the information given in parentheses below is used to derive FLAC property
values from those published in Forsyth’s paper). The saturated mobility coefficient is isotropic,
with k w = 2.92×10−10 m2 /(Pa-s) (this corresponds to an intrinsic permeability of 2.95×10−13 m2
and a dynamic viscosity of 1.01 × 10−3 Pa-s). The porosity is 0.33 and the residual saturation is
zero. The van Genuchten parameters are P0 = 0.699 × 104 Pa (this value is derived from Eq. (2.9),
using ρw g = 104 Pa/m and α = 1.43 1/m), a = 0.336 (with the equivalence a = 1 − 1/β, this
corresponds to a value of β = 1.506), b = 0.5 and c = 0.5.
A column of 20 zones is used in the FLAC simulation. A seepage condition is assigned at the
bottom of the caisson where air pressure is fixed at zero. The air bulk modulus is given a low value,
three orders of magnitude smaller than the water bulk modulus.
Figure 2.3 shows the water saturation profile over the caisson height at 1.16, 4.16 and 7.16 days.
After complete saturation, the infiltration rate is set to zero and bottom drainage is simulated for a
total period of 100 days, the predicted water content profile (porosity times water saturation) at 1,
4, 20 and 100 days is given in Figure 2.4.
JOB TITLE : .
LEGEND
17-Jan-08 8:50
6.000
step 0
Table Plot
lbound 5.000
saturation t=1.16d
saturation t=4.16d
4.000
saturation t=7.16d
ubound
3.000
2.000
1.000
2 4 6 8 10
-01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, MN 55401
JOB TITLE : .
LEGEND
18-Jan-08 14:56
6.000
step 0
Table Plot
lbound 5.000
water content t=1d
water content t=4d
4.000
water content t=20d
water content t=100d
ubound 3.000
2.000
1.000
10 15 20 25 30
-02
(10 )
Itasca Consulting Group, Inc.
Minneapolis, MN 55401
save caisd.sav
apply remove j=c_jgp
set gwtime 0.0
solve age 86.4e3 ; 1 day
save caise.sav
solve age 345.6e3 ; 4 day
save caisf.sav
solve age 1.728e6 ; 20 day
save caisg.sav
solve age 8.640e6 ; 100 day
save caish.sav
;
; create plots
res caisa.sav
ca caisson_log.fis
set filename = ’satl.log’
set tabin=1
log_satl
set filename = ’sata.log’
set tabin=2
log_sat
;
new
res caisb.sav
ca caisson_log.fis
set filename = ’satb.log’
set tabin=3
log_sat
;
new
res caisc.sav
ca caisson_log.fis
set filename = ’satc.log’
set tabin=4
log_sat
set filename = ’satu.log’
set tabin=5
log_satu
;
new
res caise.sav
ca caisson_log.fis
set filename = ’wcl.log’
set tabin=6
log_wcl
set filename = ’wca.log’
set tabin=7
log_wc
;
new
res caisf.sav
ca caisson_log.fis
set filename = ’wcb.log’
set tabin=8
log_wc
;
new
res caisg.sav
ca caisson_log.fis
set filename = ’wcc.log’
set tabin=9
log_wc
;
new
res caish.sav
ca caisson_log.fis
set filename = ’wcd.log’
set tabin=10
log_wc
set filename = ’wcu.log’
set tabin=11
log_wcu
;
new
gr 1 1
set echo off
ca satl.log
ca sata.log
ca satb.log
ca satc.log
ca satu.log
ca wcl.log
ca wca.log
ca wcb.log
ca wcc.log
ca wcd.log
ca wcu.log
set echo on
label table 1
lbound
label table 2
saturation t=1.16d
label table 3
saturation t=4.16d
label table 4
saturation t=7.16d
label table 5
ubound
label table 6
lbound
label table 7
water content t=1d
label table 8
water content t=4d
label table 9
water content t=20d
label table 10
water content t=100d
label table 11
ubound
This numerical simulation analyzes the flow of water, driven by capillary suction in a dry caisson
filled with porous material. The caisson is 30 m wide and 20 m high, the porosity is 0.4, the initial
saturation is 1%, and the residual saturation is zero. The top, left-hand side of the caisson is in
contact with water along a 3 m inlet, and the right side is exposed to air at atmospheric pressure.
The effect of gravity is neglected in this simulation, which is designed to test the ability of FLAC
to model fluid flow driven by capillarity.
The mobility coefficient k w is isotropic; its value is 10−9 m2 /(Pa-s) for this example. The relative
permeability and capillary laws are shown in Figures 2.5 and 2.6. They correspond to the van
Genuchten parameters P0 = 8 × 105 , a = 0.5, b = 0.5 and c = 0.333.
JOB TITLE : .
LEGEND
17-Jan-08 11:48
step 0 1.000
Table Plot
non-wetting fluid
0.800
wetting fluid
0.600
0.400
0.200
1 2 3 4 5 6 7 8 9 10
-01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
JOB TITLE : .
0.900
17-Jan-08 11:48
step 0
0.800
Table Plot
Capillary pressure curve 0.700
0.600
0.500
0.400
0.300
0.200
0.100
1 2 3 4 5 6 7 8 9 10
-01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
A grid of 20 by 20 zones is used in the FLAC simulation. A seepage condition is assigned on the
right side of the model, and saturation is fixed (at one) at the water inlet (top, left side of the model).
A low bulk modulus (1.39 × 105 Pa) and high viscosity ratio (55) are used to model the air phase.
Figure 2.7 shows the evolution of saturation at monitoring points indicated in Figure 2.8, for the
first 140 seconds after the caisson is placed in contact with water. Contours of saturation and flow
vectors at the end of the simulation are given in Figure 2.9.
JOB TITLE : .
LEGEND
1.000
17-Jan-08 8:57
step 2527778
0.900
Flow Time 1.4000E+02
0.800
HISTORY PLOT
Y-axis :
0.700
1 _sat1 (FISH)
2 _sat2 (FISH) 0.600
3 _sat3 (FISH)
4 _sat4 (FISH) 0.500
5 _sat5 (FISH)
0.400
6 _sat6 (FISH)
X-axis : 0.300
10 Groundwater flow time
0.200
0.100
2 4 6 8 10 12
01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, MN 55401
2.250
LEGEND
17-Jan-08 8:57
step 2527778
Flow Time 1.4000E+02 1.750
Grid plot
1.250
0 1E 1
Marked Gridpoints
0.750
0.250
-0.250
2.250
LEGEND
17-Jan-08 8:58
step 2527778
Flow Time 1.4000E+02 1.750
Saturation contours
1.250
0.00E+00
2.00E-01
4.00E-01
6.00E-01
8.00E-01 0.750
1.00E+00
Contour interval= 1.00E-01
Boundary plot
0 1E 1 0.250
Flow vectors
max vector = 9.194E-02
0 2E -1 -0.250
def setup
c_vgp0 = 8e5 ; P_0
c_vga = 1-1./2. ; a
c_inisat= 0.01 ; initial saturation
c_iperm = 1e-9 ; intrinsic permeability
c_vis = 1e-3 ; water viscosity at 20 degree in Pa*s
c_perm = c_iperm/c_vis ; water saturated mobility coefficient
c_nwpp = 1e5 ; initial air pressure
; (=atmospheric pressure)
; initial water pressure
c_inip = c_nwpp-c_vgp0 * (c_inisatˆ(-1.0/c_vga)-1.0)ˆ(1.0-c_vga)
end
setup
; --- properties ---
ini wk11=c_perm wk12=0. wk22=c_perm ; water mobility coefficient(isotropic)
ini poro 0.4 ; porosity
ini fmod 2e9 f2mod 1.39e5 ; water/air bulk modulus
This example studies water seepage through an embankment resting on an impermeable base.
The geometry and boundary conditions for this problem can be compared to those considered in
Section 10 in the Verifications volume. The width of the embankment is 9 m, and its height is
6 m. Initially, the water table is located 1.2 m above the impermeable base. The water level is then
raised to a height of 6 m on the upstream face of the embankment, and the numerical simulation is
carried out until steady-state conditions are reached.
The following material properties are used:
mobility coeff. (k w ) 10−10 m2 /(Pa-s)
porosity (n) 0.3
water density (ρw ) 1000 kg/m3
water bulk modulus (Kw ) 1000 Pa
gravity (g) 10 m/sec2
The laws adopted for relative permeability and capillary pressure are shown in Figures 2.10 and
2.11. They correspond to the van Genuchten parameter values a = 0.336, b = 0.5, c = 0.5 and
P0 = 0.699 × 104 .
JOB TITLE : .
LEGEND
17-Jan-08 14:10
step 0 1.000
Table Plot
non-wetting fluid
0.800
wetting fluid
0.600
0.400
0.200
1 2 3 4 5 6 7 8 9 10
-01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
JOB TITLE : .
1.000
0.800
0.600
0.400
0.200
1 2 3 4 5 6 7 8 9 10
-01
(10 )
Itasca Consulting Group, Inc.
Minneapolis, Minnesota USA
A grid of 30 by 20 elements is used to simulate the embankment. Initial water pressure and saturation
are imposed using a FISH function (the values correspond to steady-state conditions with water
level at y = 1.2 m and zero air pressure in the unsaturated zone). The water level is raised to a height
of 6 m on the upstream face, and a seepage condition is declared on the downstream face. A low
modulus, three orders of magnitude smaller than the water modulus, is assigned to the air phase.
The simulation is carried out to steady-state using the SOLVE command.
Figure 2.12 shows the steady-state contours of water pore pressure and flow vectors. A close-up of
the seepage face is given in Figure 2.13. For the particular set of properties used in the simulation,
the numerical value of the seepage length is found to be in agreement with the analytical value for
single phase flow (no capillary pressure) derived by Polubarinova-Kochina (see, e.g., Harr (1991),
pp. 206-207), and indicated by the solid line on the figure.
JOB TITLE : .
LEGEND
6.000
17-Jan-08 8:25
step 55556
Flow Time 3.0000E+09
-5.000E-01 <x< 9.500E+00
-2.000E+00 <y< 8.000E+00
-2.00E+04
-1.00E+04
0.00E+00
1.00E+04
2.00E+04
3.00E+04 2.000
4.00E+04
5.00E+04
6.00E+04
0 2E -6
JOB TITLE : .
LEGEND
3.250
17-Jan-08 8:26
step 55556
Flow Time 3.0000E+09 2.750
6.125E+00 <x< 1.088E+01
-6.550E-01 <y< 4.101E+00
2.250
Pore pressure contours
-1.00E+04
-5.00E+03
0.00E+00 1.750
5.00E+03
seepage face
1.00E+04 (analytical)
1.50E+04 1.250
2.00E+04
2.50E+04
3.00E+04
0.750
0 2E -6
-0.250
fix pp i 1 j 1 5
fix sat i 1 j 1 5
fix pp i 31 j 1 5
fix sat i 31 j 1 5
; --- Settings ---
set flow on mech off
set grav=gr
; --- raise upstream water level ---
ini pp 6e4 var 0 -6e4 i 1 j 1 21
fix pp i=1 j 1 21
fix sat i=1 j 1 21
fix seepage i 31 j 6 21
; --- fish function ---
def qin
valin = 0.0
valout = 0.0
loop jj (1,21)
valin = valin + gflow(1,jj)
if and(flags(igp,jj),262144) # 0 then
if gpp(igp,jj) = 0.0 then
; seepage node
valout = valout - gflow(igp,jj)
endif
else
; fixed pp node
valout = valout - gflow(igp,jj)
endif
end_loop
qin = valin
qout = valout
end
; --- histories ---
his ns 1000
his gwtime
his qin
his qout
; --- Step to steady-state ---
set step 200000
set ncw 1000
solve age 3e9
save emb2.sav
; --- View plots ---
plot hold pp fill int 10000 flow
win 6.5 10.5 -.25 3.75
label plot 1 (9.25,1.50)
seepage face
Under unsaturated conditions, underground excavation can serve as an obstacle to the flow. This
example analyzes unsaturated seepage flow around a system of horizontal drifts located 60 m apart,
and situated 30 m below ground level. The diameter of the drifts is 5 m. Surface water is infiltrating
at a steady rate, q0 , of 2 × 10−8 m/s. The phreatic surface level is at a depth of 60 m. The purpose
of the simulation is to determine the saturation distribution around the drifts when steady-state
conditions are reached.
The laws adopted for relative permeability and capillary pressure correspond to the van Genuchten
parameters a = 0.630, b = 0.5, c = 0.5 and P0 = 103 . The saturated mobility coefficient is
homogeneous and isotropic; the value is 1.042 × 10−10 m2 /(Pa-s). The porosity is 5 × 10−4 , the
residual saturation is zero, and the initial saturation is 0.42.
By symmetry, half of a drift is considered for this problem. A radial grid of 1250 zones is used
in the FLAC simulation. A flux boundary condition is applied at the top of the model (ground
level), a constant pressure is assigned at the bottom of the grid (phreatic surface), and a seepage
condition is declared at the drift boundary. The lateral boundaries are impermeable to water flow
(symmetry conditions). The initial saturation corresponds to one-dimensional gravity flow with
constant specific discharge, q0 . The air phase pressure is fixed at the value zero in this simulation.
Figure 2.14 shows the steady-state contours of saturation for the simulation. Pore pressure contours
and flow vectors are given in Figure 2.15. As may be seen on the plots, water is deflected from
the drift roof, and “drip lobes” are formed in which saturation and flow velocity are increased
(compared to the initial steady situation). A dry shadow is formed, sheltered by the cavity. These
features are described in the context of Richard’s equation (see Philip and Knight 1989) and a
relative permeability exponential law.
JOB TITLE : .
LEGEND
17-Jan-08 9:39
2.000
step 77813
Flow Time 3.0000E+05
1.803E-02 <x< 1.449E+01
-9.038E+00 <y< 5.432E+00
0.000
Boundary plot
0 2E 0
Saturation contours -2.000
0.00E+00
2.00E-01
4.00E-01
6.00E-01 -4.000
8.00E-01
1.00E+00
Contour interval= 1.00E-01
-6.000
-8.000
LEGEND
17-Jan-08 9:37
step 77813 0.000
Flow Time 3.0000E+05
-5.558E-01 <x< 2.447E+01
-1.856E+01 <y< 6.462E+00
Boundary plot
-0.500
0 5E 0
Pore pressure contours
-5.00E+03
-4.00E+03
-3.00E+03
-2.00E+03
-1.000
-1.00E+03
0.00E+00
0 2E -7
This academic example studies the mechanical deformation caused by infiltration of water in a
caisson filled with porous material. The caisson is 6 m wide and 6 m high. Initially, the bottom part
of the caisson is fully saturated with water over a height h2 = 2 m, and steady-state conditions prevail.
The top of the caisson is then exposed to a constant flux of water (flow rate q = 2.3 × 10−6 m/s) on
a span of 1 m located at the center. During the experiment, the water level is kept at the initial height
on the lateral sides of the caisson. The evolution of saturation and soil deformation is monitored
for a total of 18 × 105 s.
The mobility coefficient k w is 10−10 m2 /(Pa-s) and the porosity is 0.3. The laws adopted for relative
permeability and capillary pressure correspond to the van Genuchten parameter values a = 0.34,
b = 0.5, c = 0.5 and P0 = 7000. The porous material has an elastic behavior, the dry bulk modulus
is 108 Pa, the shear modulus is 0.3 × 108 Pa and the dry soil density is 1500 kg/m3 .
By symmetry, half of the caisson is considered in the numerical simulation. A grid of 12 by 24
elements is used to simulate the porous material. The mechanical boundary conditions correspond
zero normal displacement at the lateral and bottom sides of the caisson. Lateral displacements are
also restricted at the bottom of the model. A low bulk modulus (three orders of magnitude smaller
than the modulus used for water) is assigned to the air phase. Initial pore pressure and saturation
are assigned using a FISH function. They correspond to the steady state conditions with water level
at h2 , and zero air pressure in the unsaturated region. The initial stresses, in equilibrium under
gravity, and consistent with the initial saturation distribution, are also calculated and assigned to
the model using a FISH function. The numerical simulation is carried out for a total of 18 × 105 s,
with intermediate results at five additional times.
Figures 2.18 to 2.29 show the saturation contours, water flow vectors and deformations taking place
during the filling process.
JOB TITLE : .
6.000
LEGEND
21-Jan-08 16:29
step 0 5.000
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
0 2E 0
0.000
JOB TITLE : .
6.000
LEGEND
17-Jan-08 9:13
step 0 5.000
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
0 2E 0
Grid plot
3.000
0 2E 0
2.000
1.000
0.000
JOB TITLE : .
6.000
LEGEND
21-Jan-08 16:29
step 5333 5.000
Flow Time 2.0002E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Saturation contours
3.00E-01
4.00E-01
5.00E-01 3.000
6.00E-01
7.00E-01
8.00E-01
9.00E-01 2.000
1.00E+00
0 5E -6
0.000
Grid plot
0 Consulting Group,
Itasca 2EInc.
0
Minneapolis, MN 55401
-2.000 -1.000 0.000 1.000 2.000 3.000 4.000 5.000
JOB TITLE : .
6.000
LEGEND
17-Jan-08 9:14
step 5333 5.000
Flow Time 2.0002E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Exaggerated Grid Distortion
Magnification = 1.799E+03
Max Disp = 8.464E-05
3.000
2.000
1.000
0.000
JOB TITLE : .
6.000
LEGEND
21-Jan-08 16:29
step 10637 5.000
Flow Time 4.0001E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Saturation contours
3.00E-01
4.00E-01
5.00E-01 3.000
6.00E-01
7.00E-01
8.00E-01
9.00E-01 2.000
1.00E+00
0 5E -6
0.000
Grid plot
0 Consulting Group,
Itasca 2EInc.
0
Minneapolis, MN 55401
-2.000 -1.000 0.000 1.000 2.000 3.000 4.000 5.000
JOB TITLE : .
6.000
LEGEND
17-Jan-08 9:15
step 10637 5.000
Flow Time 4.0001E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Exaggerated Grid Distortion
Magnification = 1.799E+03
Max Disp = 1.128E-04
3.000
2.000
1.000
0.000
JOB TITLE : .
6.000
LEGEND
21-Jan-08 16:28
step 15771 5.000
Flow Time 6.0004E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Saturation contours
3.00E-01
4.00E-01
5.00E-01 3.000
6.00E-01
7.00E-01
8.00E-01
9.00E-01 2.000
1.00E+00
0 5E -6
0.000
Grid plot
0 Consulting Group,
Itasca 2EInc.
0
Minneapolis, MN 55401
-2.000 -1.000 0.000 1.000 2.000 3.000 4.000 5.000
JOB TITLE : .
6.000
LEGEND
17-Jan-08 9:16
step 15771 5.000
Flow Time 6.0004E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Exaggerated Grid Distortion
Magnification = 1.799E+03
Max Disp = 1.381E-04
3.000
2.000
1.000
0.000
JOB TITLE : .
6.000
LEGEND
21-Jan-08 16:27
step 20787 5.000
Flow Time 8.0002E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Saturation contours
3.00E-01
4.00E-01
5.00E-01 3.000
6.00E-01
7.00E-01
8.00E-01
9.00E-01 2.000
1.00E+00
0 5E -6
0.000
Grid plot
0 Consulting Group,
Itasca 2EInc.
0
Minneapolis, MN 55401
-2.000 -1.000 0.000 1.000 2.000 3.000 4.000 5.000
JOB TITLE : .
6.000
LEGEND
17-Jan-08 9:18
step 20787 5.000
Flow Time 8.0002E+05
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Exaggerated Grid Distortion
Magnification = 1.799E+03
Max Disp = 1.895E-04
3.000
2.000
1.000
0.000
JOB TITLE : .
6.000
LEGEND
21-Jan-08 16:27
step 29851 5.000
Flow Time 1.2001E+06
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Saturation contours
3.00E-01
4.00E-01
5.00E-01 3.000
6.00E-01
7.00E-01
8.00E-01
9.00E-01 2.000
1.00E+00
0 5E -6
0.000
Grid plot
0 Consulting Group,
Itasca 2EInc.
0
Minneapolis, MN 55401
-2.000 -1.000 0.000 1.000 2.000 3.000 4.000 5.000
JOB TITLE : .
6.000
LEGEND
17-Jan-08 9:18
step 29851 5.000
Flow Time 1.2001E+06
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Exaggerated Grid Distortion
Magnification = 1.799E+03
Max Disp = 2.767E-04
3.000
2.000
1.000
0.000
JOB TITLE : .
6.000
LEGEND
21-Jan-08 16:28
step 41895 5.000
Flow Time 1.8000E+06
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Saturation contours
4.00E-01
5.00E-01
6.00E-01 3.000
7.00E-01
8.00E-01
9.00E-01
1.00E+00 2.000
0 5E -6
Grid plot 0.000
0 2E 0
Itasca Consulting Group, Inc.
Minneapolis, MN 55401
-2.000 -1.000 0.000 1.000 2.000 3.000 4.000 5.000
JOB TITLE : .
6.000
LEGEND
17-Jan-08 9:20
step 41895 5.000
Flow Time 1.8000E+06
-2.500E+00 <x< 5.500E+00
-1.000E+00 <y< 7.000E+00
4.000
Exaggerated Grid Distortion
Magnification = 1.799E+03
Max Disp = 3.035E-04
3.000
2.000
1.000
0.000
ini_pps
ini sat 1 i 1 13 j 1 8
ini pp 2e4 var 0 -2e4 i 1 13 j 1 8
ini nwpp 0 j=c_jgp
fix nwpp j=c_jgp
fix pp i=13 j=1,8
fix sat i=13 j=1,8
def ini_str
rowup = 0.0
valup = 0.0
loop jj (1,jzones)
j1 = jgp - jj
myzsat = (sat(1,j1)+sat(2,j1)+sat(1,j1+1)+sat(2,j1+1))*0.25
thisrow = (1500. + 0.3 * myzsat * 1000.) * 10. * 0.25
val = valup + (rowup + thisrow) * 0.5
loop ii (1,izones)
sxx(ii,j1) = -val
syy(ii,j1) = -val
szz(ii,j1) = -val
end_loop
valup = val
rowup = thisrow
end_loop
end
ini_str
save cuve0.sav
; remplissage
ini udcoe 1
apply discharge c_q i=1,3 j=c_jgp
set gwtime 0
solve auto on age 2e5
save cuvea.sav
solve auto on age 4e5
save cuveb.sav
solve auto on age 6e5
save cuvec.sav
solve auto on age 8e5
save cuved.sav
solve auto on age 10e5
save cuvee.sav
solve auto on age 12e5
save cuvef.sav
solve auto on age 14e5
save cuveg.sav
solve auto on age 16e5
save cuveh.sav
;generate plots
res cuve0.sav
title
Deformation caused by filling of a caisson t=0s
plot hold sat fill
plot hold grid
;
new
res cuvea.sav
title
Deformation caused by filling of a caisson t=2e5s
plot hold sat fill flow bl
plot hold grid mag
;
new
res cuveb.sav
title
Deformation caused by filling of a caisson t=4e5s
plot hold sat fill flow bl
plot hold grid mag
;
new
res cuvec.sav
title
Deformation caused by filling of a caisson t=6e5s
plot hold sat fill flow bl
plot hold grid mag
new
res cuved.sav
title
Deformation caused by filling of a caisson t=8e5s
plot hold sat fill flow bl
plot hold grid mag
;
new
res cuvef.sav
title
Deformation caused by filling of a caisson t=12e5s
plot hold sat fill flow bl
plot hold grid mag
;
new
res cuvei.sav
title
Deformation caused by filling of a caisson t=18e5s
plot hold sat fill flow bl
plot hold grid mag
ret
2.6 References
Dangla, P. Approches Energetique et Numerique des Milieux Poreux Non Satures. Memoire
d’habilitation a diriger des recherches. Ecole Nationale des Ponts et Chaussees. Ecole Normale
Superieure de Cachan. Universite de Marne-la-Valee, 1999.
Forsyth, P. A., Y. S. Wu and K. Pruess. “Robust Numerical Methods for Saturated-Unsaturated
Flow with Dry Initial Conditions in Heterogeneous Media,” in Advances in Water Resources,
Vol. 18, pp. 25-38. Elsevier Science Limited (1995).
Harr, M. E. Groundwater and Seepage. Dover, 1991.
Hutter, K., L. Laloui and L. Vulliet. “Thermodynamically Based Mixture Models of Saturated and
Unsaturated Soils,” in Mechanics of Cohesive-Frictional Materials, Vol. 4, Issue no 4, pp. 295-338.
F. Darve and R. de Borst, eds. Wiley, 1999.
Nikolaevskij, V. N. Mechanics of Porous and Fractured Media. Series in Theoretical and Applied
Mechanics. R. K. T. Hsieh, ed. World Scientific, 1990.
Peaceman, D. W. Fundamentals of Numerical Reservoir Simulation. Developments in Petroleum
Science, 6. Elsevier, 1977.
Philip, J. R., J. H. Knight and R. T. Waechter. “Unsaturated Seepage and Subterranean Holes: Con-
spectus, and Exclusion Problem for Circular Cylindrical Cavities,” in Water Resources Research,
Vol. 25, No. 1, pp. 16-28, January 1989.
van Genuchten, M. Th., “A Closed Form Equation for Predicting the Hydraulic Conductivity of
Unsaturated Soils,” in Soil Sc. Soc. Am. J., Vol. 44, pp. 892-898, 1980.