FLAC3D Theory and Background • Fluid-Mechanical Interaction

# Unsteady Groundwater Flow in a Confined Layer

Note

To view this project in FLAC3D, use the menu command Help ► Examples…. Choose “Fluid/UnsteadyGroundwaterFlowConfinedLayer” and select “UnsteadyGroundwaterFlowConfinedLayer.f3dprj” to load. The project’s main data files are shown at the end of this example.

A long embankment of width $$L$$ = 100 m rests on a shallow saturated layer of soil. The width ($$L$$) of the embankment is large in comparison to the layer thickness, and its permeability is negligible when compared to the permeability, $$k$$ = 10-12 m2/(Pa sec), of the soil. The Biot modulus for the soil is measured to be $$M$$ = 10 GPa. Initial steady-state conditions are reached in the homogeneous layer. The purpose is to study the pore-pressure change in the layer as the water level is raised instantaneously upstream by an amount $$H_0$$ = 2 m. This corresponds to a pore-pressure rise of $$p_1 = H_0 {\rho}_w g$$ (with the water density $${\rho}_w$$ = 1000 kg/m3 and acceleration of gravity $$g$$ = 10 m/s2) at the upstream side of the embankment. Figure 1 shows the geometry of the problem:

Figure 1: Confined flow in a soil layer.

The flow in the layer may be assumed to be one-dimensional. The model has width $$L$$. The excess pore pressure, $$p$$, initially zero, is raised suddenly to the value $$p_1$$ at one end of the model. The corresponding analytical solution has the form

$\hat{p}(\hat{z},t)\ =\ 1 - \hat{z} - {2 \over {\pi}} \sum_{n=1}^\infty e^{- n^2\pi^2 \hat{t}}\left({\sin {n \pi \hat{z}} \over n}\right)$

where the $$z$$-axis is running along the embankment width and has its origin at the upstream side, $$\hat{p} = {p\over p_1}$$, $$\hat{z} = {z \over {L}}$$, $$\hat{t} = c t/L^2$$, and $$c = M k$$.

In the FLAC3D model, the layer is defined as a column of 25 zones. The excess pore pressure is fixed at the value of 2 × 104 Pa at the face located at $$z$$ = 0, and at zero at the face located at $$z$$ = 100 m. The model grid is shown in Figure 2.

The analytical solution is programmed as a FISH function for direct comparison to the numerical results at selected fluid-flow times corresponding to $$\hat{t}$$ = 0.05, 0.1, 0.2 and 1.0. The analytical and numerical pore-pressure results for these times are stored in tables.

Figure 2: FLAC3D grid for fluid flow in a confined soil layer.

UnsteadyGroundwaterFlowConfinedLayer-Explicit.dat contains the FLAC3D data file for this problem, using the explicit formulation to obtain the solution. UnsteadyGroundwaterFlowConfinedLayer-Implicit.dat contains the data file using the implicit formulation. The comparison of analytical and numerical excess pore pressures at four fluid-flow times for the explicit solution is shown in Figure 3, and for the implicit solution in Figure 4. Normalized excess pore pressure ($$p/p_1$$) is plotted versus normalized distance ($$z/L$$) in the two figures, where Tables 2, 4, and 6 contain the analytical solution for excess pore pressures, and Tables 1, 3, and 5 contain the FLAC3D solutions. The four flow times are 5 × 104, 105, 2 × 105, and 106 seconds for both explicit and implicit solutions. Steady-state conditions are reached by the last time considered. For both solution formulations, the difference between analytical and numerical pore pressures at steady state is less than 0.1%.

break

Figure 3: Comparison of excess pore pressures for the explicit-solution algorithm (analytical values = lines; numerical values = crosses).

Figure 4: Comparison of excess pore pressures for the implicit-solution algorithm (analytical values = lines; numerical values = crosses).

Data File

model new
model large-strain off
model title 'Unsteady groundwater flow in a confined layer: Explicit Method'
fish automatic-create off
model configure fluid
program call 'fishFunctions'
[constants]
zone create brick size 1 1 25 point 1 (10 0 0) point 2 (0 10 0) ...
point 3 (0 0 [length])
; --- fluid flow model ---
zone fluid cmodel assign isotropic
zone fluid biot on
zone fluid property permeability [c_cond]
zone gridpoint initialize biot [c_biom]
zone face apply pore-pressure [dp1] range position-z 0
zone face apply pore-pressure 0    range position-z 100
; --- settings ---
model mechanical active off
model fluid active on
;
model solve fluid time-total  5e4
zone gridpoint list fluid range position-x -0 position-y 0
[num_sol]
[ana_sol]
model solve fluid time-total 10e4
[num_sol]
[ana_sol]
model solve fluid time-total 20e4
[num_sol]
[ana_sol]
model solve fluid time-total 100e4
[num_sol]
[ana_sol]
model save 'confinedlayer-explicit'


model new
model large-strain off
model title 'Unsteady groundwater flow in a confined layer: Implicit Method'
fish automatic-create off
model configure fluid
program call 'fishFunctions'
[constants]
zone create brick size 1 1 25 point 1 (10 0 0) point 2 (0 10 0) ...
point 3 (0 0 [length])
; --- fluid flow model ---
zone fluid cmodel assign isotropic
zone fluid biot on
zone fluid property permeability [c_cond]
zone gridpoint initialize biot [c_biom]
zone face apply pore-pressure [dp1] range position-z 0
zone face apply pore-pressure 0    range position-z 100
; --- settings ---
model mechanical active off
model fluid active on
zone fluid implicit on
model fluid timestep fix 1e3
;
model solve fluid time-total 5e4
zone gridpoint list fluid range position-x 0 position-y 0
[num_sol]
[ana_sol]
model solve fluid time-total 10e4
[num_sol]
[ana_sol]
model solve fluid time-total 20e4
[num_sol]
[ana_sol]
model solve fluid time-total 100e4
[num_sol]
[ana_sol]
model save 'confinedlayer-implicit'

;; Now do again with an attach layer
model new
model large-strain off
model title 'Unsteady groundwater flow in a confined layer: Implicit Method'
fish automatic-create off
model configure fluid
program call 'fishFunctions'
[constants]
zone create brick size 1 1 25 point 1 (10 0 0) point 2 (0 10 0) ...
point 3 (0 0 [length])
zone separate by-face range position-z 52.0
zone attach by-face
; --- fluid flow model ---
zone fluid cmodel assign isotropic
zone fluid biot on
zone fluid property permeability [c_cond]
zone gridpoint initialize biot [c_biom]
zone face apply pore-pressure [dp1] range position-z 0
zone face apply pore-pressure 0    range position-z 100
; --- settings ---
model mechanical active off
model fluid active on
zone fluid implicit on
model fluid timestep fix 1e3
;
model solve fluid time-total 5e4
zone gridpoint list fluid range position-x 0 position-y 0
[num_sol]
[ana_sol]
model solve fluid time-total 10e4
[num_sol]
[ana_sol]
model solve fluid time-total 20e4
[num_sol]
[ana_sol]
model solve fluid time-total 100e4
[num_sol]
[ana_sol]
model save 'confinedlayer-implicit-att'