Sei sulla pagina 1di 186

FLAC3D

Fast Lagrangian Analysis of Continua


in 3 Dimensions
Fluid-Mechanical Interaction

2009
Itasca Consulting Group Inc. Phone: (1) 612-371-4711
Mill Place Fax: (1) 6123714717
111 Third Avenue South, Suite 450 E-Mail: software@itascacg.com
Minneapolis, Minnesota 55401 USA Web: www.itascacg.com
First Edition (FLAC 3D Version 2.1) April 2002
First Revision (FLAC 3D Version 2.1) June 2003
Second Edition (FLAC 3D Version 3.0) September 2005
First Revision December 2005*
Third Edition (FLAC 3D Version 3.1) December 2006
Fourth Edition (FLAC 3D Version 4.0) December 2009

* Please see the errata page in the \Manuals\Flac3d400 folder.


Fluid-Mechanical Interaction Contents - 1

TABLE OF CONTENTS

1 FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2 FLAC 3D Fluid-Thermal-Mechanical Formulation Mathematical Description . 1-4
1.2.1 Conventions and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
1.2.2 Governing Differential Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
1.2.3 Fluid Flow Boundary and Initial Conditions in FLAC 3D . . . . . . . . . . . . . 1-9
1.3 Numerical Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 10
1.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 10
1.3.2 Saturated Fluid Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 11
1.3.2.1 Finite-Difference Approximation to Space Derivatives . . . . . . . 1 - 11
1.3.2.2 Nodal Formulation of the Mass Balance Equation . . . . . . . . . . . 1 - 12
1.3.2.3 Explicit Finite-Difference Formulation . . . . . . . . . . . . . . . . . . . . . 1 - 15
1.3.2.4 Implicit Finite-Difference Formulation . . . . . . . . . . . . . . . . . . . . . 1 - 17
1.3.3 Saturated/Unsaturated Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 20
1.3.4 Mechanical Timestep and Numerical Stability . . . . . . . . . . . . . . . . . . . . . . 1 - 22
1.3.5 Total Stress Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 23
1.4 Calculation Modes for Fluid-Mechanical Interaction . . . . . . . . . . . . . . . . . . . . . . . . 1 - 24
1.4.1 Grid Not Configured for Fluid Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 24
1.4.2 Grid Configured for Fluid Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 24
1.5 Properties and Units for Fluid-Flow Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 29
1.5.1 Permeability Coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 29
1.5.2 Mass Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 30
1.5.3 Fluid Moduli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 30
1.5.3.1 Biot Coefficient and Biot Modulus . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 30
1.5.3.2 Fluid Bulk Modulus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 31
1.5.3.3 Fluid Moduli and Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 32
1.5.3.4 Fluid Moduli for Drained and Undrained Analyses . . . . . . . . . . 1 - 32
1.5.4 Porosity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 33
1.5.5 Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 33
1.5.6 Undrained Thermal Coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 33
1.5.7 Fluid Tension Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 34
1.6 Fluid-Flow Boundary Conditions, Initial Conditions, Sources and Sinks . . . . . . 1 - 35

FLAC 3D Version 4.0


Contents - 2 Fluid-Mechanical Interaction

1.7 Solving Flow-Only and Coupled-Flow Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 37


1.7.1 Time Scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 37
1.7.2 Selection of a Modeling Approach for a Fully Coupled Analysis . . . . . 1 - 41
1.7.2.1 Time Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 41
1.7.2.2 Nature of Imposed Perturbation to the Coupled Process . . . . . . 1 - 42
1.7.2.3 Stiffness Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 42
1.7.2.4 Recommended Procedure to Select a Modeling Approach . . . . 1 - 44
1.7.3 Fixed Pore Pressure (Used in Effective Stress Calculation) . . . . . . . . . . . 1 - 47
1.7.4 Flow-Only Calculation to Establish a Pore-Pressure Distribution . . . . . 1 - 47
1.7.5 No Flow Mechanical Generation of Pore Pressure . . . . . . . . . . . . . . . . . 1 - 48
1.7.6 Coupled Flow and Mechanical Calculations . . . . . . . . . . . . . . . . . . . . . . . . 1 - 50
1.8 Verification Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 59
1.8.1 Unsteady Groundwater Flow in a Confined Layer . . . . . . . . . . . . . . . . . . . 1 - 59
1.8.2 One-Dimensional Filling of a Porous Region . . . . . . . . . . . . . . . . . . . . . . . 1 - 67
1.8.3 Steady-State Fluid Flow with a Free Surface . . . . . . . . . . . . . . . . . . . . . . . 1 - 72
1.8.4 Spreading of a Groundwater Mound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 84
1.8.5 One-Dimensional Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 92
1.8.6 Transient Fluid Flow to a Well in a Shallow Confined Aquifer . . . . . . . . 1 - 108
1.8.7 Pressuremeter Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 120
1.9 Verification of Concepts, and Modeling Techniques for Specific Applications . 1 - 134
1.9.1 Solid Weight, Buoyancy and Seepage Forces . . . . . . . . . . . . . . . . . . . . . . . 1 - 134
1.9.1.1 A Simple Example Illustrating Solid Weight, Buoyancy and Seep-
age Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 135
1.9.2 Pore Pressure Initialization and Deformation . . . . . . . . . . . . . . . . . . . . . . . 1 - 147
1.9.3 Effect of the Biot Coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 153
1.9.3.1 Undrained Oedometer Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 155
1.9.3.2 Pore Pressure Generation in a Confined Sample . . . . . . . . . . . . . 1 - 156
1.9.3.3 Pore Pressure Generation in an Infinite Layer . . . . . . . . . . . . . . . 1 - 158
1.9.4 Semi-confined Aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 160
1.10 Input Instructions for Fluid-Flow Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 164
1.10.1 FLAC 3D Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 164
1.10.2 FISH Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 174
1.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 175

FLAC 3D Version 4.0


Fluid-Mechanical Interaction Contents - 3

TABLES
Table 1.1 Property specification methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 27
Table 1.2 Recommended procedure to select a modeling approach for a fully coupled
analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 45

FLAC 3D Version 4.0


Contents - 4 Fluid-Mechanical Interaction

FIGURES
Figure 1.1 Definitions for principal directions of permeability tensor . . . . . . . . . . . . . . . . 1 - 26
Figure 1.2 Instantaneous pore pressures generated under an applied load . . . . . . . . . . . . . 1 - 50
Figure 1.3 Pore-pressure distribution at 5000 seconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 54
Figure 1.4 Consolidation response time histories of footing displacements . . . . . . . . . . 1 - 54
Figure 1.5 Swelling displacements near a trench with impermeable surfaces . . . . . . . . . . 1 - 57
Figure 1.6 History of pore pressure behind the trench face . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 57
Figure 1.7 Displacement histories at the trench crest vertical (top) and horizontal (bot-
tom) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 58
Figure 1.8 Confined flow in a soil layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 59
Figure 1.9 FLAC 3D grid for fluid flow in a confined soil layer . . . . . . . . . . . . . . . . . . . . . . . 1 - 60
Figure 1.10 Comparison of excess pore pressures for the explicit-solution algorithm (ana-
lytical values = lines; numerical values = crosses) . . . . . . . . . . . . . . . . . . . . . 1 - 63
Figure 1.11 Comparison of excess pore pressures for the implicit-solution algorithm (an-
alytical values = lines; numerical values = crosses) . . . . . . . . . . . . . . . . . . . . 1 - 66
Figure 1.12 Location of filling front (  x vs  t ) no gravity
(analytical solution = solid line; numerical values = dashed line) . . . . . . . 1 - 71
Figure 1.13 Location of filling front (  x vs  t ) with gravity
(analytical solution = solid line; numerical values = dashed line) . . . . . . . 1 - 72
Figure 1.14 Problem geometry and boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 73
Figure 1.15 Seepage face solution after Polubarinova-Kochina (1962) . . . . . . . . . . . . . . . . 1 - 74
Figure 1.16 Steady-state flow vectors and seepage face solution Case 1 . . . . . . . . . . . . . . 1 - 79
Figure 1.17 Steady-state flow vectors and seepage face solution Case 2 . . . . . . . . . . . . . . 1 - 79
Figure 1.18 Steady-state flow vectors for ATTACHed grid Case 1 . . . . . . . . . . . . . . . . . . . . 1 - 81
Figure 1.19 Steady-state flow vectors for grid with INTERFACE Case 1 . . . . . . . . . . . . . . 1 - 83
Figure 1.20 FLAC 3D grid and initial state of saturated column . . . . . . . . . . . . . . . . . . . . . . . 1 - 85
Figure 1.21 Saturation contours and analytical mound elevation at t = 0.35 . . . . . . . . . . . . 1 - 90
Figure 1.22 Saturation contours and analytical mound elevation at t = 0.45 . . . . . . . . . . . . 1 - 90
Figure 1.23 Saturation contours and analytical mound elevation at t = 0.65 . . . . . . . . . . . . 1 - 91
Figure 1.24 Saturation contours and analytical mound elevation at t = 0.85 . . . . . . . . . . . . 1 - 91
Figure 1.25 Head contours and analytical mound elevation at t = 0.85 . . . . . . . . . . . . . . . . 1 - 92
Figure 1.26 One-dimensional consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 93
Figure 1.27 FLAC 3D grid for one-dimensional consolidation . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 95
Figure 1.28 Comparison between analytical and numerical values of pore pressure in a
one-dimensional consolidation test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 98
Figure 1.29 Comparison between analytical and numerical values for vertical displacement
in a one-dimensional consolidation test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 99
Figure 1.30 Evolution of pore pressure, total and effective stresses in a one-dimensional
consolidation test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 99
Figure 1.31 Comparison between analytical pore-pressure solutions for two large values
of M in a one-dimensional consolidation test . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 102

FLAC 3D Version 4.0


Fluid-Mechanical Interaction Contents - 5

Figure 1.32 Comparison between analytical vertical displacement solutions for two large
values of M in a one-dimensional consolidation test . . . . . . . . . . . . . . . . . . . 1 - 102
Figure 1.33 Comparison between analytical and numerical values of pore pressure in a
one-dimensional consolidation test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 106
Figure 1.34 Comparison between analytical and numerical values for vertical displacement
in a one-dimensional consolidation test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 107
Figure 1.35 Evolution of pore pressure, total and effective stresses in a one-dimensional
consolidation test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 107
Figure 1.36 Flow to a well in a shallow confined aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 108
Figure 1.37 FLAC 3D grid for a well in a shallow aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 111
Figure 1.38 Pore-pressure distribution at 4, 8, 16 and 32 seconds
coupled solution
(analytical values = lines; numerical values = symbols) . . . . . . . . . . . . . . . . 1 - 117
Figure 1.39 Pore-pressure distribution at 4, 8, 16 and 32 seconds
uncoupled solution
(analytical values = lines; numerical values = symbols) . . . . . . . . . . . . . . . . 1 - 117
Figure 1.40 Radial, tangential and vertical stress distributions at 32 seconds
coupled solution
(analytical values = lines; numerical values = symbols) . . . . . . . . . . . . . . . . 1 - 118
Figure 1.41 Radial, tangential and vertical stress distributions at 32 seconds
uncoupled solution
(analytical values = lines; numerical values = symbols) . . . . . . . . . . . . . . . . 1 - 118
Figure 1.42 Radial displacement distribution at 32 seconds
coupled solution
(analytical values = line; numerical values = symbols) . . . . . . . . . . . . . . . . . 1 - 119
Figure 1.43 Radial displacement distribution at 32 seconds
uncoupled solution
(analytical values = line; numerical values = symbols) . . . . . . . . . . . . . . . . . 1 - 119
Figure 1.44 Cylindrical cavity expansion in pressuremeter test . . . . . . . . . . . . . . . . . . . . . . . 1 - 120
Figure 1.45 Domain of FLAC 3D simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 122
Figure 1.46 FLAC 3D grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 122
Figure 1.47 Pore-pressure profiles 300 seconds consolidation . . . . . . . . . . . . . . . . . . . . . . 1 - 124
Figure 1.48 Profiles of radial and tangential normal stresses 300 seconds consolidation 1 - 124
Figure 1.49 Pore-pressure profiles 600 seconds consolidation . . . . . . . . . . . . . . . . . . . . . . 1 - 125
Figure 1.50 Profiles of radial and tangential normal stresses 600 seconds consolidation 1 - 125
Figure 1.51 Pore-pressure profile 600 seconds consolidation
(Mohr-Coulomb material) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 126
Figure 1.52 Profiles of radial and tangential normal stresses 600 seconds consolidation
(Mohr-Coulomb material) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 127
Figure 1.53 Vertical stress versus elevation dry layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 136
Figure 1.54 Vertical stress versus elevation saturated layer . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 137
Figure 1.55 Pore pressure contours at steady state saturated layer . . . . . . . . . . . . . . . . . . . 1 - 138
Figure 1.56 Heave of the layer at steady state saturated layer . . . . . . . . . . . . . . . . . . . . . . . 1 - 139
Figure 1.57 Heave of the layer at steady state seepage force from over-pressured aquifer 1 - 140

FLAC 3D Version 4.0


Contents - 6 Fluid-Mechanical Interaction

Figure 1.58 Settlement of the layer at steady state seepage force from under-pressured
aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 142
Figure 1.59 Heave of a soil layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 149
Figure 1.60 Decomposition of stresses acting on a porous, elastic rock . . . . . . . . . . . . . . . . 1 - 153
Figure 1.61 Shallow semi-confined aquifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 160
Figure 1.62 Pore pressure profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 162

FLAC 3D Version 4.0


Fluid-Mechanical Interaction Contents - 7

EXAMPLES
Example 1.1 Adding load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 49
Example 1.2 A coupled fluid flow-mechanical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 52
Example 1.3 Maintaining equilibrium under time-dependent swelling conditions . . . . . . 1 - 55
Example 1.4 Unsteady groundwater flow in a confined layer explicit solution . . . . . . . . 1 - 61
Example 1.5 Unsteady groundwater flow in a confined layer implicit solution . . . . . . . 1 - 64
Example 1.6 1D filling of a porous region no gravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 68
Example 1.7 1D filling of a porous region with gravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 69
Example 1.8 Steady-state flow through a vertical embankment Case 1 . . . . . . . . . . . . . . 1 - 75
Example 1.9 Steady-state flow through a vertical embankment Case 2 . . . . . . . . . . . . . . 1 - 77
Example 1.10 Steady-state flow through a vertical embankment Case 1 with ATTACHed
grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 80
Example 1.11 Steady-state flow through a vertical embankment Case 1 with INTERFACE 1 - 82
Example 1.12 Spreading of a groundwater mound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 85
Example 1.13 Spreading of a groundwater mound saturation and head plots . . . . . . . . . . 1 - 86
Example 1.14 One-dimensional consolidation (coupled) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 96
Example 1.15 One-dimensional consolidation (analytical solution) . . . . . . . . . . . . . . . . . . . . 1 - 100
Example 1.16 One-dimensional consolidation (uncoupled) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 103
Example 1.17 Transient fluid flow to a well in a shallow aquifer . . . . . . . . . . . . . . . . . . . . . . 1 - 113
Example 1.18 Exponential integral function EXP-INT.FIS . . . . . . . . . . . . . . . . . . . . . . . . 1 - 116
Example 1.19 Pressuremeter test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 127
Example 1.20 Generate tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 132
Example 1.21 Solid weight, buoyancy and seepage forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 142
Example 1.22 Heave of a soil layer, without config fluid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 149
Example 1.23 Heave of a soil layer, with config fluid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 151
Example 1.24 Undrained oedometer test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 155
Example 1.25 Pore pressure generation in a confined sample . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 157
Example 1.26 Pore pressure generation in an infinite layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 159
Example 1.27 Shallow confined aquifer with leaky boundary . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 162

FLAC 3D Version 4.0


Contents - 8 Fluid-Mechanical Interaction

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1-1

1 FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID

1.1 Introduction

FLAC 3D models the flow of fluid through a permeable solid, such as soil. The flow modeling may
be done by itself, independent of the usual mechanical calculation of FLAC 3D, or it may be done
in parallel with the mechanical modeling, in order to capture the effects of fluid/solid interaction.
One type of fluid/solid interaction is consolidation, in which the slow dissipation of pore pressure
causes displacements to occur in the soil. This type of behavior involves two mechanical effects.
First, changes in pore pressure cause changes in effective stress, which affect the response of the
solid (for example, a reduction in effective stress may induce plastic yield). Second, the fluid in a
zone reacts to mechanical volume changes by a change in pore pressure.
The code handles both fully saturated flow and flow in which a phreatic surface develops. In this
case, pore pressures are zero above the phreatic surface and the air phase is considered as passive.
The logic is applicable to coarse materials when capillary effects can be neglected.
The following characteristics are provided with the fluid-flow capability:
1. Two fluid-transport laws corresponding to isotropic and anisotropic permeability are
available. The fluid-flow null model is also provided to specify impermeable materials
in the flow domain.
2. Different zones may have different fluid-flow models (isotropic, anisotropic or null) and
properties.
3. Fluid pressure, flux, and leaky and impermeable boundary conditions may be prescribed.
4. Fluid sources (wells) may be inserted into the material as either point sources or volume
sources. These sources correspond to either a prescribed inflow or outflow of fluid, and
vary with time.
5. Both explicit and implicit fluid-flow solution algorithms are available for fully saturated
simulations. An explicit method of solution is used for saturated/unsaturated flow.
6. Any of the mechanical and thermal models may be used with the fluid-flow models. In
coupled problems, the compressibility and thermal expansion of the saturated material
are allowed.
7. Coupling between fluid and mechanical calculations due to deformable grains is provided
through the Biot coefficient, .
8. Coupling to the thermal conduction calculation is provided through the linear thermal
expansion coefficient, t , and the undrained thermal coefficient, .

FLAC 3D Version 4.0


1-2 Fluid-Mechanical Interaction

9. The thermal-conduction fluid-flow logic is based on a linear theory that assumes constant
material properties and neglects convection. Fluid and solid temperatures are locally
equilibrated. Nonlinear behavior can be specified by access to pore pressures and material
properties via FISH. Thermal coupling to the conduction logic is addressed in Section 1.2.
10. An advection model to take the transport of heat by convection into account is also
provided. This includes temperature-dependent fluid density and thermal advection by
the fluid. See Section 1.2.3 in Thermal Analysis for a description of this thermal-fluid
coupling.
Dynamic pore-pressure generation and liquefaction due to cyclic loading can also be modeled with
FLAC 3D (Section 1.4.4 in Dynamic Analysis contains the documentation on this topic). FLAC 3D
does not represent capillary, electrical or chemical forces between particles of a partially saturated
material. However, it is possible to introduce such forces by writing a FISH function that supplies
the appropriate internal stresses, based on the local saturation, porosity and/or any other relevant
variable. Similarly, the effect of variable fluid stiffness due to dissolved air is not explicitly modeled,
but a FISH function may be used to vary the local fluid modulus as a function of pressure, time or
any other quantity.
This section is divided into eight major parts:
1. The mathematical model description and the corresponding numerical formulation for
fluid flow and coupled fluid flow-mechanical and fluid-flow thermal-conduction processes
are described in Sections 1.2 and 1.3.
2. The calculation modes and associated commands for analyses involving fluid flow are
described in Section 1.4.
3. Section 1.5 discusses the material properties required for a fluid-flow analysis, and in-
cludes the appropriate units for these properties.
4. Section 1.6 talks about initial conditions and provides a description of the different
boundary conditions and fluid sources and sinks that can be applied in a FLAC 3D model.
5. The recommended procedures for solving both flow-only and coupled-flow problems are
outlined in Section 1.7. This section also contains several examples that illustrate the
application of these procedures. We recommend that you work through these examples
before attempting your own fluid analysis.
6. Section 1.8 presents several verification problems that demonstrate the accuracy of the
fluid-flow logic in FLAC 3D.
7. Modeling techniques for specific fluid applications are described in Section 1.9. Sev-
eral topics are covered: modeling solid weight, buoyancy forces and seepage forces in
a coupled analysis (Section 1.9.1); relation between initialization of pore pressures and
deformation in a coupled analysis (Section 1.9.2); effect of the Biot coefficient (Sec-
tion 1.9.3); and modeling a semi-confined aquifer (Section 1.9.4).
8. Finally, a summary of all the commands related to fluid flow is given in Section 1.10.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1-3

The user is strongly encouraged to become familiar with the operation of FLAC 3D for simple
mechanical problems before attempting to solve problems in which flow and mechanical effects
are both important. Coupled flow and mechanical behavior are often very complicated and require
a good deal of insight to interpret correctly. Before starting a big project, it is very important to
spend time experimenting with a small-grid version of the proposed simulation, to try out various
boundary conditions and modeling strategies. The time wasted on these experiments will be
amply repaid in terms of an overall reduction in staff time, and execution time.

FLAC 3D Version 4.0


1-4 Fluid-Mechanical Interaction

1.2 FLAC 3D Fluid-Thermal-Mechanical Formulation Mathematical Description

In this section, we consider fluid-mechanical coupling to the heat-conduction logic (see Section 1.2.3
in Thermal Analysis for fluid-thermal coupling via the convection logic). Most engineering anal-
yses involving simultaneous deformation and fluid/thermal diffusion mechanisms are carried out
using uncoupling techniques (e.g., Section 1.7). In addition to those calculation modes, FLAC 3D
provides for the option of coupled fluid-thermal-mechanical analysis (i.e., in which the mechanical
response of a porous material can be studied under transient fluid flow and/or thermal condi-
tions). Although this section is mainly concerned with the modeling of deformation-fluid diffusion
problems, the general equations governing the fluid-thermal-mechanical response in FLAC 3D are
presented here for completeness.
The formulation of coupled deformation-diffusion processes in FLAC 3D is done within the frame-
work of the quasi-static Biot theory, and can be applied to problems involving single-phase Darcy
flow in a porous medium. Various types of fluids, including water and oil, can be represented with
this model.
The variables involved in the description of fluid flow through porous media are pore pressure,
saturation and the three components of the specific discharge vector. These variables are related
through the fluid mass-balance equation, Darcys law for fluid transport, a constitutive equation
specifying the fluid response to changes in pore pressure, saturation, volumetric strains and tem-
perature, and an equation of state relating pore pressure to saturation in the unsaturated range. Pore
pressure and temperature influences are involved in the mechanical constitutive laws to complete
the thermal fluid-flow mechanical coupling.
Assuming the volumetric strain and temperature rates are known, substitution of the mass balance
equation into the fluid constitutive relation, using Darcys law, yields a differential equation in terms
of pore pressure and saturation that may be solved for particular geometries, properties, boundary
and initial conditions.

1.2.1 Conventions and Definitions

As a notation convention, the symbol ai denotes component i of the vector {a} in a Cartesian
system of reference axes; Aij is component (i, j ) of tensor [A]. Also, f,i is used to represent the
partial derivative of f with respect to xi . (The symbol f denotes either a scalar variable or a vector
component.)
The Einstein summation convention applies only on indices i, j and k, which take the values 1, 2,
3 for components that involve spatial dimensions. The indices may take any values when used in
matrix equations.
SI units are used to illustrate parameters and dimensions of variables. See Section 2.9 in the Users
Guide for conversions to other systems of units.
The following reference quantities are useful in the characterization of transient fluid flow.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1-5

Characteristic length:

volume of f low domain


Lc = (1.1)
surf ace area of f low domain

Fluid diffusivity:

k
c= (1.2)
1/M + 2 /1

where k is mobility coefficient (FLAC 3D permeability), M is the Biot modulus, is the Biot
coefficient, 1 = K + 4/3G, K is the drained bulk modulus, and G is the shear modulus of the
porous material.
The Biot coefficient takes into account the grain compressibility for the porous material. If is
equal to unity, the grains are considered to be incompressible and the Biot modulus M is equal to
Kf /n, where Kf is fluid bulk modulus and n is porosity. The fluid diffusivity becomes

k
c= (1.3)
n/Kf + 1/1

Note that for flow-only calculations (rigid material), the fluid diffusivity is

c = kM (1.4)

See Section 1.5 for additional discussion on the relations between these properties.
Characteristic time:

L2c
tc = (1.5)
c

FLAC 3D Version 4.0


1-6 Fluid-Mechanical Interaction

1.2.2 Governing Differential Equations

The differential equations describing the fluid-thermal-mechanical response of a porous material,


for heat transported by conduction in the material domain, are the following:
Transport Law
The fluid transport is described by Darcys law:

 
qi = kil k(s) p f xj gj ,l (1.6)

where qi is the specific discharge vector, p is fluid pore pressure, k is the tensor of absolute mobility
coefficients (FLAC 3D permeability tensor) of the medium, k(s) is the relative mobility coefficient
which is a function of fluid saturation s, f is the fluid density, and gi , i = 1,3 are the three
components of the gravity vector.
For future reference, the quantity = (p f xj gj )/(f g) (where g is the modulus of the gravity
vector) is defined as the head, and f g as the pressure head.
Heat flow by conduction is described by Fouriers law of heat transport:

qiT = kijT T,j (1.7)

where qiT is the heat flux vector, T is temperature and k T is the thermal conductivity tensor. Note
that temperature, flux, convective and adiabatic boundary conditions are considered in the FLAC 3D
formulation.
Balance Laws
For small deformations, the fluid mass balance may be expressed as


qi,i + qv = (1.8)
t

where qv is the volumetric fluid source intensity in [1/sec], and is the variation of fluid content or
variation of fluid volume per unit volume of porous material due to diffusive fluid mass transport,
as introduced by Biot (1956).
The thermal energy balance is expressed as

T
qi,i
T
+ qvT = (1.9)
t

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1-7

where T is the heat stored per unit volume of porous material, and qvT is the volumetric heat source
intensity.
The balance of momentum has the form

dvi
ij,j + gi = (1.10)
dt

where = d + nsw is the bulk density, and d and w are the densities of the dry matrix and
the fluid, respectively, n is porosity, and s is saturation.
Constitutive Laws
Changes in the variation of fluid content are related to changes in pore pressure, p, saturation, s,
mechanical volumetric strains, , and temperature, T . The response equation for the pore fluid is
formulated as

1 p n s 1 T
+ = + (1.11)
M t s t s t t t

where M is Biot modulus [N/m2 ], n is the porosity, is Biot coefficient and is the undrained
thermal coefficient [1/ C], which takes into account the fluid and grain thermal expansions.
In the FLAC 3D formulation, the influence of capillary pressure is neglected and the fluid pressure
is taken as zero when saturation is less than one. The relative fluid mobility is related to saturation
by a cubic law which is zero for zero saturation, and one for full saturation:

k(s) = s 2 (3 2s) (1.12)

Fluid flow in the unsaturated zone is thus solely driven by gravity. While the influence of gravity is
not required to saturate an initially dry medium, gravity drives the process of desaturation. In this
case, some level of residual saturation is present because the apparent permeability, k k(s), goes to
zero as the saturation approaches zero.
The thermal constitutive law is expressed as

1 T T
= (1.13)
M T t t

where M T = 1/(Cv ), is the mass density of the medium, and Cv is the specific heat at constant
volume.
Note that for nearly all solids and liquids, the specific heats at constant pressure and constant volume
are essentially equal. Consequently, Cv and C can be used interchangeably.

FLAC 3D Version 4.0


1-8 Fluid-Mechanical Interaction

The constitutive response for the porous solid has the form (see notation conventions of Section 1
in Theory and Background)

p
ij + ij = H (ij , ij ijT , ) (1.14)
t

where the quantity on the left-hand side of the equation is Biot effective stress, ij is the co-
rotational stress rate, H is the functional form of the constitutive law, is a history parameter, ij
is the Kronecker delta, and ij is the strain rate.
The thermal strain rates are expressed as (see Section 1.2.2.4 in Thermal Analysis)

T
ijT = t ij (1.15)
t

where t is the coefficient of linear thermal expansion.


In particular, the elastic relations which relate effective stresses to strains are (small strain)

2
ij ijo + (P P o )ij = 2G( ij ijT ) + (K G)( kk kk
T
) (1.16)
3

where the superscript o refers to the initial state, ij is the strain, and K and G are the bulk and
shear moduli of the drained elastic solid.
Biot and Terzaghi Effective Stress
The expression for Biot effective stress, ij + pij , may be derived from compliance principles
(see Section 1.9.3); as such, it characterizes the deformability of the solid. On the other hand,
Terzaghi effective stress, ij + pij , measures the stress level sustained by the solid matrix; it is
still being used to detect failure in a plastic material (or potential failure in an elastic solid).
Compatibility Equations
The relation between strain rate and velocity gradient is

1 
ij = vi,j + vj,i (1.17)
2

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1-9

1.2.3 Fluid Flow Boundary and Initial Conditions in FLAC 3D

Initial conditions correspond to known pressure and saturation. Those two values must be consistent
with the FLAC 3D formulation: pore pressure must be zero if saturation is less than one, and vice-
versa. (By default, in FLAC 3D, initial pore pressure is zero and saturation is one.)
Four types of boundary conditions are considered, corresponding to: (1) given pore pressure; (2)
given component of the specific discharge normal to the boundary; (3) leaky boundaries; and (4)
impermeable boundaries.
In FLAC 3D, boundaries are impermeable by default.
A leaky boundary condition has the form

qn = h(p pe ) (1.18)

where qn is the component of the specific discharge normal to the boundary in the direction of the
exterior normal, h is the leakage coefficient in [m3 /N-sec], p is the pore pressure at the boundary
surface, and pe is the pore pressure in the region to or from which leakage is assumed to occur.
Additional combined boundary conditions, such as uniform pressure for given total influx over a
boundary segment, can be imposed using FISH.
Note that saturation cannot be imposed as a boundary condition (this is different from FLAC). Also,
to keep the model fully saturated, the fluid tension may be set to a large negative number.

FLAC 3D Version 4.0


1 - 10 Fluid-Mechanical Interaction

1.3 Numerical Formulation

1.3.1 Introduction

Substitution of the fluid mass balance Eq. (1.8) in the constitutive equation for the pore fluid
Eq. (1.11) yields the expression for the fluid continuity equation:

1 p n s 1 T
+ = (qi,i + qv ) + (1.19)
M t s t s t t

In the FLAC 3D numerical approach, the flow domain is discretized into brick-shaped zones defined
by eight nodes. (The same discretization is used for mechanical and thermal calculations, when
applicable.) Both pore pressure and saturation are assumed to be nodal variables. Internally, each
zone is subdivided into tetrahedra (2 overlays are used by default), in which the pore pressure and
the saturation are assumed to vary linearly.
The numerical scheme relies on a finite difference nodal formulation of the fluid continuity equation.
The formulation can be paralleled to the mechanical constant stress formulation (presented in
Section 1.1.2.2 in Theory and Background) that leads to the nodal form of Newtons law. It is
obtained by substituting the pore pressure, specific discharge vector and pore-pressure gradient for
velocity vector, stress tensor and strain-rate tensors, respectively. The resulting system of ordinary
differential equations is solved using an explicit mode of discretization in time (default mode). An
implicit fluid flow calculation scheme is also available. However, it is only applicable to saturated
flow simulations (flow in which the unit saturation is not allowed to change).
The principal results are summarized below. The formulation, as it applies to saturated flow, is
described first in Section 1.3.2. This formulation is then extended to apply to saturated/unsaturated
flow simulations in Section 1.3.3. For now we note that the saturated/unsaturated algorithm is based
on variable substitution and upstream weighting techniques and conserves fluid flow.
Starting from a state of mechanical equilibrium, a coupled hydromechanical static simulation in
FLAC 3D involves a series of steps. Each step includes one or more flow steps (flow loop) followed
by enough mechanical steps (mechanical loop) to maintain quasi-static equilibrium.
The increment of pore pressure due to fluid flow is evaluated in the flow loop; the contribution from
volumetric strain is evaluated in the mechanical loop as a zone value which is then distributed to
the nodes.
For the effective stress calculation, the total stress increment due to pore-pressure change arising
from mechanical volume strain is evaluated in the mechanical loop, and that arising from fluid flow
is evaluated in the flow loop.
Note that in FLAC 3D, all material models are expressed in terms of Terzaghi effective stresses
(i.e., effective stresses are used to detect failure in plastic materials). In this context, the pore-
pressure field may originate from different sources: a fluid flow analysis; a coupled fluid/mechanical
simulation; or an initialization with the INI pp or WATER table command.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 11

