Code - Bright: User'S Guide
Code - Bright: User'S Guide
2 22
USER’S GUIDE
• I. CODE_BRIGHT. FOREWORD
I. 1. Introduction
I. 2. System basics
I. 3. Using this manual
• II. CODE_BRIGHT. PRE-PROCESS. PROBLEM DATA.
II. 1. Problem type
II. 2. CODE_BRIGHT interface
II. 2.1. Problem data
II. 2.2. Materials
II. 2.3. Conditions
II. 2.4. Intervals data
• III. CODE_BRIGHT. PROCESS.
III. 1. Calculate
III. 2. Data Files
III. 3. General information file ROOT_GEN.DAT
III. 4. Geometrical description file ROOT_GRI.DAT
III. 5. Summary-list of cards
• IV. CODE_BRIGHT. POSTPROCESS.
IV. 1. Facilities description
IV. 2. Read Post-processing
IV. 3. Post process files format
• V. CODE_BRIGHT. THEORETICAL ASPECTS
V. 1. Basic formulation features
V. 2. Governing equations
V. 2.1 Balance equations
V. 2.2 Constitutive equations and restrictions
V. 2.3 Boundary conditions
V. 2.4 Summary of governing equations
V. 3. Numerical Approach
V. 3.1 Introduction
V. 3.2 Treatment of different terms
V. 4. Theoretical approach summary
V. 5. Features of CODE_BRIGHT
V. 6. Solution of system of equations in CODE_BRIGHT
V. 6.1 Matrix storage mode in CODE_BRIGHT
V. 6.2 Iterative solver for nonsymmetrical linear systems of
equations
2
• VI. CODE_BRIGHT. CONSTITUTIVE LAWS
VI. a. Hydraulic and thermal constitutive laws. Phase properties
VI. b. Mechanical constitutive laws: Elastic and visco-plastic models
VI. c. Mechanical constitutive laws: Damage-Elastoplastic model for
argillaceous rocks
VI. d. Mechanical constitutive laws: Thermo-elastoplastic model
VI. e. Mechanical constitutive laws: Barcelona Expansive model
VI. f. Mechanical constitutive laws: CASM’s family models
VI. g. Excavation/construction process
VI. h. THM discontinuities
• CODE_BRIGHT. REFERENCES
• APPENDIX II.A. ATMOSPHERIC SUBROUTINES DESCRIPTION
• APPENDIX III.A. GENERAL INFORMATION FILE: ROOT_GEN.DAT
• APPENDIX III.B. GEOMETRICAL DESCRIPTION FILE: ROOT_GRI.DAT
• APPENDIX V.A. THERMO-HYDRO-MECHANICAL INTERACTIONS
• APPENDIX VI.A. EQUIVALENT DENSITY AND SPECIFIC HEAT FOR A
TM PROBLEM
• APPENDIX VI.B.1. ANALOGY BETWEEN NONLINEAR ELASTICITY
AND BBM
• APPENDIX VI.B.2. CORRESPONDENCE BETWEEN NONLINEAR
ELASTICITY AND LINEAR ELASTICITY PARAMETERS
• APPENDIX VI.B.3. ANALOGY BETWEEN LINEAR CREEP AND
VISCOELASTICITY
• APPENDIX VI.B.4. ZERO THICKNESS
• APPENDIX VI.B.5. EXAMPLE OF USE OF THE ELASTIC AND VISCO-
PLASTIC MODELS
• APPENDIX VI.E. ABOUT THE NOTIONS OF MICRO- AND MACRO-
STRUCTURES IN THE DOUBLE-STRUCTURE MODEL IMPLEMENTED
IN CODE_BRIGHT
___________________________________
3
I. CODE_BRIGHT. FOREWORD
I.1. INTRODUCTION
The program described here is a tool designed to handle coupled problems in geological media.
The computer code, originally, was developed on the basis of a new general theory for saline
media. Then the program has been generalised for modelling thermo-hydro-mechanical (THM)
processes in a coupled way in geological media. Basically, the code couples mechanical,
hydraulic and thermal problems in geological media.
The theoretical approach consists in a set of governing equations, a set of constitutive laws and
a special computational approach. The code is written in FORTRAN and it is composed by
several subroutines. The program does not use external libraries.
CODE_BRIGHT uses GiD system for preprocessing and post-processing. GiD is developed by
the International Center for Numerical Methods in Engineering (CIMNE). GiD is an interactive
graphical user interface that is used for the definition, preparation and visualisation of all the
data related to numerical simulations. This data includes the definition of the geometry,
materials, conditions, solution information and other parameters. The program can also
generate the finite element mesh and write the information for a numerical simulation program
in its adequate format for CODE_BRIGHT. It is also possible to run the numerical simulation
directly from the system and to visualize the resulting information without transfer of files.
For geometry definition, the program works quite like a CAD (Computer Aided Design)
system. The most important difference is that the geometry is developed in a hierarchical mode.
This means that an entity of higher level (e.g. a volume) is constructed over entities of lower
level (e.g. a surface); two adjacent entities (e.g. two volumes) will then share the same lower
level entity (e.g. a surface).
All materials, conditions and solution parameters can also be defined on the geometry without
the user having any knowledge of the mesh. The meshing is performed once the problem has
been fully defined. The advantages of doing this are that, using associative data structures,
modifications can be made on the geometry and all other information will be updated
automatically.
Full graphic visualisation of the geometry, mesh and conditions is available for comprehensive
checking of the model before the analysis run is started. More comprehensive graphic
visualisation features are provided to evaluate the solution results after the analysis has been
performed. This post-processing user interface is also customisable depending on the analysis
type and the results provided.
A query window appears for some confirmations or selections. This feature is also extended to
the end of a session, when the system prompts the user to save the changes, even when the
normal ending has been superseded by closing the main window from the Window Manager,
or in most cases with incorrect exits.
4
the geometry while maintaining the attributes and conditions definitions. Alterations to the
attributes or conditions can simultaneously be made without the need of reassigning to the
geometry. New meshes or small modifications on the obtained mesh can also be generated if
necessary and all the information will be automatically assigned correctly.
The system does provide the option for defining attributes and conditions directly on the mesh
once this has been generated. However, if the mesh is regenerated, it is not possible to maintain
these definitions and therefore all attributes and conditions must be redefined. In general, the
complete solution process can be described as:
1. Define geometry - points, lines, surfaces, volumes.
• Use other facilities.
• Import from CAD.
2. Define attributes and conditions.
3. Generate mesh.
4. Carry out simulation.
5. View results.
Depending upon the results in step (5) it may be necessary to return to one of the steps (1), (2)
or (3) to make alterations and rerun the simulations.
Building a geometrical domain in GiD is based on the 4 geometrical levels of entities: points,
lines, surfaces and volumes. Entities of higher level are constructed over entities of lower level;
two adjacent entities can therefore share the same level entity.
All domains are considered in 3-dimensional space but if there is no variation in the third
coordinate (into the screen) the geometry is assumed to be 2-dimensional for analysis and
results visualisation purposes. Thus, to build a geometry, the user must first define points, join
these to form lines, create closed surfaces from the lines and define closed volumes from the
surfaces. Many other facilities are available for creating the geometrical domain; these include:
copying, moving, automatic surface creation, etc.
The geometrical domain can be created in a series of layers where each one is a separate part
of the geometry. Any geometrical entity (points, lines, surfaces or volumes) can belong to a
particular layer. It is then possible to view and manipulate some layers and not others. The main
purpose of the use of layers is to offer a visualisation and selection tool, but they are not used
in the analysis.
The system has the option of importing a geometry or mesh that has been created by a CAD
program outside GiD; at present, this can be done via a DXF, IGES or NASTRAN interface.
Once the geometry and attributes have been defined, the mesh can be generated using the mesh
generation tools supplied within the system. Structured and unstructured meshes containing
triangular and quadrilateral surface meshes or tetrahedral and hexahedral volume meshes may
be generated. The automatic mesh generation facility utilizes a background mesh concept for
which the users are required to supply a minimum number of parameters.
Simulations are carried out by using the calculate menu. The final stage of graphic
visualisation is flexible in order to allow the users to critically evaluate the results quickly and
easily. The menu items are generally determined by the results supplied by the solver module:
this not only reduces the amount of information stored but also allows a certain degree of user
customisation. The post solver interface may be included fully into the system so that it runs
automatically once the simulation run has terminated.
5
I.3. USING THIS MANUAL
This User Manual has been split into several differentiated parts. The part, THEORETICAL
ASPECTS, contains the theoretical basis of CODE_BRIGHT, and the numerical solution. In
CODE_BRIGHT. PREPROCESS. PROBLEM DATA, it is described how to enter the data
of the problem, i. e. general data, constitutive laws, boundary conditions, initial conditions and
interval data. The referred as CODE_BRIGHT. PROCESS is related to the calculation
process. This part also contains the description of input files. The part, CODE_BRIGHT.
CONSTITUTIVE LAWS contains a description of hydraulic, thermal and mechanical
constitutive laws and phase properties. Finally, CODE_BRIGHT. TUTORIAL, introduces
guided examples for a fast and easy familiarization with the system.
___________________________________
6
II. CODE_BRIGHT. PRE-PROCESS. PROBLEM DATA.
Problem data include all the parameters, conditions (see section Conditions), materials
properties (see section Materials), problem data (see section Problem Data) and intervals data
(see section Interval Data) that define the project. Conditions and materials should be assigned
to geometrical entities.
In order to build the data files ROOT_GEN.DAT and ROOT_GRI.DAT, data is introduced into
several window statements associated with these concepts (interface inputs).
Once the geometry has been prepared, it is necessary to go through the different Interface steps,
i.e. PROBLEM DATA, MATERIALS, CONDITIONS, and INTERVAL DATA. See the
tutorials for a guided introduction to the interface between GiD and CODE_BRIGHT.
7
GENERAL DATA
Title of the problem Interface Default: Coupled problem in geological media
Execution Only data file generation: ROOT_gen.dat and ROOT_gri.dat are built
Full execution: Calculation with the finite element program
CODE_BRIGHT is performed (default option)
Backup No Backup
(IMBACKUP in Save Last: Allows restart the calculation from the last time step computed.
root_gen.dat) Information is saved in file root_save.dat
Save All: Allows restart the calculation from any time step computed.
Information is saved in different files root_tnum_save.dat for each interval data
computed (tnum). To restart the calculation, rename the file root_tnum_save.dat
to root_save.dat
Axisymmetry No, Around y-axis
(IAXISYM in In 2-D axisymmetry the principal stresses are: r (radial), y (axial),
root_gen.dat) (circumferential)
Gravity X (2-D and 3-D) component Interface Default: 0.0
Gravity Y (3-D) component Interface Default: 0.0
Gravity Y (2-D) or Z (3-D) component Interface Default: -9.81
EQUATIONS SOLVED
Stress equilibrium (unknown Yes, No
displacement u) (IOPTDISPL
in root_gen.dat)
Updated lagrangian Yes, No. Updated lagrangian method, i.e. coordinates are modified after
method (IUPDC in each time increment is solved. If deformations are very large, some
root_gen.dat) elements may distort. If distortion is very large the volume of an element
may become negative and the execution will terminate immediately.
Mass balance of water (unknown liquid Yes, No
pressure Pl) (IOPTPL in root_gen.dat)
Constant Pl Constant liquid phase pressure for problems not including the
mass balance of water equation
Mass balance of air (unknown liquid Yes, No
pressure Pg) (IOPTPG in root_gen.dat)
Constant Pg Constant gas phase pressure for problems that do not include
the equation of mass balance of air. Usually equal to 0.1 MPa.
Dissolved air into liquid phase Allowed, Not allowed
(IOPTXAL in root_gen.dat)
Energy balance (unknown temperature) Yes, No
(IOPTTEMP in root_gen.dat)
Vapour into gas phase (IOPTXWG in Allowed, Not Allowed
root_gen.dat)
Constant Temp Constant temperature for problems that do not include the
equation of energy balance.
Mass balance of conservative species Yes, No
(unknown concentration) (IOPTXWS in
root_gen.dat)
8
Combinations of solving options are described below:
Pl Pg T Variable
1 0 0 Compressible water flow, one phase, one species, air is not considered.
0 1 0 Compressible air flow, one phase, one species.
0 0 1 Heat flow (only conduction).
1 1 0 Two phase flow (liquid + gas), air dissolved permitted, vapour not permitted.
1 0 1 Water two phase non-isothermal flow, vapour allowed, gas phase at constant
pressure.
0 1 1 Compressible non-isothermal gas flow, one phase, one species.
1 1 1 Non-isothermal two phase (liquid + gas) flow, vapour and air dissolved are allowed.
SOLUTION STRATEGY
Position of intermediate time tk+ for matrix evaluation, i.e. the
Epsilon (intermediate time for
point where the non-linear functions are computed. (usual
nonlinear functions)
values: 0.5, 1). See details on Numerical Method. Default: 1.0
Theta (intermediate time for Position of intermediate time tk+ for vector evaluation, i.e. the
implicit solution) point where the equation is accomplished. Default: 1.0
0-4: Time step control based on N-R iterations:
0: no time step prediction is performed.
1: predicts time stepping according to a limit of 4 iterations.
2: predicts time stepping according to a limit of 3 iterations.
3: predicts time stepping according to a limit of 2 iterations.
4: predicts time stepping according to a limit of 1 iteration.
Time step control 6-9: Time step control based on error estimation:
(ITIME in root_gen.dat) 6: controls time stepping by means of a prediction based on
Default: 1 the relative error deviation in the variables (relative error
lower than 0.01).
7: same as 6 but with a tolerance equal to 0.001.
8: same as 6 but with a tolerance equal to 0.0001.
9: same as 6 but with a tolerance equal to 0.00001.
Note: a time step control = 1 will always be considered for
negative time.
Max. number of iterations per Maximum number of Newton Raphson iterations per time
time step step. If the prescribed value is reached, time step is reduced.
(ITERMAX in root_gen.dat) Default: 10
Solver type Direct: LU + BACK
(ISOLVE in root_gen.dat) Iterative: Sparse + CGS
Max number of solver iterations Default: 5000
Solver type = Max abs solver error variable Default: 1.e-9
Iterative: Sparse + Max abs solver error residual Default: 0
CGS Max rel solver error residual Default: 0
Max threads parallel Default: 1
9
Elemental relative Elemental suction (consistent approach)
permeability Average nodal degrees of saturation (default)
computed from: Average nodal relative permeabilities
(IOPTPC in Average nodal relative permeabilities (applies also for derivatives)
root_gen.dat) Maximal nodal relative permeability
Max Abs Displacement (m) Maximum (absolute) displacement
(DELMXU in root_gen.dat) error tolerance (m). When correction
of displacements (displacement
difference between two iterations) is
lower than this value, convergence has
been achieved. Default: 1e-6
Stress equilibrium
Max Nod Bal Forces (MN) Maximum nodal force balance error
(unknown tolerance (MN). If the residual of
displacement u) = yes (DELFMX in root_gen.dat) forces in all nodes are lower than this
value, convergence has been achieved.
Default: 1e-10
Displacement Iter Corr (m) Maximum displacement correction per
(DUMX in root_gen.dat) iteration (m) (time increment is
reduced if necessary). Default: 1e-1
Max Abs Pl (MPa) Maximum (absolute) liquid pressure
(DELMXPL in root_gen.dat) error tolerance (MPa). Default: 1e-3
Mass balance of water Max Nod Bal Forces (MN) Maximum nodal water mass balance
(unknown liquid (DELQWMX in root_gen.dat) error tolerance (kg/s). Default: 1e-10
pressure Pl) = yes Pl Iter Corr (MPa) Maximum liquid pressure correction
(DPLMX in root_gen.dat) per iteration (MPa) (time increment is
reduced if necessary). Default: 1e-1
Max Abs Pg (MPa) Maximum (absolute) gas pressure
(DELMXPG in root_gen.dat) error tolerance (MPa). Default: 1e-3
Mass balance of air Max Nod Air Mass (kg/s) Maximum nodal air mass balance error
(unknown liquid (DELQAMX in root_gen.dat) tolerance (kg/s). Default: 1e-10
pressure Pg) = yes Pg Iter Corr (MPa) Maximum gas pressure correction per
(DPGMX in root_gen.dat) iteration (MPa) (time increment is
reduced if necessary). Default: 1e-1
Max Abs Temp (C) Maximum (absolute) temperature error
(DELMXT in root_gen.dat) tolerance (C). Default: 1e-3
Energy balance Max Nod Energy (J/s) Maximum nodal energy balance error
(unknown (DELQMX in root_gen.dat) tolerance (J/s). Default: 1e-10
temperature) = yes Temp Iter Corr (C) Maximum temperature correction per
(DTMX in root_gen.dat) iteration (C) (time increment is
reduced if necessary). Default: 1e-1
Max Abs Solute Maximum (absolute) concentration
(DELMXI in root_gen.dat) error tolerance.Default: 1e-3
Mass balance of Max Nod Solute mass balance Maximum nodal solute mass balance
conservative species (DELIMX in root_gen.dat) error tolerance.Default: 1e-10
(unknown Solute Iter Corr Maximum solute concentration
concentration) = yes correction per iteration (time
(DIMX in root_gen.dat)
increment is reduced if necessary).
Default: 1e-1
10
Comments regarding the use of tolerances
In order to illustrate the use of tolerances the thermal problem is considered with the following
tolerances:
Max Abs Temp (C) T1
Max Nod Energy (J/s) T2
Temp Iter Corr (C) T3
Convergence can be achieved in two ways: the one when T < T1 for all nodes (condition A)
and the second when (qh < T2) also for all nodes (qh represents here the energy balance or
residual at a node) (condition B).
It is to be mentioned that convergence in terms of T and convergence in terms of qh should be
reached simultaneously because the Newton - Raphson method is used. For this reason, the
program stops the iteration process when one of the two conditions (A or B) is achieved.
When more than one degrees of freedom are solved per node and one of the recomended options
is used (convergence by variable OR residual), convergence in terms of variable or residual
should be achieved by all the variables simultaneously. In other words, it is not possible that
the mechanical problem converges by residual and the thermal problem converges by the
variable.
Finally, if (T > T3), time increment will be reduced. This parameter controls the accuracy of
the solution in terms of how large time increments can be. A low value of T3 will force to use
small time increments when large variations of temperature take place.
OUTPUT
Write Iteration information is written in file ROOT_GEN.OUT according to:
numerical NONE: no information about convergence is written. This option should be
process used if the user is very confident with the time discretization and not interested
information in details at every time step or problems with time increment reductions.
Usually this happens when previous runs have shown that convergence and
(IOWIT in time discretization work very well.
root_gen.dat) PARTIAL: partial information is written. Time intervals and time-values,
number of iterations, CPU-time values, etc. are written. Convergence
information (e.g. residuals) is only written if time increment reductions take
place.
ALL: all iteration information is written. Convergence information is written
for all iterations and all time increments. This option may result in a very large
file ROOT_GEN.OUT
11
Writing Writing results frequency in output files according to the number of time steps
frequency (positive integer value) or according to a given time increment (negative integer
(INTER in value).
root_gen.dat) If it is positive, e.g. is set to 20, results for the complete mesh will be written
only every 20 calculated time increments.
If it is negative, then we can obtain the output values in a specified time: e.g.
setting a value of -10 will produce output for 0, 10, 20, 30, … units of time.
Note that you may need to set a suitable maximum time step in the interval data
in order for this implementation to work well (the maximum time step should
be around one order of magnitude lower than the writing time frequency). See
Figures II.2.1a, b and c.
Writing every
20 time steps
Writing every
100 time steps
12
Writing every 10 days
(input -10 as writting frequency
when using days as time units)
Figure II.2.1c. Writing every 10 days (Writing frequency = -10 and days selected
in the interval data).
OUTPUT
(continuation)
Write piezometric head Yes, No
Write boundary flow No (Defaul option)
rates in additional file Use writing frequency
Write all
Write boundary No (Defaul option)
reactions in additional Use writing frequency
file Write all
Output points Nodes
(IOWCONTOURS in
root_gen.dat) Gauss points: (Default option)
13
SELECT OUTPUT
14
II.2.2. MATERIALS
All materials must be defined from a generic material. The following steps show how to assign
materials and do modifications:
- Creating new materials: In order to create new materials, one should write a material
name and complet the necessary constitutive laws and do an Accept Data to validate the
data entered. It is necessary to create a material before assigning it on the geometry.
- Assignment must respect hierarchical structure of entities (i.e. cannot assign a material
on a line belonging to a surface that have just been identified with another material). This
type of error may create conflicts.
- Posterior modifications on the parameters of assigned materials do not require a re-
meshing process.
- Material names: When introducing a name for a material, it is strongly recommended to
avoid spaces or underscores (e.g. use mat1 instead mat_1 or mat 1). The use of spaces or
underscores ( _ ) might create conflicts when the material is read.
ITYCL P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
A number indicates the intervals where the law will be defined. This number fixes the number
of lines for VALUES to be entered. Every Interval line assumes parameters of INTERVAL
DATA according to the same order.
15
The following constitutive laws are available:
Assign material
With this instruction, the material is assigned to the selected entities. If assigning from a
window, every time the assigned material changes, the button Assign must be pressed again.
The user must select the entity on which to assign the materials, i.e.: line, surface or
volume when working in geometry mode or directly over the elements when working in
mesh mode. It is recommended to assign the materials on the geometry entities rather than on
the elements.
If assigning from the command line, option UnAssignMat erases all the assignments of this
particular material.
When a mesh has been already generated, and changes in the assigned materials are required,
then it is necessary to re-mesh again or assign the materials directly on the mesh.
Draw material
Draws a color indicating the selected material for all the entities that have the required material
assigned. It is possible to draw just one or draw all materials. To select some of them the users
should use a:b and all material numbers that lie between a and b will be drawn.
When drawing materials in 3 dimensions, it may be necessary to change the viewing mode to
polygons or render (see section Render) to diferenciate the front and back of the objects.
Unassign material
Command Unassign unassigns all the materials from all the entities. For only one material,
use UnAssignMat (see section Assign material).
16
New material
When the command NewMaterial is used, a new material is created taking an existing
one as a base material. Base material means that the new one will have the same fields as the
base one. Then, all the new values for the fields can be entered in the command line. It is
possible to redefine an existing material.
To create a new material or redefine an existing one in the materials window, write a new name
or the same one and change some of the properties. Then push the command Accept.
DIM=2 Linear triangle: mainly used in flow problems, i.e. when the
TYPE 1 mechanical problem is not solved. Linear triangles are not
adequate for incompressible media. Analytical integration.
These types of elements are assigned by the interface between GiD and CODE_BRIGHT.
Note that linear triangular elements or linear tetrahedrons, which have been proven to be very
adequate for flow problems, should be avoided for mechanical problems. This is because if the
medium is nearly-incompressible (creep of rocks takes place with very small volumetric
deformation), locking takes place (not all displacements are permitted due to element
restrictions).
17
II.2.3. CONDITIONS
Conditions are all the properties of a problem –excluding materials– that can be assigned to an
entity. In this concept several types of conditions have been included: Force/displacement
conditions, flux conditions, initial unknowns, porosity (and other variables), initial stress, joint
element width, time evolution location, etc. The condition window permits to choose entities
to assign on (Point, Line, Surface or Volume in geometry display mode; and Node or Element
in mesh display mode) and select different types of conditions. It must be taken into account
that conditions assigned in mesh display mode will be unassigned in every new meshing
process.
In addition, the following points should be taken into account:
• Force/displacement conditions add up all conditions assigned at every node, except for
variables Index (takes last value encountered) and Multiplier (takes the biggest).
• Flux conditions, initial unknowns, porosity (and other variables), initial stress and joint
element width are assigned with entities priority from lower to higher level i.e. in the following
order: Points, Lines, Surfaces and Volumes (i.e. the node takes a Flux_Point_B.C. refusing a
Line_Flux_B.C. assigned previously).
• When dealing with nodes shared by entities of the same level (e.g. surfaces) with different
initial values, it is recommended –especially in the case of thin interfaces– to assign initial
conditions on the entities containing those shared nodes (e.g. lines), so we are able to effectively
control the initial values on those nodes.
If a mesh has already been generated, for any change in the condition assignments, it is
necessary to re-mesh again to transfer these new conditions to the mesh.
Conditions description
18
X displacement rate prescribed Value in m/s
Y displacement rate prescribed Value in m/s
Z displacement rate prescribed Value in m/s
When selected, displacement rate will be
X direction prescribed prescribed in the X direction. Its value is
given in the cells above.
When selected, displacement rate will be
Y direction prescribed prescribed in the Y direction. Its value is
given in the cells above.
When selected, displacement rate will be
Z direction prescribed prescribed in the Z direction. Its value is
given in the cells above.
The units of this parameter depend on
whether force or stress is applied:
(multiplier) MN
When applying a force:
m
MPa
When applying a stress:
m
fxo obtained as ramp loading
during the current interval.
fyo obtained as ramp loading
during the current interval.
fzo obtained as ramp loading
during the current interval.
Points (2-D or 3-D) Lines (usually 2-D) Surfaces (usually 3-D) Volumes (3-D)
Forces Forces Forces Forces
Boundary stresses Boundary stresses
19
II.2.3.2 Flux Boundary Condition
Mass or heat transport problems. These conditions only exist if any balance (water, air, energy
flow) problem is solved. For each time interval, only the types that undergo changes need to be
read.
The boundary condition is incorporated by adding a flux or flow rate. The mass flux or flow
rate of species i = w as a component of phase = g (i.e. the inflow or outflow of vapour) is
calculated as:
( ) ( ) (P ) (
− Pg + g g wg ) − ( )
0 0 0
j gw = wg j g0 + wg g g
0
g
w
g
where the superscript 0 stands for the prescribed values, is mass fraction, is density, Pg is
gas pressure, jg0 is a prescribed gas flow and g and g are two parameters of the boundary
condition. Particular cases of this boundary condition are obtained for instance in the following
way:
Description (gw)0 jg0 g Pg0 (g) g
A prescribed mass flow rate of gas with 0.02 kg/kg of 0.02 1e-5
vapor and 0.98 kg/kg of air is injected kg/s
If Pg < Pg0 = 0.1 => a variable mass flow rate of gas 0.02 10 0.1
with 0.02 kg/kg of vapor and 0.98 kg/kg of air is
injected.
If Pg < Pg0 = 0.1 => a variable mass flow rate of gas
with variable composition outflows.
Humidity in the boundary is prescribed to 0.0112 0.01 1.12 10
kg/m3. This is equivalent to a relative humidity of
0.0112/0.0255 = 0.44 = 44%
where:
( ) = 1 − ( wg )
a 0 0
g
( ) w 0
= 1 − ( la )
0
l
20
Positive values of mass flow rate indicate injection into the medium.
For energy, the boundary condition has the general form:
je = je0 + e (T 0 − T ) + E gw ( j gw ) + ...
In other words, a von Newman type term plus a Cauchy type term and a series of terms that
represent the energy transfer caused by mass inflow and outflow through the boundary.
The set of parameters that are required for these equations are (note that the symbols used by
Gerard et al., 2009, are not the same):
21
For a positive value of a parabolic curve is used; for a negative value an exponentially
decaying curve is used. is the distance from the reference pressure to the point of change.
Index → +1.0 means that all flow rates are nodal values. For instance,
(auxiliary a pumping well boundary condition.
index) → -1.0 means that all flow rates are per unit volume (3-D), area
(2-D) or length (1-D) of medium (internal source or
sink). For instance, a recharge due to rain in a 2-D case.
→ +2.0 means that all flow rates are per unit area (3-D) or
length (2-D) (lateral fluxes). For instance, lateral fluxes
from neighbour aquifers.
Prescribed gas, liquid and heat flows must be given in terms of flow units depending on the
way these flows are considered, i.e., depending on the kind of element they pass through and
on the problem dimension. The required units for each case are graphically specified below:
INDEX PROBLEM
ILLUSTRATION FLOW UNITS
PARAMETER DIMENSION
Index = 1.0 3-D kg
Mass:
s
J
Heat:
s
2-D kg
Mass:
s
J
Heat:
s
1-D kg
Mass:
s
J
Heat:
s
Index = -1.0 3-D kg
Mass:
m3 s
J
Heat:
m3 s
2-D kg
Mass:
m2 s
J
Heat:
m2 s
1-D kg
Mass:
ms
J
Heat:
ms
22
Index = 2.0 3-D kg
Mass:
m2 s
J
Heat:
m2 s
2-D kg
Mass:
ms
J
Heat:
ms
kg kg kg m 3
1 J J
3D = 3
m3 s m3 s 3
m s MPa m3 s s 3
m s m sC
kg kg kg m 3
m2 J J
2D =
ms ms m s MPa ms s ms msC
2.0
kg kg kg m 3
m J J
3D 2 2 =
m s m s 2
m s MPa 2
m s s 2
m s 2
m sC
The fact that units are different for 3D, 2D and 1D is due to the reduction of one dimension in
2D and two dimensions in 1D. However, if a 2D model is considered to have 1 m associated
thickness, then units would be identical as in 3D. Similarly, if a 1D model is considered to have
1 m2 associated surface then units would be identical as in 3D.
The above boundary conditions are rather general. They incorporate terms of von Newman type
and Cauchy type. The equation includes three terms. The first one is the mass inflow or outflow
that takes place when a flow rate is prescribed at a node. The second term is the mass inflow or
outflow that takes place when a phase pressure is prescribed at a node. The coefficient is a
leakage coefficient. This variable allows prescribing a pressure with more or less strength. If
is very large, pressure will tend to reach the prescribed value (see Figures II.2.2 and II.2.3).
However, an extremely large value can produce matrix ill conditioning and a lower one can
produce inaccuracy in prescribing the pressure. However, it is not difficult to guess adequate
23
values for a given problem simply by trial. The third term is the mass inflow or outflow that
takes place when species mass fraction is prescribed at a node.
A surface where seepage (only outflow for liquid phase is permitted) is a case that may be of
interest. To indicate that only outflow is permitted l is entered with negative sign. This negative
sign only indicates that nodes with this kind of boundary condition allow seepage (i.e. only
outflow).
If there is inflow of gas or liquid phase, it is very important to give values of the following
o o o o o
variables: (gw) , (la) , (l) , (g) and T . Otherwise, they are assumed to be zero, which is
not correct because they will be too far from equilibrium. If outflow takes place, this is not
relevant because the values of the medium are used instead of the prescribed ones.
qi
i
i > 0
1.0
inflow
Po i
Pi
outflow
Figure II.2.2
qi
i < 0
inflow
Poi
Pi
outflow i
1.0
Figure II.2.3
24
Boundary conditions variable with time.
a) One boundary condition variable with time.
It is possible to assign a flux condition varying with time using an auxiliary file. In this case,
the user must assign a value of -999 to the particular variable for which a given variation wants
to be assigned and include an ASCII file called “root_bcf.dat” in the GiD project folder with
the variation with time of the given flux variable. The structure of the “root_bcf.dat” file is
illustrated in Table II.2.2. Note that with root we mean the root name of the project: for example,
if our project is DAM.gid then the file should be named DAM_bcf.dat.
Table II.2.2. Illustration of the format of the root_bcf.dat file
Number of data (N)
Number of Flux Id. variable (1) Id. variable (2) … Id. variable (NF)
variables (NF)
Time (1) Value Value … Value
Time (2) Value Value … Value
… … … … …
Time (N) Value Value … Value
It should be noted that the first line of the root_bcf.dat file must contain the number of data (N)
that has to be read. The first column of the second line refers to the number of flux variables
(NF) for which a given variation with time want to be assigned. The other columns of the second
line contain a special flag (or indicator) of the flux variables to be changed. This indicator is
shown in Table II.2.3. The following lines (from third to N) contain the time in the same unit
considered at the interval data (in the first column) and the values of the flux variables assigned
to the specific time (in the other columns).
Table II.2.3. Identification number (Id.) of the flux variables
Id. Flux variable
1 gw prescribed mass fraction (kg/kg)
2 jg prescribed gas flow rate (units in Table II.2.1)
3 Pg prescribed gas pressure (MPa)
4 g parameter for gas pressure term (units in Table II.2.1)
5 g parameter for humidity term (units in Table II.2.1)
6 g prescribed gas density (kg/m3)
7 lw prescribed mass fraction of solute (kg/kg)
8 la prescribed mass fraction of air (kg/kg)
9 jl prescribed liquid flow rate (units in Table II.2.1)
10 Pl prescribed liquid pressure (MPa)
11 l parameter needed to be ≠ 0 when Pl is prescribed (units in Table II.2.1)
12 l parameter needed only when mass transport problem is considered (Table II.2.1)
13 l prescribed liquid density (kg/m3)
14 je prescribed heat flow rate (units in Table II.2.1)
15 T prescribed temperature (C)
16 e parameter needed to be ≠ 0 when T is prescribed (units in Table II.2.1)
25
b) Multiple boundary conditions variable with time.
For a value in a flux boundary condition that varies with time according to a function of time
(list of values) the following actions have to be taken:
• Set de value of the variable equal to -99901.
• If you have more values for the same boundary condition or in another boundary condition,
use the values -99902, -99903 up to -99999 if necessary.
• Prepare a file (root_bcf.dat) with the following structure:
- First row: m, number of data values to be read (lines).
- Second row: –n 1 2 3 … n where n ≤ 99 number of variables that change with time.
- m rows with time_1 value_1 time_2 value_2 … time_n value_n.
1
The first implementation of this module is due to Maarten Saaltink.
26
The calls to atmosferic_boundary_condition subroutine appear in the following
subroutines:
• atm_boundary_conditions (bcond_flow.f) itself called by newton_raphson
(nr.f)
• write_boundary_flows (write.f) itself called by main_calculate
(code_bright_main.f)
Running atmosferic_boundary_condition needs index=52 as boundary condition
type, this latter being passed in FLUX(20). FLUX vector is read from file root_gen.dat by
read_boundary_conditions (read_general.f). The index of this file is iin1 (the
concerned card is numbered 20).
It should be noted that flow rates computed by the atmosferic_boundary_condition
subroutine are then treated as if index = 2.0 (used in classic flux boundary conditions)
were set i.e. as if flow rates are per unit area.
BEGIN
call get_atm_data
energy flux
(*)
write to output per radiation call sun
per convection
2
This variable is locally called ICON.
27
Input data
Problem data definition file (root_gen.dat)
When atmospheric boundary conditions are considered, the parameters presented in Table II.2.4
have to be entered in CardGroup 20 in file root_gen.dat. These conditions are activated via
FL20, which should be set to 5. In Table II.2.4, latitude, time when autumn begins, time at
noon, dry and wet albedos are used for calculating radiation when radiation type is lower than
3.
Roughness length, screen height and stability factor are used for evaporation estimation and for
estimation of the advective energy flux.
Table II.2.5 presents ranges of roughness lengths for different types of surfaces from which
evaporation has to be calculated.
Table II.2.5: Roughness lengths for different types of surfaces after Chow et al. (1988).
Type of surface Height main roughness (m)
Ice, mud flats 1.10-5
Water 1.10-4 – 6.10-4
Grass (up to 10 cm high) 1.10-3 – 2.10-2
Grass (10 to 50 cm high) 2.10-2 – 5.10-2
Vegetation (1–2 m) 0.2
Tress (10 – 15 m) 0.4 – 0.7
28
Atmospheric data input file (root_atm.dat)
General parameters are to be entered in the problem data file (see CardGroup 20 description
here above) but time varying atmospheric data which are required to compute mass and heat
fluxes should be entered within an ASCII file called root_atm.dat3. Data that can be read is
summarized in Table II.2.6.
For each variable, the pair of columns containing available data is organised is the way
schematically presented in Table II.2.4. More details about this file and time varying
atmospheric data are given is section 0, dedicated to get_atm_data subroutine.
3
The file root_atm.dat is read with a free format. A dedicated tool developed by J.M. Pereira
(atmdata.exe) can be used to check its general format.
4
In this table, light grey and bold grey cells respectively identify measured data and unused data
(the former being constituted of time (ti) and corresponding values (xi) pairs for each quantity).
29
Table II.2.6: Time varying atmospheric data to be provided in file root_atm.dat.
Data Unit
Atmospheric temperature, Ta °C
Atmospheric gas pressure, Pga MPa
Relative humidity, Hr -
Radiation5, Rm J m-2 s-1
Cloud index6, In -
Rainfall, P kg m-2 s-1
Wind velocity, va m s-1
Long wave Radiation7, Rl J m-2 s-1
Atmospheric transmissivity8, a -
Table II.2.7: Illustration of the format of root_atm.dat file (excluding first line).
Ta Pga Hr Rm In P va Rl a
Flag 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Annual mean 0 x_am 0 x_am 0 x_am 0 x_am 0 x_am 0 x_am 0 x_am 0 x_am 0 x_am
Annual ampl 0 x_aa 0 x_aa 0 x_aa 0 x_aa 0 x_aa 0 x_aa 0 x_aa 0 x_aa 0 x_aa
Annual gap (s) 0 x_ag 0 x_ag 0 x_ag 0 x_ag 0 x_ag 0 x_ag 0 x_ag 0 x_ag 0 x_ag
Daily ampl 0 x_da 0 x_da 0 x_da 0 x_da 0 x_da 0 x_da 0 x_da 0 x_da 0 x_da
Daily gap (s) 0 x_dg 0 x_dg 0 x_dg 0 x_dg 0 x_dg 0 x_dg 0 x_dg 0 x_dg 0 x_dg
Unused 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Measures… ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi
Measures… ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi
Measures… ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi
Measures… ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi ti xi
Measures… … … … … … … … … … … … … … … … … … …
5
Radiation data will be used only if “Radiation type” is different from ‘0’ or ‘1’ in the boundary
conditions parameters. Rm will be the net radiation measurements if “Radiation type” is set
“3”, otherwise, if “Radiation type” is set to 2, 4 or 5 Rm will be the short wave (solar) radiation
measurements.
6
Cloud index allows to account for a cloudy sky in the radiation computation (In = 1 for a clear
sky and In = 0 for a completely cloudy sky).
7
Long wave (atmospheric) radiation data will be used only if “Radiation type” is set to 4 in the
boundary conditions parameters.
8
Atmospheric transmissivity data will be used only if “Radiation type” is set to 0 or 1, or the
atmospheric boundary condition is apply to a inclined surface (dip > 0, FLUX(15)).
Atmospheric trasnmisivity expresses the amount of external radiation that is absorved by the
atmosphere, it can be estimated from the relative sunshine hours as 𝜏𝑎 = 0.25 + 0.50 𝑛⁄𝑁 ,
where n is the hours of sunshine and N the hours of daylinght. Or, 𝜏𝑎 can be estimated from the
maximal (𝑇𝑎𝑚𝑎𝑥 ) and minimal (𝑇𝑎𝑚𝑖𝑛 ) daily temperatrure as 𝜏𝑎 = 𝐾ℎ √𝑇𝑎𝑚𝑎𝑥 − 𝑇𝑎𝑚𝑖𝑛 , where
Kh is an empirical constant, Kh = 0.16 for interior and Kh = 0.19 for coastal regions.
30
It should be noted that the first line of the file root_atm.dat must contain the number of lines
(excluding this one) and number of columns that has to be read. The second line refers to
interpolation or simulation option: it corresponds to a special flag allowing the user to simulate
the atmospheric data on the base of annual and daily characteristics that are furnished (see eq.
(23)). This simulation will be processed if, for a given quantity, its flag is set to ‘0’. The values
necessary to proceed to this simulation are provided in the 5 following lines and correspond to
annual mean, amplitude and gap and daily amplitude and gap. On the contrary, if this flag is set
to ‘1’, CODE_BRIGHT will use the measured data provided in the rest of the lines of the data
file and process to linear interpolations in order to obtain the value of a quantity for a given
calculation time.
For atmospheric subroutines description, take a look at APPENDIX II.A. ATMOSPHERIC
SUBROUTINES DESCRIPTION
Initial values of the unknowns can be assigned on surfaces/volumes on the geometry. A constant
or linear distribution is available.
If distribution is linear, information about unknowns’ values at final point and the coordinates
of the initial and final points are required.
In case of nodes with multiple initial conditions assigned, the ones assigned into entities of
higher levels prevail. It is recommended to assign the materials on the geometry entities, but
it is also possible to assign them directly into mesh elements in case is needed.
31
XY stress Value in MPa
XZ stress Value in MPa
YZ stress Value in MPa
History variable 1 (depend on the constitutive model)
History variable 2 (depend on the constitutive model)
In chapter VI, the description of history variables required for elastoplastic and viscoplastic
models is included.
If distribution is linear, information about stresses and history variables values at final point
and the coordinates of the initial and final points are required.
y’=y y
’’
α
z x’
α
x
β
x’’
y
x’
x
Cross-anisotropy plane
β
z=z’ z’’
Figure II.2.9: Convention of reference axis for transverse isotropic material.
32
Parameters of elastic transverse isotropy can be assigned trough the Damage-elastoplastic
model for argillaceous rocks (ICL=71 to 79; see chapter VIc), while parameters of hydraulic
transverse isotropy can be assigned trough the intrinsic permeability law (ICL=7; see chapter
VIa).
Assigning priorities
Conditions assigned on the geometry are distributed over the mesh with priorities. In general
points have priority over lines, lines over surfaces and surfaces over volumes. At mesh level,
nodes have priority over elements.
Mechanical boundary conditions on high entities are superimposed when they are applied to a
lower entity. This means, for instance in a 2-D case, that a point that belongs to two lines will
have the combination of boundary conditions coming from these two lines.
Assign condition
A condition is assigned to the entities with the given field values. If assigning from the
command AssignCond, the option Change allows the definition of the field values. Do not
forget to change these values before assigning. Option DeleteAll erases all the assigned
entities of this particular condition. Conditions can be assigned both on the geometry and on
the mesh but it is convenient to assign them on the geometry and the conditions will then be
transferred to the mesh. If conditions are assigned on the mesh, any remeshing will cause the
conditions to be lost.
Conditions that are to be attached to the boundary of the elements, are assigned to the elements
and GiD searches the boundaries of the elements that are boundaries of the total mesh. Option
Unassign inside AssignCond, permits to unassign this condition. It is also possible to
unassign from only certain entities.
If a mesh has already been generated, for any change in the condition assignments, it is
necessary to re-mesh again.
33
Draw condition
Option Draw all draws all the conditions assigned to all the entities in the graphical window.
This means to draw a graphical symbol or condition number over every entity that has this
condition. If one particular condition is selected, it is possible to choose between Draw and one
of the fields. Draw is like Draw all but only for one particular condition. If one field is
chosen, the value of this field is written over all the entities that have this condition assigned.
When the condition has any field referred to the type of axes, the latters can be visualized by
means of Draw local axes.
Unassign condition
In window mode, command UnAssign lets the user to choose between unassigning this
condition from the entities that owe it or unassigning all the conditions or select some entities
to unassign. In command mode UnAssing, do it for all the conditions. For only one condition,
use command Delete All (see section Assign condition).
Entities
Create an information window with all entities assigned including values at every one.
34
II.2.4. INTERVALS DATA
Intervals are a way to change some conditions and, eventually, material properties.
Properties for materials can vary at each interval or remain constant. For a problem with several
intervals, a window with more than one row can be used for each constitutive law (see figure
below). Each row represents the properties for each interval. If the number of the current
interval is higher than the number of rows, then the material will keep the properties of the last
row. Usually, only the first line should be filled. The following lines may be left in blank if
material properties are unchanged.
ITYCL P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
Boundary conditions may vary at each interval or remain constant. For conditions the correct
way to proceed is to define all the invariable conditions first (i.e. those that remain unchanged
during all intervals). Then, it is allowed to define as many intervals as desired with the command
NewInterval or update the conditions in different intervals using the command
ChangeInterval. It is possible to define as many conditions as necessary into particular
intervals. The conditions which have not been duplicated when creating new intervals, are only
considered for their interval.
Interval data parameters, decribe temporal limits and time steps for each interval. They can be
entered with the command IntervalData or in the intervals data window. If entered in a
window, the data is not accepted until button Accept is pressed. This data can be entered
before or after meshing.
Description
INTERVAL DATA
Units of time discretization Time units for defined interval. Options: Seconds,
Minutes, Hours, Days, Weeks, Months, Years
Initial Time (interval starts) Initial time for the defined interval.
(TIMEI in root_gen.dat)
Initial Time Step Initial time step for this time interval.
(DTIME in root_gen.dat)
Final Time (interval ends) Final time for the defined interval.
(TIMEF in root_gen.dat)
Intermediate Time Time from which time increment is kept below the
(TIME1 in root_gen.dat) maximum allowed (advanced option).
Maximum Time Step Maximum allowed time step constant value.
(DTIMEC in root_gen.dat)
Reset displacements to zero Yes / No
This option puts displacement to zero at the first
time step of the next time interval.
35
Using the advanced options, there is also possible to change the values of ‘epsilon’ or ‘time
step control’ for a given interval (these two variables have been explained in chapter II.2.1).
These changes will be mantained during the following intervals, unless the user explicitly
change them.
In 'Writing results frequency', the intermittence for writing results is defined, i.e. only after a
given number of time steps the results will be written. This may cause inconveniences if the
user desires the results at precisely fixed times (for instance: 6 months, 1 year, 2 year, etc.).
Moreover, if something changes between two runs (e.g. boundary conditions) and any time
increment should be modified, the value of the times in which results are output will not be
identical between these two runs. In this case, it would be difficult to make a comparison of the
two analyses because the output results correspond to different times.
However, it is possible to decide the values of the times for output using a sequence of
consecutive intervals. In this way, the results will be output for all 'Final time' defined, and if
the user is only interested in these fixed times a very large value may be used for 'Writing results
frequency' to avoid output at other times. Alternatively, this could be solved using a negative
‘writing frequency’ (see section II.2.1).
_________________________________
36
III.CODE_BRIGHT. PROCESS
III.1. CALCULATE
This part deals with the stage of the process that solves the numerical problem. The system
would allow calling the Finite Element program without necessity of leaving from the work
environment. Pressing Calculate the user can see a Process window, and clicking on Start
the solver module runs.
The option Calculate from the beginning is useful in case that you need to calculate
the project from the beginning (without using the saved files created in a previous calculate
process). WARNING: Calculate from the beginning option will erase all the save
type files from the working directory.
37
III.5. SUMMARY-LIST OF CARDS
This section contains the list of Cards with the variables that are read in each one.
File ROOT_GEN.DAT
Card 1. Problem HEAD
Card 2. Dimensions and NUMNP, NUMEL, NDIM, IAXISYM, NUMMAT, NHV
options
Card 3. Dimensions and MXDIFN, MBANDT, MFRONTH, NDF, MNVAL, ISOLVE
options
Card 4. Dimension NFDTYPE, NFLUXTYPE
boundary conditions
Card 5. Options. IOPTDISPL, IOPTPL, IOPTPG, IOPTTEMP, IOPTXWS
Unknowns to be calculated
Card 6. Other options IOPTXHL, IUPDPOR, IOPTXWG, IOPTXAL, IOPTPC,
IOPTHYS, IUPDC
Card 7. Flags. Auxiliary IFLAG1, IFLAG2, IFLAG3, IFLAG4, IFLAG5
options
Card 8. Constants EPSILON, THETA, PGCONS, TCONS, PLCONS
Card 9. Void
Card 10. Options IOWIT, INTER, ITERMAX, IOWCONTOURS,
ITERMAXS, ITIME, IMBACKUP, IWRALL, IPOLYFILES
CardGroup 11. DELMXU, FACU, DELFMX, DUMX (Omit if
Convergence parameters IOPTDISPL=0)
DELMXPL, FACPL, DELQWMX, DPLMX (Omit if
IOPTPL=0)
DELMXPG, FACPG, DELQAMX, DPGMX (Omit if
IOPTPG=0)
DELMXT, FACT, DELQMX, DTMX (Omit if
IOPTTEMP=0)
DELMXI, FACI, DELIMX, DIMX (Omit if IOPTXWS=0)
DXS,DRS,DRSREL (Omit if ISOLVE not equal 5)
This group ends with -1
Card 12. Gravity GRAVITY(1), ..., GRAVITY(NDIM)
Card 13. Interval time TIMEI, DTIME, TIME1, DTIMEC, TIMEF, FACTTIME
variables
Card 14. Number of IMAT
material
38
Card 15. Number and ICL, TIT, ITYCL
name of constitutive law
CardGroup 16. TIT, PARCL(1,ICL,IMAT) TIT, PARCL(6,ICL,IMAT)
Parameters constitutive TIT, PARCL(2,ICL,IMAT) TIT, PARCL(7,ICL,IMAT)
law TIT, PARCL(3,ICL,IMAT) TIT, PARCL(8,ICL,IMAT)
TIT, PARCL(4,ICL,IMAT) TIT, PARCL(9,ICL,IMAT)
TIT, PARCL(5,ICL,IMAT) TIT, PARCL(10,ICL,IMAT)
(group of Cards from IMAT=1 to NUMMAT and for every IMAT value from ICL=1 to
NCL (not all ICL are required) )
This group ends with -1 (ICL loop)
This group ends with -1 (IMAT loop)
Card 17. Type of IF
boundary condition
(Mechanical problem)
CardGroup TIT, FORDISP(1,IF)
18.Force/displacement TIT, FORDISP(2,IF)
prescribed TIT, FORDISP(...,IF)
(group of Cards from IF=1 to NFDTYPE ) (Omit if IOPTDISPL=0)
This group ends with -1
Card 19. Type of IF
boundary condition. Mass
or heat transport problems
CardGroup 20. Flux TIT, FLUX(1,IF), TIT, FLUX(21,IF)
problem boundary TIT, FLUX(2,IF), TIT, FLUX(22,IF)
condition TIT, FLUX(...,IF, TIT, FLUX(...,IF))
TIT, FLUX(20,IF), TIT, FLUX(40,IF)
(group of Cards from IF=1 to NFLUXTYPE ) (Omit if IOPTPL + IOPTPG +IOPTTEMP =
0)
This group ends with –1
The group of Cards from 13 to 20 can be repeated in order to make a simulation with several
time intervals in which the boundary conditions and material properties are not the same. If any
parameter is not read, the value in the previous interval is used. If a '-1' is read with IMAT, ICL
and IF, then no change takes place in material properties and boundary conditions.
39
File ROOT_GRI.DAT
Card 1. Grid writing index IOWGRI, IOFILE, IFMT
CardGroup 2. Node co- N, COORD(1, N), ..., COORD(NDIM, N), IFORDISP(1,N),
ordinates and boundary IFORDISP(2,N), IFORDISP(3,N), IFLUXTYPE(1,N),
condition type IFLUXTYPE(2,N), IFLUXTYPE(3,N), WIDTH(N)
(group of Cards from N=1 to NUMNP)
CardGroup 3. Node L, MTYPE, LTYPE, KXX(1,L),..., KXX(MNNEL,L)
connectivities, material,
element type,...
(group of Cards with L=1 to NUMEL)
CardGroup 4. Initial N, XOLD(1,N), ..., XOLD(NDF,N)
values of unknowns
(group of Cards with N=1 to NUMNP)
CardGroup 5. Initial L, STRESSOLD(1, 1, L), ..., STRESSOLD(NSTREC, 1, L)
values of stresses
(group of Cards with L=1 to NUMEL) (Omit if IOPTDISPL=0)
CardGroup 6. Other L, POROSITY(L), (FK(I, L), I=1,NDIM), ANISOTPER(1,
element wise properties L), ..., ANISOTPER(NISOT, L), THICKNESS (L),
(FK(I,L), I=NDIM+1, NDIM+3)
(group of Cards with L=1 to NUMEL)
Card 7. Time evolution of NOUTOT, IVOU(1), ..., IVOU(10), INTERNODE
state or dependent variables
at nodes
Card 8. Nodes for time NODOUT(1), ..., NODOUT(NOUTOT)
evolution
Card 9. Piezometric head IWHEAD, NWHEAD
map
Card 10. Nodal flows IWNFLOW
Card 11. Time evolution of LOUT, IELVOUT(1), ..., IELVOUT(10),
dependent variables at INTERELEMENT
elements
Card 12. Element numbers NELOUT(1), ..., NELOUT(LOUT)
for time evolution of
element-wise variables
_________________________________
40
IV. CODE_BRIGHT. POSTPROCESS.
IV.1. POST-PROCESSING TOOLS: SHORT DESCRIPTION
The different results that the system allows to display are the following ones:
• Geometry: GiD displays the whole volumetric mesh, surface sets and boundary surfaces. It
can also cut and divide them, in its original state as well as also in its deformed state, and
switch them on and off. GiD displays how the meshes/sets will be deformed according to a
certain vectorial variable. GiD provides two representations: on the first one all the results
will then be drawn on these original or deformed meshes (Main Geometry); on the second
one, a superimposed representation (Show Geometry) is provided, that can be also deformed,
but the results will still be drawn on the main representation. The user can compare the main
original/deformed meshes/sets with the second representation, which can also be deformed
with the same or another vector deformation, or with no deformation at all. The scaling of
all the displays can be modified interactively.
• Show minimum and maximum: The minimum and maximum values of the variable for
the currently viewed meshes/sets can appear, pointing all the nodes where these limits are
computed, in dark blue the minimum values and in red the maximum ones.
• Vectors: GiD presents a vector distribution according to the vectorial or matrix variables on
each node, showing their magnitudes and directions. The scaling of the vectors can be
modified interactively.
• Contour fields: GiD represents the variables through isosurfaces or contours that comprise
all the values between two given values. GiD takes advantage of the graphical capabilities
of the machine, allowing a smoothing of the results when a high number of colors is used.
• Contour lines: This representation is quite similar to the last one, but the uniform bands are
substituted here by isolines, where each one ties several points with the same value.
41
The file root.post.msh contains information about the mesh, like the coordinates of the nodes,
and the coordinates of the elements, while the file root.post.res presents the information of the
results and the variation in time of different variables in the nodes or Gauss points. To create
the program it is important to take into account the format of these files, specially the
root.pos.res file. Note that with root we mean the root name of the project: for example, if our
project is DAM.gid then the post process files will be DAM.post.res and DAM.post.msh.
The first lines of the file root.pos.res are the header, which contains information about the Gauss
points. Based on the type of element employed, this header may have 5 or 10 lines: 5 lines for
triangular elements and 10 lines for quadrilateral elements. See Figure IV.3.1.
The results of the process appear in the next lines. The results are divided by time, which means
that are presented for variable 1 in time 1, then variable 2 in time 1, until the last variable, and
then start again for all the variables in time 2 and so on.
The line 6 −or 11, depending on the element employed− presents the header for the results of
variable 1 in time 1, which has the following format:
Result “Variable” Isochrones “time” “type” “set”
Variable: Ex. Temperature, liquid pressure, stress
Type: Vector, scalar or matrix.
Set: Nodes (onNodes) or Gauss points (GP) depending of the variable.
For example: Result Temperature Isochrones 0.549584E-06 Scalar onNodes
The next line has the text “Values”. In the following lines 2 columns for scalar type variables
appear, 3 columns for variable type vector or 6 columns for matrix type, as it is shown in Figure
IV.3.2. The first column presents the number of the node or Gauss point, whose coordinates are
presented in the file root.post.msh. After the last value, the line “end values” appears and in the
succeeding line the header for the next variable appears.
42
Result format for a scalar variable.
If the user needs to create another file type root.post.res to visualize the results in the GID
interface, it is important to consider the format presented before, and take into account that the
header of the values has the following format:
‘Result’,1x,a15,1x,’Isochrones `,e12.6,1x,a15,1x,a30
43
V. CODE_BRIGHT. THEORETICAL ASPECTS
In porous media, subjected to thermal, hydraulic, and mechanical conditions, relevant thermo-
hydro-mechanical (THM) phenomena takes place. In fact, there exist a number of mutual
interactions that must be taken simultaneously into account in analyses. For instance, strains
due to thermal loading will induce stress variations and changes in mass storage terms and
hydraulic conductivity. The thermal expansion of the water in the pores itself causes changes
in the degree of saturation or, if the material is saturated or quasi-saturated, increases of water
pressure. Thermal induced vapor diffusion and the dependence of water viscosity on
temperature also affect significantly the water transfer process.
On the other hand, changes in hydraulic conditions influence the temperature field via variations
of thermal conductivity and affect the stress/strain field due to pore water pressure and pore gas
pressure changes. Gas pressure is affected by the increase in vapour pressure with temperature.
This may lead to further changes in the pattern of gas and water flow. Finally, porosity changes
due to volumetric strain influence pore pressure distributions because of associated variations
in storage terms and hydraulic conductivity. The effect on temperature is less important as the
variations of thermal conductivity with porosity are relatively small. In APPENDIX V.A. the
most significant interactions between the various phenomena are presented in a systematic
manner.
An unavoidable consequence of all those phenomena interacting simultaneously is the need to
carry out coupled THM analysis in which all the main aspects of the problem can be considered
in an integrated way. Such a formulation and the numerical approach adopted to solve the
governing equations are presented in the following sections.
Solid phase
Liquid phase:
water +
dissolved air
44
The three phases are:
• solid phase (s) : mineral
• liquid phase (l) : water + air dissolved
• gas phase (g) : mixture of dry air and water vapour
The three species are:
• solid (-) : the mineral is coincident with solid phase
• water (w) : as liquid or evaporated in the gas phase
• air (a) : dry air, as gas or dissolved in the liquid phase
The following assumptions and aspects are taken into account in the formulation of the problem:
• Dry air is considered a single species and it is the main component of the gaseous
phase. Henry's law is used to express equilibrium of dissolved air.
• Thermal equilibrium between phases is assumed. This means that the three phases are
at the same temperature
• Vapour concentration is in equilibrium with the liquid phase. Psychrometric law
expresses its concentration.
• State variables (also called unknowns) are: solid displacements, u (three spatial
directions); liquid pressure, Pl; gas pressure, Pg; and temperature, T.
• Balance of momentum for the medium as a whole is reduced to the equation of stress
equilibrium together with a mechanical constitutive model to relate stresses with
strains. Strains are defined in terms of displacements.
• Small strains and small strain rates are assumed for solid deformation. Advective terms
due to solid displacement are neglected after the formulation is transformed in terms
of material derivatives (in fact, material derivatives are approximated as eulerian time
derivatives). In this way, volumetric strain is properly considered.
• Balance of momentum for dissolved species and for fluid phases are reduced to
constitutive equations (Fick's law and Darcy's law).
• Physical parameters in constitutive laws are function of pressure and temperature. For
example: concentration of vapour under planar surface (in psychrometric law), surface
tension (in retention curve), dynamic viscosity (in Darcy's law), strongly depend on
temperature.
45
V.2. GOVERNING EQUATIONS
The governing equations for non-isothermal multiphase flow of water and gas through porous
deformable saline media have been presented by Olivella et al. (1994). A detailed derivation is
given there, and only a brief description is included here.
The equations that govern this problem can be categorised into four main groups. These are:
balance equations, constitutive equations, equilibrium relationships and definition constraints.
Equations for mass balance were established following the compositional approach. That is,
mass balance is performed for water, air and salt species instead of using solid, liquid and gas
phases. Equation for balance of energy is established for the medium as a whole. The equation
of momentum balance for the porous medium is reduced to that of stress equilibrium.
46
Mass balance of solid
Mass balance of solid present in the medium is written as:
𝜕(𝜌𝑠 (1 − 𝜙)) (1)
+ ∇ ∙ (𝐣𝑠 ) = 0
𝜕𝑡
where s is the mass of solid per unit volume of solid and js is the flux of solid. From this
equation, an expression for porosity variation was obtained as:
𝐷𝑠 𝜙 (1 − 𝜙) 𝐷𝑠 𝜌𝑠 𝑑𝐮 (2)
= + (1 − 𝜙)∇ ∙
𝐷𝑡 𝜌𝑠 𝐷𝑡 𝑑𝑡
The material derivative with respect to the solid has been used and its definition is:
𝐷𝑠 (∎) 𝜕(∎) 𝑑𝐮 (3)
= + ∙ ∇(∎)
𝐷𝑡 𝜕𝑡 𝑑𝑡
Equation (2) expresses the variation of porosity caused by volumetric deformation and solid
density variation.
47
Mass balance of air
Once the other mass balance equations have been written it is straightforward to obtain the mass
balance of air taking into account that air is the main component of the gas phase and that it
may be also present as air dissolved in the liquid phase.
𝐷𝑠 (𝜔𝑙𝑎 𝜌𝑙 𝑆𝑙 + 𝜔𝑔𝑎 𝜌𝑔 𝑆𝑔 ) 𝐷𝑠 𝜙
𝜙 + (𝜔𝑙𝑎 𝜌𝑙 𝑆𝑙 + 𝜔𝑔𝑎 𝜌𝑔 𝑆𝑔 ) + (6)
𝐷𝑡 𝐷𝑡
𝑑𝐮
+(𝜔𝑙𝑎 𝜌𝑙 𝑆𝑙 + 𝜔𝑔𝑎 𝜌𝑔 𝑆𝑔 )𝜙𝛻 ∙ + 𝛻 ∙ (𝐣′𝑎 ′𝑎
𝑙 + 𝐣𝑔 ) = 𝑓
𝑎
𝑑𝑡
where 𝐢𝑐 is energy flux due to conduction through the porous medium, the other fluxes (𝐣𝑒𝑠 , 𝐣𝑒𝑙 ,
𝐣𝑒𝑔 , 𝐣ℎ𝑠 , 𝐣ℎ𝑙 , 𝐣ℎ𝑔 ) are advective fluxes of energy or enthalpy caused by mass motions and 𝑓 𝑄 is
an internal/external energy supply (heat supply). In this case this term accounts, for instance,
energy dissipation due to medium deformation which is not explicit because it is negligible in
most cases. The use of the material derivative allows obtaining an equation formally similar to
the mass balance of water. The reason for the similarity is that both water and internal energy,
are considered present in the three phases.
Hence, only one equation is required which expresses the balance of internal energy in the
porous medium as a whole. The enthalpy equation is obtained using the definition of enthalpy
as ℎ = 𝑒 + 𝑝𝑣. The density time derivative or the pressure time derivative terms in energy or
enthalpy balance are sometimes neglected.
The fluxes in the divergence term include conduction of heat and advection of heat caused by
the motion of every species in the medium. A non-advective mass flux causes an advective heat
48
flux because a species inside a phase moves and transports energy. Contrary to what happens
with the movement of a contaminant in a groundwater system, the diffusive term for heat
transport (conduction of heat) is much larger than the term concerning hydromechanical
dispersion (non-advective flux caused by the velocity of fluids). For this reason, this term is
sometimes neglected.
Equilibrium restrictions
Henry's law Air dissolved mass fraction 𝜔𝑙𝑎
Psychrometric law Vapour mass fraction 𝜔𝑔𝑤
The constitutive equations establish the link between the independent variables (or unknowns)
and the dependent variables. There are several categories of dependent variables depending on
the complexity with which they are related to the unknowns. The governing equations are
finally written in terms of the unknowns when the constitutive equations are substituted in the
balance equations.
Another type of relationships that relate dependent variables with unknowns are the equilibrium
restrictions. They are obtained assuming chemical equilibrium for dissolution of the different
species (air and vapour) in phases (liquid, gas). This assumption is sufficiently adequate
because these chemical processes are fast compared to the transport processes that take place
in porous media and, for this reason, they are not rate controlling.
49
V.2.3. Boundary conditions
Application of the Green's theorem to the divergence term (both in the balance or equilibrium
of stresses equations) produces terms which represent fluxes or stresses across or on the
boundaries. These terms are substituted by nodal flow rates or forces in the discretized form of
the equations. For the mechanical problem, the classical approach is followed to impose
external forces. Imposing displacements is made by means of a Cauchy type boundary
condition, i.e. a force computed as the stiffness of a spring times the displacement increment.
The boundary conditions for balance equations are incorporated by means the simple addition
of nodal flow rates. For instance, the mass flow rate of water as a component of gas phase (i.e.
vapour) is:
( ) ( ) (P ) (
− Pg + g g wg ) − ( ) (9)
0 0 0
j gw = wg j g0 + wg g g
0
g
w
g
where the superscript ()0 stands for prescribed values. This general form of boundary condition,
includes three terms. The first one is the mass inflow or outflow that takes place when a flow
rate of gas (jg0) is prescribed. The second term is the mass inflow or outflow that takes place
when the gas phase pressure (Pg0) is prescribed at a node. The coefficient g is a leakage
coefficient, i.e., a parameter that allows a boundary condition of the Cauchy type. The third
term is the mass inflow or outflow that takes place when vapour mass fraction is prescribed at
the boundary. This term naturally comes from the nonadvective flux (Fick's law). Mass fraction
and density prescribed values are only required when inflow takes place. For outflow, the values
in the medium are considered. For the energy balance equation, the boundary condition has a
similar form.
50
V.3. NUMERICAL APPROACH
V.3.1. Introduction
The system of PDE's (Partial Differential Equations) is solved numerically. The numerical
approach can be viewed as divided into two parts: spatial and temporal discretizations. Finite
element method is used for the spatial discretization while finite differences are used for the
temporal discretization. The discretization in time is linear and the implicit scheme uses two
intermediate points, tk+ and tk+ between the initial tk and final tk+1 times. Finally, since the
problem presented here is non-linear, the Newton-Raphson method was adopted to find an
iterative scheme.
k
j
em
en
i
Once the solid balance is substituted in the other balance equations, computation of porosity at
an intermediate point is not necessary because its variation is expected to occur at slow rates.
For this reason, porosity is integrated explicitly, that is, the values at tk are used. Since the
variation of porosity is expressed by the solid mass balance equation, this assumption leads also
to some advantages for the iterative scheme. After the spatial discretization of the partial
differential equations, the residuals that are obtained can be written (for one finite element) as:
ru d u a u b u 0 (10)
rPl d Pl a Pl b Pl 0
d
rP = d P + a P + b P = 0
g dt g g g
rT d T a T b T 0
where r are the residuals, dd/dt are the storage or accumulation terms, a are the conductance
terms, and b are the sink/source terms and boundary conditions. After time discretization a more
compact form can read as:
k +1 d k +1 − d k (11)
r( X )= + A ( X k + ) X k + + b( X k + ) = 0
t k
51
where k is the time step index, : X=[(ux,uy,uz,Pl,Pg,T)(1), ..., (ux,uy,uz,Pl,Pg,T)(n)], is the vector of
unknowns (i.e. a maximum of seven degrees of freedom per node), A represents the
conductance matrix. The Newton-Raphson scheme of solution for this non-linear system of
AE's is:
r ( X k +1 ) k +1,l +1 (12)
k +1 ( X − X k +1,l ) = −R ( X k +1,l )
X
where l indicates iteration.
In the present approach, the standard Galerkin method is used with some variations in order to
facilitate computations. General aspects related to numerical solution of hydrogeological
problems can be found in Huyakorn and Pinder (1983). As shown in the preceding section, in
the mass and energy balance equations the following terms may be distinguished:
• Storage terms. These terms represent the variation of mass or energy content and therefore,
they are calculated by means of variables such as degree of saturation, density, porosity,
mass fraction and specific energy.
• Advective fluxes. The advective fluxes caused by motion of fluids computed using Darcy's
law and, except for the coefficients, they are explicit in terms of pressure gradients.
• Nonadvective fluxes. These terms, computed through Fick's law, are proportional to
gradients of mass fractions which do not belong to the set of unknowns. Fourier's law is used
for the conductive heat flux and it expresses proportionality to temperature gradients.
• Volumetric strain terms. In fact, these terms are also storage terms. They are proportional to
du/dt which is equivalent to the volumetric strain rate.
• Sink/source terms.
Each of these terms requires specific treatment. This is described in detail in Olivella et al
(1996).
In order to explain the treatment of the different terms and equations the following notation is
introduced:
• node i: node in a finite element mesh
• e1,e2,...,em: elements that contain node i, i.e. a cell centered in node i is composed by a
fraction of these elements. m is variable from node to node and it is not related to the number
of nodes per element.
• nem: number of nodes in element em. For example, nem=3 for triangles, nem=4 for
quadrilaterals, nem=4 for tetrahedrons, etc.
• ()k: the quantity is computed at time tk of the temporal discretization. The same for tk+1, tk+
or tk+
• ()em: the quantity is computed in element em. This means at the center of the element or, in
other words, using the average of nodal unknowns.
• ()i: the quantity is computed in node i as a function of the unknowns in that node. \item--}
• ()i,em: the quantity is computed in node i but with the material properties corresponding to
element em.
• Vem: volume of element em.
• i: shape function for node i.
52
V.3.2. Treatment of different terms
Treatment of storage terms
In this sub-section we refer to terms not related to volumetric strain or porosity variation. The
storage or accumulation terms are computed in a mass conservative approach (Allen and
Murphy, 1986; Celia et al., 1990; Milly, 1984). The conservative approach discretizes directly
the accumulation terms while the capacitative approach uses the chain rule to transform time
derivatives in terms of the unknowns. Milly (1984) proposes modifications of the capacitative
approach in order to conserve mass. It seems reasonable that the mass conservative approach
should give a more accurate solution than the capacitative approach.
Mass conservation in time is achieved if the time derivatives are directly approximated by a
finite difference in time. Finite element method for the space discretization conserves mass
(Milly, 1984).
A typical storage term is (from Eq. 5) the variation of water in the gas phase:
𝐷𝑠 (𝜔𝑔𝑤 𝜌𝑔 𝑆𝑔 ) 𝜕(𝜔𝑔𝑤 𝜌𝑔 𝑆𝑔 )
𝜙 ≅𝜙 (13)
𝐷𝑡 𝜕𝑡
where the material derivative with respect to the solid is approximated as an eulerian derivative
because the small strain rate assumption. The weighted residual method is applied to the
governing equations and, for node i, (13) is transformed into:
𝜕(𝜔𝑔𝑤 𝜌𝑔 𝑆𝑔 ) 𝜕(𝜔𝑔𝑤 𝜌𝑔 𝑆𝑔 )
∫ 𝑁𝑖 𝜙 𝑑𝑣 = ∑ ∫ 𝑁𝑖 𝜙 𝑑𝑣 (14)
𝑣 𝜕𝑡 𝑒𝑚 𝜕𝑡
𝑒𝑚
At this point of the development we assume that porosity is defined element-wise. An element-
wise variable (Voss, 1984) is space-constant over every element, but different from element to
element. We will use emk for porosity in element em at time tk. Similarly, a cell-wise variable
(Voss, 1984) is space constant over the cell centered in the node. It would be very easy to
compute (14) if the time derivative could be computed in a cell-wise way, because one value
would be sufficient for node i and (14) would be transformed into a very simplified form.
However, the degree of saturation is not only a function of nodal unknowns but also of material
properties such as porosity or retention parameters. To overcome this difficulty, the time
derivative in (14) is computed from nodal unknowns but with material properties of every
element in contact with the node. Hence m values are necessary in node i. Obviously if part of
this time derivative is not material dependent (density and concentration are only function of
temperature and pressure) then the corresponding variables are only computed in the node. This
leads to a kind of modified cell-wise variables.
Making use of these approximations, we finally obtain, for example for any integral in (14):
𝑘+1 𝑘
𝜕(𝜔𝑔𝑤 𝜌𝑔 𝑆𝑔 ) (𝜔𝑔𝑤 𝜌𝑔 𝑆𝑔 )𝑖,𝑒 − (𝜔𝑔𝑤 𝜌𝑔 𝑆𝑔 )𝑖,𝑒
𝑘 𝑚 𝑚
∫ 𝑁𝑖 𝜙 𝑑𝑣 ≅ 𝜙𝑒𝑚 ( 𝑘+1 − 𝑡𝑘
) ∫ 𝑁𝑖 𝑑𝑣 (15)
𝑒𝑚 𝜕𝑡 𝑡 𝑒𝑚
where a simple finite difference is used for the time discretization. This approximation allows
us to make the space integration independently of the physical variables. Therefore,
computation of geometrical coefficients is necessary only once for a given finite element mesh.
The integral of the shape function over an element is equal to Vem/nem for the case of linear
shape functions. These geometrical coefficients are also called influence coefficients. Without
loss of generality, they can be computed either analytically or numerically. Finally, it should be
53
pointed out that this formulation gives rise to a concentrated scheme, which means that the
storage term in node i is only a function of unknowns in node i. This is clearly advantageous
from a computational point of view (Huyakorn and Pinder, 1983).
𝐤𝑘𝑟𝑔 (16)
− ∫ (𝛻 𝑡 𝑁𝑖 )𝜔𝑔𝑤 𝜌𝑔 𝐪𝑔 𝑑𝑣 = (∫ (𝛻 𝑡 𝑁𝑖 )𝜔𝑔𝑤 𝜌𝑔 (𝛻𝑁𝑗 )𝑑𝑣 ) (𝑝𝑔 )𝑗 −
𝑣 𝑣 𝜇𝑔
𝐤𝑘𝑟𝑔
− (∫ (𝛻 𝑡 𝑁𝑖 )𝜔𝑔𝑤 𝜌𝑔 𝜌 𝐠𝑑𝑣 )
𝑣 𝜇𝑔 𝑔
where the subscript j indicates summation over element nodes. Pg is a node-wise (Voss, 1984)
variable, which means that it is defined by its nodal values and interpolated on the elements
using the shape functions. Generalised Darcy's law has been used to compute the flux of the
gas phase:
(P − gg)
kkrg (17)
qg = −
g
g
where k is the tensor of intrinsic permeability, krg is the relative permeability of the gas phase,
g is the dynamic viscosity of gas and g is a vector of gravity forces. For node i the volume v
over which the integrals in (16) have to be performed is composed by the elements e1, e2, ...,
em. In this way, the advective terms (16) represent the lateral mass fluxes to cell associated to
node i from contiguous cells. The pressure term is considered first. The contribution of element
em to the total lateral flux towards node i is approximated as:
𝐤𝑘𝑟𝑔 (18)
(∫ (𝛻 𝑡 𝑁𝑖 )𝜔𝑔𝑤 𝜌𝑔 (𝛻𝑁𝑗 )𝑑𝑣 ) (𝑝𝑔 )𝑗 ≈
𝑒𝑚 𝜇𝑔
𝑘+𝜀
𝑘𝑟𝑔 𝑘+𝜃
≈ (𝜔𝑔𝑤 𝜌𝑔 ) (∫ (𝛻 𝑡 𝑁𝑖 )𝐤 𝑘𝑒𝑚 (𝛻𝑁𝑗 )𝑑𝑣 ) (𝑝𝑔 )𝑗
𝜇𝑔 𝑒 𝑒𝑚
𝑚
where three different intermediate points may be used, one for the pressure (tk+), another for
the intrinsic permeability (tk) and yet another for the remaining coefficients (tk+) including the
relative permeability. The intrinsic permeability remains in the integral because it is a tensorial
quantity, but if its product with the shape function gradients is split, then its coefficients can be
taken off from the integral. It should be noticed that intrinsic permeability is handled explicitly
(i.e. evaluated at time tk) because it is a function of porosity structure, which we assume to vary
slowly. Since all physical variables can appear outside the integral because they are considered
element-wise, the integrals of products of shape function gradients are also considered influence
coefficients (Huyakorn et al., 1986). They have to be computed for each element, but only once
for a given mesh.
54
A similar approximation is used for the gravity term in (16). Evaluation of density element-
wise is convenient in order to balance correctly pressure gradients with gravity forces at element
level.
Treatment of nonadvective terms (diffusive/dispersive)
In the balance equation of node i we find, typically, the following diffusive term:
(19)
− ∫ (𝛻 𝑡 𝑁𝑖 )𝐢𝑔 𝑑𝑣 = (∫ (𝛻 𝑡 𝑁𝑖 )𝜙𝜏𝜌𝑔 𝑆𝑔 𝐷𝑔𝑤 𝐈(𝛻𝑁𝑗 )𝑑𝑣 ) (𝜔𝑔𝑤 )𝑗
𝑣 𝑣
where the subscript j indicates summation over the nodes. gw is considered a node-wise
variable. Fick's law has been used to compute the diffusive flux:
i g = −g S g DgwI gw (20)
where is a tortuosity coefficient, Dgw is the molecular diffusion coefficient which is a function
of temperature and gas pressure and I is the identity matrix. The contribution of element em to
the total lateral diffusive flux towards node i is approximated as:
(21)
(∫ (𝛻 𝑡 𝑁𝑖 )𝜙𝜏𝜌𝑔 𝑆𝑔 𝐷𝑔𝑤 𝐈(𝛻𝑁𝑗 )𝑑𝑣 ) (𝜔𝑔𝑤 )𝑗 ≈
𝑒𝑚
𝑘+𝜀 𝑘+𝜃
≈ (𝜙𝜏)𝑘𝑒𝑚 (𝜌𝑔 𝑆𝑔 𝐷𝑔𝑤 )𝑒 (∫ (𝛻 𝑡 𝑁𝑖 )𝐈(𝛻𝑁𝑗 )𝑑𝑣 ) (𝜔𝑔𝑤 )𝑗
𝑚
𝑒𝑚
where various time intermediate points have been used similarly to what was explained for the
advective terms. The treatment of these diffusive terms also takes advantage of the fact that the
Newton-Raphson method is used to obtain the iterative scheme. We directly interpolate mass
fractions (e.g. gw) and compute gradients.
The dispersive term is treated in a similar way as the diffusive. In this case dispersivities are
element-wise dependent variables. In principle, the liquid and gas fluxes, used to compute the
dispersion tensor, are also computed element-wise.
55
(23)
𝑑𝐮
𝑡
𝐮𝑗𝑘+1 − 𝐮𝑗𝑘
∫ 𝑁𝑖 𝛼𝐦 𝐁 𝑑𝑣 ≈ 𝛼𝑒𝑘+𝜀 [∫ 𝑁𝑖 𝐦 𝑡
𝐁𝑗 𝑑𝑣 ] ( )
𝑒𝑚 𝜕𝑡 𝑚
𝑒𝑚 𝑡𝑘+1 − 𝑡𝑘
where j indicates summation over element nodes, u is the vector of nodal displacements and Bj
is the j-submatrix of B.
( )
r k +1 = Bt k +1dv − f k +1 = 0 (24)
v
where r(k+1) represents the residual corresponding to the mechanical problem and k+1 is the
stress vector. Matrix B (composed by gradients of shape functions) is defined in such a way
that stress is a vector and not a tensor. The body force terms and the boundary traction terms
are represented together by fk+1. The constitutive model relates stresses with strains, with fluid
pressures and with temperatures at a point in the medium. Only if elasticity is included, the total
strain rate is decomposed in the following way:
where De is the elasticity matrix, 𝑎𝑠 and 𝑎 𝑇 are coefficients for elastic dilation. ’ is the net
stress tensor defined as ’= + m Pg (compression negative). On the other hand, strain will be
written in terms of displacements because = B u. The last equation (25) must satisfy at every
point in the medium. Space and time discretization lead to:
where h is the residual of stresses at every point. If stress can be obtained in an explicit way
from (26), it is simply substituted in (24). However, when nonlinear models are introduced a
substitution of the differential or incremental forms is necessary.
For the mechanical problem, the approximations that should be made are different from the
ones used for flow problems. According to the numerical approximations proposed for the flow
problems (hydraulic and thermal), we would tend to use element-wise matrices. However, the
mechanical problem has some peculiarities which do not allow this kind of simplified treatment.
First, linear triangular elements (the simplest element in two dimensional analyses), which have
been proven to be very adequate for flow problems, should be avoided for mechanical problems.
This is because if the medium is nearly-incompressible (creep of rocks takes place with very
small volumetric deformation), locking takes place (not all displacements are permitted due to
element restrictions). Second, linear quadrilateral elements with element-wise variables (this is
equivalent to one integration point) lead to hour-glassing (uncontrolled displacement modes
appear).
56
In order to overcome these difficulties, the selective integration (B-bar) method is used. It
consists in using a modified form of matrix B which implies that the volumetric part of
deformation and the deviatoric part are integrated with different order of numerical integration
(Hughes, 1980). For linear quadrilateral elements, four integration points are used to integrate
the deviatoric part while one is used for volumetric strain terms. Although this approximation
is different from what is proposed for the flow problem, element-wise variables or parameters
are maintained (porosity, saturation,...). Stress is not element-wise and it must be computed at
the integration points.
57
V.4. THEORETICAL APPROACH SUMMARY
The governing equations include: stress equilibrium equations (1, 2 or 3 according to the
dimensions of the problem), mass balance equations (different species) and internal energy
balance equation for the medium as a whole (thermal equilibrium is assumed).
The stress equilibrium equations are a simplified form of the balance of momentum for the
porous medium. Mass balance of water, solid and air are established. Since the assumption of
equilibrium is made, the mass of each species as present in any phase (solid, liquid or gas) is
balanced for the porous medium as a whole. In this way, one equation for each species is
obtained. The equilibrium assumption implies that partition functions are required to compute
the fraction of each species in each phase.
Each partial differential equation is naturally associated to an unknown. These unknowns can
be solved in a coupled way, i.e., allowing all possible cross coupling processes that have been
implemented, or, on the contrary, any uncoupled problem to obtain a single unknown can be
solved.
The balance equations that CODE_BRIGHT solves are compiled here:
t
(
𝜕 ((𝜔𝑔𝑎 𝜌𝑔 al𝑆S𝑔l )
++𝜔𝑙𝑎ag𝜌S𝑙 g 𝑆
𝑙 )𝜙)
+ ( j al + j ag ) = f a
+ 𝛻 ∙ (𝐣𝑎𝑔 + 𝐣𝑎𝑙 ) = 𝑓 𝑎
𝜕𝑡
58
Equation: internal energy balance:
internal enery in solid, total fluxes external supply Unknown:
+ divergence =
t liquid and gas phase of energy of heat tempera-
ture, T (o)
( (1𝜌− (1
E𝜕(𝑒
t s s𝑔 𝑠
) +−E𝜙)
l l +
S l 𝑒𝑔+𝜌E
𝑔 g𝑆𝑔g𝜙
S g+ )
𝑒+𝑙 𝜌𝑙 𝑆(𝑙i𝜙)
c + j Es𝜙𝑆
−
+ 𝑔j 𝑝
El𝑔+𝜕𝜌
j Eg𝑔 ) = f
+
Q
𝜕𝑡 𝜌𝑔 𝜕𝑡
+𝛻 ∙ (𝐢𝑐 + 𝐣𝑒𝑠 + 𝐣𝑒𝑔 + 𝐣𝑒𝑙 ) = 𝑓 𝑄
The definition of a problem (which of the above described equations should be solved) is
achieved by means of a set of general options (IOPTDISPL, IOPTPL, IOPTPG, IOPTTEMP).
These general options indicate whether one equation is included or not. For instance a
mechanical problem would require IOPTDISPL=1 and the other indexes equal to 0. Other
secondary options allows to include or not any of the possible processes. Specific indexes are
used to decide if the solid is soluble (i.e. the medium is saline), if the air solubility in liquid
phase is taken into account and if vapour is considered. Vapour transfer can only be considered
if the thermal problem is solved.
59
V.5. FEATURES OF CODE-BRIGHT
The implementation of a coupled non-linear approach requires some especific developments
and approximations. In this section the main aspects of the numerical approximation are
reviewed. The program CODE_BRIGHT uses the finite element method to solve the coupled
equations presented above. The main features of the numerical approach are:
• Linear interpolation functions on segments, triangles, quadrilaterals, tetrahedrons,
triangular prisms and quadrilateral prisms (regular). Analytical integration is used for
segments, triangles and tetrahedrons. Numerical integration is used for quadrilateral,
arbitrary triangular prisms (6 points) and quadrilateral prisms (8 points). For the
mechanical problem selective integration is used for quadrilateral and quadrilateral
prisms (this means that the volumetric part is integrated with a reduced quadrature of
1 point). Finally, for all elements the flow equations are solved using element-wise
and cell-wise approximations. This approximation is independent of the type of
integration performed.
• Finite differences and implicit scheme are used for time integration. Two intermediate
points are defined between the two ends of the time interval (tk, tk+1). One represents
the point where the equation will be accomplished (tk+) and the other is the point
where the non-linear functions are computed (tk+). For instance =0 and =1 states for
a linearised problem with a fully implicit scheme of integration.
• Newton-Raphson method for solution of the non-linear system of algebraic equations
that results once the space and time discretizations are applied.
• LU decomposition and backsubstitution (non-symmetric matrix) or conjugate
gradients squared to solve the system of linear equations that result from the Newton-
Raphson application.
• Automatic discretization of time. Increase or reduction of time increment according to
convergence conditions or output requirements. Reduction of time increment may be
caused by: excessive variation of unknowns per iteration, excessive number of
iterations to reach convergence and correction larger than in the previous iteration.
The main features of the program CODE_BRIGHT are:
• Options that allow to solve uncoupled and coupled problems. For instance: Hydro-
mechanical, Thermo-mechanical, Hydro-thermal problems can be solved if the
physical situation requires one of these approaches.
• Types of analysis: One dimension (uni-axial confined strain and axi-symmetric). Two
dimension (plane strain and axi-symmetric). Three dimensions.
• Several element types.
• Constitutive laws: each law defined as a set of parameters. Different types of
relationships can be chosen in some cases.
• Boundary conditions:
• Mechanical problem: forces and displacement rate in any spatial
direction and at any node
• Hydraulic problem: mass flow rate of water and air prescribed and
liquid/gas pressure prescribed at any node
• Thermal problem: heat flow rate prescribed and temperature
prescribed at any node
60
• Convergence criteria: Tolerances for absolute and relative error independent for
each unknown. Tolerance for residual convergence of each problem (mechanical,
hydraulic, etc). The node under worse conditions is used to verify the convergence
condition.
• Forces/flows = →0
• Absolute variable correction = x→0
• Variable correction / variable increment = x/x→0
• Output options: Time evolution of variables in nodes or elements. The user should
decide 'a priori' the nodal or element variables that will be output at all times
(absolutely all computed times will be output for a few variables). Contour maps in
the solution domain. Nodal or element variables can be used to draw contour maps.
However, in the second case it is required to perform an interpolation that may be
difficult due to the lack of continuity of the element variables.
61
V.6. SOLUTION OF SYSTEM OF EQUATIONS IN CODE_BRIGHT
As described in the preceding chapters, CODE_BRIGHT is a FE-three dimensional code that
solves the following equations:
• equilibrium of stresses (displacements)
• mass balance of water (liquid pressure)
• mass balance of air (gas pressure)
• balance of energy (temperature)
Associated to every equation there is a variable, i.e. the unknown that is obtained by solving
the corresponding equation. The code can be used to solve problems that need only some of the
equations in the list. The equations are solved together in a monolithic way. Usually problems
require variable time stepping and an iterative method for the solution of non-linearities.
Usually the resulting system of equations is non-symmetric.
62
V.6.2. Iterative solver for nonsymmetrical linear systems of equations.
There are several alternatives for solving linear systems in an iterative way. It should be taken
into account that the matrix is non-symmetric. Perhaps one of the simplest algorithms that can
be used is the conjugate gradients squared method (CGS) which has been proposed by
Sonneveld, 1989 and van der Vorst, 1990. This CGS method is a modification of the conjugate
gradients for non-symmetric matrices. Iterative methods require some extra space and a pre-
conditioner. In order to facilitate parallelism the simplest pre-conditioner that can be used is the
inverse of the diagonal of the matrix (diagonal scaling). Of course this is the less efficient pre-
conditioner from the point of view of a scalar machine. However Pini and Gambolatti (1990)
have shown that in vectorial machines, diagonal scaling was the most efficient pre-conditioner
in the majority of the applications they compared. A block diagonal scaling consists in the
inversion of the NDFxNDF block corresponding to each node (block in the matrix diagonal).
Using CRS storage mode plus CGS iterative method plus block-diagonal scaling produces a
quite simple structure of the solver. In fact, only vector-vector products, matrix-vector products
and inversion of NDFxNDF matrices have to be performed. The requirements of extra space
are only 8*N*NDF where N is the number of nodes and NDF the number of degrees of freedom
per node. It should be mentioned that the matrix-vector products are easily performed with the
CRS storage mode because the matrix is stored by rows. The CGS algorithm is described as:
x: = x 0 (intial guess);
r: = b − Ax;
r is an arbitrary vector such that ( r , ~
~ r ) 0 (e.g. ~
r = r );
= (r, ~
0 r ); = ; p = q = 0;
0 0
K is a preconditioner matrix;
for i = 0,1,2,...
u: = r + i q;
p: = u + i (q + i p);
Solve q from Kq = p;
v: = Aq;
= / (~
i r , v );
i
q: = u − i v;
Solve v from Kv = u + q;
u: = Av;
x: = x + i v;
r: = r − i u;
if x close enough to A −1b then quit;
= (r , ~
i +1 r );
i+1 = i +1 / i ;
end i
where it can be seen that two matrix - vector products should be performed per iteration, two
vector-vector products (indicated by (,)), and the remaining operations are vector updates.
63
VI. CODE_BRIGHT. CONSTITUTIVE LAWS
This chapter contains the different models available and the corresponding parameters required
by each model. The following constitutive laws are available
HYDRAULIC AND MECHANICAL CONSTITUTIVE MODELS
THERMAL CONSTITUTIVE
MODELS (a) ELASTICITY (b)
RETENTION CURVE NONLINEAR ELASTICITY (b)
INTRINSIC PERMEABILITY VISCOPLASTICITY FOR SALINE MATERIALS
LIQUID PHASE RELATIVE (b)
PERMEABILITY VISCOPLASTICITY FOR SATURATED SOILS
GAS PHASE RELATIVE AND ROCKS (b)
PERMEABILITY VISCOPLASTICITY - GENERAL (b)
DIFFUSIVE FLUXES OF MASS DAMAGE-ELASTOPLASTIC MODEL FOR
DISPERSIVE FLUXES OF ARGILLACEOUS ROCKS (c)
MASS AND ENERGY THERMOELASTOPLASTIC MODEL FOR SOILS
CONDUCTIVE FLUX OF HEAT (d)
BARCELONA EXPANSIVE MODEL FOR SOILS
(e)
CASM’s FAMILY MODELS (f)
PHASE PROPERTIES (a) EXCAVATION PROCESS (g)
SOLID PHASE PROPERTIES
LIQUID PHASE PROPERTIES
GAS PHASE PROPERTIES
64
HYDRAULIC AND THERMAL LAWS
ICL NAME ITYCL DESCRIPTION
6 Retention curve 1 Van Genuchten model
2 Linear model
4 Square law
9 Van Genuchten model with asymptotic branch to
negative capillary pressures
12 Van Genuchten model modified for FEBEX project
18 Van Genuchten model modified for freezing model
66 Retention curve 2 12 Van Genuchten model modified for FEBEX project
7 Intrinsic permeability 1 Kozeny's model
2 Exponential law
4 Kozeny's model for matrix + cubic law for discontinuity
(normal strain is used to calculate aperture)
5 Kozeny's model for matrix + cubic law for discontinuity
(volumetric strain is used to calculate aperture)
15 Same as 5 but with different relative permeability for
matrix and discontinuity
16 Barton's law – Joint element
14 Liquid phase relative 1 Van Genuchten model
permeability 5 Liquid perfectly mobile
6 Generalized power
8 Power with initial cut off
12 Van Genuchten model for freezing model
19 Gas phase relative 1 Default law
permeability 5 Gas perfectly mobile
6 Generalized power
12 Van Genuchten Mualem model
11 Diffusive flux of vapor 1 Molecular diffusion of vapour or air
2 Molecular diffusion of vapour or air + tortuosity is
variable with gas pressure (Pg)
12 Diffusive fluxes of 1 Molecular diffusion of dissolved salt and dissolved air
dissolved salt and air
8 Dispersive fluxes of 1 Fick's law (mass flux) and Fourier's law (heat flux)
mass and energy
9 Conductive flux of heat 1 Thermal conductivity dependence on porosity
(1) (geometric weighted mean)
2 Thermal conductivity dependence on porosity
(weighted arithmetic mean)
3 Thermal conductivity dependence on porosity
(nonlinear function of porosity)
20 Conductive flux of heat 1 Dependence on degree of saturation
(2) 2 Dependence on degree of saturation
4 Dependence on degree of saturation
5 Dependence on water/ice content
6 Dependence on degree of saturation (Chen & Ledesma,
2009)
65
PHASE PROPERTIES
ICL NAME ITYCL DESCRIPTION
10 Solid phase properties 1 Solid specific heat, density and expansion coefficient
2 Solid specific heat, density and expansion coeff.
(variation of solid phase specific heat)
15 Liquid phase properties: 1 Liquid density (exponential variation)
density 2 Liquid density (linear variation)
4 Liquid density (CO2)
5 Liquid density (linear dependency of the thermal
expansion coefficient with temperature)
6 Liquid density adjustment for a wide temperature
range (-30ºC—300ºC)
16 Liquid phase properties: 1 Liquid viscosity
viscosity
17 Gas phase properties: 1 Dry air density. Law of ideal gases and Henry's law for
density dry air
2 Usually used to consider a second liquid phase instead
of the gas phase
3 Like ITYCL=1 but with user defined values for gas
molecular mass and Henry's constant
4 Gas density CO2
18 Gas phase properties: 1 Gas viscosity
viscosity 2 Gas viscosity (exponential law)
4 Gas viscosity CO2
66
RETENTION CURVE
S l − S rl Pg − Pl
ITYCL = 2: Linear model: S e = = 1−
S ls − S rl Po
S l − S rl 1
ITYCL = 4: Square law: Se = =
S ls − S rl Pg − Pl
1+
Po
67
EQUATIONS ITYCL = 18: Freezing model:
-
1
Sl − S rl Pi − Pl 1-
Se = = 1+ ;
Sls − S rl P
T
Pi = i Pl − il Clausius Clayperon
l T + 273
where Pi is the ice pressure, i l = 0.91, il = 306 MPa,
T temperature in K
Ice volumetric fraction: Si = 1 − Sl
RETENTION CURVE (ICL = 6). PARAMETERS FOR ITYCL = 1 (Van Genuchten model;
see ICL=66 for additional parameters):
P1 Po MPa Measured P at certain temperature
Surface tension at temperature in which Po was measured
P2 o N m-1
(usually o = 0.072 N/m at 20ºC)
P3 Shape function for retention curve
P4 Srl Residual saturation
P5 Sls Maximum saturation
Parameter for porosity influence on retention curve:
P6 a
Po() = Po exp(a(−)
Parameter for porosity influence on retention curve:
P7 b
() = exp(b(−))
P8 Void
Reference porosity for porosity influence on retention
P9
curve
68
RETENTION CURVE (ICL = 6). PARAMETERS FOR ITYCL = 4 (square law):
P1 Po MPa Measured P at certain temperature
P2 Void
P3 Void
P4 Srl Residual saturation
P5 Sls Maximum saturation
RETENTION CURVE (ICL = 6). PARAMETERS FOR ITYCL = 9 (Van Genuchten model
with asymptotic branch that goes to negative capillary pressures; see ICL=66 for additional
parameters):
P1 Po MPa Measured P at certain temperature
Surface tension at temperature in which Po was measured
P2 o N m-1
(usually o=0.072 N/m at 20ºC)
P3 Shape function for retention curve
P4 Srl Residual saturation
P5 Sls Maximum saturation
P6 f Used for the asymptotic branch
RETENTION CURVE (ICL = 6). PARAMETERS FOR ITYCL = 12 (FEBEX model; see
ICL=66 for additional parameters):
P1 Po MPa Measured P at certain temperature
Surface tension at temperature in which Po was measured
P2 o N m-1
(usually o=0.072 N/m at 20ºC)
P3 Shape function for retention curve
P4 Srl Residual saturation
P5 Sls Maximum saturation
Parameter for porosity influence on retention curve:
P6 a Po()=Po exp(a(−)) Pd()=Pd exp(a(−))
See Retention curve 2 (ICL=66) for additional parameters.
Parameter for porosity influence on retention curve:
P7 b () = exp(b(−)) d () = d exp(b(−))
See Retention curve 2 (ICL=66) for additional parameters.
Reference porosity for porosity influence on retention
P8
curve
Pressure related with the suction at zero degree of
P9 Pd MPa
saturation
P10 d Model parameter
69
RETENTION CURVE (ICL = 6). PARAMETERS FOR ITYCL = 18 (freezing model; see
ICL=66 for additional parameters):
P1 Po MPa Measured P at certain temperature
Surface tension at temperature in which Po was measured
P2 o N m-1
(usually o = 0.072 N/m at 20ºC)
P3 Shape function for retention curve
P4 Srl Residual saturation
P5 Sls Maximum saturation
Parameter for porosity influence on retention curve:
P6 a
Po() = Po exp(a(−)
Parameter for porosity influence on retention curve:
P7 b
() = exp(b(−))
P8 Void
Reference porosity for porosity influence on retention
P9
curve
Flag to indicate stress concept for use in the mechanical
model:
P10 i_stress
i_stress = 0 : Net stress (n = - Pi)
i_stress = -1: Bishop’s stress (b = - Pi + Sr (Pi-Pl))
Srl and Sls are lower and upper bounds of saturation. Effective saturation Se is defined in such a
way that ranges between 0 and 1.
70
RETENTION CURVE 2
71
INTRINSIC PERMEABILITY
CODES in ICL = 7 ITYCL = 1, 2, 4, 5, 6, 15, 16
ROOT_gen.dat
DESCRIPTION Intrinsic permeability
EQUATIONS ITYCL = 1: For a continuum medium (Kozeny’s model):
3 (1 − o )2
k = ko o : reference porosity
(1 − )2 o3
k o : intrinsic permeability for matrix o
(P − g)
kk r
which is used in Darcy’s law: q = −
where viscosity, density and relative permeability are defined in other laws.
− B
k = k o + k c exp − 3 1 − exp v (post-failure)
B
72
ITYCL = 16: Zero thickness element
Barton’s law: Longitudinal intrinsic permeability
2
e2 a 2 1 a : Opening of the joint
kl = = 2.5
12 JRC 12 JRC : Joint Roughness Coefficient
Transversal intrinsic permeability kt is considered to be equal to the
continuum media.
For the retention curve (ICL=6), air entry value depends on joint aperture,
kl 0
as: P = P0
kl 0
73
For ITYCL = 4, the normal strain to the discontinuity is used.
For ITYCL = 5, 15 the volumetric strain is used.
b3
Spacing of the fractures: k = kmatrix +
P8 a m 12a
Permeability of the matrix is obtained as usual in porous media.
Reference strain to calculate aperture variations:
b = a = a( − o ) for o
P9 o - If this value is negative, the initial aperture is larger than the
minimum aperture (discontinuity is open).
If this value is zero or positive, the discontinuity cannot close.
P10 bmax m Maximum aperture. Upper bound of aperture.
74
LIQUID PHASE RELATIVE PERMEABILITY
(
k rl = Se 1 − (1 − Se1/ ) )
2
(
k rl = Se 1 − (1 − Se1/ ) )
2
Liquid phase relative permeability (ICL = 14). Parameters for ITYCL = 1 (Van Genuchten
model):
P1 Void
P2 Void
P3 Power
P4 Srl Residual liquid saturation (default = same value as for retention curve)
P5 Sls Maximum liquid saturation (default = same value as for retention curve)
Liquid phase relative permeability (ICL = 14). Parameters for ITYCL = 5 (liquid perfectly
mobile): None.
75
Liquid phase relative permeability (ICL = 14). Parameters for ITYCL=6 (generalized power):
P1 Void
P2 A Constant
P3 Power (typically 3)
P4 Srl Residual liquid saturation (default = same value as for retention curve)
P5 Sls Maximum liquid saturation (default = same value as for retention curve)
Liquid phase relative permeability (ICL = 14). Parameters for ITYCL = 8 (power with initial
cut off):
P1 Seo Parameter
P2 A Constant
P3 Power
P4 Srl Residual liquid saturation (default = same value as for retention curve)
P5 Sls Maximum liquid saturation (default = same value as for retention curve)
Liquid phase relative permeability (ICL = 14). Parameters for ITYCL = 12 (Van Genuchten
model for freezing model):
P1 Void
P2 Void
P3 Power
P4 Srl Residual liquid saturation (default = same value as for retention curve)
P5 Sls Maximum liquid saturation (default = same value as for retention curve)
Srl and Sls are lower and upper bounds of liquid saturation. Effective liquid saturation Se is
defined in such a way that ranges between 0 and 1. In principle, the same values Srl and Sls
should be defined for liquid and gas relative permeability and for retention curve. However,
different values can be used to define a maximum saturation of liquid with possibility of
remnant gas flow or vice-versa.
76
GAS PHASE RELATIVE PERMEABILITY
GAS PHASE RELATIVE PERMEABILITY (ICL = 19). PARAMETERS FOR ITYCL = 12:
P1 Void
P2 Power
P3 – P5 The same as in ITYCL = 6
77
DIFFUSIVE FLUXES OF VAPOUR
78
DIFFUSIVE FLUXES OF DISSOLVED SALT AND AIR
DIFFUSIVE FLUXES OF DISSOLVED SALT AND AIR (ICL = 12). PARAMETERS FOR
ITYCL = 1:
P1 D m2 s-1 Default value = 1.110-4
P2 Q J mol-1 Default value = 24530
P3 Coefficient of tortuosity; default=1.0
P4 – P10 Void
79
DISPERSIVE FLUXES OF MASS AND ENERGY
80
CONDUCTIVE FLUX OF HEAT (1)
81
CONDUCTIVE FLUX OF HEAT 1 (ICL = 9). PARAMETERS FOR ITYCL = 1 (geometric
weighted mean):
P1 dry W m-1 K-1 Thermal conductivity of the dry porous medium
P2 sat W m-1 K-1 Thermal conductivity of the water saturated porous medium
P3 (solid)o W m-1 K-1 Solid phase thermal conductivity (ignored if dry, sat>0)
P4 gas W m-1 K-1 Gas phase thermal conductivity (ignored if dry, sat>0)
P5 liq W m-1 K-1 Liquid phase thermal conductivity (ignored if dry, sat>0)
P6 a1 Ignored if dry, sat 0
P7 a2 Ignored if dry, sat 0
P8 a3 Ignored if dry, sat 0
P9 C Constant in 𝜆(𝑇) = 𝐶 × (𝑇 + 273.15)𝑛 (ignored if C = 0)
P10 n Power in 𝜆(𝑇) = 𝐶 × (𝑇 + 273.15)𝑛 (ignored if n = 0)
P1 – P2 Void
P3 (solid)o W m-1 K-1 Solid phase thermal conductivity
Heat dispersion is defined in the constitutive law ICL = 8, ITYCL = 1 (Dispersive fluxes of
mass and energy).
82
CONDUCTIVE FLUX OF HEAT (2)
83
CONDUCTIVE FLUX OF HEAT 2 (ICL = 20). PARAMETERS FOR ITYCL = 7 (S-shaped
function):
Note this option does not allow using porosity, degree of saturation or temperature
dependencies.
84
PHASE PROPERTIES
(*) Thermal expansion coefficient for grains should be equal to the bulk value if thermal
expansion of the porous medium does not produce porosity variations.
(**) Specific heat for water and air are internal values.
Note that, in the case of parameters with default values, when setting them to zero –or to a value
lower than 10-25– automatically takes the default value. Hence, if the user actually wants to set
a parameter to zero, a low value but greater than 10-25 should be input.
85
LIQUID PHASE PROPERTIES. LIQUID DENSITY.
CODES in ICL = 15 ITYCL = 1, 2, 3, 4, 5, 6
ROOT_gen.dat
DESCRIPTION Liquid density
EQUATIONS ITYCL = 1: Exponential variation (default):
l = l 0 exp( ( Pl − Plo ) + T + lh )
ITYCL = 4: CO2
l = l 0 exp ( ( Pl − Pl 0 ) + T + lh )(1 + lCO 2 )
V
= 1 − l
M CO2
V = ( 37.51 − 9.585 10−2 T + 8.740 10 −4 T 2 − 5.044 10 −7 T 3 ) 10 −6 m 3 /mol
(Garcia, 2003)
ITYCL = 5: Linear dependency of the thermal expansion
coefficient with temperature:
l = l 0 exp(( Pl − Plo ) + A (T ) T + lh )
A (T ) = −3.5 10 −6 T − 7.49 10−5
86
LIQUID PHASE DENSITY (ICL = 15). PARAMETERS FOR ITYCL = 1, 2:
P1 lo kg m-3 Reference density (default* = 1002.6 kg m-3)
P2 MPa-1 Compressibility (default* = 4.510-4)
Volumetric thermal expansion coefficient for water
P3 C-1
(default* = -3.410-4)
P4 Solute variation (default* = 0.6923)
P5 Plo MPa Reference pressure (default* = 0.1)
*
Note that, in the case of parameters with default values, when setting them to zero –or to a
value lower than 10-25– automatically takes the default value. Hence, if the user actually wants
to set a parameter to zero, a low value but greater than 10-25 should be input.
87
LIQUID PHASE PROPERTIES. LIQUID VISCOSITY.
EQUATIONS B
ITYCL = 1: l = A exp
27315
. + T
Remark: liquid and gas density and viscosity are not material dependents. For this reason,
values should be prescribed only once. If these are multiplied defined, the code will use the
values it reads first.
*
Note that, in the case of parameters with default values, when setting them to zero –or to a
value lower than 10-25– automatically takes the default value. Hence, if the user actually wants
to set a parameter to zero, a low value but greater than 10-25 should be input.
88
GAS PHASE PROPERTIES. GAS DENSITY.
EQUATIONS ITYCL = 1: law of ideal gases and Henry's law for dry air (as
ITYCL = 3 with Ma = 0.02895 and H = 10000 MPa)
ITYCL = 3: law of ideal gases and Henry’s law for any dry gas
species (as ITYCL=1, but with user defined values for gas
molecular mass and Henry’s constant:
P M dgs
ldgs = dgs
H Mw
where Pdgs is dry gas species pressure (air pressure in the
formulation), Mw is molecular mass of water and Mdgs is
molecular mass of dry gas species.
89
GAS PHASE PROPERTIES (ICL = 17). PARAMETERS FOR ITYCL = 3 (gases law with
modified molecular mass and Henry’s constant):
P1 M kg mol-1 Molecular mass
P2 H MPa Henry’s constant
GAS PHASE PROPERTIES (ICL = 17). PARAMETERS FOR ITYCL = 4 (law for CO2 with
the values adjusted by Spycher et al., 2003):
P1 MCO2 kg mol-1 Molecular mass of CO2 (0.044 kg mol-1)
P2 H MPa Henry’s constant
Alternative CO2 density function at
P8 T=320 K adjusted from Span and Wagner
(1996) tables. To use it write: -777
90
GAS PHASE PROPERTIES. GAS VISCOSITY.
EQUATIONS ITYCL = 1:
A 273 + T 1
g =
B bk
1 + 1+
273 + T Pg
bk = C − Dk
(k : intrinsic permeabili ty)
B
ITYCL = 2: g = A exp
273 .15 + T
91
GAS PHASE VISCOSITY (ICL = 18). PARAMETERS FOR ITYCL = 1:
P1 A MPa s default* = 1.48 10-12
default* = 119.4 (only used if A = B = 0,
P2 B C
but not used if A > 0 and B = 0)
P3 C default* = 0.14
P4 D default* = 1.2 1015
GAS PHASE VISCOSITY (ICL = 18). PARAMETERS FOR ITYCL = 4: Not necessary
Gas phase properties can be used to consider a second liquid in the case of a two immiscible
phase flow problem in a porous medium. In this case, water vapour and air dissolved must not
be considered, hence, VAPOUR NOT PERMITTED and DISSOLVED AIR NOT
PERMITTED should be used to avoid the species to be mixed.
*
Note that, in the case of parameters with default values, when setting them to zero –or to a
value lower than 10-25– automatically takes the default value. Hence, if the user actually wants
to set a parameter to zero, a low value but greater than 10-25 should be input.
92
CODE_BRIGHT. CONSTITUTIVE LAWS
This chapter contains the different models available and the corresponding parameters required
by each model. The following constitutive laws are available:
HYDRAULIC AND THERMAL MECHANICAL CONSTITUTIVE MODELS
CONSTITUTIVE MODELS (a) ELASTICITY (b)
RETENTION CURVE NONLINEAR ELASTICITY (b)
INTRINSIC PERMEABILITY VISCOPLASTICITY FOR SALINE MATERIALS (b)
LIQUID PHASE RELATIVE VISCOPLASTICITY FOR SATURATED SOILS AND
PERMEABILITY ROCKS (b)
GAS PHASE RELATIVE VISCOPLASTICITY - GENERAL (b)
PERMEABILITY DAMAGE-ELASTOPLASTIC MODEL FOR
DIFFUSIVE FLUXES OF MASS ARGILLACEOUS ROCKS (c)
DISPERSIVE FLUXES OF MASS THERMO-ELASTOPLASTIC MODEL FOR SOILS (d)
AND ENERGY BARCELONA EXPANSIVE MODEL (e)
CONDUCTIVE FLUX OF HEAT CASM’s FAMILY MODELS (f)
PHASE PROPERTIES (a) EXCAVATION PROCESS (g)
SOLID PHASE PROPERTIES
LIQUID PHASE PROPERTIES
GAS PHASE PROPERTIES
93
LINEAR ELASTICITY 1 (Mechanical data 1)
Ec
Eo
v limit v
Compression is positive for this plot.
94
CODES in ICL = 1 ITYCL = 1, 2, 5, 6, 16
ROOT_gen.dat
1 E1 − 1 E1 − 2 E2 0 0 0
− 1 E1 1 E1 − 2 E2 0 0 0
− 2 E2 − 2 E2 1 E2 0 0 0
and S''= .
0 0 0 2 (1 + 1 ) E1 0 0
0 0 0 0 1G 0
0 0 1 G
0 0 0
95
PARAMETERS LINEAR ELASTICITY 1 (Mechanical data 1; ICL=1)
P3 - Poisson’s Ratio
Volumetric strain limit to change elastic modulus (positive
P4 v limit -
value for an open gap)
96
LINEAR ELASTICITY 1. ITYCL = 6 (Anisotropic elastic model)
LINEAR ELASTICITY 1 (Mech. data 1). ITYCL = 16 (Elasticity – Zero thickness element)
Note: Joint element should be created in GiD using the option: Geometry/create/contact
surface.
Contact surfaces are defined as being between two lines that are physically in the same place,
but which have different line and point entities. Choose the Contact surface option from the
menu, and then select some lines on both bodies. Using contact surface entities is like a meshing
specification. In this way, equal meshes will be generated for the two lines, ensuring a one-to-
one relationship between nodes. You can also select no mesh for the contact entity. This makes
it possible to have exactly the same mesh for both lines but without any additional element
between them.
97
LINEAR ELASTICITY 2 (Mechanical data 1)
98
NONLINEAR ELASTICITY (Mechanical data 1)
For further reference, in APPENDIX VI.B.1 it is explained the analogy between this nonlinear
elastic model and the BBM model. And in APPENDIX VI.B.2 the correspondence between
nonlinear elasticity and linear elasticity parameters is described.
99
PARAMETERS NONLINEAR ELASTICITY (Mechanical data 1; ICL=4)
Suction micro is used as history variable and, therefore, the model cannot be combined with
viscoplastic models.
100
VISCOELASTICITY - CREEP (Mechanical data 1)
CODES in ICL = 2 ITYCL = 1, 2, 4, 6, 11, 12
ROOT_gen.dat
DESCRIPTION Parameters for linear viscous deformation model.
EQUATIONS ITYCL = 1: FADT for saline materials
The deformation mechanism fluid assisted diffusional transfer
(FADT) was applied to develop an equation for creep of salt under
wet conditions.
Strain rate for a linear viscoelasticity is computed as:
FADT
d 1 1
= d ( - p I ) + v p I
dt 2 FADT 3 FADT
where ’ is the effective stress tensor ( ’ = + Pf, where Pf =
max(Pg, Pl)), p’ is the mean effective stress (p' = p + Pf), I is the
identity tensor.
Volumetric and deviatoric viscosities are defined as:
1 16 B (T ) S l
= v
g FADT ( e)
v
FADT d 3
0
1 16 B (T ) S l
= d
g FADT ( e)
2 d
FADT d 3
0
d v
where gFADT (e) and gFADT (e) are internal nonlinear functions of
void ratio (e), and Sl is degree of saturation.
AB − QB
B(T ) = exp
RT RT
3g 2 e 3/ 2 g2
g v
(e) = g d
(e) =
FADT
(1 + e) FADT
(1 + e)
1 2e
g= f =
(1 − f ) 2 3(1 − e )(1 + e)
3/ 2
101
CODES in ICL = 2 ITYCL = 1, 2, 4, 6, 11, 12
ROOT_gen.dat
DESCRIPTION Parameters for linear viscous deformation model.
EQUATIONS ITYCL = 6: Secondary consolidation for unsaturated soils
Strain rate for a linear viscoelasticity is computed as:
𝑑𝛆 1 1 ′
=( (𝜎 ′ − 𝑝′ 𝐈) + 𝑝 𝐈)
𝑑𝑡 2𝜂𝑑 3𝜂𝑣
where
1 𝑠 + 0.1 1
= 𝐴 (1 − 𝛽 log ( )) 𝜂 = 𝐵𝜂𝑣
𝜂𝑣 0.1 𝑡 − 𝑡0 𝑑
where t is time in seconds, 𝑡0 is a reference time and s is suction.
The Kelvin viscoelastic model can simulate the primary creep stage
of rocks. The strain rate for linear viscoelasticity using the Kelvin
model is computed as:
𝑑𝛆
= 𝐂 v ( − )
𝑑𝑡
v
where C represents the compliance matrix of the viscous dashpot.
The Kelvin model can be combined with the elastic model, to be the
Generalized Kelvin model.
This model can simulate the primary and secondary creep stages of
rocks. Strain rate this model is computed as:
𝑑𝛆
= + 𝐂 v ( − )
𝑑𝑡 M
This model can be combined with the elastic model, to become the
Burgers model.
102
PARAMETERS FOR ITYCL = 1 (Mech. data 1 ─ Viscoelasticity - Creep ─ ICL=2)
P1 do m Grain size
P2 AB m3 s-1 MPa-1 Pre-exponential parameter
P3 QB J mol-1 Activation energy
If the pre-exponential parameter is set to zero (AB = 0.0) the viscous counterpart of the model
does not work. In this way the parameter acts as option because the value of these pre-
exponential parameter is checked to decide if this mechanism is considered.
This viscoelastic model (corresponding to FADT mechanism of deformation) requires that the
liquid pressures are computed or, alternatively, a value of PLCONS greather that -10-12 MPa.
Otherwise, liquid is considered inexistent and the mechanism FADT remains inactive.
103
VISCOPLASTICITY - CREEP (Mechanical data 1)
CODES in ICL = 3 ITYCL = 1
ROOT_gen.dat
DESCRIPTION The deformation mechanism referred as dislocation creep (DC)
has been applied to develop an equation for creep of porous salt
aggregates. This mechanism leads to nonlinear dependences on
stresses.
EQUATIONS Strain rate for a nonlinear viscoelasticity is computed as:
DC
d 1 G
= d (F)
dt DC
where G is a flow rule, F is a stress function and is a scalar
function. These functions are defined as:
2 1
−p vDC n+1
F = G = q2 + =
n
( F ) F p d
=
p DC
1 1
= A(T ) g DC
v
(e) d = A(T ) g DC
d
(e )
v
DC DC
where n is the power that comes from the rock power law and
gDCd(e) and gDCv(e) are internal nonlinear functions of void ratio
(e) defined as follows:
v
g DC (e) = 3( g − 1)n f
n −1
1+ g + g 2 2g +1 1
d
g DC =
(e)
3 f +
3 g
where f and g are functions of the void ratio (see expression in
the constitutive law Viscoelasticity for saline materials).
The temperature dependence is considered as:
− QA
A(T ) = A A exp
RT
104
CODES in ICL = 3 ITYCL = 3
ROOT_gen.dat
DESCRIPTION Viscoplastic constitutive equation based on a single internal state
variable which is a function of plastic work are used to calculate the
response of copper to change of strain rate over a range of temperatures.
n + 1
n
2
2 z
D 2 = D 0 exp − (2)
p
n
3J 2
Where 𝐷2𝑃 is the second invariant of the plastic strain rate, and J2 is the
second invariant of the stress deviator.
Combining equation 1 and 2, the plastic strain takes the form:
n
z 2
n + 1 S
= D 0 exp −
p
3J 2
ij
2n
ij
J
2
𝑛 = (835 + 5𝑇(𝐾))/𝑇(𝐾)
𝑇(𝐾) = 𝑇(𝐶) + 273.15
The parameter Z in the equation can be interpreted as an internal state
variable which provides a measure of the overall resistance to plastic
flow, and n is a strain rate sensitivity parameter.
Z = Z1 − (Z1 − Z0 ) exp ( −mwp ) m = m0 + m1 exp ( − wp )
The corresponding form is then based on the concept that plastic work,
𝑤𝑝 , controls the hardening process, and that the plastic work and its time
𝑝
derivative are function of 𝜎𝑖𝑗 and 𝜀̇𝑖𝑗 .
=
p
w p ij ij
105
VISCOPLASTICITY FOR SATURATED SOILS AND ROCKS – VPSSR
CODES in ICL = 33 ITYCL = 1, 2, 3
ROOT_gen.dat
DESCRIPTION Viscoplasticity (general model for saturated soils and rocks)
EQUATIONS Viscoplastic constitutive model: d = ( F ) G
dt
and the stress function adopted is: ( F ) = F m
where the yield function and the flow rule are defined as:
ITYCL = 1: G = F = q 2 − ( p') n + ( p') n+1 / po
ITYCL = 2: G = F = q 2 − po ( p') n + ( p') n+1
ITYCL = 3 (Cam-Clay): G = F = q − ( po p'− p' )
2 2 2
________________________________
where the yield function and the flow rule are defined as:
ITYCL = 4, 5 (Drucker-Prager –based on Mohr-Coulomb parameters):
107
PARAMETERS FOR ITYCL = 4 (Mech. data 1 ─ VPSSR ─ ICL=33)
P1 m Power of the stress function (integer value; typical value = 3)
Fluidity = 1/viscosity (for plasticity use a sufficiently large
-1
s MPa -m value)
P2 o =1/
(*) (*) Units valid for F and G in units of stress. For other cases
(e.g. units of stress squared) then the units are different.
P3 Q J mol-1 Activation energy (= 0 for temperature independent model)
P4 b - Cohesion: c ' = ( a + bs ) g ( ) ; g ( ) = ( f + f ) / 2
________________________________
108
CODES in ICL = 33 ITYCL = 9
ROOT_gen.dat
= a5 + a6Wd + a7 Wd − Wd 0 dWd = qd d
2
109
CODES in ICL = 33 ITYCL = 11, 12, 15, 20, 21, 22, 23, 24, 25
ROOT_gen.dat
EQUATIONS
ITYCL = 11: Mohr-Coulomb (MC) model with dilatancy:
1
F = p sin + (cos − sin sin ) J 2 − c cos
3
1
G = p sin + (cos − sin sin ) J 2 − c cos
3
( F ) = F m for F 0 ( F ) = 0 for F 0
This model uses the standard sign criteria for continuum mechanics,
and equations are written assuming p>0 tension. is the dilatancy
angle and is a parameter for the plastic potential.
Invariants used in the models are defined as:
p = I1 = ( x + y + z )
1 1
3 3
1 1
( x − y ) + ( y − z ) + ( z − x ) + 6( xy2 + yz2 + zx2 )
2 2
J 2 = Sij Sij =
2
2 6
1 3 3 J3
= sin −1 (− 3
), − 30 30
3 2 J 2
F = p sin + J 2 K F ( ) − c cos
A + B sin 3 , T
K F ( ) = 1
cos − sin sin , T
3
1
1 3 + tan T tan 3T + 3 sign ( )
A = cos T
3 ( tan 3T − 3 tan T ) sin
1 1
B=−
3 cos3T sign ( ) sin T + sin cos T
3
110
+1, 0
sign ( ) =
−1, 0
111
CODES in ICL = 33 ITYCL = 11, 12, 15, 20, 21, 22, 23, 24, 25
ROOT_gen.dat
Where kpeak and kres are peak and residual values of k, respectively; k
represents both cohesion c and friction angle . is defined as the
= 2 2 2
2 + 1 p + 1 p + 1 p
xy yz zx
2 2 2
Where mp =
3
( x + yp + zp ) .
1 p
112
CODES in ICL = 33 ITYCL = 11, 12, 15, 20, 21, 22, 23, 24, 25
ROOT_gen.dat
1 −1 3 3 J 3ani
ani
= sin (− 3
)
3 2 J 2ani
This model is based in Mánica M, Gens A, Vaunat J, et al. A cross-
anisotropic formulation for elasto-plastic models. Géotechnique Letters,
2016, 6(2): 156-162.
113
CODES in ICL = 33 ITYCL = 11, 12, 15, 20, 21, 22, 23, 24, 25
ROOT_gen.dat
DESCRIPTION Viscoplasticity (general model for saturated soils and rocks)
4 2 s
F = cos2 J 2 + mhb cos + J 2 − mhb − p + hb ci
ci 3 6 mhb
1
G = p sin + (cos − sin sin ) J 2
3
( F ) = F m for F 0 ( F ) = 0 for F 0
This model uses the standard sign criteria for continuum mechanics, and
equations are written assuming p>0 tension; mhb and shb are parameters
of HB failure criterion. ci is the compressive strength of intact rock
mass. is the dilatancy angle and is a parameter for the plastic
potential.
s
F = K F ( ) J 2 − mhb − p + hb ci
mhb
A+ + B+ sin 3 , T 30
4 2
K F ( ) = cos 2 J 2 + mhb cos + , − T T
ci 3 6
A − B sin 3 , − 30 −T
− −
where:
sin T cos T 1
A+ = mhb cos T − + + sin T tan 3T
3 3 3 3
4 cos 2 T 8 sin T cos T tan 3T
+ J2 +
ci 3 ci
8 sin T cos T mhb cos T
B+ = J 2 − − sin T +
3 ci cos 3T 3cos 3T 3
sin T cos T 1
A− = mhb cos T + − − sin T tan 3T
3 3 3 3
4 cos 2 T 8 sin T cos T tan 3T
+ J2 +
ci 3 ci
8 sin T mhb cos T
B− = − J 2 + − sin T
3 ci cos 3T 3cos 3T 3
114
CODES in ICL = 33 ITYCL = 11, 12, 15, 20, 21, 22, 23, 24, 25
ROOT_gen.dat
DESCRIPTION Viscoplasticity (general model for saturated soils and rocks)
*
k res , *
peak res
Where k and k are peak and residual value of k, respectively; k
represents both mhb and shb. is defined as the value of the softening
= 2 2 2
2 + 1 p + 1 p + 1 p
xy yz zx
2 2 2
Where mp = ( xp + yp + zp ) .
1
3
The corners of strain-softening HB yield surface are rounded by
introducing T . The rounded method is the same as in ITYCL=20, but
the rounded parameter T is fixed at 25 in this model.
115
CODES in ICL = 33 ITYCL = 11, 12, 15, 20, 21, 22, 23, 24, 25
ROOT_gen.dat
Similar model to ITYCL=21, except for the form of the plastic potential
G. In this model, the expression of the plastic potential is related to the
yield surface. It is considered an associated flow rule, i.e. F=G, when
equal to 1. In this model, both the yield surface and the plastic potential
depend on the softening parameter .
116
CODES in ICL = 33 ITYCL = 1, 2, 3, 4, 5, 9, 11, 12, 15, 20, 21, 22, 23, 24, 25
ROOT_gen.dat
This model uses the standard sign criteria for continuum mechanics,
and equations are written assuming p>0 tension; mhb and shb are
parameters of the HB failure criterion. ci is the compressive strength
of the intact rock mass. is the the dilatancy angle and is a
parameter for the plastic potential. It is considered associated flow
rule, when equal to 1.
3 3
G = mhb ( ) p + J2 + mhb ( ) J 2 − shb ( ) ci2
ci 2
( F ) = F m for F 0 ( F ) = 0 for F 0
Similar model to ITYCL=24, but in this case both the parameters
of 3D Pan-Hudson simplified Hoek-Brown failure criterion, mhb ( )
and shb ( ) , are dependent on the softening parameter , following
the same relationships as in ITYCL=21.
117
PARAMETERS FOR ITYCL = 11 (Mech. data 1 ─ VPSSR ─ ICL=33)
Power of the stress function (integer value; typical value
P1 m
= 3)
Fluidity = 1/Viscosity (for plasticity use a sufficiently
large value)
P2 o =1/ -1 -m
s MPa (*) (*) Units valid for F and G in units of stress. For other
cases (e.g. units of stress squared) then the units are
different.
Activation energy (= 0 for temperature independent
P3 Q J mol-1
model)
P4 Void
P5 c MPa Cohesion
P6 º Friction angle
Lode angle value at which the corner smoothing function
P7 T º
starts (typical value –default*– = 25º)
*
Note that, in the case of parameters with default values, when setting them to zero –or to a
value lower than 10-25– automatically takes the default value. Hence, if the user actually wants
to set a parameter to zero, a low value but greater than 10-25 should be input.
118
PARAMETERS FOR ITYCL = 15 (Mech. data 1 ─ VPSSR ─ ICL=33)
P1 – P3 Same as in ITYCL = 11
P4, P10 Void
P5 c MPa Cohesion
P6 º Friction angle
P7 CN Stress scaling factor
P8 CT Stress scaling factor
P9 (0 - 1) Parameter for the plastic potential (default = 1)
119
PARAMETERS FOR ITYCL = 22, 24 (Mech. data 1 ─ VPSSR ─ ICL=33)
P1 – P9 Same as in ITYCL = 20
P10 Void
HISTORY VARIABLES:
The VPSSR (ICL = 33) requires four history variables:
Hist_var 1 Po MPa Evolution of preconsolidation mean stress
Hist_var 2 0 Evolution of (parameter of the flow rule)
Hist_var 3 EDP Plastic deviatoric strain
Hist_var 4 EVP Plastic volumetric strain
The first two variables can be assigned as initial conditions on surfaces/volumes if an initial
particular distribution on the geometry is required. The procedure is the same as followed by
initial stresses as was described in chapter II. PREPROCESS, PROBLEM DATA, section
II.2.3.5.
If no value is assigned for the first two variables in conditions, internally, the program sets the
input parameters P5 (for Po*) and P10 (for 0) of the ICL = 33 (ITYCL = 1, 2 or 3), as initial
values.
The evolution of the four history variables can be visualized as an output in Post-process GID
interface.
120
VISCOPLASTICITY FOR UNSATURATED SOILS AND ROCKS - VPUSR
CODES in ICL = 34, 35 and 36 ITYCL = 1, 16
ROOT_gen.dat
DESCRIPTION Viscoplasticity (general model based on Desai and Perzyna theory)
EQUATIONS ITYCL = 1: Viscoplastic constitutive model
N
d G F
= ( F ) ( F ) =
dt ' Fo
where the yield function is defined as: F ( J1 , J 2 D , J 3 D , s ) = aJ 2 D − 2 Fb Fs
with the following additional functions:
Fb = − ( J10 ( s ) + k2 s + k4 ) ( J1 + k1s + k4 ) + ( J1 + k1s + k4 ) − k3sJ10 ( s )
2− n n 2
27 ( −3/ 2 )
Fs = (1 − s S ) S= J 3D ( J 2 D )
m
2
The viscoplastic potential is defined similarly as:
G ( J1 , J 2 D , J 3 D , s ) = aJ 2 D − b 2 Fb Fs
where b is a non-associativity parameter.
Hardening is described with the following function, which is equivalent to
the BBM model:
(0) −
J 0* ( s ) −
J10 ( s ) = 3 p c 1 c po ( s ) = J10 ( s ) / 3
3 p
( s ) = ( 0 ) (1 − r ) exp ( − s ) + r
Suction and net stress are defined as:
(
s = max ( Pg − Pl ) ,0 ) n = total
n − max( Pg , Pl )
And the invariants are:
p' =
1
3
( 'x + ' y + 'z ) = p − max( pg , pl ) = J1 / 3 − max( pg , pl )
1 1
J 2 D = trace(s : s) = q 2 s = '− p ' I
2 3
J 3 D = sx s y sz + 2 xy yz zx − sx 2yz − s y 2xz − sz 2xy
Hardening depends on viscoplastic volumetric strains according to:
1+ e 1+ e dpo* 1 + e vp
dJ10* = J1o*d vp
v dpo =
*
po*d vp
v = d v
( ( 0) − ) ( ( 0) − ) po* ( 0 )
which is equivalent to BBM model as shown.
Note that, using k1 = 3k, k2 = 3k, k3 = 0, k4 = 0, and Fs = 1:
1
F (q, p, s ) = a q 2 − 2 32 −( po ( s ) + ks ) 2 − n ( p + ks ) n + ( p + ks ) 2
3
In the same way, the viscoplastic potential is described as:
1
G (q, p, s ) = a q 2 − b 2 32 −( po ( s ) + ks ) 2 − n ( p + ks ) n + ( p + ks ) 2
3
which incorporates a parameter to allow for non-associativity conditions.
Strength can be considered also a function of suction:
s
( s ) = dry − ( dry − sat ) sat ( dry )
sat
dry
121
PARAMETERS FOR ITYCL=1
122
This model has the following case that can be used:
Cam-Clay model Cap models
a 3 3
n 1 3,5,7,9
-1/9 +1/9
k1
k2 -3k ?
k3 3k ?
k4 3ps0 ?
M M
Parameters k, ps0 (see BBM). M: slope of critical state line
123
VISCOPLASTICITY FOR UNSATURATED SOILS AND ROCKS - VPUSR
+ (s) − ( s) −
1 i d
s + 0.1
form of the compressibility is: ( s ) = i + d ( s ); d ( s ) = d − s ln
0.1
Hardening depends on viscoplastic volumetric strains according to:
1 vp
dJ10* = 3 d v
i − kio
For more details see Oldecop & Alonso, 2001.
124
ICL = 36 (Mechanical data 1 → VPUSR 3); ITYCL = 3
P1 void -
P2 i- - Viscoplastic compression parameter
P3 d - Viscoplastic compression parameter
P4 s - Parameter (s) curve
P5 py MPa Parameter in LC curve
P6 k1 -
P7 k2 -
P8 k3 -
P9 k4 -
125
VISCOPLASTICITY FOR UNSATURATED SOILS AND ROCKS - VPUSR
CODES in ICL = 34, 35, 36 (continued)
ROOT_gen.dat
DESCRIPTION Viscoplasticity – Zero thickness element
EQUATIONS ICL = 34, 35, 36; ITYCL = 16
Viscoplastic constitutive model:
N
d G F
= ( F ) ( F ) =
dt ' Fo
- The yield function is defined as: F = 2 − ( c '− ' tan ') , where is the
2
shear stress; c ' is the effective cohesion, ' is the net normal stress, tan '
is the tangent or internal friction angle and is the tensile strength.
- Evolution of strength parameters with suction:
(
c0' ( ,a ) = ( c0 + c1 ) + ( b0 + b1 ) 1 − e −b2 tan a )
tan '0( ,a ) = ( tan 0 + t1 ) + ( d0 + d1 ) tan a
where c0(,a ) is the effective initial cohesion that changes with suction ( )
'
tangent of the internal friction effective initial angle that depends of and
a (Figure VIb.3); tan 0 is the value of tan '0 for = 0 and a = 0º ; t1 is
the slope of the tan '0 - fit line for a = 0º (Figure VIb.4); d0 and d1 are
model parameters that control the increment of tan '0 with suction for
a = 5º ,15º ,30º , 45º and tan a is the geometric tangent of the asperity
roughness angle.
- The softening is defined as:
' usvp usvp
c ' = c0 1 − * tan ' = tan '
0 − ( 0
tan '
− tan res )
'
u*
uc
where u svp is the visco-plastic shear displacement; uc* is the critical value for
shear displacement when c’=0; tan 'res is the tangent of internal friction
effective residual angle and u is the critical value of shear displacement
*
' ' f dil = c '
f dil = d tan a 1 − exp −d c
qu qu c0'
where, qu is the compression strength at which dilatancy vanishes; d and
d are model parameters.
126
Figure VIb.1. Effective cohesion vs. a (Zandarin, 2010)
Figure VIb.3. Effective tangent of the internal friction angle vs. (Zandarin, 2010)
a
Figure VIb.4. Effective tangent of the internal friction angle vs.suction (Zandarin, 2010)
127
PARAMETERS FOR ITYCL=16
128
HISTORY VARIABLES:
The VPUSR model (ICL = 34, 35, 36) requires four history variables:
Hist_var 1 (J1o*)F MPa Evolution of size of F (note that this is the 1s invariant)
Hist_var 2 (J1o*)G MPa Evolution of size of G (note that this is the 1st invariant)
Hist_var 3 EDP Plastic deviatoric strain
Hist_var 4 EVP Plastic volumetric strain
The first two variables can be assigned as initial conditions on surfaces/volumes if an initial
particular distribution on the geometry is required. The procedure is the same followed by initial
stresses as was described in chapter II. PREPROCESS, PROBLEM DATA, section II.2.3.5.
If no value is assigned for the first two variables in conditions, internally, the program sets the
input parameters P7 (for (J1o*)F) and P8 (for (J1o*)G) of the ICL=35 (ITYCL=1), as initial
values.
The evolution of the four history variables can be visualized as an output in Post-process GID
interface.
Note: Effective stresses plotted in the Post-process GID interface correspond with net stresses
for unsaturated conditions and Terzaghi's effective stresses for saturated conditions. Stress and
strain invariants follow the soil mechanics notation (positive for compression).
An example of use of the elastic and viscoplastic models in presented in APPENDIX VI.B.5
129
CODE_BRIGHT. CONSTITUTIVE LAWS
This chapter contains the different models available and the corresponding parameters required
by each model. The following constitutive laws are available:
HYDRAULIC AND MECHANICAL CONSTITUTIVE MODELS
THERMAL CONSTITUTIVE
MODELS (a) ELASTICITY (b)
RETENTION CURVE NONLINEAR ELASTICITY (b)
INTRINSIC PERMEABILITY VISCOPLASTICITY FOR SALINE MATERIALS
LIQUID PHASE RELATIVE (b)
PERMEABILITY VISCOPLASTICITY FOR SATURATED SOILS
GAS PHASE RELATIVE AND ROCKS (b)
PERMEABILITY VISCOPLASTICITY - GENERAL (b)
DIFFUSIVE FLUXES OF MASS DAMAGE-ELASTOPLASTIC MODEL FOR
DISPERSIVE FLUXES OF ARGILLACEOUS ROCKS (c)
MASS AND ENERGY THERMO-ELASTOPLASTIC MODEL FOR SOILS
CONDUCTIVE FLUX OF HEAT (d)
BARCELONA EXPANSIVE MODEL FOR SOILS
(e)
CASM’s FAMILY MODELS (f)
PHASE PROPERTIES (a) EXCAVATION PROCESS (g)
SOLID PHASE PROPERTIES
LIQUID PHASE PROPERTIES
GAS PHASE PROPERTIES
130
DAMAGE-ELASTOPLASTIC MODEL FOR ARGILLACEOUS ROCKS
CODES ICL = 70 to 79 ITYCL = see below
DESCRIPTION Damage-elastoplastic model for argillaceous rock This model considers
the argillaceous rock as a composite material made of a clay matrix
interlocked by bond. Clay matrix behaviour is modeled through an
elastoplastic constitutive law, typical of soils. Bonds are modeled
through a damage elastic law (Carol et al., 2001), typical of quasi-brittle
materials. A coupling parameter gives the relative importance of clay and
bond response for the composite material. This law applies to material
having a response transitional between that of a soil and a rock.
EQUATIONS For this model, equations are written assuming Soils Mechanics
convention (p > 0, v> 0, compression). p is the mean effective stress, J
the square root of the second invariant of deviatoric stress tensor, the
Lode’ angle (-30º in triaxial compression, +30º in triaxial extension) (see
ICL 21 to 27 for their definition).
eM ds p
Elastic law: d ijM = Dijkl d kl − kl M − d kl
M
Ks
eM
ijM are the stresses prevailing at clay particles contact, Dijkl is the
mechanical elastic stiffness matrix of the clay, d klM are the strains
corresponding to the clay matrix deformation (equal to the external
strains), Ks is the bulk modulus against suction changes (if any), d kl
M p
131
Camclay type orthotropic elasticity (ITYCL = 3):
eM
Dijkl is defined by clay matrix bulk modulus KMh and KMv and clay matrix
Poisson’s ratio Mh, Mv, Mhv and Mvh. Bulk modulus against stress
changes is linearly dependent of the mean stress following the
relationship:
K hM =
(1 + e) hM K vM =
(1 + e) vM
M M
K sM =
(1 + e )( s + patm )
sM
e is the void ratio, M and sM the slopes of the unloading/reloading and
drying/wetting lines in the planes e-lnpM and e-ln(s + patm), respectively.
patm is the atmospheric pressure and is taken equal to 0.1 MPa.
132
Hoek & Brown (1980) (ITYCL = 2):
4sin 2 M −
6 M 2 2 m sin
M M
Fp = J − J M − m M ( p M + ptM ) 0
RcM 3
ptM = RcM / mM is clay matrix tensile strength, RcM clay matrix uniaxial
compressive strength, mM a parameter defining the shape of the parabolic
yield criterion.
Mohr Coulomb and Hoek & Brown yield criteria present corners in the
deviatoric plane. They are smoothed using Sloan & Booker (1986)
procedure. Lode’s angle t at which smoothing starts must be defined
(see ICL = 74).
where dt is the time increment, M is the clay matrix viscosity and are
the Macauley brackets. Inviscid plastic locus takes the form:
M
Fp = Fp − d p 0
dt
p
where F can be either the Mohr Coulomb or Hoek & Brown yield
criterion.
133
Plastic potential: A non associated plastic potential in the p-q diagram
is defined for each yield criterion. In the deviatoric plane, plastic
potential is considered associated.
parameter defining the non associativity of the flow. It takes a value equal
to 1 when associated and equal to 0 for null dilatancy.
=M
M M M M −9 M M −3 ( 1 )( )
9 6−M M M
(
1 − M ( 0) )
Hardening law:
Mohr-Coulomb (ITYCL = 1):
A softening law is introduced through the following dependency of the
tensile strength on the plastic strain:
ptM = c 'M cotan'M
with
c 'M =c'M if eq rc 0
pM M
peak
peak (1 −
c'M ) rcM0 eqpM rcM
M
peak +
c 'M =c'M ( pM
− rcM0 ) if
( M
rc − M
rc 0 ) eq
c 'M = M c'M
peak if rc eq
M pM
134
and
'M = 'Mpeak if eq r 0
pM M
'Mpeak (1 − M )
( − rM 0 ) if r 0 eq r
M pM M
'M = 'Mpeak + pM
( M
r − M
r 0 ) eq
if r eq
M pM
'M = M 'M
peak
principal plastic strain, rM the accumulated major principal plastic strain
at which the residual strength 2Rc0M is reached. is related to the
intact and residual uniaxial compressive strength Rc0M and RcresM by the
formula:
2
Rcres
M
M
2 M Rcres
= M + m M
Rc 0 3 RcM0
= 1 means perfect plasticity, = 0, total degradation (residual
strength equal to 0). > 1 means hardening plasticity while < 1
means softening plasticity.
135
Bond behaviour
Elastic law:
d ijb = Dijkl
eb
( d klb − d kld )
eb
Dijkl is the secant damaged elastic matrix. It is related to the secant
− L eb 0
undamaged elastic tensor Dijkl by Dijkl = e Dijkl . L is the damage
eb 0 eb
variable, related to the ratio of bond mickocraks area over the whole bond
eb 0
area. Dijkl is defined by the undamaged bond Young’s modulus Eb and
bond Poisson’s ratio b through the classical linear orthotropic elasticity.
where dt is the time increment, b is the bond viscosity and are the
Macauley brackets. Infinitly low damage locus takes the form:
b
F = F − dL 0
d d
dt
Damage rule: Damage rule gives the evolution of damage strain d kld
with damage variable L. This relation is constrained by bond elastic
moduli evolution and must take the form: d kl = kl dL
d b
136
Damage evolution law: It gives the evolution of damage locus rb with
damage variable L. Three different expressions may be considered:
a) linear: r b = r0b + r1b L
b
a) exponential: r b = r0b expr1 L
a) logarithm: r b = r0b + r1b ln L
r0 is the damage of the intact material and r1 a parameter giving the rate
of evolution (higher value of r1 gives lower damage rate). r1 is taken
function of suction following: r1b = r10b + r1bs s
r10b is a parameter which controls the damage evolution rate for the
b
saturated bond material and r1s is a parameter which controls the change
of damage evolution rate with suction.
Since this model requires a substantial number of parameters, several ICL's are included in
Mechanical Data 3:
Argillite Bonding (ICL = 70) contains elastic parameters for the bonding.
Argillite Matrix (ICL = 71) contains elastic parameters for the soil matrix.
Argillite – Coupling (ICL = 72) contains parameters for the coupling between bonding and
soil matrix.
Argillite – Yield vol (ICL = 73) contains parameters for the shape of the yield function in the
p-q plane (soil matrix).
Argillite – Yield dev (ICL = 74) contains parameters for the shape of the yield function in the
deviatoric plane (soil matrix).
Argillite – Plastic vol (ICL = 75) contains parameters for the shape of the plastic potential in
the p-q plane (soil matrix).
Argillite – Plastic dev (ICL = 76) contains parameters for the shape of the plastic potential in
the deviatoric plane (soil matrix).
Argillite – Hardening (ICL = 77) contains parameters for the hardening law (soil matrix).
Argillite – Visco (ICL = 78) contains parameters for the viscoplastic model (bonding and soil
matrix).
Argillite – Control parameters (ICL = 79) contains parameters to control the integration of
the constitutive law.
137
PARAMETERS FOR ARGILLITE BONDING ICL = 70 (Damage orthotropic elastic model
for the bond material). ITYCL = 1: Linear damage evolution law. ITYCL = 2: exponential
damage evolution law. ITYCL = 3: logarithm damage evolution law.
Young’s modulus for the bond material in the plane
P1 Eb h MPa orthogonal to the direction of orthotropy
If P6 = 0 or 1 (no anisotropy), isotropic Young’s modulus
Poisson’s ratio for the bond material in the plane orthogonal to
P2 b h - the direction of orthotropy
If P6 = 0 or 1 (no anisotropy), isotropic Poisson’s ratio
P3 rb10 MPa Damage evolution rate for the saturated bond material
P4 rb0s MPa Change of bond damage locus with suction
P5 rb1s MPa Change of bond damage evolution rate with suction
Ratio of anisotropy (ratio between the value of Young’s
modulus for bond material in the direction perpendicular and
Ebh / Ebv =
P6 - parallel to the orthotropy axis)
bhv / bvh
If P6 = 0, a default value equal to 1 (no anisotropy) is assigned
to this parameters
P7 bhv - Cross Poisson’s ratio of the bond material (bhv = dbh / dbv)
Shear modulus of the bond material along the axis of
P8 Gv MPa
orthotropy (ratio dh / dv)
Bulk modulus against suction changes for the bond material
P9 Kbs MPa
(considered isotropic)
138
PARAMETERS FOR ARGILLITE MATRIX ICL = 71; ITYCL = 1 or 2 (Linear orthotropic
elastic model for the soil matrix)
Young’s modulus for the saturated matrix in the plane
M
P1 E h* MPa orthogonal to the direction of orthotropy.
If P6 = 0 or 1 (no anisotropy), isotropic Young’s modulus.
Poisson’s ratio in the plane orthogonal to the direction of
P2 M
h - orthotropy.
If P6 = 0 or 1 (no anisotropy), isotropic Poisson’s ratio.
P3 KMs MPa Bulk modulus against suction changes (considered isotropic).
Coefficient setting the change of E with suction according to
P4 EM s -
the equation EMh = EMh* + EMs s
P5 - - Void
Ratio of anisotropy (ratio between the value of Young’s
modulus in the direction perpendicular and parallel to the
EMh / EMv =
P6 - orthotropy axis).
Mhv / vh
If P6 = 0, a default value equal to 1 (no anisotropy) is
assigned to this parameters.
P7 Mhv - Cross Poisson’s ratio (Mhv = dMh / dMv)
P8 GMvh = GMhv MPa Cross shear modulus (GMvh = dvh / dvh)
Coefficient giving the change of the Young’s modulus with
P9 EM1h - the stress in the plane orthogonal to the direction of
orthotropy.
Value of Young modulus in the plane orthogonal to the
P10 EM2h MPa
direction of orthotropy at null mean (net or effective) stress.
Elastic thermal deformation will be taken into account in the model in a coupled way if the
elasticity law ICL = 5; ITYCL = 1 is used. Parameter P3 corresponds to the thermal expansion
coefficient.
139
PARAMETERS FOR ARGILLITE MATRIX ICL = 71 (Elastic model for the soil matrix);
ITYCL = 3 (Orthotropic Camclay type elastic model for the soil matrix)
Slope of the unloading-reloading line in the e –ln(h) model
P1 M If P6 = 0 or 1 (no anisotropy), Slope of the unloading-
reloading line in the e –ln(p) model.
Poisson’s ratio in the plane orthogonal to the direction of
P2 M
h - orthotropy.
If P6 = 0 or 1 (no anisotropy), isotropic Poisson’s ratio.
Slope of the wetting-redrying line in the e –ln(s + patm) model
P3 Ms MPa
(considered isotropic).
P4 - Void
P5 - - Void
Ratio of anisotropy (ratio between the value of bulk modulus
in the direction perpendicular and parallel to the orthotropy
KMh / KMv =
P6 - axis).
Mhv / vh
If P6 = 0, a default value equal to 1 (no anisotropy) is
assigned to this parameters.
P7 Mhv - Cross Poisson’s ratio (Mhv = dMh / dMv)
P8 Gvh MPa Cross shear modulus GMvh = dvh / dvh
140
PARAMETERS FOR ARGILLITE – COUPLING ICL = 72; ITYCL = 2 (Coupling behaviour).
P1 – P6 Same as in ICL = 72; ITYCL = 1
Parameter to compute intrinsic permeability as a function of plastic
k
multiplier (eq ) as k = k 0 1 + ( εeq )
P7 - p k p 3
P9 – P10 Same as in ICL = 72; ITYCL = 1
PARAMETERS FOR ARGILLITE – YIELD VOL ICL = 73; ITYCL = 1 (Mohr Coulomb
criterion for the soil matrix – shape in pM-qM diagram).
P1 ’ M º Friction angle
P2 c’ M MPa Cohesion
Coefficient setting the change in cohesion with suction following:
P3 bM º
c’M = s tan(bM)
P4 M MPa-1 Coefficient setting the change in friction angle with suction.
PARAMETERS FOR ARGILLITE – YIELD VOL ICL = 73; ITYCL = 2 (Hoek & Brown
criterion for the soil matrix – shape in pM-qM diagram).
P1 mM - Ratio of uniaxial compressive strength divided by tensile strength.
Uniaxial compressive strength at the reference temperature (P8
P2 Rc M MPa
field).
P3 rM - Coefficient setting the change in cohesion with suction.
P4 M MPa-1 Coefficient setting the change in cohesion with suction.
P5 - - Void
P6 - - Void
Coefficient setting the decrease of uniaxial compressive strength
P7 k TM
with temperature.
P8 T0 Reference temperature.
PARAMETERS FOR ARGILLITE – YIELD VOL ICL = 73; ITYCL = 3 (Basic Barcelona
model criterion for the soil matrix – shape in pM-qM diagram).
P1 MM - Slope of the critical state line.
P2 - - Void
M
P3 r - Coefficient setting the change in cohesion with suction.
P4 M MPa-1 Coefficient setting the change in cohesion with suction
P5 pc M MPa Reference pressure
P6 k sM - Coefficient setting the increase of tensile strength with suction.
141
PARAMETERS FOR ARGILLITE – YIELD DEV ICL = 74; ITYCL = 1, 2, 3 (Mohr Coulomb,
Hoek & Brown or Basic Barcelona model criteria for the soil matrix – shape in deviatoric
plane).
Lode angle value at which corner smoothing function is tangent
P1 t M º
to Mohr Coulomb envelope (typical value – not default – 25º).
P4 - =
' peak
M
PARAMETERS FOR ARGILLITE – HARDENING ICL = 77; ITYCL = 2 (Hoek & Brown
hardening law for the soil matrix).
2
R M 2 M Rcres
M
P1 - Brittleness index: M = cres
M
+ m
Rc 0 3 RcM0
142
PARAMETERS FOR ARGILLITE – HARDENING ICL = 77; ITYCL = 3 (Basic Barcelona
model does not need additional parameter for the hardening law for clay matrix).
P1 M(0) - Slope of the virgin loading line in the e-ln(pM) diagram.
143
Important notes:
1. Damage only, elastoplasticity only or coupled damage-elastoplasticity can be defined
depending on the combinations of ITYCL used. They are:
Damage
ITYCL = 1 ITYCL = 0 ITYCL = 0 ITYCL = 0
only
HISTORY VARIABLES
Argillite model requires in total 35 history variables. They are listed in the following table.
Variable 1 is the history variable of the elastoplastic model for the matrix. In the most general
case, value for this variable need to be specified in the input file (see format in the Part III).
In the case of Mohr Coulomb model (ITYCL(73) = 1), variable 1 corresponds to the tensile
strength of the material pt. If a null value is specified in the input file for this variable, the
program will compute the value of the tensile strength for each element from the cohesion and
the friction angle of the material assigned to the element. The expression used to compute the
default value is: pt = c’ cotan’.
In the case of Hoek & Brown model (ITYCL(73) = 2), variable 1 corresponds to the tensile
strength of the material pt. If a null value is specified in the input file from this variable, the
program will compute the value of the tensile strength for each element from the uniaxial
compressive strength Rc and the parameter m of the material assigned to the element. The
expression used to compute the default value is: pt = Rc / m.
In the case of Cam clay model (ITYCL(73) = 3), variable 1 corresponds to the preconsolidation
pressure of the material p0*. IF A NULL VALUE IS SPECIFIED IN THE INPUT FILE FOR
THIS VALUE, THE PROGRAM WILL ABORT DUE TO A MATH ERROR (this ellipse of
Cam clay model degenerates into a point).
144
Variable 2 is the history variable of the damage model for the bond. In the most general case,
value for this variable need to be specified in the input file (see format in the Part III). However,
in many cases, this value can be set to 0. It means that damage will start for any stress changes.
Variable 3 is used internally to keep memory of the type of constitutive matrix (elastic, tangent
elastoplastic, tangent damage or tangent damage elastoplastic) used to build the global tangent
stiffness. No input from the user is associated to this variable.
Variable 4 is the plastic multiplier of the matrix. This variable measures the amount of plastic
strain. It is usually set to 0 at the beginning of the computation and updated within the argillite
subroutine. This variable is used only by the user for output visualization purposes (it provides
the spatial distribution of plastic strain intensity within the mesh at any output time).
Variable 5 is the damage multiplier of the bonds. This variable measures the amount of
damage. It is usually set to 0 at the beginning of the computation and updated within the argillite
subroutine. This variable is used by the user for output visualization purposes only (it provides
the spatial distribution of damage intensity within the mesh at any output time).
Variables 6 to 11 are the current stresses within the bonds. Variables 12 to 17 are the stresses
within the matrix at time of bond formation. In the most general case, all these variables have
to be specified in the input file*. However, from a practical point of view, most of the problems
can be run setting these values to 0 at the beginning of the computation (in this case, the damage
locus is centered on the initial stress state at the beginning of the computation).
Variables 18 to 35 contain the total, plastic and damage strain tensor components. They are
usually set to 0 at the beginning of the computation and updated within the argillite subroutine.
These variables are used by the user for output visualization purposes only (they provides the
spatial distribution of the total, plastic and damage strain within the mesh at any output time).
145
A summary of the different options for history variables input is summarized in the following
table.
Type of
input of Characteristics of the problem
history
variables
Mohr Coulomb Hoek & Brown Cam clay model
ITYCL(73) = 1 ITYCL(73) = 2 ITYCL(73) = 3
Tensile strength is Tensile strength is NOT POSSIBLE
constant within each constant within each
material and material and computed
All variables
computed from from uniaxial
=0
cohesion and friction compressive strength and
angle parameter m
Damage locus is centred on the initial stress state of the problem. Material
is not damaged at time 0 of the computation.
From t=0, damage occurs for any stress changes
Mohr Coulomb Hoek & Brown Cam clay model
ITYCL(73) = 1 ITYCL(73) = 2 ITYCL(73) = 3
Variable 1 Tensile strength can Tensile strength can vary Preconsolidation
0 vary from element to from element to element pressure can vary from
Variable 2 = element and is equal and is equal to the element to element and
0 to the specified value specified value for is equal to the specified
Variable 6 to for Variable 1 Variable 1 value for Variable 1
17 = 0 Damage locus is centred on the initial stress state of the problem. Material
is not damaged at time 0 of the computation.
Damage occurs for any stress changes
Mohr Coulomb Hoek & Brown Cam clay model
ITYCL(73) = 1 ITYCL(73) = 2 ITYCL(73) = 3
Tensile strength can Tensile strength can vary Preconsolidation
Variable 1 vary from element to from element to element pressure can vary from
0 element and is equal and is equal to the element to element and
Variable 2 to the specified value specified value for is equal to the specified
0 for Variable 1 Variable 1 value for Variable 1
Variable 6 to Damage locus is centred on the stress state at time of bond stress state of
17 0 the problem. It reflects the history of damage previous to time 0 of the
computations.
Damage occurs only when the energy input to the material is equal to the
specified value for Variable 2
Variables 3, 4 and 18 to 35 can be specified in the input file when the history of plastic and
damage strain previous to the current computations is wanted to be reproduced (particularly in
case of restart).
146
CODE_BRIGHT. CONSTITUTIVE LAWS
This chapter contains the different models available and the corresponding parameters required
by each model. The following constitutive laws are available:
22 THERMOELASTOPLASTIC MODEL FOR UNSATURATED SOILS 1 Contain parameters for the thermal terms
147
THERMO-ELASTOPLASTIC MODEL FOR SOILS
EQUATIONS For this model, equations are written assuming Soils Mechancis
compression (p > 0, v > 0, compression).
The mechanical constitutive equation takes the incremental general form:
d ' = Dd + hds
G
This equation is derived from: d = d e + d p = ( D e ) −1 d '+ ds +
'
where an elasto-plastic constitutive law has been selected that is based on
a generalized yield surface that depends not only on stresses but on suction
as well: F = F ( ', vp , s )
( s) = ( o) (1 − r ) exp (− s) + r
ps = ps0 + k s exp( − T ) , T = T − Tref
Hardening depends on plastic volumetric strain according to:
1+ e
dpo* = po*d vp
( 0 ) − kio
148
EQUATIONS The plastic potential is taken as:
(continuation) 3J 2
G = 2 − L2p ( p '+ ps )( po − p ')
gp
where gp is a function of the Lode angle and
Lp = M / g p =− / 6
is a non-asociativity parameter.
The variation of stress-stiffness with suction and, especially, the variation
of swelling potential with stress and suction have been considered. Elastic
component of the model (volumetric strains):
k i ( s) dp' k s ( p', s) ds
d ev = + + ( o + 2 2 T )dT
1 + e p' 1 + e s + 01 .
s + 0.1
where: ki ( s) = kio 1 + i s + il ln
0.1
ks ( p ', s) = kso (1 + sp ln p ' pref ) exp ( s s s )
Since this model requires a substantial number of parameters, several ICL's are included:
TEP – Elastic parameters (ICL = 21) contains elastic parameters (ITYCL = 1).
TEP – Thermal and other parameters (ICL = 22) contains other parameters (ITYCL = 1).
149
TEP – Plastic parameters 1 (ICL = 23) contains plastic parameters (ITYCL = 1).
TEP – Plastic parameters 2 (ICL = 24) contains parameters for different aspects (ITYCL = 1).
TEP – Parameters Shape Yield Surf. (ICL = 25) contains parameters for the function gy (ITYCL
= 1, 2, 3).
TEP – Parameters Shape Plastic Pot. (ICL = 26) contains parameters for the function gp (ITYCL
= 1, 2, 3).
TEP – Integration Control Parameters (ICL = 27) contains parameters for the integration of the
model (ITYCL = 1).
150
PARAMETERS FOR ICL = 23 (TEP Plastic Parameters 1); ITYCL = 1
P1 (0) Slope of void ratio - mean stress curve at zero suction
P2 r Parameter defining the maximum soil stiffness
P3 MPa-1 Parameter controlling the rate of increase of soil stiffness with suction
P4 C-1 Parameter that takes into account decrease of tensile strength due to
temperature
P5 k Parameter that takes into account increase of tensile strength due to suction
P6 ps0 MPa Tensile strength in saturated conditions
151
PARAMETERS FOR ICL = 26 (TEP Parameters Shape Plastic Pot.); ITYCL = 2
van Eeckelen function: gp () = X/Y sin3-Z
P1 X
P2 Y
P3 Z
HISTORY VARIABLES:
The Thermo-elastoplastic (ICL = 21 to 27) model requires two history variables:
Hist_var 1 Po* MPa Evolution of preconsolidation mean stress for saturated soil
Hist_var 2 eo Evolution of void ratio
Note: Effective stresses plotted in the Post-process GID interface correspond with net stresses
for unsaturated conditions and Terzaghi's effective stresses for saturated conditions. Stress and
strain invariants follow the soil mechanics notation (positive for compression).
______
153
CODE_BRIGHT. CONSTITUTIVE LAWS
This chapter contains the different models available and the corresponding parameters required
by each model. The following constitutive laws are available:
154
BARCELONA EXPANSIVE MODEL FOR SOILS (BExM)
DESCRIPTION Elastoplastic constitutive law for expansive soils (BExM by Alonso et al.,
1999).
EQUATIONS For this model, equations are written assuming Soils Mechanics convention
(p > 0, v> 0, compression). p is the mean effective stress, J the square root
of the second invariant of deviatoric stress tensor, the Lode’ angle (-30º
in triaxial compression, +30º in triaxial extension) (see ICL 21 to 27 for
their definition).
Two levels of soil structure are defined: macrostructural level (Macro)
and microstructural level (micro) (see APPENDIX VI.E):
VpM VpM
Vp
VT Vpm
Vag
Vs Vs
where:
VT = Total volume
V pM = Volume of macropores
V pm = Volume of micropores
V p = Total volume of pores (=V pM + V pm )
Vs = Volume of solid particles
Vag = Volume of aggregates (=Vs + V pm )
VT
V pm
Micro porosity over total volume: n =
m
VT
Vpm Vpm
Micro porosity over volume of aggregates: n m = =
Vag Vs + Vpm
155
Vp
Total void ratio: e =
Vs
V pM
Macro void ratio: e M =
Vag
V pm
Micro void ratio: e = m
Vs
1 − nM 1 + eM
nm em
em = nm =
1− n m 1+ e m
(
e = e m + eM 1 + e m ) n = n M + nm
nm = n m (1− n ) M
(
n = nM + n m 1 − nM )
The following additive equation for the total strain rate holds:
d kl = d klMacro + d kl
micro
where
is the total strain rate: tr ( kl ) =
de
d kl ;
1+ e
d kl
Macro is the macrostructural strain rate, associated to the
de M
macroskeleton: tr ( klMacro ) = ;
1 + eM
Elastic law:
Macro ds Macro
d ij = Dijkl d kl
Macro
− kl Macro
− d klLC − d klSD − d klSI
3K s
micro ds micro
d ij = Dijkl d kl − kl
micro
3K smicro
Macro
Dijkl is the mechanical elastic stiffness matrix which relates stress and
elastic deformation at macro level ( d klMacro );
micro
Dijkl is the mechanical elastic stiffness which relates stress and elastic
deformation at micro level ( d klmicro ).
K sMacro is the bulk modulus against macro suction changes and K smicro the
bulk modulus against micro suction changes.
d klLC are the macro plastic strains if LC is activated.
156
and d klSI are the macro plastic strains if SD and SI are activated,
d klSD
respectively.
K Macro
=
(1 + e ) p M
Macro
Micro bulk modulus against effective stress changes is linearly dependent
of the logarithmic effective net stress (p+s) following the relationship:
K micro
=
(1 + e ) ( p + s )
m
micro
where and
Macro micro
the slopes of the unloading/reloading lines in the
Macro
plane e -lnp and emicro-ln(p+s), respectively. Note that the behaviour of
the microstructure is formalized by means of an effective stress concept
generalized for unsaturated conditions (effective stress is recovered).
Bulk modulus against suction changes is linearly dependent of the
logarithmic suction following the relationship:
K Macro
=
(1 + e ) ( s + p )
M
atm
s
s
where s is the slope of the drying/wetting line in the plane eM-ln(s+patm).
patm is the atmospheric pressure and is taken equal to 0.1 MPa by default.
Yield function
M2
F LC = J 2 −
3
( p + p )( p
t 0 − p) 0
where pt is the clay tensile strength, p0 the clay matrix isotropic yield
locus and M the slope of the critical state line in the p–q diagram. The
following dependencies on suction are considered:
pt = ks s
( 0 ) − Macro
p* ( s )− Macro
p0 = pc 0 with ( s ) = ( 0 ) (1 − r ) e − s + r
pc
F SD = SD − p − s F SI = p + s − SI
157
Rate dependency
Rate dependency is introduced as a visco-plastic mechanism. Plastic
multiplier p is expressed as a function of the distance between the current
stress point and the inviscid plastic locus:
dt
d p = F
where dt is the time increment, is the clay viscosity and are the
Macauley brackets. Inviscid plastic locus takes the form:
F =F− d p 0
dt
where F can be either the LC, SD or SI yield criterion
Plastic potential
M2
Gp = J 2 −
3
( p + p )( p − p )
t 0
Hardening law:
The hardening/softening law is introduced through the following
dependency of the saturated isotropic yield locus on the plastic strain:
dp0* (1 + e)
=
p0 −
* ( d vol
LC
+ d vol
SD
+ d vol
SI
)
K micro SD K micro SI
d SD = d vol + SI d vol
f SD f
K micro K micro
d SI = SD
d SD
vol + SI
d vol
SI
f f
SD
where f and f SI are the micro-macro interaction functions defined as
follow:
nSI
p
nSD
p
f SD = f SD 0 + f SD1 1 − and f
SI
= f SI 0 + f SI 1
p0 p0
158
Model parameters should be introduced in the following ICL:
BExM – Inactive (ICL = 80) VOID
BExM – Elastic (ICL = 81) contains parameters of elastic model
BExM – Coupling (ICL = 82) contains parameters of coupling
BExM – Yield surface (ICL = 83) contains parameters for the shape of the yield function
in the p-q plane
BExM – Inactive2 (ICL = 84) VOID
BExM – Plastic potential (ICL = 85) contains parameters for the shape of the plastic
potential in the p-q plane
BExM – Inactive3 (ICL = 86) VOID
BExM – Hardening (ICL = 87) contains parameters for the hardening law
BExM – Convergence (ICL = 88) contains parameters to control the integration of the
constitutive law
159
PARAMETERS FOR BEXM – YIELD SURFACE ICL = 83; ITYCL = 1 (Basic Barcelona
model criterion for the clay – shape in p-q diagram).
P1 M - Slope of the critical state line
P2 void - -
P3 r - Coefficient setting the change in cohesion with suction
P4 MPa-1 Coefficient setting the change in cohesion with suction
P5 pc MPa Reference pressure
Coefficient setting the increase of tensile strength with
P6 ks -
suction
P7 pt 0 MPa Cohesion corresponding to suction equal to zero
PARAMETERS FOR BEXM – HARDENING ICL = 87; ITYCL = 1 (Basic Barcelona model
does not need additional parameter for the hardening law for clay).
P1 (0) - Slope of the virgin loading line in the e-ln(p) diagram
P2 MPa.s Clay viscosity parameter
160
Initial separation between SI and SD
P4 toler_ini_SI_SD MPa
(typical value 1.e-4)
HISTORY VARIABLES:
The Barcelona Expansive Model (BExM) (ICL = 80 to 88) model requires the following
history variables:
Hist_var 1 P0* MPa Initial preconsolidation mean stress for saturated soil
Hist_var 2 SD MPa Initial value of the parameter that defines the position
of SD yield surface
Hist_var 3 SI MPa Initial value of the parameter that defines the position
of SI yield surface
Hist_var 4 nm Initial microstructural porosity
(micropore volume Vpm / total volume VT)
161
CODE_BRIGHT. CONSTITUTIVE LAWS
This chapter contains the different models available and the corresponding parameters required
by each model. The following constitutive laws are available:
162
CASM's FAMILY MODELS
CODES in ICL = 90, 91 (Mechanical data 3) ITYCL = 1, 2 ,3, 4
ROOT_gen.dat
DESCRIPTION Clay and Sand model for soils (CASM)
EQUATIONS ICL = 90 (CASM – General); ITYCL = 1: Saturated CASM model
Yield function:
The yield function for CASM (Yu, 1998) expressed for a general stress state
n
3J 1 p'
is: f = + ln '
M p ' ln r P0
where: p’ is the mean effective stress
1/ 2
1
J = trace ( ij − p ' ij ) (for axi-symmetric conditions: q = 3 J )
2
'
P0 is the preconsolidation pressure
M is the slope of the critical state line
n is a constant used to specify the shape of the yield surface
r is a spacing ratio introduced to control the location of the intersection of
the critical state line with the yield surface.
where M is the slope of the CSL under triaxial compression ( = −30º ). The
parameter controls the difference of the strengths between the triaxial
3 − sin cs
compression and extension. Often, is taken as: = where
3 + sin cs
cs denotes the friction angle of the soil at the critical state.
163
EQUATIONS ICL = 90 (CASM – General); ITYCL = 1: Saturated CASM model
(continued)
Hardening parameter:
Similar to the Cam-clay models, in CASM the change in size of the yield
surface ( dP0' ) is assumed to be related to the incremental plastic
volumetric by:
P0'
dP = *'
d vp
−
0 *
where: = and =
* *
are the modified compression index
1 + e0 1 + e0
and modified elastic swelling index.
Plastic potential:
The plastic potential for CASM follows the stress-dilatancy relation of
Rowe (1962).
p' 2 3J 3J
g = 3M ln + ( 3 + 2 M ) ln + 3 − ( 3 − M ) ln 3 −
p' p'
Where is a size parameter, which can be determinate easily for any given
stress state (p’,J) by solving the above equation and it is internally
computed.
Elastic behaviour:
The elastic behaviour of this critical state model is the same as in the Cam
–clay models with the tangent modulus (K) and shear modulus (G) being
defined by the following expressions (a constant Poisson’s ratio () is
assumed):
p' 3 (1 − 2 ) K
K= * G=
2 (1 + )
164
EQUATIONS ICL = 91 (CASM – Specific); ITYCL = 2: Unsaturated CASM model
This model require P1 to P9 parameters of the ICL=90 and ICL=91.
Model follows the Barcelona Basic Model (BBM) characteristics. The
model is formulated using two alternative options for the constitutive
stresses variables: Net stress and Bishop’s or average stress, which can be
selected using an indicator parameter.
- Bishop’s stress: ij = ij − Pg ij + Sr sij
'
Yield function:
In terms of Bishop’s stress:
n
3J 1 p'
f = + ln
M p ' ln r Pc
In terms of Net stress:
n
3J 1 p + ps
f = +
M ( p + p ) ln r P + p
ln
s c s
where, r* and are material parameters. The first is related to the maximum
stiffness of the soil (for an infinite suction): r * = s ( s → )/ o and the
second controls the rate of increase of soil stiffness with suction.
165
Net stress formulation requires an explicit variation of apparent cohesion
with suction. The increase in cohesion follows a linear relationship with
suction,
ps = k s s
where k s is a scalar variable.
Plastic potential:
Three options are available for the flow rule. An scalar variable is
introduced to select a particular option as follow,
Hardening parameter:
Isotropic hardening is controlled by the plastic volumetric strains ( d vp )
through,
Po (1 + e )
dPo = d vp
o −
Elastic behaviour:
Elastic behaviour is the same as defined in ICL=90 ITYCL=1. However,
net stress formulation requires an explicit relation to consider the effect of
suction on volumetric elastic strains, through the incorporation of the
elastic compressibility parameter for changes in suction, s ,
s 1
d ije,s = ds δij = ds δij
(1 + e ) ( s + patm ) 3K s
Where K s is the Bulk modulus for changes in suction. If Bishop’s stress
is configured, the effect of suction on volumetric elastic strains is accounted
for via the variation in Bishop’s stress with suction. Elastic strain
increments are computed using the following equations for Net stress
approach and Bishop’s stress approach, respectively.
2G - 3K 1 1
d ije = dp ij + d ij + ds ij
6KG 2G 3K s
2G - 3K 1
d ije = d ( p + Sr s ) ij + d 'ij
6 KG 2G
166
CODES in ICL = 90, 91 (Mechanical data 3) ITYCL = 1, 2 ,3, 4
ROOT_gen.dat
DESCRIPTION Clay and Sand model for soils (CASM)
EQUATIONS ICL = 91 (CASM – Specific); ITYCL = 3: Cemented CASM model
This model require P1 to P9 of ICL = 90 and P1 to P7 of ICL = 91
Cemented CASM model is based on the formulation for cemented soils
proposed by Gens & Nova (1993), in which a new state variable denoted
as ‘bonding’ b is incorporated.
Yield function:
( p ' + pt ) Pc = Po (1 + b )
n ' '
3J 1
f = + ln
M ( p ' + pt ) ln r ( Pc' + pt ) pt' = Po' ( t b )
Where, b is a non-dimensional variable that represents the degree of
' '
bonding. Po is the preconsolidation pressure of the unbonded material. Pc
'
controls the yielding of the bonded soil in isotropic compression and pt is
related to the cohesion and tensile strength of the material; αt is a parameter.
'
Both Pc and pt increase with the magnitude of bonding. The unbonded
behaviour is recovered when b goes to zero.
The function defining the reduction of bonding (b) with increased
degradation and the relationship controlling the evolution of degradation in
response to plastic strains, are:
b = b0 e −( h − h0 )
dh = h1 d vp + h2 d qp
The above expressions ensure that degradation increases monotonically,
independently of the sign of the plastic strains. h1 y h2 are material
parameters (greater than zero) defining the rate of degradation. d v and
p
d qp are the plastic volumetric strain increment and plastic deviatoric strain
increment, respectively.
The three options for the plastic potential used in the ICL = 91 ITYCL = 2
(Unsaturated model) are also available for this model.
Hardening parameter:
Either a volumetric hardening law or a combined volumetric and shear
hardening law can be used for this propose. If a combined hardening is
dP0' 1
= * d p + d qp
−* v
adopted, then: '
P0
which reduces to the usual volumetric hardening law if it set = 0 . is
a new constant introduced to control the relative contribution of the
incremental plastic deviatoric strain ( d q ) to the rate of change of the
p
'
hardening parameter ( P0 ).
Elastic behaviour is the same as defined in ICL = 90; ITYCL = 1.
167
CODES in ICL = 90, 91 (Mechanical data 3) ITYCL = 1, 2 ,3, 4
ROOT_gen.dat
EQUATIONS
ICL = 91 (CASM – Specific); ITYCL = 4: Double hardening soil model
(DHSM)
This model require P1 to P9 of ICL = 90 and P1 to P8 of ICL = 91
The model involves two plastic mechanisms: a plastic volumetric-driven
mechanism with isotropic hardening, by means of the use of the CASM
yield surface (ICL=90), and a plastic shear-driven mechanism that gives
rise to a nonlinear stress-strain relationship of a hyperbolic type, by the use
of a shear yield surface based on the Hardening Soil Model (HSM) (Schanz
et al., 1999).
Yield functions:
- Volumetric yield surface: CASM surface (see ICL = 1; ITYCL = 1)
- Shear yield surface:
1 J 2J
fs = − − p
E50 J Eur
1 −
Ja
with:
Jf ( p '+ c ' cot ' ) g( ) sin '
Ja = = and g ( ) =
Rf Rf sin sin '
cos +
3
J a is the asymptotic value of the shear strength, Rf stands for the relation
between the ultimate deviatoric stress, J f , and the asymptotic stress, a
standard setting is Rf = 0.9. is the hardening parameter of the shear yield
p
P'o
p'
168
E50 is a secant stiffness modulus for primary loading and Eur is a secant
stiffness modulus for elastic unloading and reloading, these modulus are
computed as,
m m
p '+ c 'cot ' p '+ c 'cot '
E50 = E ref
ref and Eur = E ref
ref
p + c 'cot ' p + c 'cot '
50 ur
1 - 3
qa asymptote
qf failure line
E50
Deviatoric stress
Eur
Axial strain 1
Plastic potentials:
A non-associative flow rule is used for the shear yield surface which has
the following form,
d vp = g ( m ) d p
where g ( m ) is a function of mobilized dilatancy angle, m , and
Lode’s angle, , as,
sin m
g( m ) =
sin sin m
cos +
3
The mobilized dilatancy angle, m , is defined as,
sin m − sin cs
sin m =
1 − sin m sin cs
169
cs is the friction angle at the critical state and m is the mobilized
friction angle. Material contracts for small stress ratios m cs , while
dilatancy occurs for high stress ratios m cs . Considering dense
materials contraction is excluded by taking m = 0 for a mobilized friction
angle m cs .
The volumetric surface uses a non-associated flow rule, the plastic potential
is defined in the ICL = 90; ITYCL = 1.
Hardening parameters:
d dp = 2 dJ 2
1/2
2
( ) ( )
+ ( d xp − d zp ) + d yp − d zp + d xy2 + d xz2 + d yz2
2 2 2
d dp = d xp − d yp
3
where, A and Ac are two input parameters. If these parameters are zero
the basic DHSM is recovered.
170
PARAMETERS FOR CASM – GENERAL ICL = 90; ITYCL = 1 (General: required for
ICL = 91, ITYCL = 2, 3, 4)
P1 - Poisson ratio
P2 - Slope of unload/reload compression curve
P3 - Slope of the normal compression curve
P4 r - Spacing ratio
P5 n - Shape parameter
P6 M - Slope of Critical State Line
Friction angle at CS (computed as a function of M). If cs=0,
P7 cs º
the shape of the YS plots as a circle in the deviatoric plane)
P8-P9 - -
P10 Su MPa Undrained shear strength (optional). By default = 0
171
PARAMETERS FOR CASM – SPECIFIC ICL = 91; ITYCL = 3 (Cemented)
P1 b0 - Initial bonding. Evolution of bonding is stored as a history variable
P2 h0 - Degradation threshold
P3 h1 - Degradation rate for compression
P4 h2 - Degradation rate for shear
P5 t - Parameter for tensile strength
P6 - Contribution of the plastic deviatoric strain to hardening parameter
Flow rule indicator:
1: Non-associated: Rowe
P7 Flow_rule -
2: Non-associated: K0 fit. Parameter is required
3: Associated
P8 - Non-associated parameter in case of flow_rule option equal to 2.
172
HISTORY VARIABLES:
The CASM’s family of constitutive models (ICL = 90, 91) use the following history variables.
Output variables can be visualized in the Post-process interface of GID.
Model Hist_var Description Type
ICL = 90 1 P0 (MPa): Evolution of preconsolidation pressure Input/Output
(ITYCL 1) 2 F: Value of the yield function Internal
General
CASM 3 e: Void ratio Internal
model 4 Id_F1: Indicator of plasticity Internal
1 P0 (MPa): Evolution of preconsolidation pressure Input/Output
2 s: Suction Output
ICL = 91 3 e: Void ratio Internal
(ITYCL 2) Pc (MPa): Evolution of preconsolidation
4 Output
Unsaturated pressure due to suction
CASM ps (MPa): Evolution of tensile strength due to
model 5 Output
suction
5 F: Value of the yield function Internal
6 Id_F1: Indicator of plasticity Internal
1 P0 (MPa): Evolution of preconsolidation pressure Input/Output
Pc (MPa): Evolution of preconsolidation
2 Internal
pressure due to bond
ICL = 91 pt (MPa): Evolution of tensile strength due to
3 Output
(ITYCL 3) bond
Cemented 4 b: Evolution of bonding Input/Output
CASM
model 5 h: Evolution of degradation rate Output
6 F: Value of the yield function Internal
7 e: Void ratio Internal
8 Id_F1: Indicator of plasticity Internal
P0 (MPa): Evolution of preconsolidation pressure
1 Input/Output
(volumetric surface)
p : Evolution of plastic shear strain
2 Output
(deviatoric surface)
ICL = 91 3 F1: Value of the volumetric yield function Internal
(ITYCL 4)
Double 4 F2: Value of the shear yield function Internal
hardening 5 c: Evolution of cohesion with plastic strain Internal
CASM 6 : Evolution of friction angle with plastic strain Internal
model
7 e: Void ratio Internal
Id_F1: Indicator of plasticity (volumetric
8 Internal
surface)
9 Id_F2: Indicator of plasticity (deviatoric surface) Internal
173
The input variable (P0) is introduced as initial condition on surfaces/volumes in the conditions
window of GiD. Void ratio (e) is computed internally as a function of porosity.
The evolution of some history variables can be visualized as an output in Post-process GID
interface.
Note: Effective stresses plotted in the Post-process GID interface correspond with Terzaghi's
effective stresses for saturated conditions (ITYCL = 1, 3, 4). For ITYCL = 2 (Unsaturated
CASM model) if the indicator iunsat (P6 of ICL = 91; ITYCL = 2) is equal to 0, net stress are
plotted, if iunsat = 1, Bishop’s effective stresses are plotted. Stress and strain invariants follow
the soil mechanics notation (positive for compression).
_________
174
CODE_BRIGHT. CONSTITUTIVE LAWS
This chapter contains the different models available and the corresponding parameters required
by each model. The following constitutive laws are available:
175
VI.g. EXCAVATION/CONSTRUCTION PROCESS
EXCAVATION/CONSTRUCTION
EQUATIONS Options:
- Active material (default option) → P1 = 0
- Inactive material: material that has not yet been constructed or material
that has been excavated → P1 = -1
- Construction: the material is constructed with its gravity increased
linearly during the interval → P1 = 1
After the construction interval is finished, the constructed material
automatically will be considered active in the next interval → P1 = 0
- Smooth excavation (P1 = 2): the material excavated becomes elastic
and its stress is relaxed smoothly according to the following equation:
𝒏
𝑡 𝑡𝑖𝑚𝑒𝑖
𝑡 − 𝑡𝑖𝑚𝑒𝑖
𝜎 =𝜎 (𝑨 − 𝑩 [ ] )
𝑡𝑖𝑚𝑒𝑓 − 𝑡𝑖𝑚𝑒𝑖
where: timei = interval initial time
timef = interval final time
t = current time
𝜎 𝑡 = stress in time t
𝜎 𝑡𝑖𝑚𝑒𝑖 = stress at the initial time of the interval
A is a user-defined parameter taking values between 0 and 1
B is a user-defined parameter taking values between 0 and 1
n is a user-defined exponent
If A = 1 (default value), then the excavated material is relaxed from its
current stress (recommended). If A < 1, then the excavated material is
relaxed from a lower stress level.
If B = 1 (default value), then the excavated material is relaxed until zero
(usual case). If B < 1, then the excavated material is relaxed until a
stress level higher than zero (useful in some cases, like e.g. installing
support in a 2D model after a given relaxation).
If n = 1 (default value), then the excavated material is relaxed linearly
(recommended), but it could also be relaxed in an accelerated (n > 1) or
decelerated manner (n < 1) during the interval.
After the excavation interval is finished, the excavated material
automatically will be considered inactive in the next interval, and thus
will not be considered in the calculation process.
Finally, if P7 = 1, then volumetric deformation effects on hydraulics are
neglected. As a consequence, the numerical performance of the model is
better, especially during excavation.
176
PARAMETERS FOR ITYCL = 1
-1: material is inactive.
0: material is active (default option).
1: material is constructed (during the current time interval
P1 Option with gravity increasing linearly with time). After construction
interval, P1 is set to 0 internally.
2: material is excavated smoothly (during the current time
interval). After excavation interval, P1 is set to -1 internally.
IMATEQ: Material index (integer) of the material
(previously defined) that has the same properties as the
current one. Normally, some construction or excavation
P2 Properties layers may have the same properties.
P2 = 0, properties should be given for the current material.
P2 = IMATEQ, properties from the material
IMAT = IMATEQ will be copied for this material.
P3 Smoothing exponent n May be used when P1 = 2. Default value = 1
P4 Smoothing parameter A May be used when P1 = 2. Default value = 1
P5 Smoothing parameter B May be used when P1 = 2. Default value = 1
If P7=1, then volumetric deformation effects on hydraulics
P7 M→H uncoupled
are neglected.
By default (P1 = 0), the material is active and all the parameters read are used by the
programme. When P1 = -1, elements having the material number are not assembled.
As an example, Figure VIg.1 show the two main steps followed in an excavation problem
(tunnel). In the first interval time is necessary to impose the initial conditions before excavation.
In this time interval, the material is active (P1 = 0). In the second interval time, the relaxation
of stresses occurs due to excavation of the material, parameter P1 is equal to -1 (or alternatively
P1=2 using the smooth excavation feature).
During the excavation interval, it is necessary to impose the ambient conditions in the tunnel,
namely, pore water pressure in equilibrium with atmospheric pressure, pore air phase in
equilibrium with the relative humidity and temperature equilibrium. When setting these
ambient conditions during excavation, it is recommended to use a ramp and/or a small value of
the corresponding gamma parameter, to avoid numerical issues.
177
Figure VIg.1. Illustration of the two main steps followed during excavation problem
178
VI.h. THM DISCONTINUITIES
179
Conditions Equation for plastic parameters
180
CODE_BRIGHT. REFERENCES
181
Spycher, N, Pruess, K & Ennis-king, J (2003). CO2-H2O Mixtures in the Geological
Sequestration of CO2. I. Assessment and calculation of mutual solubilities from 12 to
100°C and up to 600 bar. Geochim. Cosmochim. Acta, 67:3015-3031.
Voss, C.I. (1984): SUTRA Users's Guide, U.S. Geological Survey, Water Resources
investigations, Report 48-4369.
Van der Vorst, Henk (1990), Iterative methods for the solution of large systems of equations
on super-computers, Advances in Water Resources, Vol. 13, No. 3, 137-146.
Viscous/creep models
Olivella, S.; A. Gens, J. Carrera, and E. E. Alonso (1993): Behaviour of Porous Salt Aggregates.
Constitutive and Field Equations for a Coupled Deformation, Brine, Gas and Heat
Transport Model. The Mechanical Behaviour of Salt III, Trans Tech Publications, pp.
269:283. ISBN 0-87849-100-7.
Olivella, S., A. Gens, J. Carrera, E. E. Alonso (1996) Analysis of Creep Deformation of
Galleries Backfilled with Porous Salt Aggregates. The Mechanical Behaviour of Salt
IV, Trans Tech Publications, 379:386.
182
Thermoelastoplastic model for unsaturated soils
Hueckel, T. & Borsetto, M. 1990. Thermoplasticity of saturated soils and shales: constitutive
equations. Jnl. Geot. Eng. ASCE, 116: 1765-1777.
Hueckel,T.& Baldi, G. 1990.Thermoplasticity of saturated clays: experimental constitutive
study. Jnl. Geot. Eng.ASCE,116:1778-1796.
Hueckel,T. & Pellegrini,R.(1991). Thermo-plastic modelling of untrained failure of saturated
clay due to heating. Soils and Found., 3:1-16.
García Molina. A., Gens, Añ & Olivella, O. 1996. Un modelo constitutivo para suelos no
saturados sometidos a variaciones térmicas: formulación, implementació y aplicaciones. In
Doblaré, M., Correas, J.M., Alarcón E., Gavete, L. & Pastor, M. (Eds): Proc. III Congreso
de Métodos Numéricoas en Ingeniería, pp.502-512.
Gens, A. 1995. Constitutive laws. In Gens, A., Jouanna, P. & Schrefler, B. (Eds): Modern issues
in non-saturated soils, Springer-Verlag.
183
CASM’s family models
Alonso, E.E., Gens, A., Josa, A., 1990. A constitutive model for partially saturated soils.
Géotechnique 40(3):405-430.
Gens, A. & Nova, R. (1993). Conceptual bases for a constitutive model for bonded soils and
weak rocks. In Geotechnical Engineering of Hard Soils-Soft Rocks, Athens, Greece,
Anagnostopoulos et al. (eds.) Rotterdam: Balkema, 577-583.
González, N.A. (2011). Development of a family of constitutive models for Getoechnical
applications. PhD Thesis. UPC. Barcelona.
Schanz, T., Vermeer, P.A. & Bonnier, P.G. (1999). Formulation and verification of the
Hardening-Soil Model. Beyond 2000 in Computational Geotechnics, pages 281–290.
Balkema, Rotterdam.
Sheng, D., Sloan S.W., & Yu, H.S. (2000). Aspects of finite element implementation of critical
state models. Computational Mechanics 26, 185-196.
Yu, H.S. (1988). CASM: A unified state parameter model for clay and sand. International
Journal of Numerical and Analytical Methods in Geomechanics, 22, 621-653.
Other
Chow, V. T., Maidment, D. R., and Mays, L. W. (1988). Applied Hydrology, McGraw-Hill
Gens, A. , A.J. Garcia-Molina, S. Olivella, E. E. Alonso, F. Huertas. (1998) Analysis of Full
Scale In-situ Heating Test Simulating Repository Conditions. Int. Journal for Numerical and
Analitical Methods in Geomechanics. 22:515-548.
___________________________________
184
APPENDIX II.A. ATMOSPHERIC SUBROUTINES DESCRIPTION
Subroutine atmosferic_boundary_condition
General description
This subroutine is the core of the atmospheric boundary condition module. It computes
atmospheric boundary conditions, including evaporation, rain, radiation, advective and
convective energy fluxes. Those are expressed in terms of fluxes of water, air and energy as
functions of the state variables (liquid pressure, gas pressure and temperature of the soil).
Moreover, the subroutine calculates the derivatives of these three fluxes with respect to the state
variables. Positive values always mean entering the system. Negative values always mean
leaving the system e.g. evaporation is negative.
It first calls get_atm_data to read atmospheric data which is stored in a matrix named
atmosferic9 (see subroutine get_atm_data for more information on the format of this
file). Some general parameters (like for instance dry and wet albedos) are read from FLUX, an
argument passed to the main subroutine (which corresponds to CardGroup 20 of the problem
data file root_gen.dat).
It then computes water flux (through gas and liquid phases, due to evaporation and rain), air
flux and energy flux (radiation, advective and convective energy fluxes). Optionally, it can
write these fluxes to files depending upon the presence of surveyed nodes or not. The general
equations for calculating these fluxes are now presented.
Fluxes of mass
- Flux of gas: The flux of the gas phase qg is given by the following equation, in which Pga is
the atmospheric pressure and g is a leakage coefficient:
qg = g (Pg − Pga ) (1)
- Flux of air: For the flux of air ja only the advective part is considered:
(
ja = ga qg = 1 − gw qg ) (2)
9
Matrix atmosferic is stored in bb(n74).
185
calculated from the state variables at the node of the boundary condition. Hence, a constant
profile for v is assumed between this node and height z0.
The advective flux of vapour by the gas phase jgw is given by:
jgw = gw qg if Pg Pga
jw = va (4)
qg if Pg Pga
g ga
where ρga is the atmospheric gas density and qg is the flux of the gas phase given by equation
(1).
Surface runoff jsr (which corresponds to the flow rate of water through the liquid phase jlw) is
written as:
j sr = w (Pl − Pga ) if Pl Pga
(5)
j sr = 0 if Pl Pga
where γw is another leakage coefficient. It must be said that ponding is not explicitly simulated,
that is, CODE_BRIGHT does not have a special element representing storage of water in a
pond. When one assumes no ponding, a very high value for γw can be used (but not to high to
avoid numerical instabilities). Then, if the soil is saturated (Pl > Pga) all rainfall that cannot
infiltrate will runoff.
The flux of water jw is the sum of rainfall P, evaporation E and advective flux of vapour gas
phase jgw and of surface runoff jsr:
j w = k rain P + k evap E + j gw + j sr (6)
where coefficients krain and kevap are input data passed through FLUX and may be used to disable
their respective flux.
Flux of energy
- Radiation
Several options are available to evaluate radiation –using ISUN which is passed to the
subroutine by FLUX(19)–: 0 for horizontal plane, 1 for vertical cylinder, 2 for measured sun
radiation (only short wave radiation is considered), 3 for measured net radiation (short + long
wavelength radiations), 4 for measured atmospheric and solar radiation and 5 for measured sun
radiation (long and short wave radiations are considered). SUN subroutine is called only10 if
ISUN is lower or equal to 1.
10
For other cases (ISUN = 2, 3, 4 or 5), RAD_DIR is set to values read from root_atm.dat by
186
The radiation Rn can be given as a measured data or it can be calculated, depending on the value
of ISUN:
𝑅𝑛 = (1 − 𝐴𝑙 )𝑅𝑠 + 𝑅𝑎 − 𝜀𝜎𝑇 4 If ISUN ≤ 1
𝑅𝑛 = 𝑅𝑚 If ISUN = 2 or 3
4 (7)
𝑅𝑛 = (1 − 𝐴𝑙 )𝑅𝑚 + 𝑅𝑙 − 𝜀𝜎𝑇 If ISUN = 4
{ 𝑅𝑛 = (1 − 𝐴𝑙 )𝑅𝑚 + 𝑅𝑎 − 𝜀𝜎𝑇 4 If ISUN = 5
where Rs is the direct solar short wave radiation, Ra is the long wave atmospheric radiation, Al
is the albedo, ε is the atmospheric emissivity, σ is the Stefan-Boltzman constant (5.67×10-8 J s-
1 -2 -4
m K ) Rm represents the values of measured radiation (net or solar according to the radiation
type) and Rl represents the values of measured atmosferic radiation (log wave). Rm and Rl are
read from file root_atm.dat by subroutine get_atm_data.
Both the albedo and emissivity are considered function of the liquid saturation Sl:
(
Al = Ad + ( Ad − Aw ) Sl2 − 2Sl ) (8)
The calculation of the solar radiation Rs depends on the value of ISUN. Only the case of a
horizontal surface (ISUN=0) will be presented here. Rs for horizontal surface is simplified by:
𝑅𝑠,ℎ𝑜𝑟 = 𝑆0 𝑓𝑒 𝜏𝑎 (cos 𝛿 cos 𝜆 cos 𝜃 + sin 𝛿 sin 𝜆) 𝑖𝑓 𝑆𝑢𝑝 > 0
{ (11)
𝑅𝑠,ℎ𝑜𝑟 = 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
Where, a is the atmospheric transmissivity, the latitude, S0 the sun costant (=1367 J m-2 S-1),
fe the correction factor related to the eccentricity of the earth’s orbit, the earth declination and
the solar angle.
fe can be calculated from (Allen et all., 1998) as:
𝑡−𝑡𝑝ℎ
𝑓𝑒 = 1 + 0.033 cos ( ) (12)
𝑑𝑎
where, da is the year duration (= 365.241 days = 3.15568×107 s), tph is the time at perihelion
(January 3d)
The sun declination (δ) is the angle between the direction of the sun and the equator. It can be
calculated by a yearly sinusoidal function:
𝑡−𝑡𝑠
𝛿 = 𝛿𝑚𝑎𝑥 sin (2𝜋 ) (13)
𝑑𝑎
where max is the maximum sun declination (= 0.4119 rad = 23.26°), ts is time at September
equinox (September 21st for the northern hemisphere).
subroutine get_atm_data.
187
The solar angle (θ) describes the circular movement of the sun during a day. It equals 0, when
the sun is at its zenith and can be estimated as:
𝑡−𝑡𝑚 −𝑡𝑐
𝜃= 2𝜋 (14)
𝑑𝑑
where, tm is the time at noon for an arbitrary day, dd is the day duration (= 86400 s) and tc is the
equation of time, used to correct the variations on the hour of zenith during the year, and defined
as:
𝛿 𝑑 𝑡−𝑡 𝑒𝑑 𝑡−𝑡𝑝ℎ
𝑡𝑐 = 𝑚𝑎𝑥 𝑑 sin ( 𝑠 4𝜋) − 𝑑 sin ( 2𝜋) (15)
8𝜋 𝑑𝑎 𝜋 𝑑𝑎
where, Rs,hor is the solar radiation on a horizontal surface (measured or calculated), fdif the
fraction of diffusive solar radiation over the total solar radiation, defined as:
1
𝑓𝑑𝑖𝑓 = (17)
1+exp(8.6𝜏𝑎 −5)
Vectors P and S, are unitary length vectors that define the position of Sun and Zenith. P is
orthogonal to the earth surface pointing outwars and S points to the Sun, they are defined as
follows:
𝑃𝑒𝑎𝑠𝑡 cos 𝛼 sin 𝛽
𝑃 = (𝑃𝑛𝑜𝑟𝑡ℎ ) = (− sin 𝛼 sin 𝛽 ) (18)
𝑃𝑢𝑝 cos 𝛽
𝑆𝑒𝑎𝑠𝑡 cos 𝛿 sin 𝜃
𝑆 = (𝑆𝑛𝑜𝑟𝑡ℎ ) = (sin 𝛿 cos 𝜆 − cos 𝜃 cos 𝛿 sin 𝜆) (19)
𝑆𝑢𝑝 cos 𝛿 cos 𝜆 cos 𝜃 + sin 𝛿 sin 𝜆
where, and are the surface strike and dip, respectively The product of both vectors (PTS)
equals the cosine of the angle between them. For horizontal surface ( =0) the vector
PT=(0,0,1) and PTS = Sup. At night Sup < 0, at daylight Sup > 0 and during the sunrise and
sunset Sup = 0.
188
- Advective energy flux
The sensible heat flux Hs is, like evaporation, calculated through an aerodynamic diffusion
relation:
k 2 va
Hs = 2
ga Ca (Ta − T ) (20)
z0
ln
za
where Ca is the specific heat of the gas.
Results output
If values are surveyed at a given node, the following variables are written to files
200+nodout: t+t, P, E, jwg, jwl, jw, ja, Rn, Hs, Hc, je.
Subroutine get_atm_data
This subroutine computes atmospheric data at time t+dt either by simulation or by interpolation
of input data. In both cases, returned values are summarized in Table II.2.8. This table also
mentions implemented names for these variables and columns concerned in the matrix
atmosferic, where all data needed for simulations or interpolations are stored.
Two options can be used to compute atmospheric data: interpolation and simulation.
Interpolation uses a simple linear interpolation of the specified parameters versus time.
Simulation uses the following sinusoidal expression:
189
t − ta t − td
x(t ) = xm + xa sin 2 + xd sin 2 (23)
da dd
where x is the value of the parameter, xm is its mean value, aa is its annual amplitude, ad its daily
amplitude, ta is the start of the annual variation, td is the start of the daily variation, da is the
duration of a year and dd is the duration of a day (= 86400 s).
Table II.2.8: Atmospheric data taken into account in the boundary conditions module.
Atmospheric variable Unit Implemented name Columns used
Atmospheric temperature, Ta °C TEMP_ATM 1–2
Atmospheric gas pressure, Pga MPa PG_ATM 3–4
Relative humidity, Hr – RELHUM 5–6
Solar radiation, Rn J/m²/s RAD_DIR 7–8
Insolation fractions, In – FRACINS 9 – 10
Rain, P kg/m²/s RAIN 11 – 12
Wind velocity, va m/s WIND 13 – 14
Matrix atmosferic is read from file root_atm.dat (or root_atm.inp) which index is iin3
=103. This file is opened by read_assign_files subroutine (read_grid.f) and read by
read_atm_bc (read_general.f) subroutine which assigns atmosferic its values and is
called by main_initialize (code_bright_main.f).
Note that atmosferic dimensions also are read from iin3 and that this instruction is present
in read_assign_dim_opt_2 (code_bright_main.f).
Data simulation
If a simulation is performed, a sinus shape function with annual and daily variations is used.
The daily variation is only taken into account if the time increment is lower than one day. Input
data (for each variable) needed for each variable is (Unit represents the unit given in Table
II.2.8):
• annual mean (Unit), xm,
• annual amplitude (Unit), xa,
• annual gap (s), ta,
• daily amplitude (Unit), xd,
• daily gap (s), td.
For a given variable, the simulated value a time t+dt is obtained according to the following
relation11:
11
This expression cancels out daily variations if the time increment dt is higher than dd,
duration of one day.
190
1 2 (t + 0.5 dt − t a ) dt
x(t + dt ) = xm + xa d a sin sin
dt da da
(24)
2 (t + 0.5 dt − t d ) dt
+ xd d d sin sin
dd d d
Figure II.2.6 and Figure II.2.7 show the simulation of the annual variation of an atmospheric
variable (case of temperature).
Data interpolation
Interpolation concerns all available data for discrete times ti satisfying t < ti+1 and t + dt > ti
until condition t + dt < ti+1 is satisfied. If code time t is lower (resp. bigger) than lowest (resp.
highest) discrete time, the subroutine is stopped.
Annual amplitude
20
Temperature (°C)
Annual gap
15
Annual mean
10
0
0 50 100 150 200 250 300 350 400
time (days)
Figure II.2.6: Simulation of annual variation of an atmospheric variable (case of temperature).
191
Annual variation with and without daily variations
29
with
28
without
27
26
25
Temperature (°C)
24
23
22
21
20
19
18
170 175 180 185 190 195 200
time (days)
Figure II.2.7: Simulation of annual variation of an atmospheric variable (case of temperature;
close view).
Subroutine SUN
This routine calculates the direct solar radiation. Calculation type (ISUN) is passed through
FLUX vector in atmosferic_boundary_condition. The different values for ISUN
that imply a call to SUN subroutine are:
• 0 - horizontal plane,
• 1 - vertical cylinder.
However, ISUN=0 is the unique option proposed in the manual of Retraso.
This calculation takes into account sun distance and declination (function of date from 1st
January), solar day duration (function of latitude and declination). All this data together with
insolation fraction allow computing daily radiation (equations where presented in section 0).
If time increment is bigger than a day, direct radiation directly uses daily radiation. Otherwise,
time with respect to night is taken into account and the direct radiation is calculated.
Figure II.2.8 shows the simulated daily radiation versus time in both cases.
Case ISUN=1
ds
R A = S 0 rs 1 + 1 − (cos cos + sin sin )
2
(25)
2
192
30
25
Daily Radiation (MJ/m²)
20
15
10
0
0 50 100 150 200 250 300 350 400
Time (days)
Reference
Chow, V. T., Maidment, D. R., and Mays, L. W. (1988). Applied Hydrology, McGraw-Hill.
193
APPENDIX III.A. GENERAL INFORMATION FILE: ROOT_GEN.DAT
Card 1. Problem
Variables: HEAD
Format: (A40): Fixed format
-999: Free format
194
ISOLVE: Solve the system of equations according to different algorithms.
ISOLVE = 3: LU decomposition + backsubstitution (NAG
subroutines, fonts available). Recommended option for direct solution.
ISOLVE = 5: Sparse storage + CGS (conjugate gradients squared).
195
IOPTXWG: = 1, water vapour is NOT permitted even if the problem is non-isothermal and
unsaturated. If IOPTXWG = 0, water vapour is permitted and its concentration
computed through psychrometric law, vapour pressure and gases law.
Using IOPTXWG = 1 (i.e. vapour concentration is not computed) is convenient
when the problem is nonisothermal but the whole medium will remain saturated
during the entire simulation.
IOPTXAL: = 1, air dissolved is NOT permitted even if the problem is two phase (liquid and
gas) flow. If IOPTXAL = 0, air dissolved is permitted and its concentration
computed through Henry's law.
IOPTPC: index to modify some aspects related to capillary pressure, saturation and
relative permeability.
IOPTPC = 0, Sl-element is computed as a function of the capillary pressure Pg-
Pl-element. (Consistent approximation, not recommended).
IOPTPC = -1, Sl -element is computed by averaging Sl -nodal values. krl-element
and krg-element are computed as a function of Sl-element (recommended option).
IOPTPC = -2, krl-element and krg-element are computed by averaging nodal
values of relative permeabilites.
IOPTPC = -3, krl-element and krg-element are computed by averaging nodal
values. Derivatives of relative permeabilities are also averaged.
IOPTPC = -4, krl-element and krg-element are set equal to the maximum nodal
value.
IOPTPC = 1: capillary pressure is used (Pc = Pg - Pl) as state variable instead of
Pl. If IOPTPC = 1 then it is necessary to use IOPTXAL = 1 and IOPTXWG = 1,
and IOPTDISPL = 0 and IOPTTEMP = 0. That is, IOPTPC = 1 is only available
for two phase immiscible fluids.
IOPTHYS: = 1: option for hysteretic behaviour of retention curve (currently not available).
IUPDC: = 1: updated lagrangian method, i.e., co-ordinates are modified after each time
increment is solved. If deformations are very large, some elements may distort.
If distortion is very large the volume of an element may become negative and
the execution would terminate immediately.
Remarks: vapour and air dissolved are considered automatically depending on options in Card
5. However, if for any reason they want not to be considered, then the auxiliary indexes
IOPTXWG = 1 or IOPTXAL = 1 can be used.
Card 9. Void.
This line should be left blank.
197
written only every 20 time increments, results at intermediate points
will be lost, except the values at few nodes or elements that may be
requested in the ROOT_GRI.DAT file (see below).
ITERMAX: Maximum number of iterations per time increment
IOWCONTOURS: Option for writing results in files GID post processor.
IOWCONTOURS = 2 then files of nodal values for GiD are
generated. These are ROOT.flavia.dat and ROOT.flavia.res.
IOWCONTOURS = 5 or 6 then files for new GiD output (nodal
variables at nodes, Gauss point variables at Gauss points without
smoothing) are generated. These are ROOT.post.msh and
ROOT.post.res. If IOWCONTOURS = 5, only one Gauss point of
each element is printed (average value). IF IOWCONTOURS = 6, all
Gauss points are printed for all elements.
ITERMAXS: Maximum number of iterations for the solver, i.e. for Conjugate
Gradients Squared solution (this variable is only required for ISOLVE
= 5).
198
RELATIVE ERROR CONTROL
0.5
DTOL
First Order Approach 0.1 f = 0.8 pdfmax
error
ITIME = 6 DTOL = 0.01
ITIME = 7 DTOL = 0.001
ITIME = 8 DTOL = 0.0001
ITIME = 9 DTOL = 0.00001
In the upper Table, f is the factor for time step reduction and pdfmax
is set to 1.4.
IMBACKUP: 0 No Backup.
1 Backup only for the last time step.
2 Backup for all time steps.
IWRALL: 1 Write all information for output.
0 Write partial information for output.
IPLOYFILES: 1 Write in separated output files (select variables in output
window). Two files are generated by each variable selected:
ROOT_variable.post.msh and ROOT_variable.post.res
0 If IWRALL = 1
Each computed unknown requires a line with its associated parameters. In this way each
equation has different tolerances. If IOPTDISPL = 1, only one line with DELMXU, FACU,
DELFMX, DUMX should be read regardless whether the problem is one, two or three
dimensional.
199
displacement variation during the time interval is lower than FACU,
convergence has been achieved.
These two conditions (DELMXU and FACU should be satisfied
simultaneously. If one of them is not desired, a large value of DELMXU or
FACU can be used.
DELFMX: Maximum nodal force balance error tolerance (MN). If the residual of forces
in all nodes is lower than DELFMX, convergence has been achieved.
DUMX: Maximum displacement correction per iteration (m) (time increment is reduced
if necessary). If correction of displacements (displacement difference between
two iterations) is greater than DUMX then, time increment will be reduced until
this condition is satisfied. For lower values of DUMX the time step used for
the calculations will be small. For larger values of DUMX time step may be
larger but errors will increase and convergence problems may appear.
DELMXPL: Maximum (absolute) liquid pressure error tolerance (Mpa)
FACPL: Maximum (relative) liquid pressure error tolerance (-)
DELQWMX: Maximum nodal water mass balance error tolerance (kg/s)
DPLMX: Maximum liquid pressure correction per iteration (MPa) (time increment is
reduced if necessary)
DELMXPG: Maximum (absolute) gas pressure error tolerance (MPa)
FACPG: Maximum (relative) gas pressure error tolerance (-)
DELQAMX: Maximum nodal air mass balance error tolerance (kg/s)
DPGMX: Maximum gas pressure correction per iteration (MPa) (time increment is
reduced if necessary).
DELMXT: Maximum (absolute) temperature error tolerance (oC)
FACT: Maximum (relative) temperature error tolerance (-)
DELEMX: Maximum nodal energy balance error tolerance (J/s)
DTMX: Maximum temperature correction per iteration (oC) (time increment is reduced
if necessary).
DELMXI: Maximum (absolute) water in inclusion mass fraction error tolerance (-)
FACI: Maximum (relative) water in inclusion mass fraction error tolerance (-)
DELIMX: Maximum nodal inclusions balance error tolerance (kg/s)
DIMX: Maximum mass fraction in solid correction per iteration (-) (time increment is
reduced if necessary)
Relative error is defined as the ratio between variable correction (x) and variable increment
(x).
Convergence criteria are as follows (only convergence on the equation of energy balance is
illustrated, but the same applies for the other equations):
If (T < DELMXT + FACT.T) for all nodes, then convergence has been achieved (condition
A). T is the value of the variable temperature.
If (qh < DELEMX) for all nodes (qh represents here the energy balance or residual in a node),
then convergence has been achieved (condition B).
200
It should be mentioned that convergence in terms of T and convergence in terms of qh should
be reached simultaneously because the Newton - Raphson is used. For this reason the program
stops the iteration process and looks for another time step when one of the two conditions (A
or B) is achieved. For instance if the user decides that convergence should be imposed because
the residual has reached a tolerance then, DELMXT and FACT should be set to very low values.
When more than one degree of freedom is solved per node and the last option is used,
convergence in terms of variable or residual should be achieved by all the variables
simultaneously. In other words, it is not possible that the mechanical problem converges by
residual and the thermal converges by the variable.
If (T > DTMX), time increment will be reduced. This parameter controls the accuracy of the
solution in terms of how large can be the time increments. A low value of DTMX will force to
small time increments when large variations of temperature take place.
Usually, it is difficult to guess the values of the tolerances that should be used in a problem.
The convergence criterion in terms of absolute terms is linked with the unknowns, and hence it
also depends on the range of variation of the variable. In this case the user decides the degree
of accuracy that is needed for each variable. The tolerances in relative terms are usually larger
than the values for absolute.
Finally, the tolerance values for residual convergence are more difficult to guess because 'a
priori' it is difficult to know the values of forces or flows equilibrating at nodes. Again the user
should reach a compromise between a very strict value and a less severe condition.
Convergence parameters for Conjugate Gradients Squared method of solution (Omit this
CARD if ISOLVE is not equal to 5).
Variables: DXS,DRS,DRSREL
Format: (5F10.0). It is not required if free format is used
This Card is only required for ISOLVE=5.
DXS: Maximum abs. correction for solver (usually a very low value)
DRS: Maximum abs. residual for solver (< min(DELFMX, DELQWMX, DELQAMX,
DTMX, DELIMX)) assuming all them > 0
DRSREL: Maximum relative residual for solver. The solver residual is normalised with the
RHS of the system of equations to be solved.
This group of Cards ends with ' -1' (forma I5).
The following group of Cards, beginning with time interval definition can be repeated several
times to define intervals with different material properties and/or boundary conditions. For the
first interval all information should be read and for the subsequent intervals only modifications
are required.
201
Card 13. Interval time variables
Variables: TIMEI, DTIME, TIME1, DTIMEC, TIMEF, FACTTIME
Format: (5F10.0), It is not required if free format is used
TIMEI: Initial time. If TIMEI is not equal to final time of the last increment (TIME),
then it is assumed TIMEI = TIME. Exception is made if TIMEI = 0.0, in which
case, 0.0 is kept as a new origin of times.
DTIME: Initial time increment for each time interval. If DTIME = 0, last DTIME value
is used or, if it is the first time increment of the calculation, a small value is
considered.
TIME1: Time from which an upper bound is prescribed for the time increment.
If TIME1 = 0, then TIME1 is considered equal to TIMEI (the upper bound is
prescribed during all the time step).
DTIMEC: Upper bound value for the time increment used from TIME1 to TIMEF.
If found to be equal to zero, no maximum time increment value is prescribed.
TIMEF: Final time.
FACTTIME: Factor for converting seconds (input time units) into another output time units.
(Example: FACTTIME = 86400. for output in days).
Time increments during time step [TIMEI1, TIMEF] are adapted by the code according to flag
control ITIME (see Card 10). This may cause inconveniences if the user desires the results at
precisely fixed times (for instance: 6 months, 1 year, 2 year, etc.). However, this could be solved
using a negative ‘writing frequency’ (see section II.2.1).
Moreover, if something changes between two runs (e.g. boundary conditions) and any time
increment should be modified, the value of the times in which results are output will not be
identical between the two runs. In this case, it would be difficult to make a comparison of the
two analyses because we would not have the same times for output.
A first way to overcome this inconvenience is to prescribe an upper bound for the time
increment, reflected in the variable DTIMEC. If convergence requires time increments smaller
than DTIMEC, time increment is reduced. But, if convergence is easy and the current time
increment becomes higher than DTIMEC, it is fixed to DTIMEC. Variable TIME1 allows for
setting an intermediate time between TIMEI and TIMEF from which the upper bound for the
increment becomes active, as represented below:
Another way to set fixed times for output results is to use a sequence of Cards number 13
separated by two (only flow or only mechanical problem) or three (flow and mechanical
problem) lines with '-1' (format I5) indicating that nothing changes in the new time interval,
except the time discretization. In this way, results will be output for all TIMEF's, and if the user
is only interested in these fixed times a very large value may be used for INTER (see Card 10)
to avoid output at other times.
202
Example:
-1 indicates no change in material properties
-1 indicates no change in mechanical boundary conditions
-1 indicates no change in flow boundary conditions
350000. 0.0 0.0 10000. 360000. 86400.
-1 indicates no change in material properties
-1 indicates no change in mechanical boundary conditions
-1 indicates no change in flow boundary conditions
360000. 0.0 0.0 10000. 370000. 86400.
-1 indicates no change in material properties
-1 indicates no change in mechanical boundary conditions
-1 indicates no change in flow boundary conditions
In this case for the times 350000, 360000 and 370000 the results would be written. Time step
in this case would be lesser or equal than 10000.
It is is possible to define at the beginning of the calculation a step for equilibration of the initial
stress state. This is done by defining a time step starting from a negative value (TIMEI <0) and
ending at 0 (TIMEF = 0). During this step, gravity is applied as a ramp. Greater is time step
(TIMEF – TIMEMAX), smoother is the gravity ramp.
203
CardGroup 16. Parameters constitutive law
Variables: TIT, PARCL(1,ICL,IMAT)=P1, TIT, PARCL(6,ICL,IMAT)=P6
TIT, PARCL(2,ICL,IMAT)=P2, TIT, PARCL(7,ICL,IMAT)=P7
TIT, PARCL(3,ICL,IMAT)=P3, TIT, PARCL(8,ICL,IMAT)=P8
TIT, PARCL(4,ICL,IMAT)=P4, TIT, PARCL(9,ICL,IMAT)=P9
TIT, PARCL(5,ICL,IMAT)=P5, TIT, PARCL(10,ICL,IMAT)=P10
Format: (A20, F10.0, A20, F10.0) . It is not required if free format is used
TIT: text to identify (by the user) the parameter (ex: Young
modulus (E)), this text will be reproduced on output only
for user reference but will not be used by the program
PARCL(MNP,NCL,NUMM parameters of constitutive laws (MNP=10, NCL is the
AT): maximum number of existing constitutive laws)
204
(Omit CardGroup 18 if IOPTDISPL=0)
TIT: title for each value
FORDISP(NPFD,NFDT array containing prescribed forces or prescribed
YPE): displacements. NPFD=2*(NDIM*(NDIM+2)+1). This is read
by means of two columns.
TIT for FD1 Value for FD1 TIT for FD$ Value for FD$
TIT for FD2 Value for FD2 TIT for FD$ Value for FD$
TIT for FD3 Value for FD3 TIT for FD$ Value for FD$
TIT for FD4 Value for FD4 TIT for FD$ Value for FD$
... etc. according to NPFD=2*(NDIM*(NDIM+2)+1).
A20 F10.0 A20 F10.0
FD1: x direction force applied fxo FD17 fxo obtained as ramp loading
during TIMEI and TIMEF
FD2 y direction force applied fyo FD18 fyo obtained as ramp loading
during TIMEI and TIMEF
FD3 z direction force applied fzo FD19 fzo obtained as ramp loading
during TIMEI and TIMEF
FD4 displacement rate, first direction u1o FD20
o
FD5 displacement rate, second direction u2 FD21
FD6 displacement rate, third direction u3o FD22
FD7 cos(1), first direction FD23
FD8 cos(1), first direction FD24
FD9 cos(1), first direction FD25
FD10 cos(2), second direction FD26
FD11 cos(2), second direction FD27
FD12 cos(2), second direction FD28
FD13 cos(3), third direction FD29
FD14 cos(3), third direction FD30
FD15 cos(3), third direction FD31
FD16 FD32 index
For a one dimensional problem the general boundary condition is applied by means a force
computed as:
f x = f xo + cos( 1 )(u10 − u x )t
205
where u1 is the computed displacement along the first direction. Obviously, for a one-
dimensional problem cos1 can only be equal to zero or one.
For a two dimensional problem the general boundary condition is applied by means a force
computed as:
f x = f xo + cos( 1 )(u10 − u1 )t + cos( 2 )(u 20 − u 2 )t
f y = f yo + cos( 1 )(u10 − u1 )t + cos( 2 )(u 20 − u 2 )t
where:
u1 = u x cos( 1 ) + u y cos(1 )
u 2 = u x cos( 2 ) + u y cos( 2 )
A very large value of can be used to impose a fixed displacement rate. If is insufficiently
large, the prescription of the displacement will be inaccurate. On the contrary, extremely large
values can cause matrix ill conditioning. Each specific problem requires an adjusted value.
If index is equal to 0, the values of forces calculated above are directly incorporated at the nodal
force balance. If index is equal to 1 then, the forces are considered stresses on the boundary,
and therefore the forces to be applied at nodes are internally obtained by the product with the
lateral areas of elements.
For three dimensional problems, for instance, it is possible to prescribe displacement rate for
three different directions, without any other restriction. In this way, any kind of displacement
boundary condition (ex: displacement zero along a direction 45 degrees with respect to the
vertical, etc) can be imposed. For a constant force applied on the boundary, the three
components along x,y,z axes should be given.
This is a loop for IF=1, NFDTYPE. For each IF, I=1, NPFD. This variable is (NPFD=5
NDIM+1) the number of parameters for mechanical boundary condition.
The last Card of this group must be always ' -1' (format I5) regardless of the number of types
read.
This group of Cards (Card 17 and CardGroup 18) (mechanical boundary conditions) only
exists if the mechanical problem is solved. For each time interval, only the types that change
need to be read.
206
CardGroup 20. Flux problem boundary condition
Variables: TIT, FLUX(1,IF), TIT, FLUX(21,IF),
TIT, FLUX(2,IF), TIT, FLUX(22,IF),
TIT, FLUX(3,IF), TIT, FLUX(23,IF),
TIT, FLUX(4,IF), TIT, FLUX(24,IF),
...
TIT, FLUX(20,IF), TIT, FLUX(40,IF),
Format: (A20, F10.0, A20, F10.0). It is not required if free format is used
(Omit CardGroup 20 if IOPTPL + IOPTPG + IOPTTEMP =0)
TIT: title for each value (ex: liquid pressure)
FLUX(20,IF): array containing parameters for boundary conditions
TIT for FL1 Value for FL1 TIT for FL1 Value for FL1
TIT for FL2 Value for FL2 TIT for FL2 Value for FL2
... ...
TIT for FL20 Value for FL20 TIT for FL20 Value for FL20
A20 F10.0 A20 F10.0
FL1 gw prescribed mass fraction (kg/kg) FL21
FL2 jg prescribed gas flow rate (units in Table II.2.1) FL22 increment of jg during time
step (units in Table II.2.1)
FL3 Pg prescribed gas pressure (MPa) FL23 increment of Pg during
time step (MPa)
FL4 g (units in Table II.2.1) FL24
FL5 g (units in Table II.2.1) FL25
FL6 g prescribed gas density (kg/m3) FL26
FL7 l w prescribed mass fraction of solute (kg/kg) FL27
FL8 l prescribed mass fraction of air (kg/kg)
a FL28
FL9 jl prescribed liquid flow rate (units in Table II.2.1) FL29 increment of jl during time
step (units in Table II.2.1)
FL10 Pl prescribed liquid pressure (MPa) FL30 increment of Pl during
time step (MPa)
FL11 l (see comments for negative value; units in Table FL31
II.2.1)
FL12 l (units in Table II.2.1) FL32
FL13 l prescribed liquid density (kg/m3) FL33
FL14 je prescribed heat flow rate (units in Table II.2.1) FL34 increment of je during time
step (units in Table II.2.1)
FL15 T prescribed temperature (C) FL35 increment of T during time
step (C)
207
FL16 e (units in Table II.2.1) FL36
FL17 e (positive values): FL37
[ je = je * exp (-abs(e) t )] (units: 1/s)
e (negative values): [ je = je t-abs(e)]
FL18 FL38
FL19 : parameter for smoothing curve the seepage FL39
(outflow of water only) boundary condition. For a
positive value a parabolic curve is used; for a
negative value an exponentially decaying curve is
used. is the distance from the reference pressure
to the point of change
FL20 index: auxiliary index. FL40
index = +1.0 means that all flow rates are nodal
values
index = -1.0 means that all flow rates are per unit
volume (3-D), area (2-D) or length (1-D) of
medium (internal source or sink)
index = +2.0 means that all flow rates are per unit
area (3-D) or length (2-D) (lateral fluxes).
The boundary condition is incorporated by adding a flux. The mass flux of species i=w as a
component of phase =g (i.e. the inflow or outflow of vapour) is:
( ) 0 dt
t
( ) dt
( ) ( )
j gw = gw j g0 + j g0 + gw g Pg0 + Pg0 − Pg + g g gw − g gw
0
t
0
where the superscript ()o stands for the prescribed values, dt is the current time increment and
t the current time step. Terms (.) dt/t allow for imposing a linear variation of the variable
(.) during the time step. Mass fraction and density prescribed are only required for inflow
because for outflow the values in the medium are automatically considered.
Positive values of mass flow rate indicate injection to the medium.
This general form of boundary condition, includes three terms. The first one is the mass inflow
or outflow that takes place when a flow rate is prescribed at a node. The second term is the mass
inflow or outflow that takes place when a phase pressure is prescribed at a node. The coefficient
is a leakage coefficient, that is, a constant that allows to prescribe a pressure with more or less
strength. If is large pressure will tend to reach the prescribed value. However, an extremely
large value can produce matrix ill conditioning and a lower one can produce inaccuracy in
prescribing the pressure. However, it is not difficult to guess adequate values for a given
problem simply by trial. The third term is the mass inflow or outflow that takes place when
species mass fraction is prescribed at a node.
A surface where seepage (only outflow for liquid phase is permitted) is possible has a boundary
condition of prescribed liquid pressure. However, only liquid outflow is permitted. To
recognize this fact, l must be negative. This negative sign only indicates that nodes with this
kind of boundary condition allow seepage.
208
Another situation occurs when an internal source or sink should be imposed. In this case it is
preferable to use index = -1.0 and the program automatically considers that the nodal flows are
per unit volume and will be multiplied by the volume associated to the cell centered in the node.
If there is inflow of gas or liquid phase, it is very important to give values of the following
variables: lh, gw, la, l, g and T. Otherwise they are assumed zero which is not correct
because they will be far from the equilibrium. If outflow takes place, this is not relevant because
the values of the medium are used.
For energy the boundary condition has the general form:
dt dt
je = je0 + je0 + e T 0 + T 0 − T + E gw ( j gw ) + ...
t t
In other words, the last terms imply that mass inflow and outflow through the boundary induces
energy transfer.
In general, this is a loop for IF=1, NFLUXTYPE. For each IF, I=1,NPFLUX.
The last Card of this group must be always ' -1' (format I5).
This group of Cards (Card 19 and CardGroup 20) only exists if any balance (water, air,
energy flow) problem is solved. For each time interval, only the types that change need to be
read.
209
APPENDIX III.B. GEOMETRICAL DESCRIPTION FILE: ROOT_GRI.DAT
210
CardGroup 3. Node connectivities, material, element type, ...
Variables: L, MTYPE, LTYPE, KXX(1,L), ..., KXX(MNNEL,L)
Format: ((3+MNNEL)I5). It is not required if free format is used
L: Element number
MTYPE(L): Material type
LTYPE(L): Element type
KXX(MNNEL,L): Global conectivities (the maximum number of connectivities
is 2 (ndim=1), 6 (ndim=2), and 8 (ndim=3),
MNNEL is the maximum number of nodes that may have a possible element in the finite
element grid that is used in a problem. With the elements that are implemented at present the
following values are internally assigned to MNNEL: for NDIM=1 is MNNEL=2, for NDIM=2
is MNNEL=6, and for NDIM=3 is MNNEL=8.
211
CardGroup 6. Other element wise properties.
Variables: L, POROSITY(L), (FK(I,L),I=1,NDIM), ANISOTPER(1,
L), ..., ANISOTPER(NISOT, L), THICKNESS (L), (FK(I, L), I=NDIM+1,NDIM+3)
Format: (I5, 10F15.0). It is not required if free format is used
L: Element number.
POROSITY(L): Initial porosity of element L
FK(I,L): Element-wise multiplying factor for intrinsic permeability
ANISOTPER(1,L): Angle of direction of anisotropy
ANISOTPER(NISOT,L): (NISOT =1 for NDIM=1 OR 2 ; NISOT =3 for NDIM=3)
THICKNESS (L): (only for segment in 2-D or 3-D, LTYPE=8)
FK(I,L): Element-wise multiplying factor for retention curve
parameters
212
Card 9. Piezometric head map
Variables: IWHEAD, NWHEAD
Format: (16I5). It is not required if free format is used
IWHEAD: =1, Piezometric heads are written at file 'FOR060.DAT' or 'FOR061.DAT',
depending whether liquid and/or gas phase is considered. Values for all
nodes are written at times according to INTER frequency.
NWHEAD: Number of head contours that will be necessary in a plot. This value can be
changed when drawing them.
The use of this option is restricted to problems of constant density for liquid and/or gas phases.
213
APPENDIX V.A. THERMO-HYDRO-MECHANICAL INTERACTIONS
In this Appendix the main interactions between the various thermo-hydro-mechanical processes
are presented in a synthetic and systematic manner.
THERMAL PHENOMENA
Heat storage
Effects from:
• Thermal phenomena
− Heat storage proportional to temperature
• Hydraulic phenomena
− Liquid flow modifies the amount of water and air present
− Gas flow modifies the amount of air and water present
− Phase changes modifies heat storage through the latent heat of vapour
• Mechanical phenomena
− Porosity changes modify the amount of space left for fluids
Heat conduction
Effects from:
• Thermal phenomena
− Heat conduction driven by temperature gradients (Fourier’s law)
• Hydraulic phenomena
− Liquid flow modifies thermal conductivity
− Gas flow modifies thermal conductivity
• Mechanical phenomena
− Porosity changes modifies thermal conductivity
Heat advection by liquid flow
Effects from:
• Hydraulic phenomena
− Heat transport by liquid flow
Heat advection by air flow
Effects from:
• Hydraulic phenomena
− Heat transport by gas flow
Heat advection by vapour flow
Effects from:
• Hydraulic phenomena
− Heat transport by vapour diffusion
− Heat transport by gas flow
Phase changes
Effects from:
• Thermal phenomena
− Vapour pressure affected by temperature (water phase diagram and
psychrometric law)
• Hydraulic phenomena
− Vapour pressure affected by liquid flow through suction changes
(psychrometric law)
− Vapour pressure affected by gas flow through suction changes (psychrometric
law)
214
HYDRAULIC PHENOMENA
Water storage
Effects from:
• Thermal phenomena
− Liquid density changes with temperature
− Vapour density changes with temperature
− Phase change modifies the amount of water in liquid and gas phases
• Hydraulic phenomena
− Liquid density changes with liquid pressure
− Vapour density changes with suction and gas pressure
• Mechanical phenomena
− Porosity changes affect the space available for liquid and gas
Air storage
Effects from:
• Thermal phenomena
− Gas density changes with temperature
− Amount of dissolved air changes with temperature
• Hydraulic phenomena
− Gas density changes with gas pressure
− Amount of dissolved air depends on gas pressure
• Mechanical phenomena
− Porosity changes affect the space available for liquid and gas
215
Gaseous air transfer
Effects from:
• Thermal phenomena
− Hydraulic conductivity affected by gas viscosity that increases with
temperature.
− Degree of saturation varies with temperature (thermal expansion and phase
changes)
− Temperature variations influence gas density
• Hydraulic phenomena
− Gas flow controlled by gas pressure gradients (Darcy’s law)
− Hydraulic conductivity affected by degree of saturation, in turn controlled by
the value of suction (retention curve)
• Mechanical phenomena
− Porosity changes affect the value of hydraulic conductivity
− Porosity changes vary the pore space volume available for gas
216
MECHANICAL PHENOMENA
Stress/strain field
Effects from:
• Thermal phenomena
− Thermal expansion of materials
− Dependence of constitutive laws on temperature
• Hydraulic phenomena
− Dependence of constitutive laws on suction
• Mechanical phenomena
− Stress/strain constitutive laws
_________________________________
For the representation of a metal canister, in the following table some specific properties are
recommended for numerical efficiency to solve THM problems:
Note that, in the case of the thermal expansion of the solid, if zero –or a value lower than 10-
25
– is input, then automatically takes the default value. Hence, if the user actually wants to set
it to zero, a low value but greater than 10-25 should be input (e.g. 10-20).
217
APPENDIX VI.A. EQUIVALENT DENSITY AND SPECIFIC HEAT FOR A TM
PROBLEM.
Temperature distribution and evolution in a porous medium is strongly affected by the specific
heat of the water. When a porous material is modelled under TM conditions, equivalent
parameters should be used in order to get realistic and comparable results with THM. Hence, it
is explained here how to calculate those equivalent parameters.
Heat capacity of porous medium for a THM problem in a saturated porous medium:
𝜌𝑠 𝑐𝑠 (1 − 𝜙) + 𝜌𝑙 𝑐𝑙 𝜙
Where phase densities, phase specific heats and porosity can be used with their realistic value.
Heat capacity for a TM problem in an equivalent medium: (𝜌𝑠 )𝑒𝑞 (𝑐𝑠 )𝑒𝑞 (1 − 𝜙)
To obtain the same stresses induced by weight, an equivalent density for a TM problem in a
saturated porous medium can be calculated as:
𝜌𝑠 (1 − 𝜙) + 𝜌𝑙 𝜙
(𝜌𝑠 )𝑒𝑞 =
(1 − 𝜙 )
And to obtain the same temperature, an equivalent specific heat for a TM problem in a
saturated porous medium can be calculated as:
𝜌𝑠 𝑐𝑠 (1 − 𝜙) + 𝜌𝑙 𝑐𝑙 𝜙
(𝑐𝑠 )𝑒𝑞 =
(𝜌𝑠 )𝑒𝑞 (1 − 𝜙)
218
APPENDIX VI.B.1. ANALOGY BETWEEN NONLINEAR ELASTICITY AND BBM
where:
i ( s) = io (1 + i s ) (
s ( p ', s ) = so 1 + sp ln ( p ' pref ) ) exp ( ss s)
For a3 = 0, the model (ITYCL=1) coincides with the elastic part of BBM for constant
coefficients:
e s + 0.1 −i 0 − s 0 s + 0.1
= a1 ln ( − p ') + a2 ln = ln ( − p ' ) + ln
1+ e 0.1 1 + e 1+ e 0.1
For a3 different from zero the equation ( ITYCL=1) can be expanded in the following way.
e s + 0.1 s + 0.1
= a1 ln ( − p ' ) + a2 ln + a3 ln ( − p ' ) ln =
1+ e 0.1 0.1
s + 0.1 s + 0.1
= a1 + a3 ln ln ( − p ' ) + a2 + a3 ln ( − p ' ) ln =
0.1 0.1
a s + 0.1 a3 s + 0.1
= a1 1 + 3 ln ln ( − p ' ) + a2 1 + ln ( − p ' ) ln
a1 0.1 a2 0.1
Depending on the values of the parameters, negative compressibility can be obtained. This
can be limited with the Kmin indicated above.
For a3 and a4 different from zero the equation (ITYCL=5) can be transformed in the following
way.
e s + 0.1 s + 0.1
= a1 ln ( p ') + a2 ln + a3 ln ( p '/ pref ) ln + a4 s ln ( p ' ) =
1+ e 0.1 0.1
s + 0.1
= a1 + a4 s ln ( p ') + a2 + a3 ln ( p ' ) ln
0.1
a a s + 0.1
= a1 1 + 4 s ln ( p ') + a2 1 + 3 ln ( p '/ pref ) ln
a1 a2 0.1
i 0 s0
a1 = − a2 = − a4 = a1 i a3 = a2 sp
1+ e 1+ e
_______________________________________
219
APPENDIX VI.B.2. CORRESPONDENCE BETWEEN NONLINEAR ELASTICITY
AND LINEAR ELASTICITY PARAMETERS
Linear elasticity using volumetric and shear moduli:
𝑑𝑝′ 𝑑𝑞
𝑑𝜀𝑣 = 𝑑𝜀𝑑 =
𝐾 2𝐺
Bulk and shear elastic parameters as a function of Young and Poisson parameters:
𝐸 𝐸
𝐾= 𝐺=
3(1 − 2𝜈) 1+𝜈
A typical non-linear elasticity model proportional to mean effective stress, can be compared
with linear elasticity if the tangent moduli are calculated (for compression negative):
𝑑𝜀𝑣 𝑎1 + 𝑎3 ln(𝑠) 1 𝑝′
= = ⇒ 𝐾= > 𝐾𝑚𝑖𝑛
𝑑𝑝′ 𝑝′ 𝐾 𝑎1 + 𝑎3 ln(𝑠)
For constant Poisson ratio 𝜈 the following equivalences can be used:
𝑝′
𝐸 = 3𝐾(1 − 2𝜈) = 3(1 − 2𝜈) > 3(1 − 2𝜈)𝐾𝑚𝑖𝑛
𝑎1 + 𝑎3 𝑙𝑛(𝑠)
3(1 − 2𝜈) 𝑝′ 3(1 − 2𝜈)
𝐺= > 𝐾𝑚𝑖𝑛
1 + 𝜈 𝑎1 + 𝑎3 𝑙𝑛(𝑠) 1+𝜈
In case that a constant shear modulus G is given instead of 𝜈, then:
𝑝′
3𝐾 − 2𝐺 3 − 2𝐺 3𝐾𝑚𝑖𝑛 − 2𝐺
𝑎1 +𝑎3 𝑙𝑛(𝑠)
𝜈= = 𝑝 ′ >
2(3𝐾 + 𝐺) 2(3 + 𝐺) 2(3𝐾𝑚𝑖𝑛 + 𝐺)
𝑎1 +𝑎3 𝑙𝑛(𝑠)
𝑝′
9𝐾𝐺 9 𝐺 9𝐾𝑚𝑖𝑛 𝐺
𝑎1 +𝑎3 𝑙𝑛(𝑠)
𝐸= = 𝑝′
>
3𝐾 + 𝐺 3 +𝐺 3𝐾𝑚𝑖𝑛 + 𝐺
𝑎1 +𝑎3 𝑙𝑛(𝑠)
In case that a material with a Young’s Modulus changing with stress has to be modelled, the
following equation can be used (without suction effects):
3(1 − 2𝜈)𝑝′
𝐸= and 𝐸𝑚𝑖𝑛 = 3𝐾𝑚𝑖𝑛 (1 − 2𝜈)
𝑎1
Note that in this model implementation, 𝑎1 must be input as a negative value.
_______________________________________
220
APPENDIX VI.B.3. ANALOGY BETWEEN LINEAR CREEP AND
VISCOELASTICITY
How this can be compared with elasticity? Elasticity can be written as (total, increments or
rates):
1 1
𝛆= (𝛔 − 𝐈𝑝) + 𝐈𝑝
2𝐺 3𝐾
Then, for incompressible:
1
𝛆= (𝛔 − 𝐈𝑝)
2𝐺
Then, for uniaxial compression:
1 1 1
𝜀1 = (σ1 − σ1 ) = σ
2𝐺 3 3𝐺 1
Then, comparing with Young modulus definition:
σ1
𝜀1 =
𝐸
It results in:
𝐸
𝐺=
3
And this is consistent with the definition of 𝐺 because for incompressible conditions (𝜈 =
0.5):
𝐸 𝐸 𝐸
𝐺= = =
2(1 + 𝜈) 2(1 + 0.5) 3
Where 𝐸 is the Young modulus MPa and 𝐺is the shear modulus in MPa
___________________
221
APPENDIX VI.B.4. ZERO THICKNESS
MECHANICAL PROBLEM
The mechanical behaviour of the joint elements is defined by the relation between stress and
relative displacements of the joint element (Figure VIb.5) calculated on the mid-plane. The
mid-plane relative displacements are interpolated using the nodal displacements and the shape
functions.
ut
3 4
mp1 mp2 a0 un
a
1 2 dl
Figure VIb.5. Joint element with double nodes. a) Stress state on the mid-plane of the joint
element. b) Relative displacement defined at mid plane.
The normal and shear displacement increment calculated on the midplane is defined as:
u
w mp = n = r N ump −I 4 I4 u j
us mp
where un and us are the normal and tangential relative displacements, r is a rotation matrix, Nmpu
is a matrix of shape functions, I4 is an identity matrix of 4th order, uj is the vector of nodal
displacements.
The stress tensor on the mid-plane is calculated as a function of displacement components,
normal and shear:
'
σ 'mp = = D w mp
mp
where ’mp is the net effective stress on the mid-plane of the element and it is defined as ’mp
= mp- max(Pg; Pl) mp; ( is total mean stress; Pg is the gas pressure and Pl is the liquid
pressure, both interpolated to the mid-plane of the element); is the tangential stress on the
mid-plane; D is the stiffness matrix which relate relative displacements with the stress state.
222
ELASTIC BEHAVIOUR
The elastic behaviour of the joint is established as a relationship between the normal-tangencial
effective (’,) and the normal-tangential (un, us) relative displacement of the joint element.
This is established using a normal (Kn) and a tangential stiffness (Ks) coefficients. The normal
stiffness depends on the opening of the joint.
' K n 0 un
Kn =
m
, K s = constant
=
0 K s us a − amin
where m is a parameter of the model; a is the opening or aperture of the element and amin is
the minimum opening or aperture of the element.
'
amin a
Figure VIb.6. Elastic constitutive law of the joint element. Normal stiffness depends on joint
opening.
VISCO-PLASTIC BEHAVIOUR
The constitutive behaviour for the mechanical of rough rock joint was developed based on the
formulations proposed by Gens, et al. (1985) and Carol, et al, (1997). According to these
theories, it is necessary to define a yield surface, a plastic potential and a softening law to
mathematical model the shear behaviour of a joint.
The visco-plastic displacements occur when the stress state of the joint reaches a failure
condition. The failure surface can be defined linearly (the one implemented in
CODE_BRIGHT):
F 2 − ( c '− ' tan ')
2
where is the shear stress; c’ is the effective cohesion; ’is the net normal stress and tan’ is
the tangent of effective angle of internal friction. is a parameter.
223
F>0
F=0
F<0
c
Figure VIb.7. Hyperbolic (continuous) and linear (dashed) failure surface and strength
parameters
SOFTENING LAW
The strain-softening behaviour of the joint subjected to shear stress is modelled considering the
degradation of the strength parameters tan’ and c’.
The degradation of the parameters tan’ and c’ is considered dependent on the accumulated
viscoplastic shear displacement. This is based on the slip weakening model introduced by
Palmer & Rice (1973). In this way the tangent of the friction angle decays from the peak (intact
material) to the residual value and the cohesion from the value c to zero. Two different values
u* permit to define the decrease of cohesion (u*c’) and friction angle (u*tanФ’). The
mathematical expressions are:
u vp
c ' = c '0 1 − s*
uc
where c’ is the effective cohesion that corresponds to the visco-plastic shear displacement usvp;
c’0 is the initial value of the effective cohesion; u*c is a parameter.
u vp
tan ' = tan '0 − ( tan '0 − tan 'res ) s*
u
tan’ is the tangent of effective angle of internal friction that corresponds to the visco-plastic
shear displacement usvp; tan’0, tan’res and u* are parameters.
1
c tan
2
c0 1 tan0 1
0 170°
res
2
tanres
2
uc* uvps utan* usvp
Figure VIb.8 a) Evolution of the failure surface during softening. b) Softening law of cohesion.
c) Softening law of tan.
224
VISCO-PLASTIC DISPLACEMENTS
A viscoplastic yield surface implies that when F < 0 the stress state of the element falls inside
of the elastic region. In contrast, if F >= 0 the displacements of the element undergo a visco-
plastic component. The viscoplastic displacements are calculated as:
dw vp F G
=
dt F0 σ
where is a fluidity parameter. The visco-plastic displacement rate is given by a power of
law considered for the function :
G G
unvp = F N t usvp = F N t
+ F N −2 tan 2 ' fdil f cdil t
unvp
= N F N −1 2 fdil f cdil 2 tan ' ( c '− ' tan ') t
225
usvp
= N F N −1 2 2 tan ' ( c '− ' tan ') t
usvp
= N F N −1 2 t + F N 2t
Finally, the elasto-viscoplastic mechanical model of the joint is expressed by the tangent
stiffness matrix:
−1
Devp = Ce + Cvp
More information about this joint element can be found in Zandarin (2010) –see References.
226
APPENDIX VI.B.5. EXAMPLE OF USE OF THE ELASTIC AND VISCO-PLASTIC
MODELS
The use of the BBM model can be achieved by combination of the non-linear elasticity and the
viscoplasticity for unsaturated soils.
The parameter P7 limits the stiffness coefficient, so it cannot go beyond a certain value. A value
in the range of 1 MPa to 20 MPa is normally required. The parameter P6 limits the possibility
of tensions. The model may use Poisson (P5) or shear stiffness (P4) alternatively. The use of
one of them implies the other is variable as they are related.
The so-called state surface is an old model for unsaturated soils is based on reversibility. The
volumetric strain is calculated in a reversible way according to:
e s + 0.1 s + 0.1
= a1 ln ( p ') + a2 ln + a3 ln ( p ') ln
1+ e 0.1 0.1
where p' is mean effective stress (mean stress plus maximum of liquid and gas pressure) and s
is suction (gas pressure minus liquid pressure). Shear strain is linearly elastic with modulus G
or, alternatively, a constant value of the Poisson’s ratio can be used.
For a3 = 0, the model coincides exactly with the elastic part of BBM for constant coefficients:
e s + 0.1 −i 0 − s 0 s + 0.1
= a1 ln ( p ') + a2 ln = ln ( p ' ) + ln
1+ e 0.1 1 + e 1+ e 0.1
For a3 different from zero the equation can be expanded in the following way:
227
e s + 0.1 s + 0.1
= a1 ln ( p ') + a2 ln + a3 ln ( p ' ) ln =
1+ e 0.1 0.1
s + 0.1 s + 0.1
= a1 + a3 ln ln ( p ' ) + a2 + a3 ln ( p ' ) ln =
0.1 0.1
a s + 0.1 a3 s + 0.1
= a1 1 + 3 ln ln ( p ' ) + a2 1 + ln ( p ' ) ln
a1 0.1 a2 0.1
Depending on the values of the parameters, negative compressibility can be obtained. This can
be limited with the Kmin indicated above.
228
VPUSR 1 (ICL = 34). ITYCL = 1
P1 1/s Fluidity 1
P2 N Power of the stress function (integer value) 5
P3 Fo MPa Fo=1 MPa 1.0
P4 = exp(s) −
P5 b Non associativity parameter. 0.3
229
APPENDIX VI.E. ABOUT THE NOTIONS OF MICRO- AND MACRO-STRUCTURES
IN THE DOUBLE-STRUCTURE MODEL IMPLEMENTED IN CODE_BRIGHT
The double structure models have been historically developed in order to reproduce the
behavior of unsaturated expansive clays (Gens & Alonso, 1992; Alonso et al., 1999). In this
seminal model, two levels of structure are considered (see Figure ):
1. The microstructure, corresponding to the clay particles made of active minerals take
place. As such, the microstructure is provided with a reversible strain-stress
relationship derived from considerations about double-layer theory:
dϵv = 𝛽𝑚 𝑒 𝛼𝑚 𝑝 𝑑𝑝
2. Macrostructure: Responsible of the structural rearrangements. At this level the
response of collapse and loading occur. The relation of stress and strains is defined by
the BBM model (Alonso et al. 1990).
A clear picture of what is the micro and macro-structure can be illustrated by looking at the
pore size distribution obtained in FEBEX bentonite (Figure VIe.2). Macropores corresponds in
this case to voids with entrance radii close to 30 m while the microstructure has radii around
70 Å.
Even so, this model does not refer to unique process, or size of pores. The model is able to
reproduce other types of problems. The mathematical formulation for double structure soils
presented by Sánchez et al. 2005, is referred to the FEBEX bentonite, which present a clear
double structure evidenced by the pore size distribution test presented in Figure VIe.2.
Formulation can be also used to model types of materials, provided two main pores families
can be observed in the pore size distribution curve. An example is for example provided by
the work on compacted silty clay. In this case, the macrostructure refers to the arrangement of
silt particles and the large pores between them with entrance radii of order of 10 m. The
microstructure refers to the clay particles and with entrance radii close to 1 mm.
230
Figure VIe.2 Pore Size Distribution of FEBEX Bentonite (Sánchez et al. 2005)
Figure VIe.3 Pore Size Distribution of compacted Jossigny silt (Casini et al. 2012)
Double-structure model can be used in this case to reproduce the fact that the stress dependency
of microstructure is much lower than that of macrostructure. In this case, as the scale of the
microstructure corresponds to the size of clay particles, the phenomenological law considered
is taken from classical expression for soils:
(1 + 𝑒𝑚 )𝑑𝑝
dϵv =
𝜅𝑚
Model can be also used to model three-level structures materials as, for example, a mixture of
bentonite powder with high density bentonite pellets. Three main pore families have been
detected in these types of materials, as shown in Figure VIe.4.
231
Figure VIe.4. Pore Size Distribution of mixture Bentonite powder/high density bentonite
pellets (Alonso et al., 2011)
In this case, the use of the double structure model needs an arbitrary split of the pore size
distribution into two pore family, according to the requirements of the modelling
(compressibility, permeability changes, …).
As a conclusion, concepts of micro and macro-structure define essentially two different levels
of scale within the material, not related to absolute value of pore size. For this reason, this type
of models can also be used to model fissured materials when the upper scale corresponds to
fissures and the lower scale to matrix.
232