1.3.2 Saturated Fluid Flow

In this section, as a first step towards the derivation of the more general FLAC 3D fluid flow algorithm,
we consider flow in a medium which remains fully saturated at all times.
1.3.2.1 Finite-Difference Approximation to Space Derivatives

By convention, the tetrahedron nodes are referred to locally by a number from 1 to 4, face n is
opposite node n, and the superscript (f ) relates to the value of the associated variable on face f .
A linear pore-pressure variation and constant fluid density are assumed within a tetrahedron. The
pressure head gradient, expressed in terms of nodal values of the pore pressure by application of
the Gauss divergence theorem, may be written as

1  l
4
(l)
(p f xi gi ),j = (p f xil gi ) nj S (l) (1.20)
3V
l=1

where n(l) is the exterior unit vector normal to face l, S is the face surface area, and V is the
tetrahedron volume.
For numerical accuracy, the quantity xi xi1 , where xi1 corresponds to the coordinates of one of the
tetrahedrons corners, may be substituted for xi in the expression of the pressure head in Eq. (1.20)
without affecting the value of the pressure head gradient. Accordingly, Eq. (1.20) takes the form

1  l (l) (l)
4
(p f xi gi ),j = p nj S (1.21)
3V
l=1

where the nodal quantity p l is defined as

p l = pl f (xil xi1 )gi (1.22)

FLAC 3D Version 4.0


1 - 12 Fluid-Mechanical Interaction

1.3.2.2 Nodal Formulation of the Mass Balance Equation

For fully saturated flow (s is constant and equal to one), the fluid continuity Eq. (1.19) may be
expressed as

qi,i + b = 0 (1.23)

where

S p
b = qv (1.24)
M t

is the equivalent of the instantaneous body forces, bi , used in the mechanical node formulation,
and

T
qv = qv + (1.25)
t t

First consider a single tetrahedron. Using this analogy, the nodal discharge, Qne [m3 /s], n = 1,4,
equivalent to the tetrahedron-specific discharge and the volumetric source intensity, b , may be
expressed as (see Section 1.1.2.2 in Theory and Background)

qv V dp n
Qne = Qnt + mn (1.26)
4 dt

where

(n)
qi ni S (n)
Qnt = (1.27)
3

and

V
mn = (1.28)
4M n

In principle, the nodal form of the mass balance equation is established by requiring that, at each
global node, the sum of equivalent nodal discharges (Qne ) from tetrahedra meeting at the node
(averaged over two overlays) and nodal contribution (Qnw ) of applied boundary fluxes and sources
be zero.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 13

The components of the tetrahedron-specific discharge vector in Eq. (1.27) are related to the pressure-
head gradient by means of the transport law (see Eq. (1.6)). In turn, the components of the pressure-
head gradient can be expressed in terms of the tetrahedron nodal pore pressures, using Eq. (1.21).
In order to save computer time, local matrices are assembled. A zone formulation is adopted
whereby the sum Qnz of contributions Eq. (1.27) from all tetrahedra belonging to the zone and
meeting at a node, n, is formed and averaged over two overlays. Local zone matrices [M] that
relate the eight nodal values {Qz } to the eight nodal pressure heads {p } are assembled. Because
these matrices are symmetrical, 36 components are computed; these are saved at the beginning of
the computation and updated every ten steps in large-strain mode. By definition of zone matrices,
we have

Qnz = Mnj pj (1.29)

where {p } is the local vector of nodal pressure heads for the zone.
In turn, global nodal values QnT are obtained by superposition of zone contributions. Taking some
liberty with the notation, we write for each global node n,

QnT = Cnj pj (1.30)

where [C] is the global matrix and {p } is, in this context, the global vector of nodal pressure heads.
Returning to our previous consideration, we write

 
Qne + Qnw = 0 (1.31)


where, for simplicity of notation, the sign is used to represent summation of the contributions at
global node n of all zones meeting at that node. (A zone contribution consists of contributions of
tetrahedra involved in the zone, averaged over two overlays.) Using Eq. (1.26) for Qne and Eq. (1.25)
for qv in Eq. (1.31), we obtain, after some manipulation,

dpn 1  n  n  
=  QT + Qapp + n
Qthm (1.32)
dt mn

where n
 n QT is a function of the nodal pore pressures defined in Eq. (1.30) together with Eq. (1.22),
Qapp is the known contribution of applied volume sources, boundary fluxes and point sources,
having the form

  V
n
Qnapp = qv + Qw (1.33)
4

FLAC 3D Version 4.0


1 - 14 Fluid-Mechanical Interaction


and Qnthm is the thermal-mechanical nodal discharge contribution defined as

 


d  V n  V n
Qnthm = T (1.34)
dt 4 4

Eq. (1.32)
 isn the nodal
 nform of the mass-balance equation at node n; the right-hand side term
QT + Qapp + Qthm is referred to as the out-of-balance discharge. This term is made up
n

of two contributions: the out-of-balance flow discharge, QnT + Qnapp ; and the out-of-balance
 n
thermal-mechanical discharge, Qthm . When the fluid is at rest (the fluid-flow calculation is
turned off), the out-of-balance flow discharge vanishes and pore-pressure changes are caused by
mechanical and/or thermal deformations only. For flow calculation only (no thermal-mechanical
coupling), the out-of-balance thermal-mechanical discharge is equal to zero.
In FLAC 3D, the Biot modulus is a nodal property, and we may write, using Eq. (1.28),

1 Mn
 n = n (1.35)
m V

where


V n
V =
n
(1.36)
4

After substitution of Eq. (1.34) in Eq. (1.32), we write, rearranging terms,

d  n  Mn   
p pvn = n QnT + Qnapp (1.37)
dt V

where




Mn  V n  V n
pvn = n T (1.38)
V 4 4

An expression such as Eq. (1.37) holds at each global node involved in the discretization. Together,
these expressions form a system of ordinary differential equations that is solved in FLAC 3D, for
given dpvn /dt, using either explicit or implicit (saturated flow only) finite-difference schemes. The
domain of application of each scheme is discussed below.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 15

1.3.2.3 Explicit Finite-Difference Formulation

In the explicit formulation, the value of the quantity p pv at a node is assumed to vary linearly over
a time interval t. In principle, the derivative in the left-hand side of Eq. (1.37) is expressed using
forward finite differences, and the out-of-balance flow-discharge is evaluated at time t. Starting
with an initial pore-pressure field, nodal pore pressures at incremental time values are updated,
provided the pore pressure is not fixed, using the expression

n
p<t+ t> = p<t>
n
+ pv<t>
n
+ p<t>
n
(1.39)

where

  
n
p<t> = n QnT <t> + Qnapp<t> (1.40)

Mn
= n t
n
(1.41)
V

and




Mn  V n  V n
n
pv<t> = n T (1.42)
V 4 4 <t>

Numerical stability of the explicit scheme can only be achieved if the timestep remains below a
limiting value.
Stability Criterion
To derive the stability criterion for the flow calculation, we consider the situation in which a node,
n, in an assembly of zones is given a pore-pressure perturbation, p0 , from a zero initial state. Using
Eq. (1.30), we obtain

QnT = Cnn p0 (1.43)

If node n belongs to a leaky boundary, we have


Qnapp = Dnn p0 (1.44)

where Dnn is used to represent the pressure coefficient in the global leakage term at node n.

FLAC 3D Version 4.0


1 - 16 Fluid-Mechanical Interaction

After one fluid-flow timestep, the new pore pressure at node n is (see Eqs. (1.39) through (1.50))


Mn
n
p< t> = p0 1 n (Cnn + Dnn ) t (1.45)
V

To prevent alternating signs of pore pressures as the computation is repeated for successive t, the
coefficient of p0 in the preceding relation must be positive. Such a requirement implies that

Vn 1
t < n (1.46)
M Cnn + Dnn

The value of the poro-mechanical timestep used in FLAC 3D is the minimum nodal value of the
right-hand side in Eq. (1.46), multiplied by the safety factor of 0.8.
To assess the influence of the parameters involved, it is useful to keep in mind the following
representation of the critical timestep. If Lc is the smallest tetrahedron characteristic length, we
may write an expression of the form


1 c hM 1
tcr = + (1.47)
a L2c Lc

where tcr is the critical timestep, c is the fluid diffusivity, and a is a constant, larger than unity,
that depends on the medium geometrical discretization (e.g., a = 6 for a regular discretization in
cubes; see Karlekar and Desmond (1982) for a thermal analogy).
The critical timestep in Eq. (1.47) corresponds to a measure of the characteristic time needed for
the diffusion front to propagate throughout the tetrahedron. To estimate the time needed for the
front to propagate throughout a particular domain, a similar expression can be used, provided Lc is
interpreted as the characteristic length of the domain under consideration. Consider the case where
no leakage occurs and the properties are homogeneous. By taking the ratio of characteristic times
for the domain and the tetrahedron, we see that the number of steps needed to model the propagation
of the diffusion process throughout that domain is proportional to the ratio of square characteristic
lengths for the domain and the tetrahedron. That number may be so large that the use of the explicit
method alone could become prohibitive. However, in many groundwater problems, the advantage
of this first-order method is that the calculated timestep is usually small enough to follow nodal
pore-pressure fluctuations accurately.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 17

1.3.2.4 Implicit Finite-Difference Formulation

The requirement that t should be restricted in size to ensure stability sometimes results in an
extremely small timestep (of the order of a fraction of a second) especially when transient flow in
layers of contrasting properties is involved. The implicit formulation eliminates this restriction, but
it involves solving simultaneous equations at each timestep and, besides, it only applies to saturated
fluid flow simulations.
The implicit formulation in FLAC 3D uses the Crank-Nicolson method, in which the pore pressure
p pv at a node is assumed to vary quadratically over the time interval t. In this method,
the derivative d(p pv )/dt in Eq. (1.37) is expressed using a central difference formulation
corresponding to a half timestep, while the out-of-balance flow discharge is evaluated by taking
average values at t and t + t. In this formulation we have

n
p<t+ t> = p<t>
n
+ pv<t>
n
+ p<t>
n
(1.48)

and


1 n 
n
p<t> = n
QT <t+ t> + QnT <t> + Qnapp (1.49)
2

where

M n t
n = (1.50)
Vn
n
pv<t> is given by Eq. (1.42), and

 1  n  
Qnapp = Qapp<t+ t> + Qnapp<t> (1.51)
2

From Eq. (1.30), we may write

j
QnT <t> = Cnj p<t> (1.52)

and

j
QnT <t+ t> = Cnj p<t+ t> (1.53)

FLAC 3D Version 4.0


1 - 18 Fluid-Mechanical Interaction

For no variation of the gravity term during the time interval t, Eq. (1.48) can be written using
Eq. (1.22).

n n
p<t+ t> = p<t> + pv<t>
n
+ p<t>
n
(1.54)

Using this last expression and Eq. (1.52), Eq. (1.53) becomes

j j
QnT <t+ t> = QnT <t> + Cnj p<t> + Cnj pv<t> (1.55)

After substitution of Eq. (1.55) into Eq. (1.49), we obtain, using Eq. (1.52),

 
j 1 j 1 j
n
p<t> = n
Cnj (p<t> + pv<t> ) + Cnj p<t> + Qnapp (1.56)
2 2

Finally, regrouping terms:

  
n j j 1 j
nj Cnj p<t> = Cnj (p<t> + pv<t> ) +
n n
Qapp (1.57)
2 2

For simplicity of notation, we define the known matrix [A] and vector [b<t> ] as

n
Anj = nj Cnj (1.58)
2

and

 
j 1 j
bn<t> = n
Cnj (p< t > + pv<t> ) + Qnapp (1.59)
2

With this convention, we may write Eq. (1.57) in the form

j
Anj p<t> = bn<t> (1.60)

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 19

One equation holds for each of the nodes involved in the grid, and the resulting system is solved
in FLAC 3D using Jacobis iterative method. In this approach, pore-pressure increments at iteration
r + 1 and node n are calculated using the recurrence relation

1  j <r>

n<r+1>
p<t> = n<r>
p<t> + Anj p<t> + bn<t> (1.61)
Ann

where Einsteins summation convention applies to index j only. Using the Eq. (1.58) of [A],
Eq. (1.61) takes the form


1 n j <r>
n<r+1>
p<t> = n<r>
p<t> + n
Cnj p<t> p<t>
n<r>
+ bn<t> (1.62)
1 2 Cnn
2

The initial approximation is chosen such that

n<0>
p<t> =0 (1.63)

(Note that, in FLAC 3D, pressure-dependent boundary conditions (contained in bn ) are updated in
the implicit iterative procedure.)
Convergence Criterion
In FLAC 3D, a minimum of 3 and a maximum of 500 iterations are considered, and the criterion for
detection of convergence has the form

    
max  n<r+1>
p<t> n<r> 
p<t> < 10 2
max  n<r> 
p<t> (1.64)
n n

The magnitude of the timestep must be selected in relation to both convergence and accuracy of
the implicit scheme. Although the Crank-Nicolson method is stable for all positive values of t
(for no leakage), the convergence of Jacobis method is not unconditionally guaranteed unless the
matrix [A] is strictly diagonally dominant:

    
n
   
 Akj  <  Akk  (1.65)
   
j =1
j =k

for 1 k n (see Dahlquist and Bjorck 1974). According to the definitions of Anj (Eq. (1.58))
and n (Eq. (1.50)), this sufficient condition is always fulfilled for sufficiently small values of t.
If convergence of Jacobis method is not achieved, an error message is issued. It is then necessary

FLAC 3D Version 4.0


1 - 20 Fluid-Mechanical Interaction

to either reduce the magnitude of the implicit timestep, or use the explicit method. (The explicit
timestep may be used as a lower bound.)
Also, although the implicit method is second-order accurate, some insight may be needed in order
to select the appropriate timestep. Indeed, its value must remain small compared to the wavelength
of any nodal pore-pressure fluctuation. Typically, the explicit method is used earlier in the run or
in its perturbed stages, while the implicit method is preferred for the remainder of the simulation.
(Alternatively, the implicit method could be used with the explicit timestep value for extra accuracy.)
It must be remembered that the implicit approach should not be selected for simulations in which
changes of saturation are to be expected. In addition, computation time and computer memory are
two factors that must be taken into consideration when selecting the implicit approach in FLAC 3D.
In the implicit method, a set of equations requiring a minimum of three iterations must be solved at
each timestep. The amount of calculation required for one iterative step is approximately equal to
that needed for one timestep in the explicit scheme. Also, intermediate values must be stored in the
iterative procedure, requiring extra memory to be allocated in comparison with the explicit scheme.
Those inconveniences, however, can be more than offset by the much larger timestep generally
permitted by the implicit method, or by the gain in accuracy.

1.3.3 Saturated/Unsaturated Flow

For saturated fluid flow, the nodal volumetric flow rates in a zone {Qz } are related to the nodal pore
pressures {p} by Eq. (1.29), which may be expressed in matrix notation as

{Qz } = [M]{p f xi gi } (1.66)

where the matrix [M] is a known function of the zone geometry and the saturated value of the
mobility coefficient. This relation was derived by application of the Gauss divergence theorem
for pore-pressure gradient in the tetrahedron, taking into account energy considerations, and using
superposition. It is extended to the case of unsaturated flow in coarse soils (constant air pressure,
no capillary pressure) by application of the following modifications:
(a) The gravity term f xi gi is multiplied by the average zone saturation, s, to account for
partial zone filling.

(b) The nodal flow rates are multiplied by the relative mobility, k (see Eq. (1.6)), which is
a function of the average saturation at the inflow nodes for the zone, sin . This upstream
weighting technique is applied to prevent unaccounted flow in the filling process of an
initially dry medium (numerical dispersion caused by the nodal definition of saturation).
The relative permeability function has the same form as Eq. (1.12):

k(sin ) = sin
2
(3 2sin ) (1.67)

(c) Nodal inflow rates are scaled according to local saturation.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 21

For saturated/unsaturated flow, the explicit finite difference nodal formulation of the fluid continuity
Eq. (1.19) takes the form (see Eqs. (1.39) to (1.42))



p s 1    VT  VT
+ = QT + Qapp t + s T (1.68)
nM s snV 4 4

where the subscript < t > and superscript n have been omitted for simplicity of notation, and VT
stands for tetrahedron volume. At a saturated node, s = 1 and Eq. (1.68) becomes



M    VT  VT
p = QT + Qapp t + T (1.69)
V 4 4

At a partially saturated node, p = 0 and Eq. (1.68) may be expressed as



1    VT  VT
s = QT + Qapp t + s T (1.70)
nV 4 4

The approach leads to a technique of variable substitution whereby the saturation variable is updated
using Eq. (1.70) at an unsaturated node (where the pore pressure is equal to zero), and Eq. (1.69)
is used to increment the pore-pressure variable at a saturated node (where saturation is constant).
Those relations are applied in such a way that the fluid volume balance is preserved (i.e., Eq. (1.68)
is satisfied).
The explicit fluid timestep in FLAC 3D is selected on the basis of a stability criterion derived using the
saturated fluid diffusivity c = kM (k is the largest principal value of saturated mobility coefficient
tensor, M is Biot modulus). (See Eqs. (1.46) and (1.47).) The time scale associated with fluid
storage is usually much smaller than the characteristic time scale for phreatic storage. While an
estimate of the first one (two-dimensional flow) can be calculated using t L2 /c, where L is to
be interpreted as average flow path length, a rough estimate of the second may be obtained from
the relation t L2 /(k p/n), where L is the average height of the medium associated with phreatic
storage, and p is the related mean pore-pressure change.

FLAC 3D Version 4.0


1 - 22 Fluid-Mechanical Interaction

1.3.4 Mechanical Timestep and Numerical Stability

The presence of the fluid will increase the apparent mechanical bulk modulus of the medium which,
in turn, affects the magnitude of the nodal mass in the density scaling scheme used for numerical
stability in FLAC 3D. An upper bound for this apparent modulus may be found by considering
undrained, saturated isothermal poro-mechanical conditions for which s T
t = 0, t = 0 and t = 0.
The incremental expression of the fluid constitutive law Eq. (1.11) then takes the form

p = M (1.71)

Adopting the incremental form of the elastic law Eq. (1.16) to describe the volumetric part of the
stress-strain constitutive relation in a time interval, we can write

1
ii + p = K (1.72)
3

Substitution of Eq. (1.71) in Eq. (1.72) gives

1
ii = (K + 2 M) (1.73)
3

This apparent tangent bulk modulus, K + 2 M, is used in place of K when calculating nodal inertial
mass (see Eq. (1.64) in Theory and Background).
Also note that in FLAC 3D, the dry density, d , of the medium is considered in the input. The
saturated density, = d + nsf , is calculated internally using the input value for fluid density,
f , porosity, n, and saturation, s. Body forces are then adjusted accordingly in Newtons equations
of motion.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 23

1.3.5 Total Stress Correction

In the FLAC 3D formulation, nodal pore pressures are calculated first. The zone pore pressures are
then derived by volume averaging of the tetrahedra values (obtained as arithmetic averages of nodal
values).
The total stresses are then adjusted, consistent with the definition of Biot effective stress, by adding
an increment ij to account for the contribution from pore pressure changes (see Eq. (1.14)). The
stress increment ij is expressed as

f
ij = ij + ijth (1.74)

where

f
ij = p<t>
n
ij (1.75)

is the contribution from flow, and

ijth = M( T )<t> ij (1.76)

is the contribution from thermal-mechanical coupling. Also, in those expressions, the overline
symbol stands for zone average in the sense mentioned above.

FLAC 3D Version 4.0


1 - 24 Fluid-Mechanical Interaction

1.4 Calculation Modes for Fluid-Mechanical Interaction

The calculation mode and commands required for a pore-pressure analysis depend on whether the
grid has been configured for fluid flow (i.e., whether the CONFIG uid command has been specified).
Sections 1.4.1 and 1.4.2 reflect the two possibilities. For convenience, all commands described
below are summarized in Section 1.10, at the end of this section.

1.4.1 Grid Not Configured for Fluid Flow

If the command CONFIG uid has not been given, then a fluid-flow analysis cannot be performed,
but it is still possible to assign pore pressure at gridpoints. In this calculation mode, pore pressures
do not change, but failure, which is controlled by the effective-stress state, may be induced when
plastic constitutive models are used.
A pore-pressure distribution can be specified at gridpoints, with the INITIAL pp command with a
gradient, or with the WATER table command.
If the WATER table command is used, a hydrostatic pore-pressure distribution is calculated auto-
matically by the code, below the given water table level. In this case, the fluid density (WATER
density) and gravity (SET gravity) must also be specified. The fluid density value and water table
location can be printed with the LIST water command, and the water table can be plotted with the
PLOT water command, if the water table is defined with the face keyword.
In both cases, zone pore pressures are calculated by averaging from the gridpoint values, and used
to derive effective stresses for use in the constitutive models. In this calculation mode, the fluid
presence is not automatically accounted for in the calculation of body forces: wet and dry medium
densities must be assigned by the user, below and above the water level, accordingly. The commands
LIST gp pp and LIST zone pp print gridpoint and zone pore pressures, respectively. PLOT contour
gpp plots contours of gridpoint pore pressures.
A simple example application of this calculation mode is given in Section 3.6.3 in the Users Guide.

1.4.2 Grid Configured for Fluid Flow

If the command CONFIG uid is given, a transient fluid-flow analysis can be performed, and change in
pore pressures, as well as change in the phreatic surface, can occur. Pore pressures are calculated at
gridpoints, and zone values are derived using averaging. Both effective-stress (static pore-pressure
distribution) and undrained calculations can be carried out in CONFIG uid mode. In addition, a
fully coupled analysis can be performed, in which changes in pore pressure generate deformation,
and volumetric strain causes the pore pressure to evolve.
If the grid is configured for fluid flow, dry densities must be assigned by the user (both below and
above the water level), because FLAC 3D takes the fluid influence into account in the calculation of
body forces.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 25

A fluid-flow model must be assigned to zones when running in CONFIG uid mode. Isotropic flow is
prescribed with the MODEL uid isotropic command; anisotropic flow with the command MODEL
uid anisotropic. An impermeable material is assigned to zones with the MODEL uid null
command. Note that zones that are made null mechanically are not automatically made null for
fluid flow.
Fluid properties are assigned to either zones or gridpoints. Zone fluid properties include isotropic
permeability, porosity, Biot coefficient, undrained thermal coefficient and fluid density. Zone fluid
properties are assigned with the PROPERTY command, with the exception of fluid density, which
is assigned with the INITIAL command. (Note that fluid density can also be specified globally with
the WATER command.)
For isotropic flow, permeability is specified using the perm property keyword. For anisotropic flow,
the three principal values of permeability are specified using the property keywords k1, k2 and k3,
and the orientation is defined using the keywords fdip, fdd and frot. The principal directions of
permeability correspond to k1, k2, k3, and form a right-handed system. The properties fdip and fdd
are the dip angle and dip direction angle of the plane in which k1 and k2 are defined. The dip angle
is measured from the global xy-plane, positive down (in negative z-direction). The dip direction
angle is the angle between the positive y-axis and the projection of the dip-direction vector on
the xy-plane (positive clockwise from y-axis). The property frot is the rotation angle between the
k1-axis and the dip vector in the k1-k2-plane (positive clockwise from dip-direction vector). See
Figure 1.1.

FLAC 3D Version 4.0


1 - 26 Fluid-Mechanical Interaction

Figure 1.1 Definitions for principal directions of permeability tensor

Biot coefficient is assigned using the biot c keyword; porosity is assigned using the poros keyword.
If not specified, Biot coefficient = 1 and porosity = 0.5, by default.
Gridpoint fluid properties are assigned with the INITIAL command. These properties include fluid
bulk modulus, Biot modulus, fluid tension limit and saturation. Each of the gridpoint properties
can also be given a spatial variation.
Table 1.1 summarizes the ways the various properties can be specified. The fluid properties are
described further in Section 1.5.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 27

Table 1.1 Property specification methods


property keyword specified command
Permeability (isotropic) perm in zones PROPERTY
Perm., princ. val. (aniso) k1 in zones PROPERTY
Perm., princ. val. (aniso) k2 in zones PROPERTY
Perm., princ. val. (aniso) k3 in zones PROPERTY
Perm., princ. dir. (aniso) fdip in zones PROPERTY
Perm., princ. dir. (aniso) fdd in zones PROPERTY
Perm., princ. dir. (aniso) frot in zones PROPERTY
Porosity poros in zones PROPERTY
Biot coefficient biot c in zones PROPERTY
Undrained thermal coeff. u thc in zones PROPERTY
Fluid modulus fmod at gridpoints INITIAL
Biot modulus biot mod at gridpoints INITIAL
Saturation sat at gridpoints INITIAL
Fluid tension limit ftens at gridpoints INITIAL
Fluid density fdens at zones INITIAL
dens globally WATER

It is important to note that fluid compressibility is defined in one of two ways in the CONFIG uid
mode: 1) Biot coefficient and Biot modulus are specified; or 2) fluid bulk modulus and porosity are
specified. The first case accounts for the compressibility of the solid grains (Biot coefficient is set
to 1 for incompressible grains). In the second case, solid grains are assumed to be incompressible
(see Section 1.5.3.1).
The zone properties can be printed with the LIST zone property command, and the gridpoint prop-
erties can be printed with the LIST gp command. Fluid density, along with the location of the water
table, if specified, can be printed with the LIST water command. The fluid-flow properties can be
plotted as a contour plot with the PLOT bcontour property command, or as a block plot with the
PLOT block property command. For anisotropic flow, the global components of the permeability
tensor are available for plotting and printing, using the zone property keywords kxx, kyy, kzz, kxy,
kxz and kzz (please note that these global components cannot be initialized directly).
An initial gridpoint pore-pressure distribution is assigned the same way for the CONFIG uid mode
as for the non-CONFIG uid mode (i.e., either with the INITIAL pp command or the WATER table
command). Pore pressures can be fixed (and freed) at selected gridpoints with the FIX pp (and
FREE pp) command. Fluid sources and sinks can be applied with the APPLY command. Section 1.6
describes the various fluid-flow boundary and initial conditions.
The fluid-flow solution is controlled by the SET uid and SOLVE commands. Several keywords are
available to help the solution process. For example, SET uid on or off turns on or off the fluid
flow calculation mode. The application of these commands and keywords depends on the level of
coupling required in the fluid flow analysis. Section 1.7 describes the various coupling levels and

FLAC 3D Version 4.0


1 - 28 Fluid-Mechanical Interaction

the recommended solution procedure. Example applications, ranging from flow-only to coupled
mechanical-flow calculations, are also described in this section.
Results from a fluid-flow analysis are provided in several forms. The commands LIST gp pp and
LIST zone pp print gridpoint and zone pore pressures, respectively. Histories of gridpoint and
zone pore pressures can be monitored with the HISTORY gp pp and HISTORY zone pp commands,
respectively. And for a transient calculation, the pore pressure can be plotted versus real time by
monitoring the flow time with the HISTORY time command. PLOT contour gpp plots contours of
gridpoint pore pressures. PLOT contour saturation plots contours of saturation. The PLOT uid
command plots specific discharge vectors. General information on the CONFIG uid calculation
mode is printed with the LIST uid command. Several fluid-flow variables can be accessed through
FISH. These are listed in Section 1.10.2. There is one grid-related variable, gp ow, that can only
be accessed through a FISH function; this corresponds to the net inflow or outflow at a gridpoint.
The summation of such flows along a boundary where the pore pressure is fixed is useful because
it can provide a value for the total outflow or inflow for a system.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 29

1.5 Properties and Units for Fluid-Flow Analysis

The properties that relate to fluid flow in FLAC 3D are the permeability coefficient, k, the fluid
mass density, f , and either the Biot coefficient, , and Biot modulus, M, for flow through a
material with compressible grains, or the fluid bulk modulus, Kf , and porosity, n, for flow through
a material with incompressible grains only. The thermal-coupling parameters are the coefficient of
drained linear thermal expansion, t (thermal-mechanical), and the undrained thermal coefficient,
(poro-thermal). These properties are examined below.
All thermal-poro-mechanical quantities must be given in a consistent set of units. No conversions
are performed by the program.

1.5.1 Permeability Coefficient

The isotropic permeability coefficient, k (e.g., m2 /(Pa/sec) in SI units), used in FLAC 3D is also
referred to in the literature as the mobility coefficient. It is the coefficient of the pressure term in
Darcys law and is related to the hydraulic conductivity, kh (e.g., m/s), by the expression

kh
k= (1.77)
f g

where g is the gravitational acceleration.

The intrinsic permeability, (e.g., in m2 ), is related to k as follows:


k= (1.78)

where is the dynamic viscosity (e.g., units of N-sec/m2 ).


Eq. (1.77) or Eq. (1.78) may be used to derive k (required by FLAC 3D ) from either kh , in velocity
units, or , in [length]2 units (remember that k must end up with units [L3 T/M] e.g., in SI units this
would be m3 sec/kg (or m2 /Pa-sec))). Using the values = 1.011 103 kg/(m-sec) for water at
20 C, w g = 9.81 103 Pa/m and 1 Darcy = 108 cm2 , the following conversions may be derived
to calculate k in SI units for water in FLAC 3D :
k (in SI units) (in cm2 ) 9.9 102
k (in SI units) kh (in cm/sec) 1.02 106
k (in SI units) permeability in millidarcies 9.8 1013
If there is a variation of permeability across the grid, the timestep will be controlled by the largest
permeability (see Eq. (1.47)). For problems in which steady state (but not transient behavior) is
required, it may be beneficial to limit the variations in permeability to improve convergence speed.

FLAC 3D Version 4.0


1 - 30 Fluid-Mechanical Interaction

For example, there will probably be little difference in the final state between systems where there
is a 20:1 variation in permeability, compared to a 200:1 variation, when the flow is moving entirely
from one permeability region to the other.
The permeability coefficient (scalar or tensor) is a zone property specified using the PROPERTY
command (see Section 1.4.2).

1.5.2 Mass Density

Three different mass densities may be given as input to FLAC 3D in different circumstances: the dry
density of the solid matrix, d ; the saturated density of the solid matrix, s ; and the density of the
fluid, f . Note that densities are only required if gravitational loading is specified.
If FLAC 3D is configured for fluid flow (CONFIG uid), then the dry density of the solid material
must be used. FLAC 3D will compute the saturated density of each element using the known density
of the fluid, the porosity, n, and the saturation, s: s = d + nsf .
The only case when the saturated density is given as input is for an effective stress calculation (static
pore-pressure distribution) not carried out in CONFIG uid mode. The WATER table command (or
INITIAL pp command) specifies the location of the water table. The dry density is specified for zones
above the water table, and the saturated density for zones below.
The solid density (dry or saturated) is given using the INITIAL density command. The fluid density
can be imposed globally using the WATER density command, or it can be allowed to vary with
position by using the INITIAL fdensity command. However, this capability of assigning spatial
variation of fluid density must only be used with extreme caution because fluid mass density is
not advected in FLAC 3D. All densities are zone variables in FLAC 3D, and are mass densities (e.g.,
kg/m3 in SI units).

1.5.3 Fluid Moduli

1.5.3.1 Biot Coefficient and Biot Modulus

The Biot coefficient, , is defined as the ratio of the fluid volume gained (or lost) in a material element
to the volume change of that element when the pore pressure is changed. It can be determined in the
same drained test as that used to determine the drained bulk modulus, K, of the material. Its range of
3n
variation is between 2+n and 1, where n is the porosity. In the particular case of an incompressible
solid constituent, = 1. This value is the default value adopted by FLAC 3D.
For an ideal porous material, the Biot coefficient is related to the bulk modulus of the solid component
Ks :

K
=1 (1.79)
Ks

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 31

The Biot modulus, M, is defined as

Ku K
M= (1.80)
2

where Ku is the undrained bulk modulus of the material.


For an ideal porous material, the Biot modulus is related to the fluid bulk modulus, Kf :

Kf
M= (1.81)
n + ( n)(1 )Kf /K

where n is the porosity. Thus, for an incompressible solid constituent ( = 1),

M = Kf /n (1.82)

The calculation mode for compressible grains is turned on with the SET uid biot on command. The
Biot coefficient is a zone property specified using the PROPERTY command. The Biot modulus is
a gridpoint variable specified using the INITIAL command.
1.5.3.2 Fluid Bulk Modulus

In analyses where the grain compressibility can be neglected, the user has the choice to either use
the default value of Biot coefficient (i.e., = 1) and assign a value equal to Kf /n to Biot modulus,
or give the fluid bulk modulus Kf as input.
The bulk modulus, Kf , is defined as

P
Kf = (1.83)
Vf /Vf

where P is the change in pressure for a volumetric strain of Vf /Vf .


When the fluid modulus Kf is given as an input, the Biot modulus is computed internally using
Eq. (1.82) for incompressible grains. In this calculation, the porosity (a zone property) is evaluated
at the nodes using nodal volume averaging. The Biot coefficient is then set to 1 throughout the flow
domain, irrespective of any value given for that property. The fluid calculation for incompressible
grains is the default calculation in FLAC 3D (i.e., SET uid biot off). The fluid modulus is a gridpoint
variable specified using the INITIAL command.
The compressibility of the fluid Cf is the reciprocal of Kf (i.e., Cf = 1/Kf ). For example,
for pure water at room temperature, Kf = 2 109 Pa, in SI units. In real soils, pore water may
contain some dissolved air or air bubbles, which substantially reduce its apparent bulk modulus.

FLAC 3D Version 4.0


1 - 32 Fluid-Mechanical Interaction

For example, Chaney (1978) reports that the fluid modulus can be reduced by an order of magnitude
for an air/water mixture at 99% saturation in compacted sand. For groundwater problems, the bulk
modulus of water may be different in different parts of the grid, to account for the varying amounts
of air present. A FISH function may be used to change local moduli according to some law (e.g.,
the modulus may be made proportional to pressure to represent a gas), but the user should be careful
not to make nonphysical assumptions.
1.5.3.3 Fluid Moduli and Convergence

If steady-state, fully saturated flow is required, the modulus M (or Kf ) is unimportant to the
numerical convergence process, because the response time of the system and the timestep are both
inversely proportional to M (or Kf ): the same number of steps are necessary, independent of
M (or Kf ). For systems containing a phreatic surface, however, a low bulk modulus will speed
convergence to steady state, because the calculation for saturation change involves t, not the
product M t (or Kf t) (see Eqs. (1.69) and (1.70)). Systems in which solid/fluid interaction
is important are more complicated to assess (some guidelines may be found in Section 1.7.1).
However, a high value of M (or Kf ) compared to the mechanical K will lead to slowly converging
solutions. In any case, from a numerical point of view, it is not necessary to use values of M (or Kf )
that are larger than 20 times (K + 4/3G)/ 2 (or (K + 4/3G)n) in the simulation (see Section 1.7.1,
Eq. (1.102) and Section 1.8.5 for an example).
1.5.3.4 Fluid Moduli for Drained and Undrained Analyses

In FLAC 3D, whenever the fluid bulk modulus (or Biot modulus) is selected and CONFIG uid is
specified, the drained bulk modulus must be specified for the solid matrix. The apparent (undrained)
bulk modulus of the solid matrix will then be computed, and will evolve with time.
An undrained analysis may also be performed without specifying CONFIG uid. In this case, the
undrained bulk modulus Ku for the solid matrix should be specified. The undrained bulk modulus
is

Ku = K + 2 M (1.84)

For an incompressible solid constituent: = 1, M = Kf /n, and this formula becomes

Kf
Ku = K + (1.85)
n

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 33

1.5.4 Porosity

Porosity, n, is a dimensionless number defined as the ratio of void volume to total volume of an
element. It is related to the void ratio, e, by

e
n= (1.86)
1+e

The default value of n, if not specified, is 0.5. n should be given as a positive number between 0
and 1, but small values (e.g., less than 0.2) should be used with great caution because the apparent
stiffness of the pore fluid is proportional to Kf /n. For low values of n, the stiffness may become
very large in comparison with the stiffness of the solid material, causing the FLAC 3D solution to
take a very long time to converge. Consider reducing Kf in this case (see Sections 1.5.3.3 and 1.7.1
for further guidance).
Porosity is used by FLAC 3D to calculate the saturated density of the medium and evaluate Biot
modulus in the case when the fluid bulk modulus is given as an input. FLAC 3D does not update
porosity during the calculation cycle, since the process is time-consuming and only the slope of the
transient response is affected. Porosity is a zone property specified using the PROPERTY command.

1.5.5 Saturation

Saturation, s, is defined as the ratio of pore volume occupied by fluid to total pore volume. In
FLAC 3Ds formulation, pore pressure is set to zero if the saturation at any point is less than 1.
The effect of dissolved and trapped air may be allowed by reducing the local fluid modulus while
keeping the saturation at 1 (i.e., we imagine that there is an equivalent fluid present throughout the
pore space). Although no pore pressures are present in a partially saturated region, the trapped fluid
still has weight (i.e., body forces act), and the fluid moves under the action of gravity (at a reduced
apparent permeability see Eq. (1.12)).
The initial saturation may be given by the user, but it is also updated during FLAC 3Ds calculation
cycle as necessary to preserve the mass balance. Note that in FLAC 3D, saturation is not considered
as an independent variable; it cannot be fixed at any gridpoint.

1.5.6 Undrained Thermal Coefficient

The undrained thermal coefficient, , is defined as the pore-pressure variation divided by 3M per
unit temperature change in an undrained constrained test (no deformation).
For an ideal porous material, this coefficient is related to the volumetric thermal-expansion coeffi-
cients for the grains, g , and fluid, f , through the formula

= 3[g ( n) + f n] (1.87)

The undrained thermal coefficient is a zone property, specified using the PROPERTY command.

FLAC 3D Version 4.0


1 - 34 Fluid-Mechanical Interaction

1.5.7 Fluid Tension Limit

In fine soils, the pore water may be able to sustain a significant tension. In FLAC 3D, negative pore
pressures can develop, by default, up to a limit beyond which desaturation will take place. The
negative pore pressure limit is set using the INITIAL ftens command, where the value is a negative
number (set to 1015 , by default). Note that a negative pore pressure is not the same as tension
due to capillary, electrical or chemical forces. The latter forces are best represented by an increased
effective stress within the constitutive model. Negative fluid pressures are unrelated to the fact that
a material is composed of grains the pressures simply arise from the expansion of a volume filled
with fluid.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 35

1.6 Fluid-Flow Boundary Conditions, Initial Conditions, Sources and Sinks

Boundaries are impermeable by default; all gridpoints are initially free (i.e., the pore pressure at
such gridpoints is free to vary according to the net inflow and outflow from neighboring zones). This
condition may be declared explicitly by using the command FREE pp at the appropriate gridpoints.
The opposite condition, FIX pp, may also be set at any gridpoint. In general, fluid may enter or
leave the grid at an external boundary if the pore pressure is fixed. The effect of these two boundary
conditions is summarized:
1. Pore-pressure free This is an impermeable boundary and is the default con-
dition. There is no exchange between the grid and the outside world. Pressure
and saturation changes are computed according to Eq. (1.69) or Eq. (1.70), de-
pending on the current value of saturation and whether the fluid has cavitated
(fallen below the tensile limit).
2. Pore-pressure xed This is a permeable boundary across which fluid flows
to and from the outside world. The saturation may only vary if the set pressure
is exactly zero. Otherwise, saturation is forced to be 1 (to conform with
FLAC 3Ds assumption that pore pressures can only exist in a fully saturated
material). Pore pressure cannot be fixed at a value less than the tensile limit;
FLAC 3D will reset any such pressures to the tensile limit.
As noted above, certain combinations of conditions are impossible (e.g., pore pressure fixed at a
value less than the tensile limit). FLAC 3D corrects such conditions before executing any calcula-
tion step. Pore pressure is fixed at some pressure by using the FIX pp command. Alternatively, the
command APPLY pp can be used for either external or internal boundaries. It is important to note
that the optional keyword interior must be specified if the condition is to be applied at a non-surface
node. The use of APPLY has the advantage that the pressure may be controlled directly by a history
(supplied by a FISH function).
Fluid-flow boundary conditions can be applied to individual, or ranges of, gridpoints, zone faces or
zones via the APPLY command. The APPLY pwell command causes a prescribed inflow or outflow
to be applied to a boundary gridpoint. If the interior keyword is added, the condition can be applied
to an interior gridpoint. The APPLY discharge and APPLY leakage commands specify either a fluid
flux or a leaky boundary condition to faces of boundary zones. The APPLY vwell command applies
a volume rate of flow to zones within a specified range. All of these fluid-flow boundary conditions
except APPLY leakage can refer to a history (via the history keyword). See Section 1.10 for a more
detailed description and format for these commands.
Fixed-pressure gridpoints may act as a source or sinks. There is no explicit command that can be
used to measure the inflow or outflow at these points. However, the FISH grid variable gp ow
records unbalanced nodal flows: a simple function that allows inflows and outflows to be printed
or plotted for any range of gridpoints can be written.
Initial distributions of pore pressure, porosity, saturation and fluid-flow properties may be specified
with the INITIAL or PROPERTY command, as noted in Section 1.10. If gravity is also given (with
the SET gravity command), it is important that the initial distributions are consistent with the
gravitational gradient implied by the value of gravity, the given density of water and the values of

FLAC 3D Version 4.0


1 - 36 Fluid-Mechanical Interaction

saturation and porosity within the grid. If the initial distributions are inconsistent, then flow may
occur in all zones at the start of a run. When setting up a simulation, a few steps should be taken to
check for this possibility. Section 3.4.7 in the Users Guide provides a detailed description of the
procedure for setting up initial conditions.
If a model contains interfaces, effective stresses will be initialized along the interfaces (i.e., the
presence of pore pressures will be accounted for within the interface stresses when stresses are
initialized in the grid). This occurs either with or without CONFIG gw specified. For example, the
WATER table command (in non-CONFIG gw mode) will include pore pressures along the interface,
because pore pressures are defined at gridpoints for interpolation to interface nodes for this mode.
Note that flow takes place, without resistance, from one surface to the other surface of an interface,
if they are in contact. Preferential flow along an interface (e.g., fracture flow) is not computed.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 37

1.7 Solving Flow-Only and Coupled-Flow Problems

FLAC 3D has the ability to perform both flow-only and coupled fluid-mechanical analyses. Coupled
analysis may be performed with any of the built-in mechanical models in FLAC 3D.
Several modeling strategies are available to approach the coupled processes. One of these assumes
that pore pressures once assigned to the grid do not change; this approach does not require any
extra memory to be reserved for flow calculation. The commands associated with this mode are
discussed in Section 1.4.1. Modeling strategies involving flow of fluid require that the CONFIG uid
command be issued to configure the grid for fluid analysis, and the MODEL uid command be issued
for all zones in which fluid flow can occur. Note that for coupled analysis, the fluid-flow model
is not made null automatically for zones that are made null mechanically. The MODEL uid null
command must be given for fluid null zones. The commands associated with CONFIG uid mode
are discussed in Section 1.4.2.
The different modeling strategies for coupled analysis will be illustrated in the following sections,
the more elaborate requiring more computer memory and time. As a general rule, the simplest
possible option should be used, consistent with the reproduction of the physical processes that are
important to the problem at hand. Recommended guidelines for selecting an approach based on time
scales are given in Section 1.7.2, and various modeling strategies are described in Sections 1.7.3 to
1.7.6.

1.7.1 Time Scales

When planning a simulation involving fluid flow or coupled flow calculations with FLAC 3D, it is often
useful to estimate the time scales associated with the different processes involved. Knowledge of the
problem time scales and diffusivity help in the assessment of maximum grid extent, minimum zone
size, timestep magnitude and general feasibility. Also, if the time scales of the different processes are
very different, it may be possible to analyze the problem using a simplified (uncoupled) approach.
(This approach for fully coupled analyses is discussed in detail in Section 1.7.2.)
Time scales may be appreciated using the definitions of characteristic time given below. These
definitions, derived from dimensional analysis, enter the expression of analytical continuous source
solutions. They can be used to derive approximate time scales for the FLAC 3D analysis.
Characteristic time of the mechanical process



tcm = Lc (1.88)
Ku + 4/3G

where Ku is undrained bulk modulus, G is shear modulus, is mass density, and Lc is characteristic
length (i.e., the average dimension of the medium).

FLAC 3D Version 4.0


1 - 38 Fluid-Mechanical Interaction

Characteristic time of the diffusion process

f L2c
tc = (1.89)
c

where Lc is the characteristic length (i.e., the average length of the flow path through the medium),
and c is the diffusivity defined as mobility coefficient k divided by storativity S:

k
c= (1.90)
S

There are different forms of storativity that apply in FLAC 3D, depending on the controlling process:
1. fluid storage
1
S= (1.91)
M

2. phreatic storage
1 n
S= + (1.92)
M w gLp

3. elastic storage

1 2
S= + (1.93)
M K + 4G/3

where M is Biot modulus, is Biot coefficient (M = Kf /n and = 1 for


incompressible grains), K is drained bulk modulus, G is shear modulus, w
is fluid density, g is gravity and Lp is characteristic storage length (i.e., the
average height of the medium available for fluid storage).
For saturated flow-only calculations (rigid material), S is fluid storage and c is the fluid (from
Eqs. (1.90) and (1.91)):

c = kM (1.94)

For unsaturated flow calculations, S is phreatic storage and the diffusivity (from Eqs. (1.90) and
(1.92)) is

k
c= (1.95)
1/M + n/(w gLp )

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 39

For a coupled, saturated, deformation-diffusion analysis with FLAC 3D, S is elastic storage and c is
the true or generalized coefficient of consolidation, defined from Eqs. (1.90) and (1.93) as

k
c= (1.96)
2
1
M + K+4G/3

There are some noteworthy properties based on the preceding definitions:


1. Because explicit timesteps in FLAC 3D correspond to the shortest time needed
for the information to propagate from one gridpoint to the next, the magnitude
of the timestep can be estimated using the smallest zone size for Lc in the
formula for characteristic time. It is important to note that the explicit fluid
flow timestep in FLAC 3D is calculated using the fluid diffusivity, Eq. (1.94),
even in a coupled simulation. The timestep magnitude may thus be estimated
from the formula obtained after substitution of Eq. (1.94) in Eq. (1.89), and
using the smallest zone size Lz for Lc :

 
L2z
t = min (1.97)
kM

2. In a saturated fluid-flow problem, a reduced bulk modulus (i.e., M or Kf ) leads


not only to an increased timestep, but also to an increased time to reach steady
state, so that the total number of steps, nt , stays the same. This number may
be estimated by taking the ratio of the characteristic times for the model, tc , to
the critical timestep, t, using Eqs. (1.89), (1.94) and (1.97), which gives


2
Lc
nt = (1.98)
Lz

where Lc and Lz are characteristic length for the model and the smallest zone.
3. In a partially saturated fluid-flow problem, adjustments can be made to the
fluid modulus (M or Kf ) to speed convergence to steady state. Be careful not
to reduce M (or Kf ) so much that numerical instability results. A condition
for stability may be derived from the requirement that the fluid storage (used in
the critical timestep evaluation) must remain smaller than the phreatic storage
over one zone height, Lz :

M > aLz w g/n (1.99)

where a is an adjustment factor chosen equal to 0.3.

FLAC 3D Version 4.0


1 - 40 Fluid-Mechanical Interaction

4. Using Eq. (1.89), we see that, to avoid any boundary effects in diffusion prob-
lems,the characteristic length, Lc , of the model must be larger than the dimen-
sion cts , where ts is the maximum simulation time and c is the controlling
diffusivity. In turn, the minimum simulation time is controlled by the relation
tmin > L2z /c.
5. In a coupled flow problem, the true diffusivity is controlled by the stiffness
ratio Rk (i.e., the stiffness of the fluid versus the stiffness of the matrix):

2 M
Rk = (1.100)
K + 43 G

With this definition for Rk , Eq. (1.96) may be expressed in two forms:

1
c = kM (1.101)
1 + Rk

and



k 4 1
c= 2 K+ G (1.102)
3 1 + R1k

If Rk is small (compared to 1), Eq. (1.101) shows that FLAC 3Ds standard
explicit timestep (see Eq. (1.97)) can be considered as representative of the
system diffusivity. An order-of-magnitude estimate for the number of steps
needed to reach full consolidation under saturated conditions, for instance, can
be calculated using Eq. (1.98).

If Rk is large (i.e., M is large compared to (K + 4G/3)/ 2 (or Kf >>>


(K +4G/3)n)), FLAC 3Ds explicit timestep will be very small, and the problem
diffusivity will be controlled by the matrix (see Eqs. (1.97) and (1.102)). The
value for M (or Kf ) can be reduced in order to increase the timestep and reach
steady-state computationally faster. Eq. (1.102) indicates that if M (or Kf )
is reduced such that Rk = 20, then the diffusivity should be within 5% of the
diffusivity for infinite M (or Kf ) (see Section 1.8.5 for an example). The time
scale is expected to be respected within the same accuracy. Note that, in any
case, Kf should not be made higher than the physical value of the fluid (2
109 Pa for water).

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 41

1.7.2 Selection of a Modeling Approach for a Fully Coupled Analysis

A fully coupled quasi-static hydromechanical analysis with FLAC 3D is often time-consuming, and
even sometimes unnecessary. There are numerous situations in which some level of uncoupling
can be performed to simplify the analysis and speed the calculation. The following examples
illustrate the implementation of FLAC 3D modeling approaches corresponding to different levels of
fluid/mechanical coupling. Three main factors can help in the selection of a particular approach:
1. the ratio between simulation time scale and characteristic time of the diffusion
process;
2. the nature of the imposed perturbation (fluid or mechanical) to the coupled
process; and
3. the ratio of the fluid to solid stiffness.
f
The expressions for characteristic time, tc , in Eq. (1.89), diffusivity, c, in Eq. (1.96), and the
stiffness ratio, Rk , in Eq. (1.100) can be used to quantify these factors. These factors are considered
in detail below, and a recommended procedure to select a modeling approach based on these factors
is given in Section 1.7.2.4.
1.7.2.1 Time Scale

We first consider the time scale factor by measuring time from the initiation of a perturbation. We
define ts as the required time scale of the analysis, and tc as the characteristic time of the coupled
diffusion process (estimate of time to reach steady state, defined using Eqs. (1.89) and (1.96)).
Short-term behavior
If ts is very short compared to the characteristic time, tc , of the coupled diffusion
process, the influence of fluid flow on the simulation results will probably be
negligible, and an undrained simulation can be performed with FLAC 3D (using
either a dry or wet simulation see Section 1.7.5. The wet simulation is
carried out using CONFIG uid and SET uid off). No real time will be involved
in the numerical simulation (i.e., ts <<< tc ), but the pore pressure will change
due to volumetric straining if the fluid modulus (M or Kf ) is given a realistic
value. The footing load simulation in Example 1.1 is an example of this
approach.
Long-term behavior
If ts >>> tc , and drained behavior prevails at t = ts , then the pore-pressure
field can be uncoupled from the mechanical field. The steady-state pore-
pressure field can be determined using a fluid-only simulation (SET uid on,
SET mech off) (the diffusivity will not be representative), and the mechanical
field can be determined next by cycling the model to equilibrium in mechanical
mode with Kf = 0 (SET mech on, SET uid off). (Strictly speaking, this

FLAC 3D Version 4.0


1 - 42 Fluid-Mechanical Interaction

engineering approach is only valid for an elastic material, because a plastic


material is path-dependent.)
Another way to describe the time scale is in terms of undrained or drained response. Undrained
strictly means that there is no exchange of fluid with the outside world (where outside world means
outside the sample in a lab test, and other elements in a numerical simulation or a field situation).
Drained means that there is a full exchange of fluid with the outside world, which implies that the
fluid pressure is able to dissipate everywhere. The words are typically associated with short-term
and long-term, respectively, because an undrained test usually can be done quickly, while a drained
test requires a long time for excess fluid pressures to dissipate. In the field, short-term means that
there is insignificant migration of fluid, and long-term means that the pressure has stabilized (which
needs a long time).
Note that in simulations conducted outside of the fluid configuration, or within the fluid configuration
but with fluid turned off, the total stress adjustments due to an imposed pore-pressure change (such
as those resulting from the lowering of the water table) will not be done internally by the code.
The pore-pressure increments may, however, be monitored (using a FISH function, for instance)
and used to decrement the total normal stresses before cycling to mechanical equilibrium. The
saturated and unsaturated mass densities will also need to be adjusted if the water table has been
moved within the grid, and the simulation is conducted outside of the fluid configuration. (See
Section 1.9.2 for additional information on this topic.)
1.7.2.2 Nature of Imposed Perturbation to the Coupled Process

The imposed perturbation to a fully coupled hydromechanical system can be due to changes in either
the fluid flow boundary condition or the mechanical boundary condition. For example, transient
fluid flow to a well located within a confined aquifer is driven by the change in pore pressures at
the well. The consolidation of a saturated foundation as a result of the construction of a highway
embankment is controlled by the mechanical load applied by the weight of the embankment. If
the perturbation is due to change in pore pressures, it is likely that the fluid flow process can be
uncoupled from the mechanical process. This is described in more detail below, and illustrated in
Section 1.8.6. If the perturbation is mechanically driven, the level of uncoupling depends on the
fluid versus solid stiffness ratio, as described below.
1.7.2.3 Stiffness Ratio

The relative stiffness, Rk (see Eq. (1.100)), has an important influence on the modeling approach
used to solve a hydromechanical problem:
Relatively stiff matrix (Rk <<< 1)
If the matrix is very stiff (or the fluid highly compressible) and Rk is very
small, the diffusion equation for the pore pressure can be uncoupled, since
the diffusivity is controlled by the fluid (Detournay and Cheng 1993). The
modeling technique will depend on the driving mechanism (fluid or mechanical
perturbation):

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 43

1. In mechanically driven simulations, the pore pressure may be assumed to


remain constant. In an elastic simulation, the solid behaves as if there were
no fluid; in a plastic analysis, the presence of the pore pressure may affect
failure. This modeling approach is adopted in slope stability analyses (see
Section 1.7.3).
2. In pore pressure-driven elastic simulations (e.g., settlement caused by fluid ex-
traction), volumetric strains will not significantly affect the pore-pressure field,
and the flow calculation can be performed independently (SET uid on, SET
mech off). (In this case, the diffusivity will be accurate because for Rk <<<
1, the generalized consolidation coefficient in Eq. (1.96) is comparable to the
fluid diffusivity in Eq. (1.94).) In general, the pore-pressure changes will affect
the strains, and this effect can be studied by subsequently cycling the model
to equilibrium in mechanical mode (SET mech on, SET uid off). The fluid
modulus (M or Kf ) must be set to zero during mechanical cycling, to prevent
additional generation of pore pressure.
Relatively soft matrix (Rk >>> 1)
If the matrix is very soft (or the fluid incompressible) and Rk is very large,
then the system is coupled, with a diffusivity governed by the matrix. The
modeling approach will also depend on the driving mechanism.
1. In mechanically driven simulations, calculations can be time-consuming. As
discussed in note 5 of Section 1.7.1, it may be possible to reduce the value for
M (or Kf ), such that Rk = 20, and not significantly affect the response.
2. In most practical cases of pore pressure-driven systems, experience shows
that the coupling between pore pressure and mechanical fields is weak. If
the medium is elastic, the numerical simulation can be performed with the
flow calculation in flow-only mode (SET uid on, SET mech off) and then in
mechanical-only mode (SET mech on, SET uid off with fluid modulus set to
zero) to bring the model to equilibrium.
It is important to note that, in order to preserve the true diffusivity (and hence
the characteristic time scale) of the system, the fluid modulus M (or Kf ) must
be adjusted to the value

1
Ma = (1.103)
2
1
+
M K+ 43 G

or

n
Kfa = (1.104)
n
Kf + 1
K+4G/3

FLAC 3D Version 4.0


1 - 44 Fluid-Mechanical Interaction

during the flow calculation (see Eq. (1.96)), and to zero during the mechanical
calculation to prevent further adjustments by volumetric strains (Berchenko
1998).
1.7.2.4 Recommended Procedure to Select a Modeling Approach

It is recommended that the selection of a modeling approach for a fully coupled analysis follow the
procedure outlined in Table 1.2. First, determine the characteristic time of the diffusion process
for the specific problem conditions and properties (see Section 1.7.1), and compare this time to the
actual time scale of interest. Second, consider whether the perturbation to the system is primarily
pore-pressure driven or mechanically driven. Third, determine the ratio of the stiffness of the fluid
to the stiffness of the solid matrix. Table 1.2 indicates the appropriate modeling approach based on
the evaluation of these three factors. The table also indicates the required adjustment to the fluid
modulus, Ma (or Kfa ), for each case. Finally, the table lists several examples from the manual that
illustrate each modeling approach.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 45

Table 1.2 Recommended procedure to select a modeling approach for


a fully coupled analysis
Time Scale Imposed Process Fluid vs Solid Modeling Approach & Adjusted Fluid Examples (6)
a a
Perturbation Stiffness Main Calculation Commands Bulk Modulus (M or Kf )

ts >>> tc mechanical or any Rk Effective Stress (1) no fluid E.A. 1 (slope3d.f3dat)

(steady-state pore pressure with no fluid flow

analysis) or
a
Effective Stress (2) M = 0.0
a
CONFIG fl (or Kf = 0.0)

SET fluid off


SET mech on

ts <<< tc mechanical or any Rk Pore-Pressure realistic value Example 1.1


a a
(undrained pore pressure Generation (3) for M (or Kf ) V.P. 7 (cam.f3dat)

analysis) CONFIG fl
SET fluid off
SET mech on

ts in the pore pressure any Rk Uncoupled Flow- Example 1.16

range of tc Mechanical (4)


CONFIG fl
a 1
Step 1. M =
1 2
M
+ K +4G/3
a n
SET fluid on (or Kf = )
n
Kf
+ K +41G/3
SET mech off
a
Step 2. M = 0.0
a
SET fluid off (or Kf = 0.0)

SET mech on
a a
ts in the mechanical any Rk Coupled Flow- adjust M (or Kf ) Example 1.2

range of tc Mechanical (5) so that Example 1.14

CONFIG fl Rk 20 Example 1.19

SET fluid on
SET mech on

FLAC 3D Version 4.0


1 - 46 Fluid-Mechanical Interaction

Notes to Table 1.2:


1. The effective stress approach with no fluid flow is discussed in Section 1.7.3.
In order to establish the initial conditions for this effective stress analysis,
use the WATER table command, INITIAL pp command or a FISH function to
establish steady-state pore pressures. Specify the correct wet density to zones
below the water table, and dry density to zones above.
2. The effective stress approach with groundwater flow is discussed in Sec-
tion 1.7.4. In order to establish the initial conditions for this effective stress
analysis, use the INITIAL command or a FISH function to establish steady-state
pore pressures, or specify SET uid on mech off and step to steady state if the
location of the phreatic surface is not known. Set M a (or Kfa ) to a small value
to speed convergence for a partially saturated system. Note that M a (or Kfa )
should be greater than 0.3nLz w g (or 0.3Lz w g) to satisfy numerical stability
(see Eq. (1.99)).
3. The pore-pressure generation approach is discussed in Section 1.7.5. In order
to establish the initial conditions for the pore-pressure generation analysis,
use the INITIAL command or a FISH function to establish steady-state flow,
or specify SET uid on mech off and step to steady state if the location of
the phreatic surface is not known. Set M a (or Kfa ) to a small value to speed
convergence for a partially saturated system. Note that M a (or Kfa ) should
be greater than 0.3nLz w g (or 0.3Lz w g) to satisfy numerical stability (see
Eq. (1.99)) .
4. The uncoupled fluid-mechanical approach is described in Section 1.7.2. This
approach is recommended for pore pressure-driven systems and should be used
carefully if Rk >>> 1. Note that the adjusted value for M a (or Kfa ) during
the flow-only step should satisfy Eq. (1.103) so that the coupled diffusivity
will be correct.
5. The fully coupled approach is discussed in Section 1.7.6. Note that for
Rk >>> 1, if M a (or Kfa ) is adjusted to reduce Rk = 20, the time response
will be close (typically within 5%) to that for infinite M (or Kf ).
6. Example Applications (E.A.) and Verification Problems (V.P.) that demon-
strate the various methods are provided in the Examples volume and in the
Verifications volume.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 47

1.7.3 Fixed Pore Pressure (Used in Effective Stress Calculation)

In some calculations, the pore-pressure distribution is important only because it is used in the
computation of effective stress at all points in the system. For example, in modeling slope stability,
we may be given a fixed water table. To represent this system with FLAC 3D, it is sufficient to specify
a pore-pressure distribution that is unaffected by mechanical deformations that may occur. Because
no change in pore pressures is involved, we do not need to configure the grid for groundwater flow.
The WATER command can be used to specify an initial hydrostatic pore-pressure distribution below
a given fixed phreatic surface. The water density must be provided (with the WATER density
command), and appropriate dry and saturated material densities supplied by the user above and
below the water table, respectively. Alternatively, the INITIAL pp command or a FISH function can
be used to generate the required static pore-pressure distribution.
The pore-pressure distribution corresponds to an initial state for which there is no strain. It remains
constant and is unaffected by mechanical deformation. Fluid flow does not take place. The influence
of this pore-pressure distribution is on failure in material for which yield depends on mean effective
stress. For an example application, see Section 1 in the Examples volume.

1.7.4 Flow-Only Calculation to Establish a Pore-Pressure Distribution

Flow-only calculations may be performed to determine the flow and pressure distribution in some
system independent of any mechanical effects. For example, it may be necessary to evaluate
the groundwater changes that result from the digging of a drainage ditch or the activation of a
pumping well. In other instances, an initial pore-pressure distribution may be needed for a coupled
calculation. In both cases, FLAC 3D may be run in the fluid-flow mode without any mechanical
calculation being done. Mechanical calculations may or may not be done subsequently.
The first step in the command procedure for a flow-only calculation is to issue a CONFIG uid
command so that extra memory can be assigned for the fluid-flow calculation. The mechanical
calculation should be inhibited with the SET mech off command. Then a choice must be made
between the explicit and implicit fluid-flow solution algorithm. By default, the explicit algorithm
will be selected, but the implicit mode of calculation may be activated (and deactivated) at any
stage of the calculation using the SET uid implicit on or SET uid implicit off command. Note
however, that the implicit calculation mode only applies to problems in which the medium remains
fully saturated (i.e., the saturation remains constant and equal to one); it will give wrong results if
desaturation occurs in the simulation. When using the implicit mode of calculation, always make
sure that desaturation has not taken place (e.g., by plotting saturation contours).
In the explicit mode, the fluid-flow timestep will be calculated automatically, but a smaller timestep
can be selected using the SET uid dt command. The magnitude of the timestep must be specified
by the user in the implicit mode. This is done by issuing a SET uid dt command. For saturated
flow, it is often more efficient to use the implicit solution mode when contrasting permeabilities
exist.

FLAC 3D Version 4.0


1 - 48 Fluid-Mechanical Interaction

The fluid-flow model and properties must be specified for all zones in which fluid flow may occur.
Initial and boundary conditions are assigned to complete the fluid-flow problem setup. The fluid-
flow domain in a fluid-only or fluid-mechanical simulation is defined by the assembly of zones
with a non-null fluid flow model. Flux boundary conditions, for instance, can be assigned by
specifying the APPLY command with the range keyword to correspond to the boundaries of that
domain. (Remember that zones that are nulled mechanically are not automatically nulled for fluid
flow.)
The STEP command may be specified to execute a given number of fluid-flow steps. To stop the
calculation automatically when a particular fluid-flow time is reached, a SOLVE age command may
be issued. Alternatively, the setting SET uid age or SET uid step may be specified to prescribe
a fluid-flow time limit or maximum number of steps; then a SOLVE command may be given. A
steady-state flow condition can also be calculated by using the SOLVE command with the ratio
keyword to specify the limiting unbalanced fluid-flow ratio defining the steady flow state.
If the computed pore-pressure distribution is then to be used in a mechanical calculation where pore
pressure can be assumed to remain constant, the SET uid off mech on command should be given.
The Biot coefficient or fluid bulk modulus should also be set to zero to prevent extra pore pressures
from being generated by mechanical deformation.
Section 1.8.3 presents an example flow-only analysis in which unconfined flow through a vertical
embankment is calculated. The analysis produces the steady-state phreatic surface. Note that in
this example, the fluid bulk modulus is set to a low value to enable the phreatic surface to develop
quickly. This can be done when the time taken to reach steady state is unimportant. Note, however,
that there is a lower limit for fluid modulus in order to avoid numerical instability (see Eq. (1.99)).

1.7.5 No Flow Mechanical Generation of Pore Pressure

The undrained (short-term) response may be analyzed in FLAC 3D using both dry and wet approaches.
In a dry simulation, the generation of pore pressure under volumetric strain is not simulated directly.
Instead, its effect on mechanical deformation is taken into account by assigning the undrained bulk
value, Ku = K + 2 M, to the material bulk modulus, K, in the FLAC 3D simulation. In this case, two
different techniques can be applied to detect failure in a Mohr-Coulomb material. In the first one,
the constant pore pressures are initialized using the WATER or INITIAL pp command, and undrained
cohesion and friction are given as input. In the second, the material is assigned a zero friction and a
cohesion equal to the undrained shear strength, Cu . The first technique applies to problems where
changes in pore pressure are small compared to the initial values. The second technique strictly
applies to plane-strain problems with Skempton coefficient equal to one (M >>> K + 4G/3).
Note that a dry simulation can be carried out whether or not the CONFIG uid command has been
issued. However, if the command has been used, the fluid bulk modulus (M or Kf ) must be set to
zero to prevent additional generation of pore pressure.
In a wet simulation, the short-term response of a coupled system is analyzed in the fluid configuration
of FLAC 3D. In this case, drained values should be used for the material bulk modulus, friction and
cohesion. If the SET uid off command is given and the Biot modulus (or fluid modulus) is given
a realistic value, then pore pressure will be generated as a result of mechanical deformations. For

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 49

example, the instantaneous pore pressures produced by a footing load can be computed in this
way. If the fluid bulk modulus (M or Kf ) is much greater than the solid bulk modulus, convergence
will be slow; it may be possible to reduce the fluid bulk modulus without significantly affecting the
behavior. (See Note 5 in Section 1.7.1.) The data file in Example 1.1 (instpp.f3dat) illustrates
pore pressure build-up produced by a footing load on an elastic/plastic material contained in a box.
The corresponding project file, footing.f3prj, is located in folder datafiles\fluid\footing. The
left boundary of the box is a line of symmetry, and the pore pressure is fixed at zero along the top
surface to prevent pore-pressure generation there. By default, the porosity is 0.5; permeability is
not needed, since flow is not calculated.
As a large amount of plastic flow occurs during loading, the normal stress is applied gradually
by using the FISH function ramp to supply a linearly varying multiplier to the APPLY command.
Figure 1.2 shows pore-pressure contours and vectors representing the applied forces. It is important
to realize that the plastic flow will occur in reality over a very short period of time (on the order of
seconds); the word flow here is misleading since, compared to fluid flow, it occurs instantaneously.
Hence, the undrained analysis (with SET uid=off) is realistic.

Example 1.1 Adding load


new
title Instantaneous pore pressures generated under an applied load
config fluid
gen zone brick size 20 1 10
; --- mechanical model ---
model mech mohr
prop bulk 5e8 shear 3e8 fric 25 coh 1e5 tens 1e10
fix x range x -.1 .1
fix z range z -.1 .1
fix x y z range x 19.9 20.1
fix y
; --- apply load slowly ---
def ramp
ramp = min(1.0,float(step)/200.0)
end
apply nstress = -0.5e6 hist @ramp range x -.1 3.1 z 9.9 10.1
; --- fluid flow model ---
model fluid fl_iso
ini fmod 2e9
; --- pore pressure fixed at zero at the surface ---
fix pp 0 range z 9.9 10.1
; --- settings ---
set fluid off
; --- histories ---
hist add gp pp 2,.5,9
; --- test ---
step 750

FLAC 3D Version 4.0


1 - 50 Fluid-Mechanical Interaction

save load
hist dump 1 begin 750
return

Figure 1.2 Instantaneous pore pressures generated under an applied load

1.7.6 Coupled Flow and Mechanical Calculations

By default, FLAC 3D will do a coupled fluid-flow and mechanical calculation if the grid is configured
for fluid, and if the Biot modulus, or fluid bulk modulus, and permeability are set to realistic values.
The full fluid-mechanical coupling in FLAC 3D occurs in two directions: pore-pressure changes
cause volumetric strains to occur that influence the stresses; in turn, the pore pressure is affected
by the straining that takes place.
The relative time scales associated with consolidation and mechanical loading should be appreciated.
Mechanical effects occur almost instantaneously (on the order of seconds or fractions of seconds).
However, fluid flow is a long process: the dissipation associated with consolidation takes place over
hours, days or weeks.
Relative time scales may be estimated by considering the ratios of characteristic times for the coupled
and undrained processes. The characteristic time associated with the undrained mechanical process
is found by using the saturated mass density for and the undrained bulk modulus, Ku , as defined
in Eq. (1.84) (or Eq. (1.85) for incompressible grains) for K in Eq. (1.88). The ratio of the diffusion
characteristic time (Eqs. (1.89) and (1.96)) and the undrained mechanical characteristic time is thus

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 51



f
tc K + 2 M + 4/3G Lc 1 2
= + (1.105)
tcm k M K + 4/3G

In most cases, M is approximately 1010 Pa, but the mobility coefficient k may differ by several
orders of magnitude; typical values are:

1019 m2 /Pa-sec for granite;

1017 m2 /Pa-sec for limestone;


1015 m2 /Pa-sec for sandstone;
1013 m2 /Pa-sec for clay; and

107 m2 /Pa-sec for sand.


For rock and soil, is of the order of 103 kg/m3 , while K + 4/3G is approximately 1010 Pa. Using
those orders of magnitude in Eq. (1.105), we see that the ratio of fluid-to-mechanical time scales
may vary between Lc for sand, 106 Lc for clay, 108 Lc for sandstone, 1010 Lc for limestone and
1012 Lc for granite. If we exclude materials with mobility coefficients larger than that of clay, we
see that this ratio remains very large, even for small values of Lc .
In practice, mechanical effects can then be assumed to occur instantaneously when compared to
diffusion effects. This is also the approach adopted in FLAC 3D, where no time is associated with
any of the mechanical steps taken together with the fluid-flow steps. The use of the dynamic option
in FLAC 3D may be considered, to study the fluid-mechanical interaction in materials such as sand,
where mechanical and fluid time scales are comparable.
In most modeling situations, the initial mechanical conditions correspond to a state of equilibrium
that must first be achieved before the coupled analysis is started. Typically, at small fluid-flow
time (compared to tc see Section 1.7.1), a certain number of mechanical steps must be taken for
each fluid step to reach quasi-static equilibrium. At larger fluid-flow time, if the system approaches
steady-state flow, several fluid-flow timesteps may be taken without significantly disturbing the
mechanical state of the medium. A corresponding numerical simulation may be controlled manually
by alternating between flow-only (SET uid on mech off) and mechanical-only (SET uid off mech
on) modes. The STEP command can be used to perform calculations for both the flow-only and
mechanical-only processes.
As an alternative approach, the tedious task of switching between flow-only and mechanical-only
modes may be avoided by using the SOLVE command in combination with appropriate settings;
SET mech force (or SET mech ratio) will set a limit to the out-of-balance force (or force ratio), under
which quasi-static mechanical equilibrium will be assumed. SET mech substep n auto declares the
mechanical module as the slave that must perform n sub-cycles (or fewer, if equilibrium is detected
see previous setting) for each step taken by the master. SET uid substep m implicitly declares
the flow module as the master. (The keyword auto is omitted for the master process.) If for each
fluid-flow timestep the mechanical module needs only one sub-step to reach equilibrium, then the

FLAC 3D Version 4.0


1 - 52 Fluid-Mechanical Interaction

number of fluid-flow sub-steps is doubled, but never exceeds the number m (by default, m = 1).
The system reverts to the original setting of sub-steps whenever the succession of one mechanical
timestep for each fluid-flow group of sub-steps is broken. If the option age is specified in the SOLVE
command, the computation will proceed until the fluid-flow time given by the age parameter is
reached.
In a third approach, the STEP command may be used while both mechanical and fluid-flow modules
are on. In this option, one mechanical step will be taken for each fluid-flow step. Here, fluid-flow
steps are assumed to be so small that one mechanical step is enough to re-equilibrate the system
mechanically after each fluid-flow step is taken. Section 1.10.1 should be consulted for a complete
list of available command options for a coupled analysis.
To illustrate a fully coupled analysis, we continue the footing simulation done in Section 1.7.5, using
the SOLVE command with appropriate settings to calculate the consolidation beneath the footing.
The data file is coupled.f3dat, shown in Example 1.2:

Example 1.2 A coupled fluid flow-mechanical analysis


restore load
; --- turn on fluid flow model ---
prop perm 1e-12
set fluid on
ini xvel 0.0 yvel 0.0 zvel 0.0
ini xd 0.0 yd 0.0 zd 0.0
; --- set mechanical limits ---
set mech force 1.5e3
set mech subs 100 auto ;slave
set fluid subs 10
; --- histories ---
hist add fltime
hist add gp zd 0,1,10
hist add gp zd 1,1,10
hist add gp zd 2,1,10
hist add gp pp 2,1,9
hist add gp pp 5,1,5
hist add gp pp 10,1,7
; --- solve to 5000 sec ---
solve age 0.5e4
save age_5k

; --- solve to 150,000 sec ---


solve age 1.5e5
save age_150k
return

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 53

The screen printout should be watched during the calculation process eight variables are updated
on the screen after the SOLVE command is issued: (1) the current step number; (2) the total number
of sub-cycles taken by the master process (fluid flow) for the most recent step; (3) the total number
of sub-cycles taken by the slave process (mechanical) for the most recent step; (4) the process that
is currently active; (5) the current sub-cycle number; (6) the current maximum unbalanced force or
force ratio; (7) the total time for the master (fluid flow) process; and (8) the current timestep.

The force tolerance is 1.5 103 for this problem; enough mechanical steps are taken to keep the
unbalanced force below this force tolerance. However, the limit to mechanical steps, defined by
SET mech substep, is set to 100 in this example. If the actual number of mechanical steps taken
is always equal to the set value of SET mech substep, then something must be wrong. Either the
force limit or SET mech substep has been set too low, or the system is unstable and cannot reach
equilibrium. The quality of the solution depends on the force tolerance: a small tolerance will give
a smooth, accurate response, but the run will be slow; a large tolerance will give a quick answer,
but it will be noisy.
The characteristic diffusion time for this coupled analysis is evaluated from Eq. (1.89), using
Eq. (1.96) for the diffusivity and a value of Lc = 10 m corresponding to the model height. Using the
f
property values in Example 1.1, tc is estimated at 140,000 seconds. Full consolidation is expected
to be reached within this time scale; the numerical simulation is carried out for a total of 150,000
seconds.
The pore-pressure distribution at a time of 5000 seconds is shown in Figure 1.3 (note that the bulb
of maximum pore pressure has migrated downward and smoothed out). Figure 1.4 shows the
time histories to 150,000 seconds of displacements under the footing load. In this simulation, pore
pressures remain fixed at zero on the ground surface; hence, the excess fluid escapes upward. The
leveling off of the histories indicate that full consolidation has been reached.

FLAC 3D Version 4.0


1 - 54 Fluid-Mechanical Interaction

Figure 1.3 Pore-pressure distribution at 5000 seconds

Figure 1.4 Consolidation response time histories of footing displacements

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 55

If a sudden change of loading or mechanical boundary condition is applied in a coupled problem,


it is important to allow the undrained (short-term) response to develop before allowing flow to take
place. In other words, FLAC 3D should be run to equilibrium under SET uid off conditions following
the imposed mechanical change. The SOLVE logic can then be used (with SET uid on) to compute
the subsequent coupled flow/mechanical response. If changes in fluid boundary conditions occur
physically at the same time as mechanical changes, then the same sequence should be followed
(i.e., mechanical changes . . . equilibrium . . . fluid changes . . . coupled solution).
Another example of fully coupled behavior is the time-dependent swelling that takes place following
the excavation of a trench in saturated soil. In this case, negative pore pressures build up immediately
after the trench is excavated; the subsequent swelling is caused by the gradual influx of water into the
region of negative pressures. We model the system in two stages: in the first, we allow mechanical
equilibrium to occur, without flow; then we allow flow, using the SOLVE command to maintain quasi-
static equilibrium during the consolidation process. The fluid tension is initialized to a large negative
number to prevent desaturation. The data file used is swelling.f3dat, shown in Example 1.3. The
corresponding project file is swelling.f3prj, located in folder datafiles\fluid\swelling.
The trench is excavated in the left-hand part of a flat soil deposit that is initially fully saturated
and in equilibrium under gravity. The material is elastic in this case, but it could equally well have
been a cohesive material, such as clay. In this run, we assume impermeable conditions for the free
surfaces. Figure 1.5 shows the displacement vectors that accumulate during the time that flow is
occurring; the trench is seen at the left-hand side of the model. Figure 1.6 shows the time history of
pore pressure near the crest of the trench; note that there is an initial negative excursion in pressure
arising from the instantaneous expansion of the soil toward the trench. Figure 1.7 shows histories of
horizontal and vertical displacement at the crest. The characteristic time for this problem, evaluated
using the model length of 40 m for Lc , is approximately 5 108 seconds (based on Eqs. (1.89) and
(1.96)); the numerical simulation is carried out to that time.

Example 1.3 Maintaining equilibrium under time-dependent swelling conditions


new
title "Maintaining equilibrium under time-dependent swelling conditions"

config fluid
gen zone brick size 40 1 8
; --- mechanical model ---
model mech elas
prop bulk 2e8 shear 1e8
ini dens 1500
model mech null range x 0,2 z 2,8
; --- fluid flow model ---
model fluid fl_iso
prop perm 1e-14 poros 0.5
ini fmod 2e9
ini ftens -5e5
ini fdens 1000

FLAC 3D Version 4.0


1 - 56 Fluid-Mechanical Interaction

model fluid fl_null range x 0,2 z 2,8


; initial and boundary conditions
fix x range x -.1 .1
fix x range x 39.9 40.1
fix x y z range z -.1 .1
fix y
set grav 0,0,-10
ini sxx -1.6e5 grad 0,0,20000
ini syy -1.6e5 grad 0,0,20000
ini szz -1.6e5 grad 0,0,20000
ini pp 8.0e4 grad 0,0,-10000
; --- settings ---
set fluid off
;
hist add unbal
solve
save swell1
;
ini xd 0.0 yd 0.0 zd 0.0
his add fltime
;his add gp pp 3,0,7
his add zone pp 4.5,0.5,6.5
his add gp xd 2,0,8
his add gp zd 2,0,8
fix pp range x 39.9 40.1
set fluid on
set mech force 50
set fluid substep 100
set mech substep 100 auto ;slave
solve age 5e8
save swell2
return

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 57

Figure 1.5 Swelling displacements near a trench with impermeable surfaces

Figure 1.6 History of pore pressure behind the trench face

FLAC 3D Version 4.0


1 - 58 Fluid-Mechanical Interaction

Figure 1.7 Displacement histories at the trench crest vertical (top) and
horizontal (bottom)

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 59

1.8 Verification Examples

Several verification problems that illustrate the fluid-flow modeling capabilities in FLAC 3D are
presented. The data files for these examples are contained in the \Datafiles\Fluid directory.

1.8.1 Unsteady Groundwater Flow in a Confined Layer

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 with the layer thickness, and its permeability is negligible
when compared to the permeability, k = 1012 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 H0 = 2 m. This corresponds to a pore-pressure rise of
p1 = H0 w g (with the water density w = 1000 kg/m3 and acceleration of gravity g = 10 m/s2 ) at
the upstream side of the embankment. Figure 1.8 shows the geometry of the problem:

embankment

L
Figure 1.8 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 p1 at one end of the model. The
corresponding analytical solution has the form

FLAC 3D Version 4.0


1 - 60 Fluid-Mechanical Interaction



2  n2 2 t sin n z
p(z, t) = 1 z e (1.106)
n
n=1

where the z-axis is running along the embankment width and has its origin at the upstream side,
p = pp1 , z = Lz , t = ct/L2 and c = Mk.

In the FLAC 3D 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 1.9.
The analytical solution is programmed as a FISH function for direct comparison to the numerical
results at selected fluid-flow times corresponding to 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 1.9 FLAC 3D grid for fluid flow in a confined soil layer

Example 1.4 contains the FLAC 3D data file for this problem, using the explicit formulation to obtain
the solution. Example 1.5 contains the data file using the implicit formulation. The corresponding
project file, ugwFlowConfLayer.f3prj, is located in folder datafiles\fluid\ugwFlowConfLayer.
The comparison of analytical and numerical excess pore pressures at four fluid-flow times for the
explicit solution is shown in Figure 1.10, and for the implicit solution in Figure 1.11. Normalized
excess pore pressure (p/p1 ) 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

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 61

contain the FLAC 3D 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%.

Example 1.4 Unsteady groundwater flow in a confined layer explicit solution


new
set fish autocreate off

title Unsteady groundwater flow in a confined layer: explicit method


config fluid
; --- fish constants ---
def constants
global c_cond = 1e-12 ; permeability
global c_biom = 1e10 ; biot modulus
global length = 100. ; layer width
global dp1 = 2e4 ; pore pressure rise, face 1
global tabn = -1
global tabe = 0
global overl = 1. / length
local d = c_cond * (c_biom)
global dol2 = d * overl * overl
global pi2 = pi * pi
end
@constants
gen zone brick size 1 1 25 p1 10 0 0 p2 0 10 0 p3 0 0 @length
; --- fluid flow model ---
model fluid fl_iso
set fluid biot on
prop perm @c_cond ; default value: poros 0.5 biot_c 1
ini biot_mod @c_biom ; could also use: ini fmodulus 0.5e10
fix pp @dp1 range z -.1 .1
fix pp 0 range z 99.9 100.1
; --- fish function ---
def num_sol
tabn = tabn + 2
local t_hat = fltime * dol2
local pnt = gp_head
loop while pnt # null
local rad = sqrt(gp_xpos(pnt)2 + gp_ypos(pnt)2) * overl
if rad < 1.e-4 then
local x = gp_zpos(pnt) * overl
table(tabn,x) = gp_pp(pnt) / dp1
end_if
pnt = gp_next(pnt)

FLAC 3D Version 4.0


1 - 62 Fluid-Mechanical Interaction

end_loop
table_name(tabn) = FLAC3D at +string(t_hat)
end
def ana_sol
local top = 2. / pi
local n_max = 100 ; max number of terms -exact solution
tabe = tabe + 2
local t_hat = fltime * dol2
local tp2 = t_hat * pi2
local pnt = gp_head
loop while pnt # null
local rad = sqrt(gp_xpos(pnt)2 + gp_ypos(pnt)2) * overl
if rad < 1.e-4 then
local x = gp_zpos(pnt) * overl
local n = 0
local nit = 0
local tsum = 0.0
local tsumo = 0.0
local converge = 0
loop while n < n_max
n = n + 1
local fn = float(n)
local term = sin(pi*x*fn) * exp(-tp2*fn*fn) / fn
tsum = tsumo + term
if tsum = tsumo then
nit = n
table(tabe,x) = 1. - x - top * tsum
converge = 1
n = n_max
else
tsumo = tsum
end_if
end_loop
if converge = 0 then
local str = buildstr("no convergence x = %1 - t = %2",x,fltime)
local oo = out(str)
exit
end_if
end_if
pnt = gp_next(pnt)
end_loop
table_name(tabe) = Analytical at +string(t_hat)
end
; --- settings ---
set mech off
set fluid on

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 63

; --- test ---


solve age 5e4
list gp pp range x -.001 .001 y -.001 .001
@num_sol
@ana_sol

solve age 10e4


@num_sol
@ana_sol

solve age 20e4


@num_sol
@ana_sol

solve age 100e4


@num_sol
@ana_sol

save confe-imp

Figure 1.10 Comparison of excess pore pressures for the explicit-solution al-
gorithm (analytical values = lines; numerical values = crosses)

FLAC 3D Version 4.0


1 - 64 Fluid-Mechanical Interaction

Example 1.5 Unsteady groundwater flow in a confined layer implicit solution


new
set fish autocreate off

title Unsteady groundwater flow in a confined layer: implicit method


config fluid
; --- fish constants ---
def constants
global c_cond = 1e-12 ; permeability
global c_biom = 1e10 ; biot modulus
global length = 100. ; layer width
global dp1 = 2e4 ; pore pressure rise, face 1
global tabn = -1
global tabe = 0
global overl = 1. / length
local d = c_cond * (c_biom)
global dol2 = d * overl * overl
global pi2 = pi * pi
end
@constants
gen zone brick size 1 1 25 p1 10 0 0 p2 0 10 0 p3 0 0 @length
; --- fluid flow model ---
model fluid fl_iso
set fluid biot on
prop perm @c_cond ; default value: poros 0.5 biot_c 1
ini biot_mod @c_biom ; could also use: ini fmodulus 0.5e10
fix pp @dp1 range z -.1 .1
fix pp 0 range z 99.9 100.1
; --- fish function ---
def num_sol
tabn = tabn + 2
local t_hat = fltime * dol2
local pnt = gp_head
loop while pnt # null
local rad = sqrt(gp_xpos(pnt)2 + gp_ypos(pnt)2) * overl
if rad < 1.e-4 then
local x = gp_zpos(pnt) * overl
table(tabn,x) = gp_pp(pnt) / dp1
end_if
pnt = gp_next(pnt)
end_loop
table_name(tabn) = FLAC3D at +string(t_hat)
end
def ana_sol

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 65

local top = 2. / pi
local n_max = 100 ; max number of terms -exact solution
tabe = tabe + 2
local t_hat = fltime * dol2
local tp2 = t_hat * pi2
local pnt = gp_head
loop while pnt # null
local rad = sqrt(gp_xpos(pnt)2 + gp_ypos(pnt)2) * overl
if rad < 1.e-4 then
local x = gp_zpos(pnt) * overl
local n = 0
local nit = 0
local tsum = 0.0
local tsumo = 0.0
local converge = 0
loop while n < n_max
n = n + 1
local fn = float(n)
local term = sin(pi*x*fn) * exp(-tp2*fn*fn) / fn
tsum = tsumo + term
if tsum = tsumo then
nit = n
table(tabe,x) = 1. - x - top * tsum
converge = 1
n = n_max
else
tsumo = tsum
end_if
end_loop
if converge = 0 then
local str = buildstr("no convergence x = %1 - t = %2",x,fltime)
local oo = out(str)
exit
end_if
end_if
pnt = gp_next(pnt)
end_loop
table_name(tabe) = Analytical at +string(t_hat)
end
; --- settings ---
set mech off
set fluid on
set fluid implicit on
set fluid dt 1e3
; --- test ---
solve age 5e4

FLAC 3D Version 4.0


1 - 66 Fluid-Mechanical Interaction

list gp pp range x -.001 .001 y -.001 .001


@num_sol
@ana_sol

solve age 10e4


@num_sol
@ana_sol

solve age 20e4


@num_sol
@ana_sol

solve age 100e4


@num_sol
@ana_sol

save confe-exp

Figure 1.11 Comparison of excess pore pressures for the implicit-solution


algorithm (analytical values = lines; numerical values = crosses)

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 67

1.8.2 One-Dimensional Filling of a Porous Region

In this problem, flow is driven through an initially dry porous layer of large lateral extent under a
constant pressure, po , applied at the base. The transient location of the filling front is compared to
an exact sharp-front solution for the cases with and without gravity.
Voller et al. (1996) give an analytic solution for this problem under the assumptions of a sharp-front,
rigid-porous matrix and incompressible Newtonian fluid. In their solution, the flow is governed by
Darcys law, and there is a constant atmospheric pressure in the air ahead of the free surface.
Let the x-axis of reference be oriented in the direction of flow, with the origin at the base of the layer.
The solution for the front location, xf , may be expressed in terms of two dimensionless variables:
t = t/T and 
 x = x
f /L ; and a dimensionless
parameter, , defined using the expressions

T = n/po , L = and = g/po . In these equations, n is porosity, is intrinsic
permeability (product of mobility coefficient, k, and dynamic viscosity, ), is fluid density and g
is gravity.
When gravity is ignored, the solution has the form

1

t= x ]2
[ (1.107)
2

For filling under gravity, the front location is given by


x ln (1 
x)

t = (1.108)
2

Eq. (1.108) may be shown to converge to the no gravity solution when goes to zero.
The numerical solution to the filling problem is presented in dimensionless form. To derive this
solution, scaled properties are used in the simulations: po = 1, k = 0.25, n = 0.5; and for gravity flow,
w = 1 and g = 1. Further, using = 4 in the preceding definitions, the characteristic parameters
for the simulation are T = 2, L = 1, = 1.
To simulate incompressible flow, the bulk modulus of the fluid, Kf , is assigned a value that is large
compared to the pore-pressure variations in the simulation (Kf = 100). For both cases, the grid
corresponds to a column of 25 zones, 0.625 units high and 0.025 units wide. The initial value of
pore pressure and saturation is zero. The pore pressure is fixed at po , and the saturation is given a
value of one at the base of the model. The simulation is conducted for a total of 0.25 units of time
(
t = 0.125). A FISH function, flacfront, captures the times at which nodes reach a saturation of
1% and 99%. The analytic sharp-front solution is evaluated by another FISH function, solution.
The data file for the case without gravity is listed in Example 1.6; the data file for the case with
gravity is listed in Example 1.7. The corresponding project file, 1DFillingPorousReg.f3prj, is
located in folder datafiles\fluid\1DFillingPorousReg.

FLAC 3D Version 4.0


1 - 68 Fluid-Mechanical Interaction

Example 1.6 1D filling of a porous region no gravity


new
set fish autocreate off

title "One-dimensional filling - no gravity"


def setup
global c_perm = 0.25
global c_poro = 0.5
global c_p0 = 1.
global c_visc = 4
global ils = 1
global ius = 1
global dz = .025
global lzf = 0.0
global uzf = 0.0
end
@setup
config fluid
gen zone brick size 1 1 25 p1 .025 0 0 p2 0 .025 0 p3 0 0 0.625
; --- fluid flow model ---
model fluid fl_iso
prop perm @c_perm poros @c_poro biot_c 0. ; default: poros 0.5 biot_c 1
set fluid biot on
ini biot_mod 100
ini sat 0.0
fix pp @c_p0 range z -.0001 .0001
; --- settings ---
set mech off
set fluid on
; --- fish functions ---
def solution
global Tstar = c_poro * c_visc / c_p0
global Lstar = sqrt(c_perm * c_visc)
local k
loop k (1,25)
local Xhat = float(k-1) * 0.025 / Lstar
local That = Xhat * Xhat * 0.5
xtable(1,k) = That
ytable(1,k) = Xhat
endloop
end
@solution
def flacfront
while_stepping

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 69

local pntl = gp_near(1,1,lzf)


local pntu = gp_near(1,1,uzf)
if gp_sat(pntl) > .01 then
xtable(2,ils) = fltime / Tstar
ytable(2,ils) = lzf / Lstar
ils = ils + 1
lzf = lzf + dz
endif
if gp_sat(pntu) > .99 then
xtable(3,ius) = fltime / Tstar
ytable(3,ius) = uzf / Lstar
ius = ius + 1
uzf = uzf + dz
endif
end
table 1 name Analytical solution
table 2 name 1 saturation front
table 3 name 99% saturation front
; --- test ---
set @lzf = .025 @uzf = .025
solve age 0.25
save asat1
return

Example 1.7 1D filling of a porous region with gravity


new
set fish autocreate off

title "One-dimensional filling - with gravity"


def setup
global c_perm = 0.25
global c_poro = 0.5
global c_p0 = 1.
global c_visc = 4
global c_den = 1.
global c_grav = -1.
global ils = 1
global ius = 1
global dz = .025
global lzf = 0.0
global uzf = 0.0
end
@setup
config fluid

FLAC 3D Version 4.0


1 - 70 Fluid-Mechanical Interaction

gen zone brick size 1 1 25 p1 .025 0 0 p2 0 .025 0 p3 0 0 0.625


; --- fluid flow model ---
model fluid fl_iso
prop perm @c_perm poros @c_poro biot_c 0. ; default: poros 0.5 biot_c 1
set fluid biot on
ini biot_mod 100
ini sat 0.0
fix pp @c_p0 range z -.0001 .0001
; --- settings ---
ini fdensity @c_den
set gravity 0 0 @c_grav
set mech off
set fluid on
; --- fish functions ---
def solution
global Tstar = c_poro * c_visc / c_p0
global Lstar = sqrt(c_perm * c_visc)
local gamma = -Lstar * c_den * c_grav / c_p0
local k
loop k (1,50)
local Yhat = ((k-1)*0.7/49.) / Lstar
local That = - (Yhat + ln(1.0-gamma * Yhat) / gamma) / gamma
xtable(1,k) = That
ytable(1,k) = Yhat
endloop
end
@solution
def flacfront
while_stepping
local pntl = gp_near(1,1,lzf)
local pntu = gp_near(1,1,uzf)
if gp_sat(pntl) > .01 then
xtable(2,ils) = fltime / Tstar
ytable(2,ils) = lzf / Lstar
ils = ils + 1
lzf = lzf + dz
endif
if gp_sat(pntu) > .99 then
xtable(3,ius) = fltime / Tstar
ytable(3,ius) = uzf / Lstar
ius = ius + 1
uzf = uzf + dz
endif
end
table 1 name Analytical solution
table 2 name 1 saturation front

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 71

table 3 name 99% saturation front


; --- test ---
set @lzf = .025 @uzf = .025
solve age 0.25
save asat2
return

The results with and without gravity are presented in Figure 1.12 and Figure 1.13, respectively.
As seen in these figures, the sharp-front solution is bounded above and below by the 99% and 1%
saturation fronts. In fact, the vertical distance between these fronts corresponds directly to the grid
size in the direction of propagation of the filling front. (The saturation at a node can only start
to increase when the pore pressure at the node below it becomes positive, and thus full saturation
is reached there.) This distance can be reduced by increasing the number of zones in the column
height. The evolution of nodal pore pressure with time follows a stepwise pattern, more pronounced
as the fluid is less compressible. This behavior occurs because a node must be fully saturated before
its pore pressure can increase. One way to reduce this effect without changing the grid size is to
introduce flow in the unsaturated region (capillary pressure) in the fluid flow formulation.

x vs 
Figure 1.12 Location of filling front (  t ) no gravity
(analytical solution = solid line; numerical values = dashed line)

FLAC 3D Version 4.0


1 - 72 Fluid-Mechanical Interaction

x vs 
Figure 1.13 Location of filling front (  t ) with gravity
(analytical solution = solid line; numerical values = dashed line)

1.8.3 Steady-State Fluid Flow with a Free Surface

This example is the classical problem of steady-state seepage flow through a homogeneous em-
bankment with vertical slopes exposed to different water levels and resting on an impermeable
base. The total discharge, Q, and the length of seepage face, s, are compared to the exact solutions.
Figure 1.14 shows the geometry and boundary conditions of the problem.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 73

h s

impermeable base

Figure 1.14 Problem geometry and boundary conditions

The fluid is homogeneous, flow is governed by Darcys law, and it is assumed that the pores of
the soil beneath the phreatic surface are completely filled with water, and the pores above it are
completely filled with air. The width of the dam is L, the head and tail water elevations above the
impervious base are h1 and h2 , respectively.
The exact solution for the total discharge through a dam section of unit thickness was shown by
Charny (Harr 1991) to be given by Dupuits formula:

h21 h22
Q = k w g (1.109)
2L

where k is mobility coefficient, w is water density and g is gravity. The length, s, of the seepage
face (elevation of the free surface on the downstream face of the dam above h2 ) was obtained
by Polubarinova-Kochina (1962), and is given in Figure 1.15 as a function of the characteristic
dimensions of the problem.

FLAC 3D Version 4.0


1 - 74 Fluid-Mechanical Interaction

1.0

0.8

0.6

0.4 0.5

1. 1
0.2 5
2
2.5
3
3.5
0
0 0.2 0.4 0.6 0.8 1.0
h /h

Figure 1.15 Seepage face solution after Polubarinova-Kochina (1962)

The FLAC 3D simulation is conducted for the following particular set of parameters:
L =9m
h1 = 6 m
h2 = 1.2 m
The following material properties are used:
permeability (k) 1010 (m/sec)/(Pa/m)
porosity (n) 0.3
water density (w ) 1000 kg/m3
water bulk modulus (Kf ) 1000 Pa
soil dry density () 2000 kg/m3
gravity (g) 10 m/sec2
Two cases corresponding to two different initial conditions have been studied:
CASE 1: The water level in the embankment is initially at h = h2 = 1.2 m, and the
upstream level is raised to h = h1 .
CASE 2: The water level is initially at h = h1 = 6 m, and the downstream level is lowered
to h = h2 .

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 75

The data file for Case 1 is listed in Example 1.8, and for Case 2 in Example 1.9. The corresponding
project file, steadystateFF-FreeSurface.f3prj, is located in folder datafiles\fluid\steadystateFF-
FreeSurface. The grid and boundary conditions are the same for both cases. The grid contains 30
zones in width, 20 zones in height and 1 zone in thickness. The boundary conditions correspond to a
static pore-pressure distribution up to level h1 on the upstream face, and up to h2 on the downstream
face, zero pore pressure from level h2 to h1 on the downstream face, and to no flow conditions across
the remaining boundaries. The differences between the two cases are the initial pore pressure and
saturation distributions. In Case 1, saturation and pore pressure are zero above h2 . Below that
level, the saturation is 1 and the pressure is hydrostatic. In Case 2, saturation is 1 for all gridpoints,
and the pore pressure inside the mesh follows a gravitational gradient. The numerical simulation
is carried out until steady-state conditions are detected.
To speed the calculation to steady state, the water bulk modulus is given a small value (Kf =
103 Pa) compatible with free surface stability. (The criterion used is Kf 0.3w gLz , where Lz
is the maximum vertical zone dimension in the vicinity of the phreatic surface, as discussed in
Section 1.7.1.)
The final flow pattern is similar for both initial conditions (see Figures 1.16 and 1.17). The numerical
value of seepage length is defined as the distance on the downstream face of the dam, between the
tail water elevation and the point where the magnitude of the flow vector vanishes. The analytical
value of seepage length is determined from Figure 1.15. For this particular problem, h2 / h1 = 0.2,
L/ h1 = 1.5, and the value of s/ h1 is thus 0.1. As seen in the figures, the numerical value of seepage
length compares well with the analytical solution sketched there as a bold line. A FISH function,
qflac, is used to determine the discharge, Q, per unit thickness of the dam: the steady-state
numerical value is 1.914 106 m2 /s for Case 1; and 1.912 106 m2 /s for Case 2. The values are
close to the analytic value of 1.920 106 m2 /s, as determined from Eq. (1.109) for this particular
problem.

Example 1.8 Steady-state flow through a vertical embankment Case 1


new
title "Steady state flow through a vertical embankment - case 1"
def setup
global c_perm = 1e-10
global c_poro = 0.3
global c_kw = 1e3
global c_L = 9.
global c_h1 = 6.
global c_h2 = 1.2
end
@setup
config fluid
gen zone brick size 30 1 20 p1 @c_L 0 0 p2 0 0.15 0 p3 0 0 @c_h1
; --- fluid flow model ---
model fluid fl_iso
prop perm @c_perm poros @c_poro ; default value: poros 0.5 biot_c 1

FLAC 3D Version 4.0


1 - 76 Fluid-Mechanical Interaction

set fluid biot off


ini fmodulus @c_kw
ini sat 0.0
ini sat 1 range z -.1 1.1999
ini sat 1 range x -.0001 .0001
ini pp 1.2e4 grad 0 0 -1e4 range z -.1 1.1999
fix pp range x 8.99 9.01
ini pp 6e4 grad 0 0 -1e4 range x -.0001 .0001
fix pp range x -.0001 .0001
; --- settings ---
ini fdensity 1e3
ini ftens 0.0
set gravity 0 0 -10
set mech off
set fluid on
; --- test ---
solve ratio 1.e-3
def qflac
local qval = 0.0
local pnt = gp_head
loop while pnt # null
local fval = gp_xpos(pnt) - 0.001
if fval < 0.0 then
qval = qval + gp_flow(pnt)
end_if
pnt = gp_next(pnt)
end_loop
qflac = qval /0.15 ; scale for unit thickness
global qsol = 1e-10*1e3*10.*(6.*6.-1.2*1.2)/(2.*9.)
end
def plot_seepage_face(plt)
local v1 = vector(c_L,0,1.2)
local v2 = vector(c_L,0,1.8)
local status = set_line_width(plt,2)
staus = draw_line(plt,v1,v2)
end
list @qflac @qsol

save ch2a

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 77

Example 1.9 Steady-state flow through a vertical embankment Case 2


new
title "Steady state flow through a vertical embankment - case 2"
def setup
global c_perm = 1e-10
global c_poro = 0.3
global c_kw = 1e3
global c_L = 9.
global c_h1 = 6.
global c_h2 = 1.2
end
@setup
config fluid
gen zone brick size 30 1 20 p1 @c_L 0 0 p2 0 0.15 0 p3 0 0 @c_h1
; --- fluid flow model ---
model fluid fl_iso
prop perm @c_perm poros @c_poro ; default value: poros 0.5 biot_c 1
set fluid biot off
ini fmodulus 1e3
ini sat 1.0
ini pp 6e4 grad 0 0 -1e4
fix pp range x -.0001 .0001
ini pp 1.2e4 grad 0 0 -1e4 range x 8.99 9.01 z -.1 1.1999
ini pp 0 range x 8.99 9.01 z 1.1999 7
fix pp range x 8.99 9.01
; --- settings ---
ini fdensity 1e3
ini ftens 0.0
set gravity 0 0 -10
set mech off
set fluid on
; --- test ---
solve ratio 1e-3

def qflac
local qval = 0.0
local pnt = gp_head
loop while pnt # null
local fval = gp_xpos(pnt) - 0.001
if fval < 0.0 then
qval = qval + gp_flow(pnt)
end_if
pnt = gp_next(pnt)
end_loop

FLAC 3D Version 4.0


1 - 78 Fluid-Mechanical Interaction

qflac = qval /0.15 ; scale for unit thickness


global qsol = 1e-10*1e3*10.*(6.*6.-1.2*1.2)/(2.*9.)
global qerror = abs(((qval/0.15)-qsol)/qsol)*100.0
if qerror > 0.5 then
error = "Outflow error greater than 0.5 ("+string(qerror)+")."
end_if
end
def plot_seepage_face(plt)
local v1 = vector(c_L,0,1.2)
local v2 = vector(c_L,0,1.8)
local status = set_line_width(plt,2)
staus = draw_line(plt,v1,v2)
end
list @qflac @qsol
save ch2b

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 79

Figure 1.16 Steady-state flow vectors and seepage face solution Case 1

Figure 1.17 Steady-state flow vectors and seepage face solution Case 2

FLAC 3D Version 4.0


1 - 80 Fluid-Mechanical Interaction

Case 1 is repeated to test fluid flow across two sub-grids that are connected by using either the
ATTACH command or the INTERFACE command. Example 1.10 lists the commands for flow across
an ATTACHed grid, and Example 1.11 lists the commands for flow across an interface. Both model
results are nearly identical to the original Case 1; the values for discharge for both the ATTACH and
INTERFACE models are 1.930 106 m2 /s. Compare Figures 1.18 and 1.19 to Figure 1.16. Note
that if maxedge is specified with INTERFACE, then the interface will act as an impermeable boundary.
Remove the semicolon from the INTERFACE maxedge command to observe this response.

Example 1.10 Steady-state flow through a vertical embankment Case 1 with ATTACHed grid
new
title
"Steady state flow through a vertical embankment - Case 1 - ATTACHed grid"
config fluid
gen zone brick size 15 1 10 ...
p0 0.0 0 0 ...
p1 4.5 0 0 ...
p2 0 0.15 0 ...
p3 0 0 6
gen zone brick size 15 2 20 ...
p0 4.5 0 0 ...
p1 9 0 0 ...
p2 4.5 0.15 0 ...
p3 4.5 0 6 ...
nomerge
attach face range x 4.499 4.501
; --- fluid flow model ---
model fluid fl_iso
prop perm 1e-10 poros 0.3 ; default value: poros 0.5 biot_c 1
set fluid biot on
ini biot_mod 3.333e3 ; could also use: ini fmodulus 1e3
ini sat 0.0
ini sat 1 range x -.0001 .0001
ini sat 1 range x 8.99 9.01 z -.1 1.1999
ini pp 6e4 grad 0 0 -1e4 range x -.0001 .0001
fix pp range x -.0001 .0001
ini pp 1.2e4 grad 0 0 -1e4 range x 8.99 9.01 z -.1 1.1999
fix pp range x 8.99 9.01
; --- settings ---
ini fdensity 1e3
ini ftens 0.0
set gravity 0 0 -10
set mech off
set fluid on
; --- test ---
solve ratio 1.e-3

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 81

def qflac
local qval = 0.0
local pnt = gp_head
loop while pnt # null
local fval = gp_xpos(pnt) - 0.001
if fval < 0.0 then
qval = qval + gp_flow(pnt)
end_if
pnt = gp_next(pnt)
end_loop
qflac = qval /0.15 ; scale for unit thickness
global qsol = 1e-10*1e3*10.*(6.*6.-1.2*1.2)/(2.*9.)
end
def plot_seepage_face(plt)
local v1 = vector(9,0,1.2)
local v2 = vector(9,0,1.8)
local status = set_line_width(plt,2)
staus = draw_line(plt,v1,v2)
end
list @qflac @qsol

save attfl

Figure 1.18 Steady-state flow vectors for ATTACHed grid Case 1

FLAC 3D Version 4.0


1 - 82 Fluid-Mechanical Interaction

Example 1.11 Steady-state flow through a vertical embankment Case 1 with INTERFACE
new
title
"Steady state flow through a vertical embankment - case 1 - INTERFACE"
config fluid
gen zone brick size 15 1 10 p0 0.0 0 0 p1 4.5 0 0 p2 0 0.15 0 p3 0 0 6
group zone Left
gen zone brick size 15 2 20 p0 5.5 0 0 p1 10 0 0 p2 5.5 0.15 0 p3 5.5 0 6
group zone right range group Left not
; --- interface ---
interface 1 face range x 5.499 5.501
interface 1 prop ks 2e9 kn 2e9 fric 15 tension 1e10
; interface 1 maxedge 1 : <==== this will make interface impermeable

ini xpos add -1. range group right


; --- fluid flow model ---
model fluid fl_iso
prop perm 1e-10 poros 0.3 ; default value: poros 0.5 biot_c 1
set fluid biot on
ini biot_mod 3.333e3 ; could also use: ini fmodulus 1e3
ini sat 0.0
ini sat 1 range x -.0001 .0001
ini sat 1 range x 8.99 9.01 z -.1 1.1999
ini pp 6e4 grad 0 0 -1e4 range x -.0001 .0001
fix pp range x -.0001 .0001
ini pp 1.2e4 grad 0 0 -1e4 range x 8.99 9.01 z -.1 1.1999
fix pp range x 8.99 9.01
; --- mechanical model ---
model mech el
prop bulk 2 shear 1
step 0 ; <--- must step 0 with mech on to initialize weighting factors
; --- settings ---
ini fdensity 1e3
ini ftens 0.0
set gravity 0 0 -10
set mech off
set fluid on

; --- test ---


solve ratio 1.e-3

def qflac
local qval = 0.0
local pnt = gp_head

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 83

loop while pnt # null


local fval = gp_xpos(pnt) - 0.001
if fval < 0.0 then
qval = qval + gp_flow(pnt)
end_if
pnt = gp_next(pnt)
end_loop
qflac = qval /0.15 ; scale for unit thickness
global qsol = 1e-10*1e3*10.*(6.*6.-1.2*1.2)/(2.*9.)
end
def plot_seepage_face(plt)
local v1 = vector(9,0,1.2)
local v2 = vector(9,0,1.8)
local status = set_line_width(plt,2)
staus = draw_line(plt,v1,v2)
end
list @qflac @qsol

save intfl

Figure 1.19 Steady-state flow vectors for grid with INTERFACE Case 1

FLAC 3D Version 4.0


1 - 84 Fluid-Mechanical Interaction

1.8.4 Spreading of a Groundwater Mound

This problem studies the transient evolution of a groundwater mound within a porous medium. The
mound spreads out and flows along an impervious base under the influence of gravity. It is assumed
that the fluid is incompressible, and that the water is contained initially in a cylindrical region with
radius r0 and height h0 . The water saturation within the mound is equal to one, and Darcys law is
applicable. The mound elevation is compared to an analytic solution as the elevation evolves with
time.
Kochina et al. (1983) have derived the solution for the height, h, of the mound. The solution, as
given by Barenblatt (1987), assumes a hydrostatic pore-pressure distribution within the mound. In
the case of zero residual saturation, it may be expressed in the form

1 r 2 
h = [4 ]; r 2 t
4
(1.110)
8 t t

where h = h/ h0 , r = r/r0 , t = t/tc , and the characteristic time is given as tc = r02 /(2h0 ) with
= kw g/(2n) (k is the mobility coefficient, w is water density, g is gravity and n is porosity).
This solution applies to long time scales, when the influence of the details of the initial mound
geometry have disappeared.
The results are presented in dimensionless form: the scaled geometrical parameters r0 = 1, h0 =
1 are used; and the scaled water properties k = 0.5 104 , w = 103 and n = 0.5 are prescribed
in the numerical simulation. To model incompressible flow, the bulk modulus of the fluid, Kf ,
is given a value that is large compared to the pore-pressure variations in the simulation (Kf = 2
105 ); the value g = 10 is used for gravity. The FLAC 3D grid corresponds to a quarter cylinder
and contains 2000 zones (see Figure 1.20). The radius of the model is 2, and its height is 1 unit.
The initial saturation is 1 within the mound (radius = 1 unit, height = 1 unit), and zero outside. The
initial pore-pressure distribution within the mound is hydrostatic. All boundaries are impermeable
by default. As time goes on, the mound spreads out under its own weight. The simulation is
conducted for a total dimensionless time value of t = 0.85, with intermediate results at t = 0.35,
0.45 and 0.65. Example 1.12 lists the commands for this example. The corresponding project file,
gwmound.f3prj, is located in folder datafiles\fluid\GroundwaterMound.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 85

Figure 1.20 FLAC 3D grid and initial state of saturated column

Example 1.12 Spreading of a groundwater mound


new
set fish autocreate off

config fluid
; --- geometry ---
gen zone cylinder size 20 10 10 p1 0 2 0 p2 0 0 1 p3 2 0 0
; --- fluid flow model ---
model fluid fl_iso
prop perm 0.5e-4 poros 0.5 biot_c 1
set fluid biot on
ini biot_mod 1e5
; if fluid modulus is specified:
; set fl biot off
; ini fmodulus 0.5e5
ini fdensity 1e3
ini ftens 0.0
; --- initial conditions ---
range name mound cyl end1 0 0 -1 end2 0 0 2 rad 1.01
ini sat 0.0
ini sat 1.0 range nrange mound

FLAC 3D Version 4.0


1 - 86 Fluid-Mechanical Interaction

ini pp 1e4 grad 0 0 -1e4 range nrange mound


; --- settings ---
set gravity 0 0 -10
set mech off
set fluid on
set fluid ratio 0
save mound0

; --- test ---


solve age 0.35
title "Spreading of a groundwater mound (t = 0.35)"
save mound1

solve age 0.45


title "Spreading of a groundwater mound (t = 0.45)"
save mound2

solve age 0.65


title "Spreading of a groundwater mound (t = 0.65)"
save mound3

solve age 0.85


title "Spreading of a groundwater mound (t = 0.85)"
save mound4
return

Saturation contours are sketched in Figures 1.21 to 1.24. The analytic prediction for the mound
height is calculated by a set of FISH functions, and plotted for comparison in the figures (bold line).
The model state at each selected time value is restored, and the file listed in Example 1.13 is called
to create the plots shown in Figures 1.21 to 1.24.
Figure 1.21 corresponds to t = 0.35; at that time, the initial shape of the mound still persists,
and a comparison with the analytic solution is probably not yet appropriate. For larger times
(see Figures 1.22 to 1.24), the spreading of the groundwater mound described by Eq. (1.110) is
captured by the numerical solution with reasonable accuracy. The numerical estimate lags behind
the analytical prediction; the discrepancy may be explained by the occurrence of residual saturation
in the numerical solution, and by the coarse discretization used in the simulation.

Example 1.13 Spreading of a groundwater mound saturation and head plots


def moundsetup
local nval = 100
global dx = 2./float(nval)
end
@moundsetup
;

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 87

def check_error
local bt = max(fltime,1.e-20)
local xi = 1.0/sqrt(bt)
local rmax = 2.0/sqrt(xi)
local pnt = gp_head
local accum_error = 0.0
local count = 0
loop while pnt # null
local gpe = 0.0
local pos = gp_pos(pnt)
local rad = mag(vector(xcomp(pos),ycomp(pos),0))
if rad < rmax then
local height = xi * (4.0 - rad*rad*xi) * 0.125
else
height = 0
endif
local sat = gp_sat(pnt)
local zdif = zcomp(pos) - height
if sat > 0.5 then
if zdif > 0 then
gpe = zdif
count = count + 1
endif
else
if zdif < 0 then
gpe = -zdif
count = count + 1
endif
endif
accum_error = accum_error + gpe
pnt = gp_next(pnt)
end_loop
if accum_error > 10 then
local str = Accumulated error = + string(accum_error)
error = str + with count + string(count)
end_if
end
;
def plot_mound_elevation(plt)
local bt = max(fltime,1.e-20)
local xi = 1./sqrt(bt)
local xmax = 2./sqrt(xi)
local n
loop n (1,100)
local xval = (float(n)-1.)*dx
if xval < xmax then

FLAC 3D Version 4.0


1 - 88 Fluid-Mechanical Interaction

local zval = xi * (4.-xval*xval*xi) * 0.125


else
zval = 0.
endif
local moundi = vector(xval,0,zval)
xval = float(n)*dx
if xval < xmax then
zval = xi * (4.-xval*xval*xi) * 0.125
else
zval = 0.
endif
local moundf = vector(xval,0,zval)
local status = set_line_width(plt,2)
status = draw_line(plt,moundi,moundf)
xval = (float(n)-1.)*dx
if xval < xmax then
zval = xi * (4.-xval*xval*xi) * 0.125
else
zval = 0.
endif
moundi = vector(0,xval,zval)
xval = float(n)*dx
if xval < xmax then
zval = xi * (4.-xval*xval*xi) * 0.125
else
zval = 0.
endif
moundf = vector(0,xval,zval)
status = set_line_width(plt,2)
status = draw_line(plt,moundi,moundf)
endloop
end
;
def plot_mound_elevation1(plt)
local bt = max(fltime,1.e-20)
local xi = 1./sqrt(bt)
local xmax = 2./sqrt(xi)
local imax = int(xmax/dx) + 1
local n
loop n (1,100)
local xval = (float(n)-1.)*dx
if xval < xmax then
local zval = xi * (4.-xval*xval*xi) * 0.125
else
zval = 0.
endif

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 89

local moundi = vector(xval,0,zval)


xval = float(n)*dx
if xval < xmax then
zval = xi * (4.-xval*xval*xi) * 0.125
else
zval = 0.
endif
local moundf = vector(xval,0,zval)
local status = set_line_width(plt,2)
status = draw_line(plt,moundi,moundf)
endloop
end
;
def plot_mound_region(plt)
local bt = max(fltime,1.e-20)
local xi = 1./sqrt(bt)
local xval = sqrt(0.5*xi)
local zval = xi * (4.0-xi*xval*xval)/8.0
local moundi = vector(xval,0,0)
local moundf = vector(xval,0,zval)
local status = set_line_width(plt,2)
status = draw_line(plt,moundi,moundf)
end
;
config gpextra 1
def c_head
local rhog = 1e4
local pnt = gp_head
loop while pnt # null
if gp_sat(pnt) > 0.9 then
gp_extra(pnt,1) = gp_zpos(pnt)*gp_sat(pnt) + gp_pp(pnt)/rhog
else
gp_extra(pnt,1) = 0.0
end_if
pnt = gp_next(pnt)
end_loop
end
@c_head
;
;

FLAC 3D Version 4.0


1 - 90 Fluid-Mechanical Interaction

Figure 1.21 Saturation contours and analytical mound elevation at t = 0.35

Figure 1.22 Saturation contours and analytical mound elevation at t = 0.45

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 91

Figure 1.23 Saturation contours and analytical mound elevation at t = 0.65

Figure 1.24 Saturation contours and analytical mound elevation at t = 0.85

FLAC 3D Version 4.0


1 - 92 Fluid-Mechanical Interaction

The sketch of flow vectors and head contours in Figure 1.25 corresponds to t = 0.85. (The lack
of smoothness in the contour plot is caused by the head jump across the phreatic surface.) Two
regions with water flowing predominantly downward in the core of the mound, and outward in its
periphery, can be seen in the figure. (The vertical bold line is drawn at the location where the time
derivative of the analytical mound elevation vanishes: h/t = 0.)

Figure 1.25 Head contours and analytical mound elevation at t = 0.85

1.8.5 One-Dimensional Consolidation

A saturated layer of soil of thickness H = 20 m (shown in Figure 1.26) and large horizontal extent
rests on a rigid impervious base. A constant surface load, pz = 105 Pa, is applied on the layer
under undrained conditions. The soil matrix is homogeneous and behaves elastically; the isotropic
Darcys transport law applies. The applied pressure is initially carried by the fluid but, as time goes
on, the fluid drains through the layer surface, transferring the load to the soil matrix. The solution
to this one-dimensional consolidation problem may be expressed in the framework of Biot theory
(see Detournay and Cheng 1993).

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 93

pz

Figure 1.26 One-dimensional consolidation

The diffusion equation for the pore pressure, p, has the form

p 2p dzz
c 2 = (1.111)
t z 1 S dt

where:c = k/S;
2
S = 1
M + 1 = the storage coefficient;
1 = K + 4
3 G;
M = is the Biot modulus; and
= is the Biot coefficient.

The boundary conditions are zz = pz H (t) and p = 0 at z = H (H (t) is the step function),
and uz = 0 and p
z = 0 at z = 0.

Because the stress is constant, Eq. (1.111) reduces to

p 2p
c 2 =0 (1.112)
t z

p
with boundary conditions p = 0 at z = H , and z = 0 at z = 0.

The initial value, p0 , for the pore pressure induced from loading of the layer may be derived from
the fluid constitutive law (p = M( zz )) by considering undrained conditions ( = 0) and using

FLAC 3D Version 4.0


1 - 94 Fluid-Mechanical Interaction

the one-dimensional mechanical constitutive law (zz = 1 zz p) to express strain in terms of


stresses. It is given by

1
p0 = pz (1.113)
1 S

The solution for the pore pressure is


p0  sin(am z) am2 t
p = 2 e (1.114)
pz am
m=0

p
where:p = pz ;

2 (2m + 1);

am =
H z
z = H ; and
t = ct
H2
.

The vertical displacement, uz , is found by considering the equilibrium equation zz /z = 0,


together with the mechanical constitutive equation zz = 1 zz p. By expressing zz as uz /z,
we obtain upon integration, taking Eq. (1.114) and the boundary conditions into account,



p0  cos(am z) am2 t
uz = 2 2
e + y 1 (1.115)
pz am
m=0

1 uz
here uz is defined as uz = Hpz .

The following properties are prescribed for this example:


dry bulk modulus, K 5 108 Pa
dry shear modulus, G 2 108 Pa
Biot modulus, M 4 109 Pa
Biot coefficient, 1.0
m2
permeability, k 1010 P asec

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 95

The FLAC 3D model grid for this problem is a column of 20 zones of unit dimensions lined up along
the z-axis. The base of the column is fixed, and lateral displacements are restricted in the x- and
y-directions. A mechanical pressure, pz , is applied at the top of the column.
At first, flow is prevented and the model is stepped to equilibrium to establish the initial undrained
conditions. At the end of this stage, the stress zz has the value pz , in equilibrium with the applied
pressure, and the pore pressure has the initial undrained value p0 = pz /1 S (see Eq. (1.113)).
Drainage is then allowed by setting the pore pressure to zero at the top of the column. The FLAC 3D
model is cycled to a flow time of 5000 seconds, which is approximately the magnitude of the
characteristic time, tc = H 2 /c, for this problem.
The analytical solution for the pore pressure, p, and vertical displacement, uz , at the column
mid-height are evaluated using FISH functions, and compared to the numerical solution as time
proceeds. The results are plotted versus fluid-flow time in Figures 1.28 and 1.29. The transfer of
pore pressure to effective stress is illustrated in Figure 1.30, where the evolutions of normalized
total stress, zz /pz , effective stress, (zz + p)/pz , and pore pressure, p/pz , with fluid-flow
time are presented. The FLAC 3D data file is listed in Example 1.14. The corresponding project file,
1dConsolidation.f3prj, is located in folder datafiles\fluid\1dConsolidation.

Figure 1.27 FLAC 3D grid for one-dimensional consolidation

FLAC 3D Version 4.0


1 - 96 Fluid-Mechanical Interaction

Example 1.14 One-dimensional consolidation (coupled)


new project
set fish autocreate off

title "One-dimensional consolidation (coupled)"


config fluid

def constants
global c_perm = 1e-10
global c_biotc = 1.
global c_biotm = 4.e9
global c_bulk = 5.e8
global c_shear = 2.e8
local comod = c_bulk + 4. * c_shear / 3.
local storage = 1. / c_biotm + c_biotc * c_biotc / comod
local cv = c_perm / storage
global hh = 20.
global bt = cv / (hh * hh)
global pi2 = pi * .5
global pz = 1e5
global sig0 = - pz
global p0 = pz * c_biotc / (comod * storage)
global uz0 = pz * hh / comod
end
@constants

; --- model geometry ---


gen zone brick size 1 1 @hh
def point
global pnt = gp_near(0.,0.,10.)
global zpnt = z_near(0.5,0.5,10.5)
global zz = (hh - gp_zpos(pnt)) / hh
end
@point
; --- mechanical model ---
model mech el
set fluid biot on
prop bu @c_bulk sh @c_shear
fix x y
fix z range z -.1 .1
ini szz 0.
apply szz @sig0 range z 19.9 20.1
; --- fluid flow model ---
model fluid fl_iso

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 97

prop perm @c_perm biot_c @c_biotc


ini biot_mod @c_biotm
ini pp 0
; --- fish functions ---
def pp10
pp10 = gp_pp(pnt) / pz
global ft = fltime
global c_szz = z_szz(zpnt) / sig0
global c_eszz = (z_szz(zpnt) + z_pp(zpnt)) / sig0
global c_uz = gp_zdisp(pnt) / uz0
end
def ppsol
global tt = bt * fltime
local val = 0.0
;valz = 0.0
local valu = 0.0
local m
loop m (0,20)
local mm = pi2 * (2. * m + 1.)
local c_e = exp(-mm*mm*tt)/mm
val = val + sin(mm*zz)*c_e
valu = valu + cos(mm*zz)*c_e/mm
end_loop
ppsol = val*2.*p0/pz
global zdsol = valu*2.*c_biotc*p0/pz + zz - 1.
end
; --- first establish undrained response ---
set fluid off
solve ratio 1e-4
save cons_und

; --- histories ---


hist add fish @pp10
hist add fish @ppsol
hist add fish @c_szz
hist add fish @c_eszz
hist add fish @c_uz
hist add fish @zdsol
hist add fish @tt
hist add fish @ft

; --- drained response ---


fix pp 0 range z 19.9 20.1
set fluid on
set mech force 0 ratio 1e-4
set hist_rep 200

FLAC 3D Version 4.0


1 - 98 Fluid-Mechanical Interaction

set fluid substep 1


set mech substep 1 auto ;slave
solve age 500
set fluid substep 100
set mech substep 10 auto
solve age 5000
save cons
return

Figure 1.28 Comparison between analytical and numerical values of pore


pressure in a one-dimensional consolidation test

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 99

Figure 1.29 Comparison between analytical and numerical values for vertical
displacement in a one-dimensional consolidation test

Figure 1.30 Evolution of pore pressure, total and effective stresses in a one-
dimensional consolidation test

FLAC 3D Version 4.0


1 - 100 Fluid-Mechanical Interaction

Note that, as the stiffness ratio Rk = 2 M/(K + 4G/3) increases, the number of zones should
increase to keep the error small. This effect is caused by the numerical technique used to evaluate
pore-pressure changes caused by volumetric strain in CONFIG uid. Also, as the ratio Rk increases,
the timestep will decrease. However, to keep the error small and the timestep sufficiently large
without significantly affecting the solution, it is acceptable to limit the value of Biot modulus (or
Kf ) used in the simulation to a value of about twenty times (K + 4G/3)/ 2 (see Section 1.7.1,
note 5). To demonstrate the validity of this numerical approach, the analytical solutions for pore
pressure and displacement corresponding to M = 1.5 1010 (Rk 20) and M = 1.5 1015
(Rk 20 105 ) are compared in Figures 1.31 and 1.32 (data file is Example 1.15). As seen in
those plots, the responses are indeed similar (maximum relative error less than 5%).

Example 1.15 One-dimensional consolidation (analytical solution)


new
set fish auto off

title "One-dimensional consolidation (analytical solution)"


config fluid

def setup
global c_M
global c_perm = 1e-10
global c_biotc = 1.
global c_biotm = c_M
global c_bulk = 5.e8
global c_shear = 2.e8
local comod = c_bulk + 4. * c_shear / 3.
local storage = 1. / c_biotm + c_biotc * c_biotc / comod
local cv = c_perm / storage
global hh = 20.
global bt = cv / (hh * hh)
global pi2 = pi * .5
global pz = 1e5
global sig0 = - pz
global p0 = pz * c_biotc / (comod * storage)
global uz0 = pz * hh / comod
end
def ppsol
global ntab
local dt = 100.
local ii
loop ii (1,50)
local zz = (hh-10.) / hh
local nt = ntab
local nt1 = ntab + 1
local c_fltime = dt * ii

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 101

local tt = bt * c_fltime
local val = 0.0
local valu = 0.0
local m
loop m (0,20)
local mm = pi2 * (2. * m + 1.)
local c_e = exp(-mm*mm*tt)/mm
val = val + sin(mm*zz)*c_e
valu = valu + cos(mm*zz)*c_e/mm
end_loop
local valpp = val*2.*p0/pz
local valzd = valu*2.*c_biotc*p0/pz + zz - 1.
xtable(nt,ii) = c_fltime
ytable(nt,ii) = valpp
xtable(nt1,ii) = c_fltime
ytable(nt1,ii) = valzd
end_loop
end
set @c_M=1.5e10 @ntab=1
@setup
@ppsol
set @c_M=1.5e15 @ntab=3
@setup
@ppsol

def err_pp
local valpp = 0.0
local valuz = 0.0
local ii
loop ii (1,50)
valpp = max(abs(ytable(1,ii)-ytable(3,ii)),valpp)
valuz = max(abs(ytable(2,ii)-ytable(4,ii)),valuz)
endloop
err_pp = valpp
global err_uz = valuz
end

table 1 name pp M = 1.5e10


table 2 name zd M = 1.5e10
table 3 name pp M = 1.5e15
table 4 name zd M = 1.5e15

return

FLAC 3D Version 4.0


1 - 102 Fluid-Mechanical Interaction

Figure 1.31 Comparison between analytical pore-pressure solutions for two


large values of M in a one-dimensional consolidation test

Figure 1.32 Comparison between analytical vertical displacement solutions


for two large values of M in a one-dimensional consolidation test

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 103

In Example 1.16, the numerical simulation is repeated for a Biot modulus of 4 1011 Pa (100
times larger than in the former numerical calculation), this time using the uncoupling technique
described in Section 1.7.2.3 (the applicability of the uncoupling technique to this problem follows
from the irrotational character of the solution). In this example, the initial undrained conditions
are obtained using the undrained bulk value for the material and setting Biot modulus to zero. The
pore pressure, which is not updated in this calculation mode, is then initialized at the value p0 .
The rest of the simulation is carried out in a series of ten time increments to enable a recording of
the variables history. In each increment, the fluid flow calculation is performed for a time interval
of 500 seconds. During that stage, a scaled value for Biot modulus is used in order to preserve
the coupled system true diffusivity (see Eq. (1.103)). Next, Biot modulus is set to zero to prevent
additional generation of pore pressure, and the system is run to mechanical equilibrium using the
drained value of the bulk modulus. Fluid and mechanical calculations are repeated until the total
simulation time reaches 5000 s. The results of this simulation (which does not involve any direct
calculation of pore-pressure change due to volumetric straining) are presented in Figures 1.33 to
1.35.

Example 1.16 One-dimensional consolidation (uncoupled)


new
set fish auto off

title "One-dimensional consolidation (uncoupled)"


config fluid

def constants
global c_perm = 1e-10
global c_biotc = 1.
global c_biotm = 4.e9 * 100.
global c_bulk = 5.e8
global c_shear = 2.e8
global comod = c_bulk + 4. * c_shear / 3.
local storage = 1. / c_biotm + c_biotc * c_biotc / comod
local cv = c_perm / storage
global c_bulku = c_bulk + (c_biotc2) * c_biotm
global c_biotma= 1. / storage
global hh = 20.
global bt = cv / (hh * hh)
global pi2 = pi * .5
global pz = 1e5
global sig0 = - pz
global p0 = pz * c_biotc / (comod * storage)
global uz0 = pz * hh / comod
end
@constants

FLAC 3D Version 4.0


1 - 104 Fluid-Mechanical Interaction

; --- model geometry ---


gen zone brick size 1 1 @hh
def point
global pnt = gp_near(0.,0.,10.)
global zpnt = z_near(0.5,0.5,10.5)
global zz = (hh - gp_zpos(pnt)) / hh
end
@point

; --- mechanical model ---


model mech el
set fluid biot on
prop bu @c_bulk sh @c_shear
fix x y
fix z range z -.1 .1
ini szz 0.
apply szz @sig0 range z 19.9 20.1

; --- fluid flow model ---


model fluid fl_iso
prop perm @c_perm biot_c @c_biotc
ini biot_mod @c_biotm
ini pp 0

; --- fish functions ---


def pp10
pp10 = gp_pp(pnt) / pz
global ft = fltime
global c_szz = z_szz(zpnt) / sig0
global c_eszz= (z_szz(zpnt) + z_pp(zpnt)) / sig0
global c_uz = gp_zdisp(pnt) / uz0
end
def ppsol
local tt = bt * fltime
local val = 0.0
local valu = 0.0
local m
loop m (0,20)
local mm = pi2 * (2. * m + 1.)
local c_e = exp(-mm*mm*tt)/mm
val = val + sin(mm*zz)*c_e
valu = valu + cos(mm*zz)*c_e/mm
end_loop
ppsol = val*2.*p0/pz
global zdsol = valu*2.*c_biotc*p0/pz + zz - 1.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 105

end

; --- first establish undrained response ---


set fluid off mech on
prop bu @c_bulku
ini biot_mod 0.0
solve
ini pp @p0
save ucons_und

; --- drained response ---


fix pp 0 range z 19.9 20.1
def my_solve
local ii
loop ii (1,10)
global c_age = 500.0*ii
command
prop bu @c_bulk
ini biot_mod @c_biotma
set fluid on mech off
solve age @c_age
set fluid off mech on
ini biot_mod 0.0
solve ratio 2e-5
end_command
ytable(1,ii) = pp10
xtable(1,ii) = ft
ytable(2,ii) = ppsol
xtable(2,ii) = ft
ytable(3,ii) = c_uz
xtable(3,ii) = ft
ytable(4,ii) = zdsol
xtable(4,ii) = ft
ytable(5,ii) = c_szz
xtable(5,ii) = ft
ytable(6,ii) = c_eszz
xtable(6,ii) = ft
end_loop
table_name(1) = Flac Pore Pressure
table_name(2) = Analytical Pore Pressure
table_name(3) = Flac Vertical Displacement
table_name(4) = Analytical Vertical Displacement
table_name(5) = Total Stress
table_name(6) = Effective Stress
end
@my_solve

FLAC 3D Version 4.0


1 - 106 Fluid-Mechanical Interaction

save ucons
ret

Figure 1.33 Comparison between analytical and numerical values of pore


pressure in a one-dimensional consolidation test

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 107

Figure 1.34 Comparison between analytical and numerical values for vertical
displacement in a one-dimensional consolidation test

Figure 1.35 Evolution of pore pressure, total and effective stresses in a one-
dimensional consolidation test

FLAC 3D Version 4.0


1 - 108 Fluid-Mechanical Interaction

1.8.6 Transient Fluid Flow to a Well in a Shallow Confined Aquifer

A shallow confined aquifer of large horizontal extent is characterized by a uniform initial pore
0 . A well, fully penetrating the aquifer, is producing
pressure, p0 , and initial isotropic stress, zz
water at a constant rate, q, per unit depth from time, t = t0 . The elastic porous medium is
homogeneous and isotropic, and the flow of groundwater is governed by Darcys law. Transient
effects are linked to the compressibility of water and the soil matrix. In this problem, the effect of
pore-pressure changes are small compared to the overburden, and the vertical stress in the aquifer
may be assumed to remain constant with time. Also, horizontal strains are neglected compared to
the vertical ones. The conditions of fluid flow to the well are illustrated schematically in Figure 1.36.
The numerical solution to this problem is presented using both coupled and uncoupled modeling
approaches.

Figure 1.36 Flow to a well in a shallow confined aquifer

A cylindrical system of coordinates is chosen with the z-axis pointing upward in the direction of
the well axis. Substitution of the transport law in the fluid mass-balance equation gives, taking into
consideration that rr = = 0,

p zz
= M(k 2 p ) (1.116)
t t

where k is the homogeneous permeability coefficient, M is the Biot modulus and is the Biot
coefficient.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 109

Partial differentiation, with respect to time, of the elastic constitutive relation zz zz


0 +(pp ) =
0
1 zz yields, for constant zz ,

p zz
= 1 (1.117)
t t

where 1 = K + 4/3G.
Using this last equation to express zz in terms of p in Eq. (1.116), we obtain, after some manipu-
lations,

p
= c 2 p (1.118)
t

where c = k/S is the diffusion coefficient, S = 1/M + 2 /1 is the storage coefficient and, with
the problem being axisymmetric and not dependent on z, the Laplacian of p may be expressed as

2 p 1 p
p= 2 +
2
(1.119)
r r r

The solution to this differential equation with boundary conditions

lim p = p0
r

p q
lim 2 r =
r0 r k

is due to Theis (1935). It has the form

1
p = E1 (u) + p0 (1.120)
4

where p = pk/q. The dimensionless variable u is given by

r2
u= (1.121)
4c(t t0 )

and E1 is the exponential integral, defined as

FLAC 3D Version 4.0


1 - 110 Fluid-Mechanical Interaction

 e
E1 (u) = d (1.122)
u

The vertical displacement may be obtained by integration of the equilibrium equation zz /z = 0,


after expressing zz in terms of zz by means of the mechanical constitutive equation and substituting
zz /z for zz . This yields, after substitution of the boundary condition, and using Eq. (1.120),

z
uz = E1 (u) (1.123)
4

where uz = uk1 /(qH ) and x = z/H .


The stresses are derived from the mechanical constitutive equations and Eq. (1.120) for p. They
have the form

1
rr = = E1 (u) + zz
0
(1.124)
2

zz = zz
0

where = k1 /(qG).
The FLAC 3D grid for this problem corresponds to a nine-degree wedge in a hollow cylinder of unit
height. The axis and radius of the well correspond to cylinder axis and radius, respectively. The
cylinder outer radius is selected as 100 m, to model the far boundary of the flow domain. Figure 1.37
shows the FLAC 3D grid.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 111

Figure 1.37 FLAC 3D grid for a well in a shallow aquifer

A total of 31 zones are used, lined up and graded in the radial direction. The displacements are
fixed in the radial and tangential directions, and in the vertical direction at the cylinder base. A
vertical pressure of magnitude zz 0 is applied at the top of the model.

The properties for this example are defined:


dry bulk modulus, K 118 MPa
dry shear modulus, G 71 MPa
water bulk modulus, Kf 2 GPa
Biot coefficient, 1.0
porosity, n 0.4
m2
permeability, k 2.98 108 P asec

The initial pore pressure is 147 kPa, and the initial isotropic stress is 147 kPa. Because the
Biot coefficient is equal to one (incompressible soil grains), the Biot modulus is equal to the ratio
between water bulk modulus and porosity (in this case, M = 5 GPa). The well-pumping rate per
unit aquifer thickness is 2.21 103 m2 /s, and the well radius, rw , is selected as 1 m.
Stresses and pore pressures are initialized to the values given above. The well flow-rate is modeled
as a surface flux of magnitude q/(2rw ) applied to the well radius r = rw .

FLAC 3D Version 4.0


1 - 112 Fluid-Mechanical Interaction

Both coupled and uncoupled solutions are provided for this problem to a time of 32 seconds, with
intermediate results at 4, 8 and 16 seconds. Both solutions are included in the FLAC 3D data file
listed in Example 1.17. The corresponding project file, WellConfAquifer.f3prj, is located in folder
datafiles\fluid\WellConfAquifer.
The coupled problem is solved (SET uid on mech on) using the explicit solution algorithm. The
maximum out-of-balance mechanical force is limited to 10.0, the maximum number of mechanical
sub-steps in the coupled fluid-mechanical calculation step is limited to 1000, and the mechanical
process is the slave module to the master fluid-flow process. This is accomplished with the
commands
set mech substep 1000 auto
set mech force 10

By specifying these commands, the out-of-balance mechanical force will be kept to a small value
while the fluid-flow calculation proceeds.
This example is pore-pressure driven, and the value for the stiffness ratio, Rk , is approximately
23 for the specified fluid bulk modulus of 2 GPa. Thus, the flow calculation may be uncoupled
from the mechanical calculation, and the approach discussed in Section 1.7.2.3 may be applied.
The fluid modulus during the flow-only step is defined by Eq. (1.103) in order to preserve the
diffusivity of the system. During the mechanical-only step, the fluid modulus is set to zero to
prevent further adjustments by volumetric strains. The following commands are applied for the
uncoupled calculation for a 4-second flow time:
set mech force 10
set fluid on mech off
ini fmod = uwb
solve age 4.
set fluid off mech on
ini fmod = 0.0
solve

The FISH variable uwb is the adjusted fluid modulus calculated by Eq. (1.103). Note that, if
conditions are such that Rk <<< 1, it is not necessary to adjust the fluid modulus during the flow
calculation because the diffusivity will be accurate.
The analytical solutions for pore pressure, stresses and vertical displacement are programmed as
FISH functions in Example 1.17. The exponential integral function used in the analytical solutions
is programmed as a separate FISH function contained in file exp-int.fis (see Example 1.18).
Analytical and numerical values are stored in tables. The results are then compared in graphical
form. The pore-pressure comparison at selected times is presented in Figure 1.38 for the coupled
solution, and in Figure 1.39 for the uncoupled solution. The stresses and vertical displacement
values at 32 seconds are processed by the FISH function well 32, and illustrated in Figures 1.40
and 1.42 for the coupled solution, and in Figures 1.41 and 1.43 for the uncoupled solution.
The results for both the coupled and uncoupled solutions are essentially identical, and compare
well with the analytical solution. The uncoupled solution is reached much more quickly than the

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 113

coupled solution. Note that the coupled calculation requires more than 500,000 steps, while the
uncoupled calculation requires approximately 16,000 steps.

Example 1.17 Transient fluid flow to a well in a shallow aquifer


new project
set fish autocreate off

title
Transient fluid flow to a well in a shallow confined aquifer

config fluid

define constants ; model constants


global n1 = 31 ; zones in x-direction
global n2 = 1 ; zones in y-direction
global w_bulk = 2e9 ; water bulk modulus
global c_poro = 0.4 ; porosity
global c_biom = w_bulk / c_poro ; Biot modulus
global c_bioc = 1. ; Biot coefficient
global eps = 1.e-3 ; tolerance for well radius
global rn = 1. ; well radius
global qtot = 2.21e-3 ; well pumping rate /
; unit aquifer thickness
global qin = -qtot/(2.0*pi*rn) ; equivalent flux
global rin = rn + eps
global p0 = 147000. ; initial pore pressure
global c_kw = 2.98e-8 ; Flac permeability
global c_e = qtot / (4. * pi * c_kw * p0)
global c_k = 11.8e7 ; bulk modulus
global c_g = 7.1e7 ; shear modulus
global sig0 = -1.47e5 ; initial isotropic stress
global al1 = c_k + 4. * c_g / 3.
global ss = (1. / c_biom + c_bioc2 / al1) * 0.25 / c_kw ; 1./4c
global stor = c_poro/w_bulk + 1.0/al1 ; storativity
global uwb = c_poro / stor ; adjusted fluid modulus
global R_k = w_bulk / (c_poro * al1) ; stiffness ratio
global err = get_array(15)
end
@constants

; --- model geometry (hollow cylinder - 9 degree wedge) ---


gen zone cshell p0 0. 0 1. p1 1.e2 0 1. &
p2 0. 0 0. p4 1.e2 0 0. &
p3 0.98769e2 0.15643e2 1. &
p5 0.98769e2 0.15643e2 0. &

FLAC 3D Version 4.0


1 - 114 Fluid-Mechanical Interaction

dim 1 1 1 1 size @n1 @n2 1 ratio 1.1 1 1


range name in cyl end1 0 0 -100 end2 0 0 100 rad @rin
range name out cyl end1 0 0 -100 end2 0 0 100 rad 99. not
range name xl y 0 z 0
; --- mechanical model ---
model mech el
prop bu @c_k sh @c_g
fix x y
fix z range z -0.001 0.001
ini sxx @sig0
ini syy @sig0
ini szz @sig0
apply szz @sig0 range z 1
; --- fluid flow model ---
model fluid fl_iso
prop perm @c_kw poro @c_poro
ini fmod @w_bulk
ini pp @p0
apply discharge @qin range nrange in
; --- fish functions ---
call exp-int.fis suppress

define sol_pp(tab1,tab2)
local pnt = gp_head
local count = 0
local avg = 0
err(tab1) = 0
loop while pnt # null
local rad = sqrt(gp_ypos(pnt)2 + gp_zpos(pnt)2)
if rad < 1.e-4 then
local x = gp_xpos(pnt)
if x > 0.99 then
count = count + 1
table(tab1,x) = gp_pp(pnt) / p0
local ft = fltime
local e_val = ss * x * x / ft
local val = exp_int(e_val)
table(tab2,x) = - val * c_e + 1.
err(tab1) = err(tab1) + (table(tab2,x)-table(tab1,x))2
avg = avg + table(tab2,x)
end_if
end_if
pnt = gp_next(pnt)
end_loop
avg = abs(avg)
err(tab1) = sqrt(count*err(tab1)) / avg

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 115

end
; --- setting ---
set fluid on

save ex1_17-ini
;
; --- pumping (coupled analysis) ---
set fluid substep 100
set mech substep 1000 auto ;slave
set mech force 10.
solve age 4.
@sol_pp(1,2)
solve age 8.
@sol_pp(3,4)
solve age 16.
@sol_pp(5,6)
solve age 32.
@sol_pp(7,8)

save ex1_17-cpl

; --- pumping (uncoupled analysis) ---


restore ex1_17-ini
set mech force 10
set fluid on mech off
ini fmod = @uwb
solve age 4.
set fluid off mech on
ini fmod = 0.0
solve
@sol_pp(1,2)
;
set fluid on mech off
ini fmod = @uwb
solve age 8.
set fluid off mech on
ini fmod = 0.0
solve
@sol_pp(3,4)
;
set fluid on mech off
ini fmod = @uwb
solve age 16.
set fluid off mech on
ini fmod = 0.0
solve

FLAC 3D Version 4.0


1 - 116 Fluid-Mechanical Interaction

@sol_pp(5,6)
;
set fluid on mech off
ini fmod = @uwb
solve age 32.
set fluid off mech on
ini fmod = 0.0
solve
@sol_pp(7,8)
save ex1_17-ucpl
;
return

Example 1.18 Exponential integral function EXP-INT.FIS


; --- Exponential integral E1(e_val) ---
; Input: e_val
;
define exp_int(e_val)
local e_e1
if e_val < 0.0 then
local ii = out( Argument of Exponential function must be positive)
exit
end_if
if e_val = 0.0 then
exp_int = 1.e12
exit
end_if
if e_val < 1. then
e_e1 = ((.00107857 * e_val - .00976004) * e_val + .05519968) * e_val
e_e1 = ((e_e1 - .24991055) * e_val + .99999193) * e_val
exp_int = e_e1 - .57721566 - ln(e_val)
else
e_e1 = .250621 + e_val * (2.334733 + e_val)
e_e1 = e_e1 / (1.681534 + e_val * (3.330657 + e_val))
exp_int = e_e1 * exp(-e_val) / e_val
end_if
end
return

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 117

Figure 1.38 Pore-pressure distribution at 4, 8, 16 and 32 seconds


coupled solution
(analytical values = lines; numerical values = symbols)

Figure 1.39 Pore-pressure distribution at 4, 8, 16 and 32 seconds


uncoupled solution
(analytical values = lines; numerical values = symbols)

FLAC 3D Version 4.0


1 - 118 Fluid-Mechanical Interaction

Figure 1.40 Radial, tangential and vertical stress distributions at 32 seconds


coupled solution
(analytical values = lines; numerical values = symbols)

Figure 1.41 Radial, tangential and vertical stress distributions at 32 seconds


uncoupled solution
(analytical values = lines; numerical values = symbols)

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 119

Figure 1.42 Radial displacement distribution at 32 seconds


coupled solution
(analytical values = line; numerical values = symbols)

Figure 1.43 Radial displacement distribution at 32 seconds


uncoupled solution
(analytical values = line; numerical values = symbols)

FLAC 3D Version 4.0


1 - 120 Fluid-Mechanical Interaction

1.8.7 Pressuremeter Test

The pressuremeter test is used to determine in-situ mechanical properties of soils (Wood 1990).
A long, rubber membrane is expanded against the walls of a vertical borehole (Figure 1.44). The
pressure inside the membrane is constant. Radial displacements of the borehole wall are measured
as a function of the pressure. The soil deforms in plane strain in the plane normal to the borehole
and sufficiently distant from the ends of the membrane.

Figure 1.44 Cylindrical cavity expansion in pressuremeter test

The borehole (radius a = 0.03 m) is drilled in homogeneous, isotropic soil. The soil is assumed
to behave as a linearly elastic material saturated with groundwater. The following mechanical
properties of the soil and groundwater are assumed in this problem:

shear modulus (G) 11.1 MPa


bulk modulus (K) 33.3 MPa
porosity (n) 0.48
m2
soil permeability (k) 1.02 1014 P asec
bulk modulus of water (Kf ) 500 MPa

The initial state of (total) stress in the soil is isotropic: 1 = 2 = 3 = 327.87 kPa, while the
initial pore pressure is p = pi = 147.0 kPa.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 121

The soil is allowed to consolidate for 300 seconds after the drilling of the borehole. After the
consolidation, the pressure inside the rubber membrane is increased from zero to 1 MPa during 600
seconds. (The rubber membrane prevents further drainage of the groundwater into the borehole.)
The analytical solution for two-dimensional consolidation of a borehole in an elastic medium was
obtained by Detournay and Cheng (1988). The drilling of the borehole is simulated by removing
the stress acting on the inner boundary of the borehole and setting the pore pressure to zero at time
t = 0. Since the initial stress is isotropic, the loading conditions can be decomposed into two modes:
(1) mode 1, an isotropic stress; and (2) mode 2, an initial pore-pressure distribution. The boundary
conditions at the wall of the borehole for each loading mode can be expressed as follows:
(1) mode 1

rr = i
r = 0
p=0

(2) mode 2

rr = 0
r = 0
p = pi

The stresses and displacements due to mode 1 loading are described by the classical Lam solution.
Since the volumetric strain computed from the Lam solution is zero throughout the domain, the
mode 1 loading does not generate pore pressure, and deformation takes place instantaneously. The
evolution of the pore-pressure field due to mode 2 loading is governed by a homogeneous diffusion
equation. The deformation and stress fields can be calculated from the pore-pressure field. The
problem is solved in the Laplace transform domain, and the solutions are transformed back to the
time domain using the numerical inversion method developed by Stehfest (1970). The complete
solution is described by Detournay and Cheng (1988). The analytical solutions are calculated and
imported into FLAC 3D tables for comparison to the numerical results.
Because the problem is axisymmetric, it is simulated using a row of 61 zones forming a truncated
wedge of 9 angle. The geometry of the model and boundary conditions are illustrated in Figure 1.45.
The FLAC 3D grid is shown in Figure 1.46. The far-field boundary is at radius b = 1.50 m and can
be considered at infinity if radius b is scaled to the radius of the borehole (a = 0.03 m). (The length
resulting from the diffusivity of the model, and time of the simulation, are also much smaller than
b.)

FLAC 3D Version 4.0


1 - 122 Fluid-Mechanical Interaction

Figure 1.45 Domain of FLAC 3D simulation

Figure 1.46 FLAC 3D grid

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 123

The simulation is conducted in the steps corresponding to the actual operations in the field test:
(1) The total stress on the contour of the borehole is reduced to zero, simulating drilling
of the borehole. Although the total stress (in the FLAC 3D model) is reduced to zero in
steps, the change in real flow time is instantaneous (i.e., the model undergoes undrained
deformation). (The fluid flow calculation is turned off: SET uid off.) The model is
iterated to reach mechanical equilibrium.
(2) The pressure boundary condition at the contour of the borehole is set to zero. The model
consolidates for 300 seconds (SET uid on), resulting in the drainage of the groundwater
into the borehole.
(3) The contour of the borehole is defined as impervious (due to installation of the rubber
membrane), and the pressure boundary condition is applied on the contour of the borehole:
1.0 MPa in 100 increments at each 6 seconds. That is, the soil consolidates under the
applied load for 6 seconds before the next load increment (0.01 MPa) is applied.
The FLAC 3D model requires approximately 9 MB RAM and takes less than 15 minutes to run all
stages of the simulation on a 2.8 GHz Pentium IV computer.
The profiles of the normalized pore pressure, p/pi , normalized radial stress, rr /i , and tangential
stress, /i (as a function of the normalized radius r/a), after 300 seconds of consolidation,
calculated from FLAC 3D and using the closed-form solution from Detournay and Cheng (1988),
are shown in Figures 1.47 and 1.48. Agreement between the curves is very good.
The profiles of the normalized pore pressures, and the radial and tangential stresses after 600 seconds
of pressurization of the borehole are shown in Figures 1.49 and 1.50.

FLAC 3D Version 4.0


1 - 124 Fluid-Mechanical Interaction

Figure 1.47 Pore-pressure profiles 300 seconds consolidation

Figure 1.48 Profiles of radial and tangential normal stresses 300 seconds
consolidation

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 125

Figure 1.49 Pore-pressure profiles 600 seconds consolidation

Figure 1.50 Profiles of radial and tangential normal stresses 600 seconds
consolidation

FLAC 3D Version 4.0


1 - 126 Fluid-Mechanical Interaction

The pressure variations in the pressuremeter test are often such that nonlinear, plastic deformations
are induced in a soil. Therefore, the same problem is simulated using a Mohr-Coulomb model for
plastic deformation of the soil. The following strength parameters are assumed in the simulation:

friction angle () 22
dilation angle () 10
cohesion (c) 26 kN/m2

The profiles of the normalized pore pressures, and the normalized radial and tangential stresses
after 600 seconds of pressurization of the borehole in a Mohr-Coulomb material, are shown in
Figures 1.51 and 1.52.
The numerical solution for a linearly elastic material is generated using the data file listed in Ex-
ample 1.19. The input data file for a Mohr-Coulomb material is the same, except that: (1) the
material model is declared a Mohr-Coulomb material (MODEL mohr); and (2) the correspond-
ing material properties are added (PROP fric 30 dil 10 coh 26000). The data file pressuremeter-
maket.f3fis generates the tables with the profiles of the normalized pore pressure and the normal-
ized stresses (see Example 1.20). The data file preana.dat contains tables in which the analytical
elastic solutions for pore pressure, radial and tangential stress profiles, after 300 seconds of pres-
surization, are stored. The corresponding project file, pressuremeter.f3prj, is located in folder
datafiles\fluid\pressuremeter.

Figure 1.51 Pore-pressure profile 600 seconds consolidation


(Mohr-Coulomb material)

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 127

Figure 1.52 Profiles of radial and tangential normal stresses 600 seconds
consolidation (Mohr-Coulomb material)

Example 1.19 Pressuremeter test


;--------------------------------------------------------------------
; pressuremeter test in poro-elastic material
; (a) Elastic model
;--------------------------------------------------------------------
new project
set fish autocreate off

title Pressuremeter - elastic model

call pressuremeter-maket.f3fis suppress

def test0
global tim0=clock
end
def test1
global tim=(clock-tim0)/100.0
end
@test0

config fluid

FLAC 3D Version 4.0


1 - 128 Fluid-Mechanical Interaction

; --- constants ---


define gcons
global n1 = 61
global w_bulk = 5e8
global c_poro = 0.48
global c_biom = w_bulk / c_poro ;Biot modulus
end
@gcons
; --- locations of history points ---
define findid
local c_id
local pnt = gp_head
loop while pnt # null
c_id = gp_id(pnt)
if c_id = 1 then
global id1 = pnt
end_if
if c_id = 17 then
global id2 = pnt
end_if
if c_id = 37 then
global id3 = pnt
end_if
if c_id = 57 then
global id4 = pnt
end_if
if c_id = 77 then
global id5 = pnt
end_if
if c_id = 117 then
global id6 = pnt
end_if
pnt = gp_next(pnt)
end_loop
pnt = zone_head
loop while pnt # null
c_id = z_id(pnt)
if c_id = 1 then
global zid1 = pnt
end_if
if c_id = 5 then
global zid2 = pnt
end_if
if c_id = 10 then
global zid3 = pnt
end_if

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 129

if c_id = 15 then
global zid4 = pnt
end_if
if c_id = 20 then
global zid5 = pnt
end_if
if c_id = 31
global zid6 = pnt
end_if
pnt = z_next(pnt)
end_loop
end

define radin
radin = 1.001*gp_xpos(id1)
end
gen zone brick p0 0.03 0 0 p1 1.5 0 0 &
p2 0.03 0 -0.01 p4 1.5 0 -0.01 &
p3 2.96307e-2 0.46930e-2 0 p6 1.48153 0.23465 0 &
p5 2.96307e-2 0.46930e-2 -0.01 p7 1.48153 0.23465 -0.01 &
size @n1 1 1 ratio 1.1 1 1
range name out cyl end1 0 0 -10 end2 0 0 10 rad 1.48 not
range name xl y -.001 .001 z -.001 .001
@findid
; --- mechanical model ---
; elastic
model mech elastic
prop bu 3.33e7 sh 1.11e7
ini sxx -327870
ini syy -327870
ini szz -327870
apply nstress -327870 range nrange out
apply nstress -327870 range cyl end1 0 0 -10 end2 0 0 10 rad @radin
; --- gw model ---
model fluid fl_iso
set fluid biot on
prop perm 1.02e-14
ini biot_mod @c_biom
ini pp 147000
; --- histories ---
def gwtime
gwtime = fltime
global rad = gp_xpos(id1)
global pp1 = gp_pp(id1)
global pp2 = gp_pp(id2)
global pp3 = gp_pp(id3)

FLAC 3D Version 4.0


1 - 130 Fluid-Mechanical Interaction

global pp4 = gp_pp(id4)


global pp5 = gp_pp(id5)
global pp6 = gp_pp(id6)
global sx1 = z_sxx(zid1)
global sx2 = z_sxx(zid2)
global sx3 = z_sxx(zid3)
global sx4 = z_sxx(zid4)
global sx5 = z_sxx(zid5)
global sx6 = z_sxx(zid6)
end
set hist_rep 50
his add fish @gwtime
his add fish @rad
his add fish @pp1
his add fish @pp2
his add fish @pp3
his add fish @pp4
his add fish @pp5
his add fish @pp6
his add fish @sx1
his add fish @sx2
his add fish @sx3
his add fish @sx4
his add fish @sx5
his add fish @sx6
; --- excavate: reduction of total pressure to zero in steps ---
define slow_excav
local nn
loop nn (1,100)
local fac = 1.0 - float(nn) / 100.0
global ap_press = -327870.0 * fac
local ii = out( applied pres = +string(ap_press))
radin
command
apply nstr @ap_press range cyl end1 0 0 -10 end2 0 0 10 rad @radin
solve force 0.1
end_command
end_loop
end
@radin
fix pp range cyl end1 0 0 -10 end2 0 0 10 rad @radin

fix y z range y -.00001 .00001


apply nvel 0. pl nor -0.46930e-2 2.96307e-2 0 &
dvel 0. pl nor -0.46930e-2 2.96307e-2 0 &
range plane nor -0.46930e-2 2.96307e-2 0 orig 0 0 0 dist 0.00001

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 131

set fluid off


set large
set echo off
@slow_excav
set echo on
solve for 0.001
save pre1
; --- fish function ---
define charge
local zz
local pas = 0
global pis
global abc
loop zz (0,100)
abc = -1e4 * zz
pas = pas + 6
pis = 300 + pas
local ii = out( applied mec. pressure = +string(-abc))
radin
command
apply nstress @abc range cyl end1 0 0 -10 end2 0 0 10 rad @radin
set mech substep 1
set fluid off
solve for 0.001
set fluid on
set mech substep 100000 auto ;slave
set mech force 0.01
solve age @pis
end_command
end_loop
end
; --- let water flow out for 300 s ---
set fluid on
@radin
ini pp 0 range cyl end1 0 0 -10 end2 0 0 10 rad @radin
set mech substep 100000 auto ;slave
set mech force 0.01
solve age 300
save pre2

; --- apply pressure inside the borehole ---


@radin
free pp range cyl end1 0 0 -10 end2 0 0 10 rad @radin
@charge
@test1
list @tim

FLAC 3D Version 4.0


1 - 132 Fluid-Mechanical Interaction

save pre3
return

Example 1.20 Generate tables


; numerical solution for pressuremeter test
; table 1: pore pressure profile
; table 2: radial stress profile
; table 3: tangential stress profile
; table 4: vertical stress profile
define maket
local sig_0 = -327870
local pp_0 = 147000
local a = 0.03
local ang = 4.5*degrad
local sagn = sin(ang)
local cagn = cos(ang)
local ss = sagn*sagn
local cc = cagn*cagn
local s2a = 2.*sagn*cagn
local tab1 = 1
local tab2 = 2
local tab3 = 3
local tab4 = 4
local pnt = zone_head
loop while pnt # null
local x = z_xcen(pnt)
local y = z_ycen(pnt)
local z = z_zcen(pnt)
local rad = sqrt(x*x+y*y+z*z)/a
table(tab1,rad) = z_pp(pnt)/pp_0
table(tab2,rad) = (z_sxx(pnt)*cc+z_sxy(pnt)*s2a+z_syy(pnt)*ss)/sig_0
table(tab3,rad) = (z_sxx(pnt)*ss-z_sxy(pnt)*s2a+z_syy(pnt)*cc)/sig_0
table(tab4,rad) = z_szz(pnt)/sig_0
pnt = z_next(pnt)
end_loop
end

; Compare tables tab1 and tab2


define checkError(tab1,tab2,tol)
local str = mismatch between tables + string(tab1)
str = str + and + string(tab2)
local ie
local tab = tab1
if table_size(tab1) > table_size(tab2) then

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 133

tab1 = tab2
tab2 = tab
endif
local err = 0
local max_ = -1e20
loop ie (1,table_size(tab1))
local xval1 = xtable(tab1,ie)
local yval1 = ytable(tab1,ie)
local yval2 = table(tab2,xval1)
max_ = max(max_,yval1)
err = err + (yval2-yval1)2
endloop
err = sqrt(err/table_size(1)) / max_
if err > tol then
error = str + error is : + string(err)
endif
end

return

FLAC 3D Version 4.0


1 - 134 Fluid-Mechanical Interaction

1.9 Verification of Concepts, and Modeling Techniques for Specific Applications

1.9.1 Solid Weight, Buoyancy and Seepage Forces

When fluid flows through a porous medium there are, following Terzaghi (1943) and Taylor (1948),
three forces acting per unit volume on the solid matrix: the solid weight, the buoyancy, and the
drag or seepage force (also see Bear 1972). These forces are automatically taken into account in
the FLAC 3D formulation. This may be shown as follows.
In FLAC 3D, equilibrium is expressed using total stress:

ij
+ s gi = 0 (1.125)
xj

where s is the undrained (saturated bulk) density, and gi is gravitational vector. (Note that Einstein
notation convention for summation over repeated indices applies to the equations in this section).
Undrained density may be expressed in terms of drained density, d , and fluid density, w , using
the expression

s = d + nsw (1.126)

where n is porosity, and s is saturation. The definition of effective stress is

ij = ij pij (1.127)

Substitution of Eqs. (1.126) and (1.127) in Eq. (1.125) gives, after some manipulations,

ij p
+ d gi (1 n) nw =0 (1.128)
xj xi xi

where we have introduced fluid unit weight w and piezometric head as

w = w g (1.129)

p xk gk
= (1.130)
w g g

and g is the gravitational magnitude.


p
In Eq. (1.128), the term d gi can be associated with solid weight, (1 n) xi
with buoyancy, and

nw xi
with seepage force (drag).

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 135

1.9.1.1 A Simple Example Illustrating Solid Weight, Buoyancy and Seepage Forces

A simple example is given below to illustrate the contribution of these individual terms in the
context of FLAC 3D methodology. We consider a layer of soil of large lateral extent and thickness,
H = 10 m, resting on a rigid base. The layer is elastic, the drained bulk modulus, K, is 100 MPa,
and the shear modulus, G, is 30 MPa. The density of the dry soil, d , is 500 kg/m3 . The porosity,
n, is uniform with a value of 0.5. The mobility coefficient, k, is 108 m2 /(Pa-sec). The fluid bulk
modulus, Kw , is 2 GPa, and gravity is set to 10 m/sec2 .
Initially, the water table is at the bottom of the layer, and the layer is in equilibrium under gravity.
We study the heave of the layer when the water level is raised, and also the heave or settlement
under a vertical head gradient.
The problem is one dimensional; the FLAC 3D model is a mesh composed of a single column of 10
zones in the z-direction. The axes origin is at the bottom of the model. The mechanical boundary
conditions correspond to roller boundaries at the base and sides of the model. The fluid-flow
boundary conditions are described for the individual cases below.
This example is run using the groundwater configuration (CONFIG uid). The coupled groundwater-
mechanical calculations are performed using the basic fluid-flow scheme. The calculation times
are quite short for this small model; for larger models, uncoupled modeling can be applied to speed
the calculation.
For reference, in comparison of FLAC 3D results to the analytical solutions, the one-dimensional
incremental stress-strain relation for this problem condition is

zz + p = (K + 4G/3) zz (1.131)

where is the Biot coefficient (set equal to 1 for this simulation), K is the drained bulk modulus,
G is the shear modulus, and zz is the vertical strain.
Solid Weight We first consider equilibrium of the dry layer. The dry density of the material is
assigned, and the saturation is initialized to zero (the default value for saturation is 1 in CONFIG
uid mode). The flow calculation is turned off, and the mechanical calculation is on. The value
of fluid bulk modulus is set to zero to prevent any generation of pore pressure under volumetric
straining for this stage. The model is cycled to equilibrium. By integration of Eq. (1.125) applied
to the dry medium, we obtain

(1)
zz = d g(H z) (1.132)

Vertical stress at the end of the FLAC 3D simulation is plotted versus elevation in Figure 1.53. The
values match those obtained for equilibrium under gravity of the dry medium (Eq. (1.132)), as
expected.

FLAC 3D Version 4.0


1 - 136 Fluid-Mechanical Interaction

Figure 1.53 Vertical stress versus elevation dry layer

The vertical displacement at the top of the model is found from the equation

d gH 2
u= (1.133)
2(K + 4G/3)

The calculated value from FLAC 3D matches the analytical value at this stage (1.786 103 m).
Note that the equilibrium ratio limit (SET mech ratio) is reduced to 106 to provide this level of
accuracy for this example.
Buoyancy We continue this example by raising the water table to the top of the model. We reset
the displacements to zero, and assign the fluid properties listed above. The pore pressure is fixed
at zero at the top of the model, and the saturation is initialized to 1 throughout the grid. (Note that
a fluid-flow calculation to steady state is faster if the state starts from an initial saturation 1 instead
of a zero saturation.) Fluid-flow and mechanical modes are both on for this calculation stage, and
a coupled calculation is performed to reach steady state. The code uses the saturated density for
this calculation, as determined (internally) from Eq. (1.126). By integration of Eq. (1.125) for the
saturated medium, we obtain

(2)
zz = s g(H z) (1.134)

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 137

The comparison of total vertical stress profile from FLAC 3D to that from Eq. (1.134) is shown in
Figure 1.54:

Figure 1.54 Vertical stress versus elevation saturated layer

At steady state, the pore pressure is hydrostatic:

p(2) = w g(H z) (1.135)

Contours of pore pressure at steady state are shown in Figure 1.55.

FLAC 3D Version 4.0


1 - 138 Fluid-Mechanical Interaction

Figure 1.55 Pore pressure contours at steady state saturated layer

The vertical displacement induced by raising the water table is now upwards. The amount of heave
is calculated starting from Eq. (1.131). We write this equation in the form

du
(2)
(zz zz
(1)
) + (p(2) p(1) ) = (K + 4G/3) (1.136)
dz

For this example, p (1) = 0. After substitution of Eqs. (1.132), (1.134) and (1.135) into Eq. (1.136),
we obtain, after some manipulation,

  du
(s w ) d g(H z) = (K + 4G/3) (1.137)
dz

The term (s w ) is the buoyant density. Substitution of Eq. (1.126) for undrained density in
Eq. (1.137) produces

du
(1 n)w g(H z) = (K + 4G/3) (1.138)
dz

Finally, after integration between 0 and H, we obtain

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 139

(1 n)w g  z
u= H z (1.139)
(K + 4G/3) 2

and, for z = H , this gives

(n 1)w gH 2
u= (1.140)
2(K + 4G/3)

The final numerical displacement at the top of the model compares well with the analytical value
(+1.786 103 m). The displacements, induced upward, are plotted in Figure 1.56:

Figure 1.56 Heave of the layer at steady state saturated layer

Additional Rise in Water Table We continue from this stage, and model the effect of an additional
rise in the water level on the layer. This time, the water table is raised to 20 m above the top of the
model. The corresponding hydrostatic pressure is p = w gh, where h is 20 m and p = 0.2 MPa.
We reset displacements to zero and apply a pressure of 0.2 MPa at the top of the model. A fluid
pore pressure is applied (with FIX pp 2e5), as is a mechanical pressure (with APPLY nstress), along
the top boundary. We now perform the coupled calculation again for an additional 500 seconds
of fluid-flow time. No further movement of the model is calculated. This is because the absolute
increase in zz is balanced by the increase in pore pressure, and the Biot coefficient is set to 1. Thus,
no displacement is produced. At the end of this stage, the hydrostatic pore pressure is given by

FLAC 3D Version 4.0


1 - 140 Fluid-Mechanical Interaction

 z z
(3)
p (3)
= pb 1 + pt (1.141)
H H

(3)
where pb is the fluid pressure at the base of the layer, and pt is the pressure at the top. For this
(3)
case, pb = 0.3 MPa, and pt = 0.2 MPa.
Seepage Force (Upwards Flow) We now study the scenario in which the base of the layer is in
contact with a high-permeability over-pressured aquifer. The pressure in the aquifer is 0.5 MPa.
We continue from the previous stage, reset displacements to zero, and apply a pore pressure of 0.5
MPa at the base (FIX pp 5e5). The coupled mechanical-flow calculation is performed until steady
state is reached. The plot of displacement vectors at this stage, shown in Figure 1.57, indicates
heave as a result of the upwards flow.

Figure 1.57 Heave of the layer at steady state seepage force from over-
pressured aquifer

The analytical solution for the heave can be calculated from Eq. (1.131). There is no change in
total stress, and so the term zz drops out. Also, the Biot coefficient is equal to unity. Thus we
can write

du
p (4) p(3) = (K + 4G/3) (1.142)
dz

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 141

where p (3) is given by Eq. (1.141), and p (4) is the steady-state pore pressure distribution at the end
of this stage. This pore pressure is given by

 z z
(4)
p (4)
= pb 1 + pt (1.143)
H H

(4)
where pb = 0.5 MPa. Substitution of Eqs. (1.143) and (1.141) into Eq. (1.142), and further
integration produces

p pb 
(4)
z 
(3)
u= b z 1 (1.144)
(K + 4G/3) 2H

For y = H , we obtain

(4) (3)
p pb H
u= b (1.145)
(K + 4G/3) 2

The FLAC 3D result for surface heave compares directly to this result (u = 7.143 103 m).
Seepage Force (Downwards Flow) The seepage force case is repeated for the scenario in which
the base of the layer is in contact with a high-permeability under-pressured aquifer. This time, a
(5)
pressure value of pb = 0.1 MPa is specified at the base. The displacements are reset and the coupled
calculation is made. The layer settles in this case, which can be seen from the displacement vector
plot in Figure 1.58. The analytical value for the displacement may be derived from Eq. (1.145)
(5) (4)
after replacing pb for pb . The FLAC 3D settlement compares well with the analytical settlement
of u = 7.143 103 m.

FLAC 3D Version 4.0


1 - 142 Fluid-Mechanical Interaction

Figure 1.58 Settlement of the layer at steady state seepage force from under-
pressured aquifer

The complete data file for all of these cases is listed below in Example 1.21. The corresponding
project file, WeightBuoyancySeepage.f3prj, is located in folder datafiles\fluid\WeightBuoyan-
cySeepage.

Example 1.21 Solid weight, buoyancy and seepage forces


;; Solid weight, buoyancy and seepage forces

new project
set fish autocreate off

title Buoyancy - fully coupled

config fluid

define setup
global m_bu = 1e8 ; drained bulk modulus
global m_sh = 0.3e8 ; shear modulus
global m_d = 500.0 ; material dry mass density
global m_n = 0.5 ; porosity
global w_d = 1000.0 ; water mass density
global _grav = 10.0 ; gravity

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 143

global _H = 10.0 ; height of layer


;
global mgrav = -_grav
end
@setup

define num_dis
local al1 = m_bu+4.0*m_sh/3.0
global m_rho = m_d+m_n*w_d ; material wet density
global ana_dis1 = -(m_d)*_grav*_H2/(2.0*al1)
global ana_dis2 = -(m_n-1.0)*w_d*_grav*_H2/(2.0*al1)
global ana_dis3 = 0.0
global ana_dis4 = 2e5*_H/(2.0*al1) ; new pp - old pp=2e5(_H-y)/_H
global ana_dis5 = -2e5*_H/(2.0*al1) ; new pp - old pp=-2e5(_H-y)/_H
global pnt = gp_near(1,0,10)
global num_dis = gp_zdisp(pnt)
end

gen zone brick size 1 1 10


model mech e fluid fl_iso
prop bu @m_bu sh @m_sh
ini dens @m_d
; --- (column is dry) ---
ini sat 0
; --- boundary conditions ---
fix z range z 0
fix x range x 0
fix x range x 1
fix y range y 0
fix y range y 1
; --- gravity ---
set grav 0 0 @mgrav
; --- histories ---
his add fish @num_dis
his add fish @ana_dis1

; --- initial equilibrium


set fluid off mech on
solve
list @num_dis @ana_dis1
save ini

; -------------------------------------------------
; --- Fully coupled ---
; -------------------------------------------------
restore ini

FLAC 3D Version 4.0


1 - 144 Fluid-Mechanical Interaction

title Buoyancy - fully coupled


ini xdis 0 ydis 0 zdis 0
his reset
; --- histories ---
his add fish @num_dis
his add fish @ana_dis2
his add fltime

; --- add water ---


ini sat 1
ini fden=@w_d fmod=2e8 ftens=-1e10
prop poro=@m_n perm 1e-8
; --- boundary conditions ---
fix pp 0 range z 10
; --- static equilibrium ---
set fluid on mech on
set mech force 0
set mech ratio 1e-6
set mech substep 10 auto
set fluid substep 256
; --- we can run this simulation coupled, using ---
solve age 300
list @num_dis @ana_dis2
save ex1a

; -------------------------------------------------
; --- Uncoupled ---
; -------------------------------------------------
restore ini
title Buoyancy - uncoupled
ini xdis 0 ydis 0 zdis 0
his reset
; --- add water ---
ini sat 1
ini fden=@w_d fmod=2e8 ftens=-1e10
prop poro=@m_n perm 1e-8
; --- boundary conditions ---
fix pp 0 range z 10
; --- static equilibrium ---
set fluid on mech off
set mech force 0
set mech ratio 1e-6
; --- we can run this simulation uncoupled, using ---
solve age 300

; --- histories ---

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 145

his add fish @num_dis


his add fish @ana_dis2

set flow off mech on


ini fmod 0
solve
list @num_dis @ana_dis2
save ex1b

; -------------------------------------------------
; --- Sink it deeper, under 20m of water ---
; -------------------------------------------------
restore ex1b
ini fmod 2e8
title Sink it deeper, under 20m of water
ini xdis 0 ydis 0 zdis 0
his reset
; --- fluid boundary conditions ---
fix pp 2e5 range z 10
; --- apply pressure of water ---
apply nstress -2e5 range z 10
; --- static equilibrium ---
; --- we can run this simulation uncoupled, using ---
set flow on mech off
solve age 600

; --- histories ---


his add fish @num_dis
his add fish @ana_dis3

set flow off mech on


ini fmod 0
solve
list @num_dis @ana_dis3
save ex1c

; -------------------------------------------------
; --- Seepage force: flush up ---
; -------------------------------------------------
restore ex1c
ini fmod 2e8
title Seepage force: flush up
ini xdis 0 ydis 0 zdis 0
his reset
; --- flush fluid up ---
fix pp 5e5 range z 0

FLAC 3D Version 4.0


1 - 146 Fluid-Mechanical Interaction

; --- static equilibrium ---


; --- we can run this simulation uncoupled, using ---
set flow on mech off
solve age 1200

; --- histories ---


his add fish @num_dis
his add fish @ana_dis4

set flow off mech on


ini fmod 0

solve
list @num_dis @ana_dis4
save ex1e

; -------------------------------------------------
; --- Seepage force: flush down ---
; -------------------------------------------------
restore ex1c
ini fmod 2e8
title Seepage force: flush down
ini xdis 0 ydis 0 zdis 0
his reset
; --- flush fluid up ---
fix pp 1e5 range z 0
; --- static equilibrium ---
; --- we can run this simulation uncoupled, using ---
set flow on mech off
solve age 1200
; --- histories ---
his add fish @num_dis
his add fish @ana_dis5

set flow off mech on


ini fmod 0
solve
list @num_dis @ana_dis5
save ex1f

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 147

1.9.2 Pore Pressure Initialization and Deformation

In FLAC 3D, when equilibrium stresses are initialized in the model with the INITIAL command (follow-
ing, for example, the procedure as described in Section 3.4.2 in the Users Guide) and mechanical
steps are taken, no stress increment is calculated by the code, and thus no displacement is gener-
ated, because the model is in equilibrium with the stress boundary conditions and applied loads.
In other words, FLAC 3D does not calculate the deformations associated with installation of equi-
librium stresses, when using the INITIAL command. If the stress state is installed in this way at the
beginning of a run, the initial stress state is taken as the reference state for displacements. (This is
worth noting because the logic may be different from other codes, in which the zero stress state is
taken as reference for calculation of displacements.)
The situation regarding pore pressure in a fluid-mechanical simulation is similar: by default, if pore
pressures are initialized with the INITIAL pp command and are in equilibrium with the fluid boundary
conditions and hydraulic loading, and fluid steps are taken, then, by default, no increment of pore
pressure will be generated by the code. If the INITIAL pp command is issued at the beginning of the
run, this initial state is taken as the reference state for pore pressure. There will be no stress change
(and, if mechanical steps are taken, no displacement) as a result of the pore pressure initialization,
because no increment of pore pressure is calculated by the code. In other words, by default, FLAC 3D
does not calculate the deformation associated with installation of equilibrium pore pressures when
using the INITIAL pp command.
This only applies, by default, to equilibrium pore pressures established using the INITIAL pp com-
mand, the WATER table command or a FISH function to initialize pore pressures. Pore pressure
change that is calculated by FLAC 3D, on the other hand, will always generate stress change; if the
system is brought out of equilibrium by the stress change and mechanical steps are taken, then
deformations will be generated, if conditions allow.
If the deformation associated with a new distribution of pore pressure, assigned using the INITIAL
pp command, the WATER table command or a FISH function to initialize pore pressures, needs to
be calculated, then a special stress-correction technique needs to be used. This technique consists
of: 1) subtracting from the total normal stresses the increment of pore pressure in the zones affected
by the change, multiplied by Biot coefficient (the pore pressure increment in a zone is calculated
by averaging nodal values); 2) adjusting the saturation to zero in the dry region, and to one in the
region filled with fluid; 3) adjusting the input material density to the bulk value, above and below
the phreatic surface (in case it exists), and the simulation is run using CONFIG uid; and 4) cycling
the model to mechanical equilibrium. A simple example illustrating the heave of a soil layer using
this technique is presented below.
For the example, we consider a layer of soil of large lateral extent, and thickness H = 10 meters,
resting on a rigid base. The layer is elastic, the drained bulk modulus, K, is 100 MPa, and the shear
modulus, G, is 30 MPa. The bulk density of the dry soil, , is 1800 kg/m3 , and the density of water,
w , is 1000 kg/m3 . The porosity, n, is uniform; the value is 0.5. And gravity is set to 10 m/sec2 .
Initially, the water table is at the bottom of the layer, and the layer is in equilibrium under gravity.
We evaluate the heave of the layer when the water level is raised to the soil surface. This simple
problem is similar to the one analyzed in Section 1.9.1.1. The difference is, here, we do not require

FLAC 3D Version 4.0


1 - 148 Fluid-Mechanical Interaction

the code to find the new pore pressure distribution. The simulation can be carried out with or
without using the groundwater configuration (CONFIG uid). We consider both cases.
The grid for this example contains 20 zones: 10 in the z-direction, 2 in the x-direction, and 1 in the
y-direction. The origin of axes is at the bottom of the model. The mechanical boundary conditions
correspond to roller boundaries at the base and lateral sides of the model.
We first consider equilibrium of the dry layer. We initialize the stresses, using the INITIAL sxx,
INITIAL syy and INITIAL szz commands, using a value of 0.5714 (equal to (K 2G/3)/(K + 4G/3))
for the coefficient of earth pressure at rest, ko .
There are two competing effects on deformation associated with raising the water level: first, the
increase of pore pressure will generate heave of the layer; and second, the increase in soil bulk
density due to the presence of the water in the pores will induce settlement. To model the combined
effects on deformation, of a rise in water level up to the soil surface, we proceed as follows.
If we do not use CONFIG uid, we specify a hydrostatic pore-pressure distribution corresponding to
the new water level by using either the INITIAL pp command or the WATER table command, and we
specify a wet bulk density for the soil beneath the new water level. We apply the stress correction
described under point 1) above, using INI sxx add, INI syy add and INI szz add. Finally, we cycle the
model to static equilibrium.
If we do use CONFIG uid, we again specify a hydrostatic pore-pressure distribution corresponding
to the new water level using the INITIAL pp or WATER table command. The saturation is initialized
to 1 below the water level, and to zero above. However, we do not update the soil density to account
for the presence of water beneath the new water level (this is done automatically by the code). We
again perform a stress correction, as described earlier. Finally, we SET ow off and cycle the model
to static equilibrium.
The final response is identical for both cases. The plot of displacement vectors in Figure 1.59
indicates that the rise of the water table has induced a heave of the soil layer. The surface heave,
uh , can be evaluated analytically using Eq. (1.146),

(1 n)w g 2
uh = H (1.146)
21

where 1 = K + 4G/3. The theoretical value for uh is 1.786 103 meters. The theoretical and
numerical values compare well. The data files for the simulations are listed in Examples 1.22 and
1.23.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 149

Figure 1.59 Heave of a soil layer

The project file for this example, PPInitAndDeformation.f3prj, is located in folder datafiles\fluid
\PPInitAndDeformation.

Example 1.22 Heave of a soil layer, without config fluid


new project
set fish autocreate off

title Raising the water table - not in config fluid

define setup
global m_bu = 1e8 ; drained bulk modulus
global m_sh = 0.3e8 ; shear modulus
global m_d = 1800. ; material dry mass density
global m_n = 0.5 ; porosity
global w_d = 1000. ; water mass density
global _grav = 10. ; gravity
global _H = 10. ; height of column
; --- derived quantities ---
global m_rho = m_d+m_n*w_d ; material bulk wet density
global mgrav = -_grav
end
@setup
define num_dis

FLAC 3D Version 4.0


1 - 150 Fluid-Mechanical Interaction

local al1 = m_bu+4.0*m_sh/3.0


global ana_dis = -(m_n-1.0)*w_d*_grav*_H2/(2.0*al1)
global pnt = gp_near(1,0,10)
global num_dis = gp_zdisp(pnt)
end

gen zone brick p0 (0,0,0) P1 (2,0,0) P2 (0,1,0) P3 (0,0,10) &


size 2 1 10 ratio 1 1 1
model mech elas
prop bu @m_bu sh @m_sh
; --- column is dry ---
prop density @m_d
; --- boundary conditions ---
fix z range z 0
fix x range x 0
fix x range x 2
fix y range y 0
fix y range y 1
; --- gravity ---
set grav 0 0 @mgrav
; --- histories ---
his nstep 10
his add fish @num_dis
his add fish @ana_dis
; --- initial equilibrium ---
ini szz -1.8e5 grad 0 0 1.8e4
ini sxx -1.029e5 grad 0 0 1.029e4
ini syy -1.029e5 grad 0 0 1.029e4
;
set mech ratio 1e-6
solve
save ini

; --- raise water level ---


; (note: when not in CONFIG FLUID, water density is assigned using:)
water density @w_d
; (we can do it this way ...)
ini pp 1e5 grad 0 0 -1e4
; (or this way ...)
;water table origin 0 0 _H normal 0 0 -1
; (total stress adjustement)
ini sxx add -1e5 grad 0 0 1e4
ini syy add -1e5 grad 0 0 1e4
ini szz add -1e5 grad 0 0 1e4
; --- use wet density below water table ---
prop dens @m_rho

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 151

; --- static equilibrium ---


solve
list @num_dis @ana_dis
save ncfl
return

Example 1.23 Heave of a soil layer, with config fluid


new project
set fish autocreate off

config fluid

title Raising the water table - config fluid


define setup
global m_bu = 1e8 ; drained bulk modulus
global m_sh = 0.3e8 ; shear modulus
global m_d = 1800. ; material dry mass density
global m_n = 0.5 ; porosity
global w_d = 1000. ; water mass density
global _grav = 10. ; gravity
global _H = 10. ; height of column
; --- derived quantities ---
global m_rho = m_d+m_n*w_d ; material bulk wet density
global mgrav = -_grav
end
@setup
define num_dis
local al1 = m_bu+4.0*m_sh/3.0
global ana_dis = -(m_n-1.0)*w_d*_grav*_H2/(2.0*al1)
global pnt = gp_near(1,0,10)
global num_dis = gp_zdisp(pnt)
end

gen zone brick p0 (0,0,0) P1 (2,0,0) P2 (0,1,0) P3 (0,0,10) &


size 2 1 10 ratio 1 1 1
model mech elas fluid fl_iso
prop bu @m_bu sh @m_sh

; --- column is dry ---


; (initialize sat at 0)
ini sat 0
prop density @m_d
; --- boundary conditions ---
fix z range z 0

FLAC 3D Version 4.0


1 - 152 Fluid-Mechanical Interaction

fix x range x 0
fix x range x 2
fix y range y 0
fix y range y 1
; --- gravity ---
set grav 0 0 @mgrav
; --- histories ---
his nstep 10
his add fish @num_dis
his add fish @ana_dis
; --- initial equilibrium ---
ini szz -1.8e5 grad 0 0 1.8e4
ini sxx -1.029e5 grad 0 0 1.029e4
ini syy -1.029e5 grad 0 0 1.029e4
;
set mech ratio 1e-5
set fluid off mech on
ini fmod 0
solve
save ini

; --- raise water level ---


; (initialize sat at 1 below the water level)
ini sat 1
; (note: in CONFIG FLUID, water density is assigned using:)
ini fdens @w_d
; (we can do it this way ...)
ini pp 1e5 grad 0 0 -1e4
; (or this way ...)
; (note: we can use water table command in config fluid,
; this is different from FLAC)
;water table origin 0 0 _H normal 0 0 -1
; (total stress adjustement)
ini sxx add -1e5 grad 0 0 1e4
ini syy add -1e5 grad 0 0 1e4
ini szz add -1e5 grad 0 0 1e4
; --- Note: no need to specify wet density below water table ---
; --- static equilibrium ---
set fluid off mech on
ini fmod 0
solve
list @num_dis @ana_dis
save cfl
return

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 153

1.9.3 Effect of the Biot Coefficient

The Biot coefficient, , relates the compressibility of the grains to that of the drained bulk material:

K
=1 (1.147)
Ks

where K is the drained bulk modulus of the matrix, and Ks is the bulk modulus of the grains (see
Detournay and Cheng 1993, for reference).
For soils, matrix compliance is usually much higher than grain compliance (i.e., 1/K >>> 1/Ks ),
and it is a valid approximation to assume that the Biot coefficient is equal to 1.
For porous rocks, however, matrix and rock compliances are most often of the same order of
magnitude and, as a result, the Biot coefficient may be almost zero. Consider, for example, a
sample of porous elastic rock. The pores are saturated with fluid at a pressure, p, and a total external
pressure, P , is applied around the periphery (i.e., on the outside of an impermeable sleeve). The
problem can be analyzed by superposition of two stress states: state a, in which fluid pressure and
external pressure are both equal to p; and state b, in which pore pressure is zero, and the external
pressure is P p (see Figure 1.60).

Figure 1.60 Decomposition of stresses acting on a porous, elastic rock

The stress-strain relation for state a may be expressed as

p = Ks a (1.148)

For state b (there is no fluid), we can write

P p = K b (1.149)

FLAC 3D Version 4.0


1 - 154 Fluid-Mechanical Interaction

The total strain is given by superposition of the strain in state a and in state b:

= a + b (1.150)

After substitution of a from Eq. (1.148), and b from Eq. (1.149), we obtain

p P p
= + (1.151)
Ks K

After some manipulations, the stress-strain equation takes the form

 K
P 1 p = P p = K (1.152)
Ks

Clearly, then, in the framework of Biot theory, a zero Biot coefficient implies that the elastic
stress-strain law becomes independent of pore pressure. Of course, in general, porous rocks do
not behave elastically, and pore pressure has an effect on failure. Also, if fluid flow in rocks
occurs mainly in fractures, Biot theory may not be applicable. Nonetheless, there are numerous
instances where the small value of the Biot coefficient may help explain why pore pressure has
little effect on deformation for solid, porous (i.e., unfractured) rocks. (For example, the effect on
surface settlement of the raising or lowering of the water table in a solid porous rock mass may be
unnoticeable.)
Note that the preceding discussion addresses only one of the effects of grain compressibility. The
Biot coefficient also enters the fluid constitutive law, which relates change of fluid content to
volumetric strain.
The logic for grain compressibility, as developed in the framework of Biot theory, is provided in
FLAC 3D. Simple verification examples are described below to illustrate the logic.
For reference, in the examples below, in the special case yy = 0, the principal stress-strain relations
have the form

xx + p = (K + 4G/3) xx + (K 2G/3) zz (1.153)


zz + p = (K + 4G/3) zz + (K 2G/3) xx (1.154)
p = M( v ) (1.155)

where is the variation of fluid content per unit volume of porous media, and v is the incre-
mental volumetric strain.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 155

1.9.3.1 Undrained Oedometer Test

An undrained oedometer test is conducted on a saturated poro-elastic sample. The Biot modulus
is 1 MPa, and the Biot coefficient is 0.3 for this test. The model is a single square zone of unit
dimensions with roller boundaries on the sides and bottom. A constant velocity, v, is applied to the
top. Fluid flow is turned off, and the simulation is run for 10 calculational steps. The SET biot on
command is given to select the Biot modulus and coefficient rather than the fluid bulk modulus.
Because the sample is laterally confined, xx = yy = 0 and v = zz . For undrained
conditions, = 0. The analytical value for pore pressure (see Eq. (1.155)) is then

p = M zz (1.156)

The analytical stresses are obtained by substituting pore pressure and strain components into
Eqs. (1.153) and (1.154):

 
xx = (K 2G/3) + 2 M zz (1.157)

 
zz = (K + 4G/3) + 2 M zz (1.158)

After 10 calculation steps, zz = 10v. The agreement between analytical and numerical values
for pore pressure and stresses is checked with the FISH function checkit. The analytical and
numerical results are identical. Example 1.24 lists the data file for this example. The corresponding
project file, oedometer.f3prj, is located in folder datafiles\fluid\oedometer.

Example 1.24 Undrained oedometer test


; file for Undrained Oedometer test
new project
set fish autocreate off

config fluid

title Undrained Oedometer test


define setup
global c_b = 1e8 ; drained bulk modulus
global c_s = 0.3e8 ; shear modulus
global c_n = 0.5 ; porosity
global c_a = 0.3 ; Biot coefficient (alpha)
global c_bm = 1e8 ; Biot modulus
global c_zv = -1e-3 ; z-velocity
global c_ns = 10 ; number of steps

FLAC 3D Version 4.0


1 - 156 Fluid-Mechanical Interaction

end
@setup

gen zone brick p0 (0,0,0) P1 (1,0,0) P2 (0,1,0) P3 (0,0,1) &


size 1 1 1
model mech elas fluid fl_iso
prop bu @c_b sh @c_s
ini ftens -1e10
set fluid biot on
prop poro=@c_n biot_c=@c_a
; --- boundary conditions ---
fix x y z
ini zvel=@c_zv range z 1
; --- undrained compression ---
ini biot_mod=@c_bm
set fluid off mech on
step @c_ns
return

1.9.3.2 Pore Pressure Generation in a Confined Sample

The effect of pore pressure generation is shown for the case of a confined sample in an imper-
meable sleeve. The sample geometry and properties are the same as in the previous example, in
Section 1.9.3.1. Roller boundaries are set on all four sides of the model. The boundaries are also
impermeable (by default). Fluid flow is turned on, and a volumetric water source with a unit flow
rate is applied to the model to raise the pore pressure. The simulation is run for 10 fluid flow steps.
At the end of the simulation, = 10 t. The grid is fully constrained, hence xx = yy =
zz = v = 0. The analytical value for pore pressure is found, from Eq. (1.155), to be

p = M(10 t) (1.159)

The analytical stresses are then derived from Eqs. (1.153) and (1.154) to be

xx = yy = zz = M(10 t) (1.160)

Numerical and analytical values for pore pressure and stresses are compared with the FISH function
checkit, and the results are identical. Example 1.25 lists the data file. The corresponding project
file, ppgen-confined.f3prj, is located in folder datafiles\fluid\ppgen-confined.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 157

Example 1.25 Pore pressure generation in a confined sample


; file for Pore pressure generation in a confined sample

new project
set fish autocreate off

config fluid

title Pore pressure generation in a confined sample

def setup
global c_b = 1e8 ; drained bulk modulus
global c_s = 0.3e8 ; shear modulus
global c_n = 0.5 ; porosity
global c_a = 0.3 ; Biot coefficient (alpha)
global c_bm = 1e8 ; Biot modulus
global c_k = 1e-10 ; mobility
global c_ws = 1.0 ; volumetric water source
global c_ns = 10 ; number of steps
end
@setup
gen zone brick p0 (0,0,0) P1 (1,0,0) P2 (0,1,0) P3 (0,0,1) &
size 1 1 1
model mech elas fluid fl_iso
prop bu @c_b sh @c_s
ini ftens -1e10
set fluid biot on
prop poro=@c_n biot_c=@c_a perm=@c_k
ini biot_mod=@c_bm
; --- boundary conditions ---
fix x y z
; --- water source ---
apply vwell @c_ws
set fluid on mech off
step @c_ns
return

FLAC 3D Version 4.0


1 - 158 Fluid-Mechanical Interaction

1.9.3.3 Pore Pressure Generation in an Infinite Layer

This example is similar to the preceding confined sample, except that the top boundary is not
constrained. All boundaries are impermeable, and a volumetric water source with unit flow is
applied to raise the pore pressure. Both mechanical and fluid-flow calculations are turned on, and
the simulation is run for 10 fluid-flow steps. Note that 200 mechanical sub-steps are taken every
fluid step in order to keep the system in quasi-static equilibrium state.
For this example, xx = yy = 0, v = zz and zz = 0. Using these conditions in
Eq. (1.154), we obtain

(K + 4G/3) zz
p = (1.161)

After substituting Eq. (1.161) for p in Eq. (1.155) and solving for zz , we find

M
zz = (1.162)
(K + 4G/3) + 2 M

Analytical expressions for pore pressure and stress can now be derived from Eqs. (1.153) and
(1.155):

p = M( zz ) (1.163)
xx = (K 2G/3) zz p (1.164)

Numerical and analytical values for vertical displacement, pore pressure and stresses are compared
with the FISH function checkit, and the results are identical. Example 1.26 lists the data file.
The corresponding project file, ppgen-infinite.f3prj, is located in folder datafiles\fluid\ppgen-
infinite.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 159

Example 1.26 Pore pressure generation in an infinite layer


; file for Pore pressure generation in an infinite layer

new project
set fish autocreate off

config fluid

title Pore pressure generation in an infinite layer


define setup
global c_b = 2.0 ; drained bulk modulus
global c_s = 1.0 ; shear modulus
global c_n = 0.5 ; porosity
global c_a = 0.3 ; Biot coefficient (alpha)
global c_bm = 1 ; Biot modulus
global c_k = 1.0 ; mobility
global c_ws = 1. ; volumetric water source
global c_ns = 10 ; number of steps
end
@setup
gen zone brick p0 (0,0,0) P1 (1,0,0) P2 (0,1,0) P3 (0,0,1) &
size 1 1 1
model mech elas fluid fl_iso
prop bu @c_b sh @c_s
ini ftens -1e10
set fluid biot on
prop poro=@c_n biot_c=@c_a perm=@c_k
ini biot_mod=@c_bm
; --- boundary conditions ---
fix x y
fix z range z 0
; --- water source ---
apply vwell @c_ws
set fluid on mech on
set mech force 0 mech ratio 1e-10
set fluid substep 1
set mech substep 200 auto
solve age 1.6
return

FLAC 3D Version 4.0


1 - 160 Fluid-Mechanical Interaction

1.9.4 Semi-confined Aquifer

Fluid leakage into a shallow semi-confined aquifer can be modeled with FLAC 3D using the APPLY
leakage command. This is demonstrated for the example defined by the sketch in Figure 1.61. The
aquifer has a length L, height H , and rests on an impermeable base. Fluid flow obeys Darcys
law; the mobility coefficient k is homogeneous and isotropic. The semi-permeable top layer has
permeability k , and thickness H . The effect of gravity is neglected in this example. Fluid pressure
at the top of the leaky layer is constant and equal to p . The lateral fluid-flow conditions correspond
to a constant pressure p0 at the left boundary, and p1 at the right.
The objective is to determine the steady-state pore-pressure profile and total leakage into the aquifer.
The general solution of pore pressure for a shallow semi-confined aquifer has the form (see Strack
1989)

p p = Aex/ + Bex/ (1.165)



where is the seepage factor, which has the dimension of length and is defined as = kH H /k ;
A and B are constants determined from the pressure boundary conditions.

Figure 1.61 Shallow semi-confined aquifer

The boundary conditions for this problem are


p = p0 at x=0
p = p1 at x=L

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 161

The pore pressure solution is

p = Aex/ + Bex/ + p (1.166)

where

(p1 p )eL/ (p0 p )


A=
e2L/ 1

(p0 p )e2L/ (p1 p )eL/


B=
e2L/ 1

The steady state discharge over the height of the aquifer is obtained from Darcys law:

dp
Qx = kH (1.167)
dx

After differentiation of Eq. (1.166) with respect to x, and substitution into Eq. (1.167), we obtain

kH  x/ x/

Q= Ae Be (1.168)

The total amount of leakage into the aquifer is, by continuity of flow, equal to the difference between
the discharge leaving at x = L and that entering at x = 0. Using Eq. (1.168), we obtain, after some
manipulation,

kH eL/ 1  p0 + p1 
Qx = 2 p (1.169)
eL/ + 1 2

Eqs. (1.166) and (1.169) are used for comparison to the FLAC 3D solution.
The FLAC 3D data file for this problem is listed in Example 1.26. The analytical solution is pro-
grammed in FISH as part of the data file. The FLAC 3D model is a 20 zone by 2 zone mesh with
a constant pore pressure of p0 = 20 kPa applied at the left boundary, x = 0, and a constant pore
pressure of p1 = 10 kPa applied at the right boundary, x = 20 m. A leaky aquifer boundary condition
is applied along the top boundary of the model, y = 1 m, using the APPLY leakage command. The
pore pressure at the top is p = 1.8 kPa, and the leakage coefficient h (see Eq. (1.18)), is evaluated
to be k /H = 2.98 109 m3 /(N sec), based on the properties of the leaky layer. The properties
for this problem are listed in the ini h4 function in Example 1.26. The fluid-flow calculation
mode is turned on, the mechanical calculation mode is turned off, and the simulation is run until
steady-state flow is reached.

FLAC 3D Version 4.0


1 - 162 Fluid-Mechanical Interaction

The FISH function tab pp compares the amount of leakage calculated by FLAC 3D to the solution
of Eq. (1.169) at steady-state flow. The difference is printed (in a FISH dialog message) to be
0.03%. The analytical and numerical pore pressure profiles recorded along the base of the model,
from x = 0 to x = 20, are compared in Figure 1.62:

Figure 1.62 Pore pressure profile

The project file for this example, semi-confAquifer.f3prj, is located in folder datafiles\fluid
\semi-confAquifer.

Example 1.27 Shallow confined aquifer with leaky boundary


; file for Semiconfined aquifer
new project
set fish autocreate off

config fluid

title Semiconfined aquifer

define setup
; --- aquifer ---
global c_h = 1. ; height
global c_l = 20. ; lateral extent

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 163

global c_n = 0.4 ; porosity


global c_k = 2e-8 ; mobility
global c_wb = 2e9 ; water bulk modulus
global c_p0 = 2e4 ; upstream pp
global c_p1 = 1e4 ; downstream pp
; --- leaky layer ---
global c_hs = 0.1 ; height
global c_ks = 3e-10 ; mobility
global c_ps = 1.8e4 ; pp
; --- utility ---
global _eps = 0.1 ; small length compared to zone size
; --- derived value ---
global c_cs = c_ks/c_hs ; leakage coefficient
global zm = c_h-_eps
global zp = c_h+_eps
global xm = c_l-_eps
end
@setup
gen zone brick p0 (0,0,0) P1 (@c_l,0,0) P2 (0,1,0) P3 (0,0,@c_h) &
size 20 2 2
model fluid fl_iso
ini ftens -1e10
prop poro=@c_n perm=@c_k
ini fmod=@c_wb ftens -1e10
; --- boundary conditions ---
apply leakage @c_ps @c_cs range z @zm @zp ;c_h
fix pp @c_p0 range x 0
fix pp @c_p1 range x @c_l
; --- fluid flow solution ---
set fluid on mech off
solve age 1
;
save confaquifer
return

FLAC 3D Version 4.0


1 - 164 Fluid-Mechanical Interaction

1.10 Input Instructions for Fluid-Flow Analysis

This section summarizes all of the FLAC 3D commands and FISH variables related to fluid-flow
analysis. See Section 1 in the Command Reference and Section 1 in the Plot Command Reference
for a complete listing of FLAC 3D commands, and Section 2.5 in the FISH volume for a listing of
FLAC 3D -specific variables accessed by FISH.

1.10.1 FLAC 3D Commands

The following commands are provided to run fluid-flow problems. Note that the fluid-flow com-
mands are invoked by keywords used with existing commands for a standard mechanical analysis.
For a transient fluid-flow analysis, the CONFIG uid command must be the first fluid-flow command
given, before any other fluid-flow commands are invoked. CONFIG uid does not have to be given
first in a data file, but can be specified at the point that the fluid-flow calculation is to begin.
APPLY keyword <keyword> value <keyword> <range . . . >
The APPLY command is used to apply fluid-flow boundary conditions to any external
or internal boundary of the model grid, or to interior gridpoints. The user must specify
the keyword type to be applied (e.g., discharge), the numerical value (if required),
and the range over which the boundary conditions are to be applied. The range can be
given in several forms (see Section 1.1.3 in the Command Reference). If no range
is specified, then the command applies to the entire model. Optional keywords may
precede or follow the numerical value. The optional keywords are described for the
APPLY command in Section 1.3 in the Command Reference.
Three keyword types are used to apply fluid-flow boundary conditions. The associ-
ated keywords are given for each type:
Gridpoint-Type Keywords
pp v <interior>
A fluid pore pressure, v, is applied at the boundary gridpoints. (Note
that this is not a mechanical boundary condition. Use the APPLY
nstress command to specify a mechanical pressure boundary condi-
tion.) Use the interior keyword to apply a pore pressure to an interior
gridpoint.
pwell v <interior>

A fluid-flow rate, v, (e.g., in m3 /sec) is applied at each boundary


gridpoint in the specified range. This command is used to specify a
constant inflow (v > 0) or outflow (v < 0) along a fluid-flow boundary.
Use the interior keyword to apply the condition to an interior gridpoint.
When a new well is applied to a gridpoint with an existing well, the
new well flow rate replaces the existing well flow-rate.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 165

Face-Type Keywords
discharge v
Fluid flux v is the component of the specific discharge vector (e.g., in
[m/sec]) applied normal to the boundary.
leakage v1 v2
v1 is the pore pressure in the leaky layer.

v2 is the leakage coefficient, h (e.g., in m3 /N sec).


See Eq. (1.18) for the formula for a leaky boundary condition. A
leaky condition is applied over the range of faces specified. The
history keyword is not active for leakage.
Zone-Type Keywords
vwell v
A volume rate of flow, v (i.e., fluid volume per zone volume per unit
time), is specified for each zone in the specified range (v > 0 for
inflow). When a new volumetric source is applied to a zone with an
existing source, the new source replaces the existing source.
CONFIG uid
This command specifies extra memory to be assigned to each zone
or gridpoint for a fluid-flow analysis. CONFIG uid can be given at
any stage of a FLAC 3D analysis, but it must be given before any other
fluid-flow commands are invoked.
FIX pp <value> <range . . . >
The pore pressure is fixed at points in the gridpoint range. If a value
is given, the pore pressure is fixed at that value.
FREE pp <range . . . >
The pore pressure at points in the gridpoint range is allowed to change.

FLAC 3D Version 4.0


1 - 166 Fluid-Mechanical Interaction

HISTORY add <id nh> <nstep = n> keyword . . . x y z


The variables available for sampling are identified by the following keywords:
gp pp
Pore-pressure variables are sampled at gridpoint x,y,z.
zone pp
Pore-pressure variables are sampled at zone x, y, z.
History of Real Time
time creates a history of real time for fluid-flow problems.
INITIAL keyword <keyword> value <grad gx gy gz> <range . . . >
The following keywords apply. Units for fluid-flow properties are listed in Table 2.7
in the Users Guide.
biot mod Biot modulus, M, is initialized to the given value at all gridpoints in
the range specified. The Biot modulus is applied for the fluid mode
involving compressible grains (SET uid biot on). This property only
applies for CONFIG uid mode.
fdensity The fluid mass density, f , is initialized to the given value at all zones
in the range specified. This property only applies for CONFIG uid
mode. Use the WATER density command in non-CONFIG uid mode.
fmodulus The fluid modulus, Kf , is initialized to the given value at all gridpoints
in the range specified. The fluid modulus is applied for the fluid mode
involving incompressible grains (SET uid biot off). This property
only applies for CONFIG uid mode.
ftens The fluid tension limit is initialized to the given (negative) value at
all gridpoints in the range specified. This property only applies for
CONFIG uid mode. (The default value is 1015 units.)
pp The pore pressure is initialized to the given value at all gridpoints in
the range specified.
saturation The fluid saturation is initialized to the given value at all gridpoints
in the range specified. (By default, value = 1 for fully saturated
zones when CONFIG uid is specified.) This property only applies for
CONFIG uid mode.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 167

LIST keyword <keyword> . . . <range . . . >


This command prints various fluid-flow variables. The following keywords apply:
gp keyword
gridpoint data. A keyword is specified to print selected gridpoint data
pertaining to fluid flow. The following keywords apply:
biot modulus gridpoint Biot modulus
fmodulus gridpoint fluid modulus
ftens gridpoint fluid tension limit
pp gridpoint pore pressure
saturation gridpoint saturation
zone keyword
zone data. A keyword is specified to print selected zone data pertain-
ing to the fluid flow. The following keywords apply:
fdensity zone fluid density
pp zone pore pressure (average from gridpoint values)
property keyword
fluid-flow properties assigned to zones. Values are
printed for the property keyword. The keywords avail-
able are listed below for the PROPERTY command.
MODEL keyword <range . . . >
This command associates a fluid-flow model with a range of zones.
uid keyword
anisotropic anisotropic fluid flow
isotropic isotropic fluid flow
null Zone is null for fluid flow. (Null zones model imper-
meable material.) Note that zones made null mechan-
ically are not automatically made null for fluid flow.

FLAC 3D Version 4.0


1 - 168 Fluid-Mechanical Interaction

PROPERTY keyword value <keyword . . . > <region i,j> <var vx vy> <i = i1,i2 j = j1,j2>
This command assigns properties for the fluid-flow model identified by the MODEL
command. The required keywords to specify properties are listed below. Units for
fluid-flow properties are listed in Table 2.7 in the Users Guide.
anisotropic
(1) biot c Biot coefficient,
(2) fdip principal permeability dip angle, dip
(3) fdd principal permeability dip direction angle, dd
(4) frot principal permeability rotation angle, rot
(5) k1 principal permeability value, k1
(6) k2 principal permeability value, k2
(7) k3 principal permeability value, k3
(8) kxx xx-component of permeability tensor
(9) kyy yy-component of permeability tensor
(10) kzz zz-component of permeability tensor
(11) kxy xy-component of permeability tensor
(12) kxz xz-component of permeability tensor
(13) kyx yx-component of permeability tensor
(14) porosity porosity, n
(15) u thc undrained thermal coefficient,
isotropic
(1) biot c Biot coefficient,
(2) permeability isotropic permeability coefficient, k
(3) porosity porosity, n
(4) u thc undrained thermal coefficient,
Note: The principal directions of permeability, corresponding to k1, k2, k3, form a
right-handed system. The angles dip and dd are the dip angle and dip-direction angle
of the plane in which k1 and k2 are defined. The dip angle is measured from the
global xy-plane, positive down (in negative global z-direction). The dip-direction
angle is the angle between the positive y-axis and the projection of the dip-direction
vector on the xy-plane (positive clockwise from the global y-axis). The angle rot is
the rotation angle between the k1-axis and the dip-direction vector, in the k1-k2-plane
(positive clockwise from dip-direction vector). See Figure 1.1.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 169

SET keyword <keyword value> . . .


This command is used to set parameters in a FLAC 3D model. The following keywords
apply:
uid keyword <keyword value> . . .
The following keywords apply:
age t
t is the fluid-flow time limit for the fluid-flow calcula-
tion using the SOLVE command.
biot on
off
The fluid-flow calculation uses the Biot coefficient, ,
and the Biot modulus, M, if on. If off, then the fluid
modulus, Kf , and porosity, n, are used, and = 1. The
default is off.
dt t
t defines the fluid-flow timestep. This timestep must be
specified for the implicit-solution scheme. By default,
FLAC 3D calculates fluid-flow timestep automatically
for the explicit-solution scheme. This keyword allows
the user to choose a different timestep. If FLAC 3D
determines that the user-selected value is too large for
numerical stability, the timestep will be reduced to a
suitable value when fluid-flow steps are taken. The
calculation will not revert to the user-selected value
until another SET uid dt command is issued.
implicit on
off
The implicit-solution scheme in the fluid-flow model
is turned on or off. The default is off.

FLAC 3D Version 4.0


1 - 170 Fluid-Mechanical Interaction

SET keyword <keyword value> . . .


uid keyword <keyword value> . . .
on
off
The fluid-flow calculation process is turned on or off.
The fluid-flow process is on by default when the CON-
FIG uid command is given. The fluid-flow calcula-
tion is turned off for a mechanical-only calculation or
a thermal-only calculation.
ratio value
The fluid-flow ratio limit is set to value for the SOLVE
command. The value of ratio is defined as
(|outf low| |inf low|) / (|outf low| + |inf low|)
where inflow (outflow) is the total volume of fluid en-
tering (leaving) the flow domain per unit time (applied
contributions included). (Different forms of ratio can
be specified see the SET ratio command.) When the
ratio falls below value during the calculation process,
the fluid-flow calculation will stop. (By default, the
ratio limit is set to 1.0 105 .)
step value
The maximum number of steps to be taken when the
SOLVE command is issued is set to value. (By default,
unlimited stepping is allowed.)
substep value <auto>
The number of fluid-flow sub-steps in a coupled fluid
flow-mechanical calculation or a coupled thermal-
mechanical-fluid flow calculation is set to value. (The
default is value = 1.) The fluid-flow calculation is iden-
tified as the slave component in the fluid-flow mechan-
ical process or in the thermal-mechanical-fluid flow
process when the optional keyword auto is given.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 171

SET keyword <keyword value> . . .


time t
Fluid time is initialized to t.
mechanical keyword <keyword value> . . .
This command sets parameters for the mechanical calculation
in a coupled mechanical-fluid-flow analysis. The following
keywords apply:
force value
The out-of-balance force limit is set to value for the
SOLVE command. When the maximum out-of-balance
force falls below this limit, the mechanical calculation
will stop. (By default, the out-of-balance force limit
is zero.)
on
off
The mechanical calculation process is turned on or
off. The mechanical process is on by default. The
mechanical calculation is turned off for a flow-only
calculation.
ratio value
The force ratio limit is set to value for the SOLVE com-
mand. By default, ratio is defined as the average unbal-
anced force magnitude for all gridpoints in the model,
divided by the average applied force magnitude for all
the gridpoints. (Different forms of ratio can be spec-
ified see the SET ratio command.) When the ratio
falls below value during the calculation process, the
mechanical calculation will stop. (By default, the ratio
limit is set to 1.0 105 .)
step value
The maximum number of steps to be taken when the
SOLVE command is issued is set to value. (By default,
unlimited stepping is allowed.)

FLAC 3D Version 4.0


1 - 172 Fluid-Mechanical Interaction

SET keyword <keyword value> . . .


mechanical keyword <keyword value> . . .
substep value <auto>
The number of mechanical sub-steps in a coupled
fluid-flow mechanical calculation or a coupled
thermal-mechanical fluid-flow calculation is set to
value. (The default is value = 100.) The mechani-
cal calculation is identified as the slave component in
the fluid-flow mechanical process when the optional
keyword auto is given.
SOLVE keyword value <keyword value> . . .
This command controls the automatic timestepping for fluid-flow and coupled fluid-
flow mechanical and thermal fluid-flow mechanical calculations. A calculation is
performed until the limiting conditions, as defined by the following keywords, are
reached.
age t
t is the maximum time limit for all processes involved in the
calculation.
clock t
t is the computer runtime limit, in minutes. (By default, there
is no limit on computer runtime.)
ratio value
value is the ratio limit for the active calculation process. (By
default, the limit is 1.0 105 .)
WATER keyword value <keyword value> . . .
This command assigns a fixed groundwater table position and properties from which a
constant hydrostatic pore-pressure distribution is derived for use in an effective stress
calculation (not in CONFIG uid mode). During calculation, FLAC 3D uses effective
stresses (i.e., total stresses plus pore pressure) in constitutive models. Pore pressures
are defined at gridpoints. Zone pore pressures are calculated as the average of the
zone gridpoints and are not stored. Pore pressures are not affected by zone volume
changes; nor is there any flow of water. Total stresses are displayed on plots and
printouts. Note that, when using this command, the saturated material density must
be specified for zones below the water table, and the dry density for zones above.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 173

The following keywords apply:


density value

groundwater density, w [SI units; kg/m3 ]


table keyword value . . .
The WATER table command sets pore pressure for all gridpoints
below the water table. The pore-pressure gradient is given by
the direction of the gravity vector, which can be arbitrary (see
the SET gravity command).
The water table plane can be defined in two forms: a single
infinite plane, or an assembly of planar convex polygons. For
an infinite plane, the following keywords are used:
normal nx ny nz
normal direction to the plane, defined by unit vector
nx, ny, nz and pointing in the direction of increasing
pore pressure
origin x y z
one point at coordinate location (x y z) on the plane
Alternatively, the water table can be defined by an assembly
of planar, convex polygons. The following keyword phrase
applies:
face x1,y1,z1 . . . xn,yn,zn <face . . . >
The face polygon is defined by nodes x1, y1, z1 to
xn, yn, zn. The nodes must produce a convex poly-
gon. Faces can have any number of nodes but are split
into triangles for storage. Only gridpoints that project
along the gravity direction inside faces are assigned
pore pressure. No checking of face overlapping or
intersection is performed.

FLAC 3D Version 4.0


1 - 174 Fluid-Mechanical Interaction

1.10.2 FISH Variables

The following scalar variables are available in a FISH function to assist with fluid-flow analysis:
dt fluid-flow timestep
time fluid-flow time
uid ratio current fluid-flow ratio (set by the SET ratio command)
The following FLAC 3D grid variables can be accessed and modified by a FISH function:
gp ftens gridpoint fluid tension limit
gp pp gridpoint pore pressure
gp sat gridpoint saturation
The following FLAC 3D grid variable can be accessed but cannot be modified by a FISH function:
gp ow out-of-balance flow discharge at a gridpoint
The following FLAC 3D zone variables can be accessed but cannot be modified by a FISH function:
z pp zone pore-pressure
z qx x-component of the specific discharge vector
z qy y-component of the specific discharge vector
z qz z-component of the specific discharge vector
Also, fluid-flow property values may be accessed (changed, as well as tested) in a FISH function.
See the PROPERTY command in Section 1.10.1 for a list of the fluid-flow properties.

FLAC 3D Version 4.0


FLUID-MECHANICAL INTERACTION SINGLE PHASE FLUID 1 - 175

1.11 References

Barenblatt, G. Dimensional Analysis. Gordon and Breach Science Publishers, 1987.


Bear, J. Dynamics of Fluids in Porous Media. New York: Dover, 1972.
Berchenko, I. Thermal Loading of a Saturated Rock Mass: Field Experiment and Modeling
Using Thermoporoelastic Singular Solutions. Ph.D. Thesis, University of Minnesota, 1998.
Biot, M. A. General Solutions of the Equations of Elasticity and Consolidation for a Porous
Material, J. Appl. Mech., Trans. ASME, 78, 91-96, 1956.
Carslaw H. S., and J. C. Jaeger. Conduction of Heat in Solids, Second Edition. Oxford at the
Calderon Press, 1959.
Chaney, R. C. Saturation Effects on the Cyclic Strength of Sands, in Proceedings: ASCE
Geotechnical Engineering Division Specialty Conference (Pasadena, California, June 19-21,
1978), Vol. 1, pp. 342-358, 1978.
Crank, J. The Mathematics of Diffusion, 2nd Ed. Oxford: Oxford University Press, 1975.
Dahlquist, G., and A. Bjorck. Numerical Methods. Prentice Hall, 1974.
Detournay, E., and A. H. D. Cheng. Comprehensive Rock Engineering. Pergamon Press Ltd.,
1993.
Detournay, E., and A. H. D. Cheng. Fundamentals of Poroelasticity, in Comprehensive Rock
Engineering, Vol. 2, pp. 113-171. J. Hudson et al., eds. London: Pergamon Press, 1993.
Detournay, E., and A. H. D. Cheng. Poroelastic Response of a Borehole in a Non-Hydrostatic
Stress Field, Int. J. Rock Mech. Sci. & Geomech. Abstr., 25(3), 171-182, 1988.
Harr, M. E. Groundwater and Seepage. Dover, 1991.
Karlekar, B. V., and R. M. Desmond. Heat Transfer, 2nd Ed. St. Paul: West Publishing Co., 1982.
Kochina, I., N. Mikhailov, and M. Filinov. Groundwater Mound Damping, Int. J. Engng. Sci.,
21, 413-421, 1983.
Polubarinova-Kochina, P. Y. Theory of Groundwater Movement. Princeton: Princeton University
Press, 1962.
Stehfest, H. Numerical Inversion of Laplace Transforms, Communic. Ass. Comput. Mach., 13,
47-49, 1970.
Taylor, D. W. Fundamentals of Soil Mechanics. New York: John Wiley, 1948.
Terzaghi, K. Theoretical Soil Mechanics. New York: John Wiley, 1943.

FLAC 3D Version 4.0


1 - 176 Fluid-Mechanical Interaction

Theis, C. V. The Relation between the Lowering of the Piezometric Surface and the Rate and
Duration of Discharge of a Well Using Groundwater Storage, Trans. Am. Geophys. Union, 10,
519-524, 1935.
Voller, V., S. Peng and Y. Chen. Numerical Solution of Transient, Free Surface Problems in Porous
Media, Int. J. Numer. Meth. Engng., pp. 2889-2906, 1996.
Wood, D. M. Soil Behaviour and Critical State Soil Mechanics. Cambridge: Cambridge Univer-
sity Press, 1990.

FLAC 3D Version 4.0

Potrebbero piacerti anche