Code Bright Tutorials 06 2016
Code Bright Tutorials 06 2016
TUTORIAL MANUAL
www.etcg.upc.edu/recerca/webs/code_bright
June 2016
Table of contents
TABLE OF CONTENTS
I. Code_Bright-Tutorial. PRELIMINARY.
CODE_BRIGHT TUTORIAL
I. PRELIMINARY
Introduction
This tutorial document is intended to help new users become familiar with CODE_BRIGHT
through various examples dealing with a wide range of geo-environmental applications.
Tutorials have been developed for both beginner and advanced users. In the first case, a detailed
description about creation of geometry, boundary conditions, materials, mesh and post-process
on linear problems is given. In the second case, focus is on coupled analysis of thermo-hydro-
mechanical problems using elastic and non-linear elasto-plastic mechanical laws.
For beginner users the following tutorials have been developed:
- Shallow foundation (Mechanical problem).
- Heat flow (Thermal problem).
- Open channel flow (Hydraulic problem).
For advanced users the following tutorials have been developed:
- Gas Injection Problem (Hydraulic problem and Hydro-Mechanical problem).
- Dam (Hydro-Mechanical problem).
- Mock-up test (Thermo-Hydro-Mechanical problem).
- Sequential excavation method SEM (Hydro-Mechanical problem).
- Shear hydraulic test.
- Consolidation including a joint element.
- CO 2 Injection in a Sample.
- CO 2 Injection in an Aquifer.
- CO 2 Injection in a Horizontal Aquifer-Caprock System.
- BExM tutorial.
- Atmospheric tutorial.
- Hydraulic discontinuity minitutorial.
- Anisotropy minitutorial.
Tutorial examples are presenting the step by step procedures from starting the program up to the
post-process of the problem result. By completing each step, the user will be able to define the
problem, solve the problem, and view the results. In this preliminary section the user will have
the opportunity to familiarize, have an overall understanding, and identify some of the
fundamental operations of GiD/Code_bright program.
CODE_BRIGHT - TUTORIAL. PRELIMINARY I.2
User interface
Once GiD interface has been opened by double clicking on the GiD icon, the GiD interface is
launched as shown in Figure1.1
The primary objective of this preliminary section is to introduce you to every command and
feature available in GiD/Code_bright. The reader is referred to GiD User Manual for the
explanation of buttons, windows, icons, menus, text entries, and graphical output of GiD
interface. Some basic concepts necessary for the understanding of the tutorials are presented
hereafter.
The interface is divided into seven basic zones (see Figure1.1):
1. Graphical area (centre blank zone): where the pre- and post-process data can be manipulated
and visualized.
2. Drop-down menu: contains all the GiD/Code_bright commands.
3. Standard bar: contains links to the most used menu Commands (i.e. Save, Print, etc.).
4. Macros tool and geometry/view bars (Toolkit bars): contains links related to the geometrical
data management.
5. Message box: appears all the messages delivered by GiD.
6. Command line: user can introduce GiD commands from the keyboard.
7. Button bar: all the menu commands are available by buttons.
There is a context sensitive menu available by a single right click of the mouse. If right click on
the graphical area, it enables to get most of the geometrical tools to manage the pre-process and
process data.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.1
CODE_BRIGHT TUTORIAL
1
∆σ z = p 1 − 2
a
1+
z
GiD interface is a general pre-and post-processor, which has to be customized for a specific
Finite Element program. The customization for Code_bright is imported by the command
Data/Problem type/Code_bright_[version] as shown in Figure 2.2.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.2
Once Code_bright has been selected as the current interface, all the parameters necessary to
carry out the analysis are available within the Data tab located at the drop-down menu. The
Data tab contains the following concepts scheme (interface inputs): Conditions, Materials,
Interval Data and Problem Data (see Figure 2.3).
In order to realize a simulation is necessary to follow the next five (5) main steps:
1. Define geometry: points, lines and surfaces
2. Define attributes and conditions
2.1. Problem data
2.2. Materials
2.3. Conditions
2.4. Interval data
3. Generate mesh,
4. Carry out simulation,
5. View results.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.3
According to the hierarchical concept previously mentioned, the contour lines (low level
entities) must be initially created. Subsequently, the surface (high level entity) will be defined as
the area delimited by the 5 lines.
The construction of the geometry can be made using two different methods described as follows:
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.4
The next table summarizes the mentioned procedure for the construction of the quadrilateral
geometry:
Command: 0 0 <Press enter>
Command: 0 100 <Press enter>
Command: 10 100 <Press enter>
Command: 100 100 <Press enter>
Command: 100 0 <Press enter>
Command: 0 0 <Press enter>
The X and Y Spacing settings are used to establish the distance between grid lines in the x
and y directions, respectively. In this case, the minimum spacing is the distance
necessary to draw the Segment 2 or footing base line (see Figure 2.4) is equal to 10m.
Since the geometry has a maximum segment distance of 100m, the greatest common
divisor is also 10.
5. Set the X and Y Spacing values equal to 10 by typing this number on the X and Y
Spacing edit boxes.
6. Set the Major line every equal to 100 as shown in Figure 2.7.
7. For practical purposes, checkmark the Draw axis option in order to display the origin
(0,0) on the grid.
The view on which the grid appears has a partial view of the grid’s graphical area. In
order to have a complete view of the graphical area, follow the next steps:
1. Click View/Zoom/Dynamic. The cursor turns from an arrow into a magnifying glass.
2. Press and keep pressing the left mouse button, then move the cursor to the left of the
screen. By moving the cursor to the left, the view graphical area will amplify.
Now that the Grid has been established and illustrated, the geometry can be drawn by
following the next steps:
1. Select either Geometry/Create/Straight line from the drop-down menu or click Create
line icon which is located in the toolbar at the left side of the window.
2. Move the cursor near the origin (0,0) and click the left mouse button.
3. Move the cursor near (0,100) and click the left mouse button. A line is drawn from
(0,0) to (0,100).
4. Move the cursor near (10,100) and click the left mouse button. A line is drawn from
(0,100) to (10,100).
5. Move the cursor near (100,100) and click the left mouse button. A line is drawn from
(10,100) to (100,100).
6. Move the cursor near (100,0) and click the left mouse button. A line is drawn from
(100,100) to (100,0).
7. Move the cursor near (0,0) and click the left mouse button. A line is drawn from
(100,0) to (0,0).
8. The Create point procedure window appears asking for joining or not joining the lines
(see Figure 2.6). Click on Join option in order to close the quadrilateral perimeter.
9. Press Esc.
The geometry looks like in Figure 2.8. Select Zoom/Frame by clicking on the right mouse
button or select View/Zoom/Frame from the drop-down menu in order to get a closer view
of the contour.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.8
2. The cursor turns from an arrow into a square. Now, click on top of all blue lines or
segments using the mouse left button (selection order is not relevant). The color of
the selected lines turns from blue to red.
3. Press Esc. The surface generated is represented by a fuchsia colored quadrilateral
inside the contour (see Figure 2.9b).
4. Press Esc and the following message appears on the message box :
Leaving NurbSurface creation. No changes
Using the List command is possible to visualize the numerical information about the
geometry of all selected entities. For example, to see the geometrical characteristics of
one line:
2. Press Esc.
3. The List Entities dialog box for line 1 is shown on the next figure (Figure 2.11).
4. Click Close.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.11
2. Type any appropriate text in the Title of the problem field. For example, type
“Mechanical_problem:strip_foundation_on_an_elastic_medium”.
3. Choose Full Execution from the Execution drop-down arrow menu by clicking the
icon.
4. Choose No Backup from the Backup drop-down arrow menu by clicking the icon.
Since this simulation represents only two phases (before and after footing loading) is
not necessary to save the previous analysis for the same case.
5. Choose Around y-axis in the Axysimetry drop-down arrow menu by clicking the
icon.
6. Type 0 on the Gravity X-component and Gravity Y-component edit boxes.
7. Type -9.81 in the Gravity Z (Y for 2D) edit box.
8. Click Accept to modify the mentioned data values.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.13
5. Select Direct LU-Back3 from the Solver type drop down arrow menu by clicking the
icon. The discrete system of equations will be solved by an LU decomposition
followed by a back-substitution. Refer to the User’s manual (ISOLVE in Card 3 of
the Code_Bright Process).
6. The Elemental relative permeability is computed from option is only relevant when
water or gas mass balance equations are solved. Therefore, keep the default option as
Average nodal degree of saturation.
7. Use default values for Max Abs displacement [m] and Max Nod Bal Forces [MN]
edit box (i.e. 1e-6 and 1e-8 for Max Abs displacement and Max Nod Bal Forces,
respectively). Refer to the User’s manual (variables DELMXU and DELFMX in
Card Group 11 of the Code_Bright Process).
8. Type 1e-1 on the Displacement Inter Corr [m] edit box. Refer to the User’s manual
(DUMX in Card Group 11 of the Code_Bright Process).
9. Use default option On nodal correction or residual for Convergence criterion drop-
down arrow menu.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.15
2. Select Partial from the Write numerical process information drop-down arrow
menu by clicking the icon. Choosing this Partial option will only print the
most relevant information about convergence in the output file.
3. Type 1 on the Writing frequence edit box. This value indicates the frequency of
writing results in the output file. In this case the information corresponding to
every calculated time increment is written. If the writing frequence is, for
example, 100, then the information is written once for every 100 calculated time
increments.
4. The Write piezometric head in additional file check box option is not required for
this simulation since is used for problems solving water mass balance equation.
5. Select Gauss points on the Output points drop-down arrow menu.
6. Check the Write all information box. By selecting this option, all the information
will be saved under one common file since this problem is not complex at all.
Therefore, Select outputs tab option is not necessary for this type of problem. Select
outputs option is necessary when working with complex problems in which separated
output files are used to facilitate the post-processing.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.16
The field ITYCL contains a flag to define the type of relation considered for the
constitutive law. The fields P1 to P10 contain the parameters of the relation. ITYCL and
P1 to P10 depend on the constitutive law and are listed in Chapter CODE_BRIGHT.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.17
CONSTITUTIVE LAW.
3. Type 1 on the edit box below ITCL. Only one relationship is available.
4. Type 3000 on the edit bow below P1. This value corresponds to Young’s modulus
for this specific law.
5. Type 0.3 on the edit box below P3. This value corresponds to Poisson’s ratio.
The Mechanical data1 edit box seems similar to the following figure:
The Figure 2.22 illustrates the boundary conditions considered for this simulation.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.19
a) p =1 MPa
b) ux = 0
c) uy = 0
Figure 2.22 Considered boundary conditions.
A typical value for the multiplier parameter, range from 1.0 e6 to 1.0 e10. For more
information regarding a Multiplier value, see the User’s manual explanation in Card
Group 18 of the Code_Bright Process.
8. Click Assign button.
9. The cursor turns from an arrow into a square. Then, click on lines 1 and 4; see how it
turns into red color. The change in color from blue to red indicates that the segment
has been selected.
10. Click Finish. The following message will appear on the message box:
Assigned 2 new Lines to conditions: Line_Force/Disp_B.C.
By clicking Draw/Force/Disp B.C. on the Draw button, allow you to visualize the
condition applied (see Figure 2.27). It also can be unassigned by clicking the Unassign
button.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.23
8. Click Finish.
9. Choose Force/Disp B.C. from Entities drop-down menu by clicking the down arrow.
Now, all assigned conditions of type Force/Disp are summarized on the Force/Disp
B.C. dialog box as shown in the next illustration (Figure 2.29).
Each item of the Entities dialog box corresponds to an entity. Each entity is labeled E
followed by the number of the geometrical line where it is assigned (i.e. E1). The list of
strings and numbers after the dash line correspond to the fields of the condition (in the
same order as in the Conditions window). For example, the item:
E2 – Boundary Stress 0.0 –1 0.0 0.0 0.0 0.0 0 0 0 1.0e10 0 0 0
means that a condition has been assigned to line 2. The first field, corresponding to the
field Forces, is set to Boundary_Stress. The second field, corresponding to the field X-
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.25
direction Force/Stress, is set to 0.0, and so on.
Note: It is possible to select one entity in the Entities window by clicking on it (the item
is highlighted as shown in Figure 2.29, where entity E2 has been selected). Pressing the
Transfer button generates a copy of the content for the selected condition (entity E2) into
the Conditions window. The fields then can be modified in the Conditions window. The
changes do not affect the source condition (E2) in the Entities window. The new
condition can be assigned to a geometrical entity, for example to line 3 (press Assign and
select line 3), which creates the new entity E3. This can be verified by pressing Entities
in the Conditions window. This action updates the list of entities in the Entities window
and E3 appears as an additional entity of the list. This procedure is useful to apply over
distinct geometrical entities various boundary conditions with small differences.
CODE_BRIGHT program allow changing the defined Boundary Conditions and defined
Materials between time intervals. However, the defined geometry and defined Problem data
cannot be altered.
It is possible to select the unit of time as for example: Seconds, Minutes. Hours, Days,
Weeks, Months, Years by means of the field units of time discretization.
The Initial Time (Start period), Initial Time step, Final time (end period), Partial time (see
manual), Partial time (see manual) allow the introduction of values for the variables: TIMEI,
DTIME, TIME1, DTIMEC, TIMEF, respectively, which are described in Card 13
(Chapter_Bright_Procces).
Since this simulation for a shallow foundation is not transitory and the load is performed in
only one step, two time intervals will be defined for this simulation. During the first time
interval none load will be performed in order to let the system equilibrate the initial
conditions. In order to define a new interval data, follow the next steps:
1. Select Data/Interval Data from drop-down menu. The Interval Data window appears
as shown in Figure 2.33.
4. The following Warning window will appear (Figure 2.35). Click OK in order to
copy the condition entities used in interval 1 to be used during interval 2 (time card
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.29
parameters, material properties and boundary conditions).
5. Select time interval 2 on the drop down arrow menu next to new interval icon .
6. Select Hours from the Units of time discretization drop down arrow menu by
clicking the icon and type the rest of the data illustrated in Figure 2.36 for the
interval 2.
7. Click Accept. The message: “Interval Data modified” appears blinking on top of the
Accept button.
8. Click on Open other data option icon located on the Interval Data window as
shown in Figure 2.36.
9. Select Condition from options menu.
16. Click Accept. The message: “Interval Data modified” appears blinking on top of the
Accept button.
17. Click on Open other data option icon located on the Interval Data window as
shown in Figure 2.37.
18. Select Condition from options menu.
Figure 2.38 Mechanical data 1 edit box for time interval 1 and 2.
3. Click Assing. Now, the cursor turns from an arrow into a square.
4. Click on line 2 and see how it turns into red color.
5. Press Esc.
6. Now, the same Enter size to assign to lines window (Figure 2.40) will appear again.
7. Click Close.
In addition, let assign the same element size to nodes 2 and 3 for the same geometry.
8. Choose Mesh/Unstructured/ Assign sizes on point from the drop-down menu.
Following, an Enter size to assign to point window will appear, quite similar to
Figure 2.40.
9. Type 1.0 on the edit box.
10. Click Assing. Now, the cursor turns from an arrow into a square.
11. Click on points 2 and 3. See how the selected points turn into red color.
12. Press Esc.
13. Click Close on the Enter size to assign to point window.
14. Choose Mesh/Generate Mesh from the drop-down menu. Following, an Enter size of
elements to be generated window will appear.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.34
15. Type 20 on the edit box, as shown in Figure 2.41.
16. Click Ok. Now, a dialog window will appear notifying that a mesh has been
generated and describing the mesh characteristics (see Figure 2.42).
17. Click Ok to see the generated mesh. The following figure will appear:
18. Select Utilities/Status from the drop-down menu. Now, a dialog window summarizing
the mesh characteristics appears as shows the next figure.
By selecting View/Label/All from the drop-down menu, the nodes and elements
numeration appears on the Finite element mesh.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.36
2.4. Process
2.5. Post-process
To access Post-process
In order to access the post-process interface and view the corresponding results for this
example:
1. Select Postprocess from Files/Postprocess Drop-down menu or click on post-process
icon located on the Standard bar menu. Now, the Figure 2.46 appears.
The post-process interface contains many features, but here we will present only some of
the most common features used during post-processing interface.
2. Select View results from Window/View results Drop-down menu. A View results and
Deformations dialog window appears (see Figure 2.47).
3. Verify that the Results and deformations dialog window opens with the View results
tab option as shows Figure 2.47.
4. Select Contour fill from View drop down arrow menu by clicking the down arrow
icon . Now, the dialog window presents three main results: Displacements,
Porosity, and Stresses.
5. Select Stresses by clicking on the plus icon . Now, the Stresses selection release
different stresses including the direction for each one as demonstrates Figure 2.48.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.38
Figure 2.48 correspond for step/time interval 2 as indicated in the Step drop down arrow
menu. If desire to observe the corresponding graph for any other step or time interval,
just click on the drop down arrow icon located in the Displacements and Stresses
results dialog window (Figure 2.48) and select the desire time interval.
6. Click on Syy-Stresses option (vertical stress).
7. Click Apply. Now, Figure 2.49 appears on the screen.
Notice that values for Contour Fill of Syy-Stresses, according to Figure 2.49, correspond
to the resulting values calculated at Gauss points and therefore, discontinuous from
element to element. If choose the Smooth Contour Fill for Syy-Stresses, Gid post-
process smooth the values over the whole mesh.
The minimum (-1.459m) and maximum (-0.009372m) Syy-Stresses values for this case,
appears on the Message box as shown in Figure 2.49.
To represent the contour fill of temperature excluding the generated mesh, fallow the
next steps:
1. Click Window/View style from Drop-down menu. The Select & Display Style
window appears as shown in Figure 2.50.
2. Select Body from Style drop down menu option as represent in Figure 2.50.
3. Click Close.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.40
The representation of the contour fill for vertical stresses excluding the deformed mesh
appears as follows:
Figure 2.51 Contour Fill, Syy-Stresses representation excluding the generated mesh.
If wish to observe and analyze the Smooth Contour Fill for Syy-Stresses results, follow
the next steps:
1. Click Window/View results from Drop-down menu. A View results and Deformations
dialog window appears (see Figure 2.47).
2. Select Smooth Contour fill from View drop down arrow menu by clicking the down
arrow. icon. Now, the dialog window presents two main results: Porosity and
Stresses.
3. Select Stresses by clicking on the plus icon .
4. Click on Syy-Stresses, and then press Apply. Now, the following figure appears on
the screen.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.41
Figure 2.52 Smooth Contour Fill, Syy-Stresses representation superimposed on deformed mesh.
Furthermore, the displacement deformations can be drawn and analyzed. The following
steps will guide you to realize the illustration of this kind of deformations:
1. Click Window/View results from Drop-down menu.
2. Select Contour fill from View drop down arrow menu by clicking the down arrow.
icon. Now, the dialog window presents three main results: Displacement,
Porosity,and Stresses.
3. Select Displacements by clicking on the plus icon .
4. Click on |Displacements|, and then press Apply. The deformation representation
appears with its corresponding displacements values, including the minimum and
maximum values as demonstrates the follow figure.
CODE_BRIGHT – TUTORIAL. SHALLOW FOUNDATION II.42
Additional features can be used to analyze the results. A useful option is to graph values from
the existing post-process graphs (i.e. Contour fill, Smooth contour fill).
CODE_BRIGHT TUTORIAL
1m 60 m
6m
60 m
Host Rock
Bentonite
The following table summarizes the mechanical and thermal properties for this situation:
dry sat ) 3
Rock
Specific heat (C s ) 800 J/kgK
Thermal Bentonite dry sat ) 1.5
(Buffer zone) Specific heat (C s ) 1000 J/kgK
Canister Heat flow (induced by nuclear waste) 200 J/s
Table 1 Properties of Host Rock, Bentonite, and Canister.
Once Code_bright has been selected as the current interface, all the parameters necessary
to carry out the analysis are available within the Data tab located at the drop-down menu.
The Data tab contains the following concepts scheme (interface inputs): Conditions,
Materials, Interval Data and Problem Data (see Figure 3.3).
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.3
In order to realize a simulation is necessary to follow the next five (5) main steps:
1. Define geometry: points, lines and surfaces
2. Define attributes and conditions
2.1. Problem data
2.2. Materials
2.3. Conditions
2.4. Interval data
3. Generate mesh,
4. Carry out simulation,
5. View results.
The resting segments (from segment 5 to segment 8) represent the bentonite buffer zone
and heat source (canister) within the middle of the rock mass formation (see Figure 3.5).
Figure 3.5 Bentonite buffer and canister geometry defined by four segments.
According to the hierarchical concept previously mentioned, the contour lines (low level
entities) must be initially created. Subsequently, the surfaces (high level entity) will be
defined.
The construction of the whole geometry can be made using two different methods
described as follows:
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.5
To see the entire geometry, make a right click on the mouse and then select
Zoom/Frame from the menu.
The next table summarizes the mentioned procedure for the construction of the
quadrilateral geometry:
To define Buffer Zone and Canister Geometries by drawing arcs on the grid:
This second method consists of drawing lines directly on the principal displayed
drawing plane. First of all, is necessary to create a grid and establish the
corresponding scale or spacing in order to facilitate the drawing process. The next
description explains how to display and establish the grid for drawing purposes.
1. Click on Grid icon which is located at right side of the Command box.
2. Make a right click on top of the Grid icon and select Settings.
3. Verify that the Grid tab option from the drop-down menu has been selected.
4. Checkmark Show grid lines and Activate snap boxes located at the left top
side of the window as illustrates Figure 3.8.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.7
The X and Y Spacing settings are used to establish the distance between grid lines
in the x and y directions, respectively.
5. Set the X and Y Spacing values equal to 0.5 by typing this number on the X
and Y Spacing edit boxes.
6. Set the Major line every equal to 1 as shown in Figure 3.8.
7. Press Accept bottom.
8. For practical purposes, checkmark the Draw axis option in order to display
the origin (0,0) on the grid.
Now that the Grid has been established and illustrated, the geometry can be drawn
by following the next steps:
Since the buffer zone or bentonite comprise a circular area with a diameter of 6
meters within the center of the rock mass, it is necessary to create two arcs with a
radius of 3 meters. In order to have a closer view within the center area of the rock
host, make a right click on the mouse and select Zoom/In from the menu. Now,
make a zoom of the center area of the rock mass to facilitate the drawing using the
grid interval established previously.
2. Move the cursor on top of the coordinate (30,27) and click the left mouse
button.
3. Move the cursor near (27,30) and click the left mouse button.
4. Move the cursor near (30,33) and click the left mouse button. An arc with a
radius of 3 meters is drawn within the middle of the rock mass.
5. Move the cursor near (30,27) and click the left mouse button.
6. Click on the Join option in order to connect both arcs.
7. Move the cursor near (33,30) and click the left mouse button.
8. Move the cursor near (30,33) and click the left mouse button. A second arc is
drawn and the circular area for the buffer zone had been created with a
diameter of 6 meters.
9. The Create point procedure window appears asking for joining or not joining
the arcs (see Figure 3.7). Click on Join option in order to close the circular
perimeter.
10. Press Esc.
The buffer zone geometry looks like in the Figure 3.9.
Once the buffer zone geometry has been created, let’s draw the corresponding
geometry for the canister. The construction of the canister will be the same as for
the buffer zone, with the difference that the canister has a diameter of 1 meter.
Since the canister comprise a circular area with a diameter of 1 m within the
center of the buffer zone, it is necessary to create two arcs with a radius equals to
0.5 meters.
11. Select either Geometry/Create/Arc from the drop-down menu or click Create
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.9
arc icon .
12. Move the cursor on top of the coordinate (30,29.5) and click the left mouse
button.
13. Move the cursor near (29.5,30) and click the left mouse button.
14. Move the cursor near (30,30.5) and click the left mouse button. An arc with a
radius of 0.5 m is drawn within the middle of the buffer zone.
15. Move the cursor near (30, 29.5) and click the left mouse button.
16. Click on the Join option in order to connect both arcs.
17. Move the cursor near (30.5,30) and click the left mouse button.
18. Move the cursor near (30,30.5) and click the left mouse button. A second arc
is drawn and the circular area for the buffer zone had been created with a
diameter of 1 meter.
19. The Create point procedure window appears asking for joining or not joining
the arcs. Click on Join option in order to close the circular perimeter.
20. Press Esc.
The canister geometry looks like in the Figure 3.10.
In order to label the lines/arcs in the geometry, make a right click on the graphical
area and select Label/All in/Line as shown in Figure 3.13.
4. Type the project’s name in the File name edit box (i.e. Thermotutorial).
5. Click Save.
6. The program returns to the previous window and the system creates a new
sub-directory called Mytutorial.gid inside the existing directory
C:\ProgramFiles\GiD\GiD[version]\examples\Thermotutorial.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.13
2. Type any appropriate text in the Title of the problem field. For example, type:
“Thermoexample”.
3. Choose Full Execution from the Execution drop-down arrow menu by clicking
the icon.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.14
4. Choose No Backup from the Backup drop-down arrow menu by clicking the
icon. Since this simulation represents only two phases (before and after
footing loading) is not necessary to save the previous analysis for the same
case.
5. Choose No in the Axysimetry drop-down arrow menu by clicking the icon.
6. Type 0 on the Gravity X-component and Gravity Y-component edit boxes.
7. Type -9.81 in the Gravity Z (Y for 2D) edit box.
8. Click Accept to modify the mentioned data values.
2. Type 1 on the Epsilon (intermediate time for nonlinear functions) edit box in
order to have a fully implicit scheme for the time discretization. Refer to the
User’s manual (Epsilon in Card 8 of the Code_Bright Process).
3. Type 1 on the Theta (intermediate time for implicit solution) edit box. Refer
to the User’s manual (Theta in Card 8 of the Code_Bright Process).
4. Type 0 on the Time step control edit box. Refer to the User’s Manual (ITIME
in Card 10 of the Code_Bright Process).
5. Type 10 on the Max. number of iterations per time step edit box.
6. Select iterative Sparse+CGS from the Solver type drop down arrow menu by
clicking the icon. Refer to the User’s manual (ISOLVE in Card 3 of the
Code_Bright Process).
7. Use default value for Max number of solver iterations [CGS] (i.e. 1000).
Refer to the User’s manual (variables DELMXU and DELFMX in Card
Group 11 of the Code_Bright Process).
8. Use default value for Max abs solver error variable [CGS] (i.e. 1e-9). Refer
to the User’s manual (variables DELMXU and DELFMX in Card Group 11 of
the Code_Bright Process).
9. Type 0 on the Max abs solver error residual [CGS] edit box. Refer to the
User’s manual (CODE_BRIGHT.PREPROCESS.PROBLEM DATA II.7)
10. Type 0 on the Max rel solver error residual [CGS] edit box. Refer to the
User’s manual (CODE_BRIGHT.PREPROCESS.PROBLEM DATA II.7)
11. Select Average nodal relative permeabilities from the Elemental relative
permeability computed from drop down menu option by clicking the icon.
12. Use default values for Max Abs Temp [C] (i.e. 1e-6), Max Nod Energy Mass
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.16
Bal [J/s] edit box (i.e. 1e-8), and Temp Iter Corr [C] (i.e. 1e-2). Refer to the
User’s manual (CODE_BRIGHT.PREPROCESS.PROBLEM DATA II.8).
13. Use default option On nodal correction or residual for Convergence criterion
drop-down arrow menu.
2. Select All from the Write numerical process information drop-down arrow
menu by clicking the icon. Choosing this All option will print all
information about convergence in the output file.
3. Type 20 on the Writing frequence edit box. This value indicates the
frequency of writing results in the output file every 20 calculated time
increments.
4. The Write piezometric head in additional file check box option is not
required for this simulation since is used for problems solving water mass
balance equation.
5. Select Gauss points on the Output points drop-down arrow menu.
6. Check the Write all information box. By selecting this option, all the
information will be saved under one common file.
Therefore, Select outputs tab option is not necessary for this type of problem.
Select outputs option is necessary when working with complex problems in
which separated output files are used to facilitate the post-processing.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.17
4. Click on any button (i.e. ITYCL, P1, P2 …P10, etc.) which appears beside
Conductive Flux of Heat 1, then the following edit box will appear:
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.18
The field ITYCL contains a flag to define the type of relation considered for the
constitutive law. The fields P1 to P10 contain the parameters of the relation.
ITYCL and P1 to P10 depend on the constitutive law and are listed in Chapter
CODE_BRIGHT. CONSTITUTIVE LAWS Part VIa.
5. Type 1 on the edit box below ITCL.
6. Type 3 on the edit bow below P1. This value corresponds to Dry Thermal
dry [W/mK] for Host Rock.
7. Type 3 on the edit box below P2. This value corresponds to Saturated
sat [W/mK] for Host Rock.
The Conductive Flux of heat edit box seems similar to the following figure:
Figure 3.24 Conductive Flux of Heat 1 edit box for Host Rock.
bottom-left side of the Hydraulic and thermal data dialog window, as shown
in Figure 3.22.
15. The following message window appears:
Once the rock formation has been defined, it is necessary to define the bentonite
or buffer zone geometry. In order to do it, follow the next steps:
Figure 3.27 Conductive Flux of Heat 1 edit box for Bentonite zone.
If desire to visualize all materials (Rock and Bentonite) you can follow the same
procedure used for drawing materials by selecting Draw/All Materials. The
geometry’s drawing must seems like the following figure:
To define Conditions (Boundary flow rate for Rock mass limits) (Initial
temperature for Bentonite/Rock interface surfaces)
1. Select Conditions from Data/Conditions drop-down menu. The following
dialog window appears:
By clicking Draw/Flux B.C. on the Draw button, allow you to visualize the
condition applied represented by a red cross inside a circle (see Figure 3.34). It
also can be unassigned by clicking the Unassign button.
8. Choose Flux B.C. from Entities drop-down menu by clicking the down arrow.
Now, all assigned conditions of type Flux B.C. for each line (i.e. E1) are
summarized on the Flux B.C. dialog box as shows the next illustration (Figure
3.35).
It is possible to select the unit of time as for example: Seconds, Minutes. Hours,
Days, Weeks, Months, Years by means of the field units of time discretization.
The Initial Time (Start period), Initial Time step, Final time (end period), Partial time
(see manual), Partial time (see manual) allow the introduction of values for the
variables: TIMEI, DTIME, TIME1, DTIMEC, TIMEF, respectively, which are
described in Card 13 (Chapter_Bright_Procces).
interval 1.
Mesh generation consists in discretize the geometry into nodes and elements. Conditions
and materials assigned to the geometrical entities are transferred during this process to
the nodes and elements.
In this example an unstructured mesh has been used, which is composed by triangular
linear elements.
The mesh transition is controlled by the size ratio between adjacent elements of different
sizes. In order to modify the default value for the size ratio:
3. In the Unstructured sixe transitions box verify that the corresponding value is
0.6 if not, move the cursor until reach 0.6.
4. Click Accept and then Close.
3. Click Assing. Now, the cursor turns from an arrow into a square.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.30
4. Click on the surface 2 (inner circle) and see how it turns from fuchsia into red
color. Remember that this inner circle surface corresponds to the Bentonite
surface.
5. Press Esc.
6. Now, the same Enter size to assign to lines window (Figure 3.40) will appear
again.
7. Type 5.0 on the edit box. This value of 5m will be assign over surface 1.
8. Click Assing. Now, the cursor turns from an arrow into a square.
9. Click on the surface 1 (square) and see how it turns from fuchsia into red
color. Remember that this square surface corresponds to the Bentonite
surface.
10. Press Esc.
11. Click Close on the Enter size to assign to surface window.
12. Choose Mesh/Generate Mesh from the drop-down menu. Following, an Enter
size of elements to be generated window will appear.
13. Type 5 on the edit box, as shown in Figure 3.42.
14. Click Ok. Now, a dialog window will appear notifying that a mesh has been
generated and describing the mesh characteristics (see Figure 3.43).
15. Click Ok to see the generated mesh. The following figure will appear:
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.31
With all the parameters previously defined, the generated mesh has the following
properties:
• The length of the side of triangles in the Bentonite is equal to 0.5 m
• The length of the side of triangles in the Rock host is equal to 5 m
• The average length of the sides of the triangles far from the heater is equal
to 5 m
16. Select Utilities/Status from the drop-down menu. Now, a dialog window
summarizing the mesh characteristics appears as shows the next figure.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.32
By selecting View/Label/All from the drop-down menu, the nodes and elements
numeration appears on the Finite element mesh.
3.4. Process
3.5. Post-process
To access Post-process
In order to access the post-process interface and view the corresponding results for
this example:
1. Select Postprocess from Files/Postprocess Drop-down menu or click on
postprocess icon located on the Standard bar menu. Now, the Figure 3.47
appears (If "Body Lines" option has been selected as a default from
Window/View Style/Style Drop-down menu).
The post-process interface contains many features, but here we will present only
some of the most common features used during post-processing interface.
3. Verify that the Results and deformations dialog window opens with the View
results tab option as shows Figure 3.48.
4. Select Contour fill from View drop down arrow menu by clicking the down
arrow icon . Now, the dialog window presents one main result:
Temperature, as shown in Figure 3.49.
The minimum (25) and maximum (213.8) Temperature (°C) values for this case,
appears on the Message box as shown in Figure 3.44.
To represent the contour fill of temperature excluding the generated mesh, fallow
the next steps:
1. Click Window/View style from Drop-down menu. The Select & Display
Style window appears as shown in Figure 3.51.
2. Select Body from Style drop down menu option as represented in Figure 3.51.
3. Click Close.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.36
The representation of the contour fill for temperature excluding the deformed
mesh appears as fallows:
Figure 3.52 Contour Fill for Temperature representation excluding the generated mesh.
Note how the graph includes the different temperature point evolutions for each
area previously selected, as demonstrate the following figure.
In some cases, it is necessary to assign a flux condition that varies continuously with
time. One possibility to achieve this is to define an important number of time intervals
and to approximate step by step the continuous time evolution but this solution usually
leads to heavy input works. To avoid this, a simpler procedure has been implemented in
the code, described in this section.
The best way to apply a flux boundary condition that varies continuously with time
consists in:
2) In the flux B.C. window dialog (See code_bright user´s guide II.29), the value
of -999 is input in the box corresponding to the variable. In such a way, when the
program find a value equal to -999 for a variable applied at a boundary, it will
read its time variation in the auxiliary file.
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.39
It is possible to impose by this method time variations for different variables within the
same boundary condition. For the moment, only one boundary condition of the problem
can be linked to an auxiliary file.
The procedure is illustrated hereinafter for the case of a canister whose temperature
decreases with time. The characteristics of the problem is the same as for the thermal case
described in this tutorial, with the exception of the source term of heat imposed in the
canister.
The source term of heat is applied as a boundary flow rate within the Canister (as before).
The procedure to link this boundary condition to an auxiliary file is as follows:
Type -999 on the Prescribe temperature [ºC] edit box.
Type 1e8 on the Gamma for heat edit box.
The next figure illustrates the aspect of the window Flux B.C. after the introduction of the
data:
Figure 3.56 Conditions window (Flux B.C. Canister Boundary, temperate varies with time).
Number of
data
28
Number of
ID variable
variables
1 15
Time (a) Temperature (ºC)
0 0
0.005 6.0926
0.01 11.1782
0.04 19.8615
0.07 23.289
0.1 25.1561
0.13 26.3891
0.16 27.2974
0.33 29.7907
0.5 31.3154
1 33.6921
1.5 35.2999
2 36.5833
Data 4 39.6871
6 41.8534
8 43.3377
10 44.6002
15 46.493
20 47.0923
25 44.7979
30 45.3197
40 45.1967
50 44.2974
60 43.3002
70 42.2945
80 41.2589
90 40.6012
100 39.9501
Table 2 Conditions window (Flux B.C. Canister Boundary, temperature varies with time).
The number in the first row (number of data) corresponds to the number of times where
the variable is prescribed. It can be entered in free format.
The first number in the second raw corresponds to the number of variables of the
boundary condition whose time variations will be prescribed in the file. This number is
followed by the respective position of each variable in the boundary condition, as written
in the <project_name>_gen.dat. These numbers can be entered in free format
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.41
In the present example, according to Table 2, only one variable, the temperature, located
in the 15th position is prescribed
From the third line, the file contains the time register. The first column corresponds to the
time, the second column to the time-dependent variable (temperature in the example).
These numbers can be entered in free format. The prescribed time evolution of
temperature is depicted in Figure 3.57.
Number of
data
28
Number of
ID variable ID variable
variables
2 15 16
Time (a) Temperature (ºC) Gamma for heat
0 0 1.e5
0.005 6.0926 1.e5
0.01 11.1782 1.e5
0.04 1.e5 1.e5
Data
0.07 23.289 1.e5
0.1 25.1561 1.e5
0.13 26.3891 1.e5
0.16 27.2974 1.e6
0.33 29.7907 1.e6
CODE_BRIGHT – TUTORIAL. THERMAL PROBLEM III.42
Table 3 Conditions window (Flux B.C. Canister Boundary, temperature varies with time).
The variables that can be prescribed in the auxiliary file are shown in Table 4, as well as
their respective position.
Output results of the computation are shown in the following figures. Figure 3.54 shows
the profile of temperature in the rock, at 100 years. Figure 3.58 presents the time
evolution of temperature at three different points inside the rock.
CODE_BRIGHT TUTORIAL
1m
Channel 5m
1m
1m
50 m
50 m
Legend:
Silty soil
In order to realize a simulation is necessary to follow the next five (5) main steps:
1. Define geometry: points, lines and surfaces
2. Define attributes and conditions
2.1. Problem data
2.2. Materials
2.3. Conditions
2.4. Interval data
3. Generate mesh
4. Carry out simulation
5. View results.
each line.
5. Type 0,0 and press enter.
6. Type 0,50 and press enter.
7. Type 24.5,50 and press enter.
8. Type 24.5,45 and press enter.
9. Type 25.5,45 and press enter.
10. Type 25.5,50 and press enter.
11. Type 50,50 and press enter.
12. Type 50,0 and press enter.
13. Type 0,0 and press enter.
14. The Create point procedure window appears asking for joining or not the lines
(see Figure 4.3). Click on the Join option in order to close the quadrilateral
perimeter.
In order to draw the left lateral permeable soil, select again the Straight line command
and introduce the following coordinate values in the command line:
17. Type 0,0 and press enter.
18. The Create point procedure window appears asking for joining or not the lines
(see Figure 4.3). Click on the Join option in order to continue drawing the
geometry.
19. Type -1,0 and press enter
20. Type -1,50 and press enter.
21. Type 0,50 and press enter.
22. Click on the Join option as the create point procedure window appears.
23. Press Esc.
Finally, to draw the right lateral permeable soil, select again the Straight line command
and introduce the following coordinate values in the command line:
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.4
To have a full view of the finished geometry, make a right click on the mouse and select
Zoom/Frame from the menu. Figure 4.4 shows the created geometry.
The silty soil geometry is defined by 8 segments (Figure 4.4) representing the following:
• Segment 1: left vertical boundary
• Segment 2: top left horizontal channel boundary
• Segment 3: left vertical channel boundary
• Segment 4: bottom horizontal channel boundary
• Segment 5: top right channel boundary
• Segment 6: top right horizontal boundary
• Segment 7: right vertical boundary
• Segment 8: bottom horizontal boundary
The lateral permeable soil geometry is defined by 6 segments (Figure 4.4) representing
the following:
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.5
In order to label the lines in the geometry, make a right click on the graphical area and
select Label/All in/Line as shown in Figure 4.5.
10. Press Esc. The surfaces generated are represented by two narrow lateral
fuchsia squares (see Figure 4.7).
Figure 4.7 Geometry surfaces for the Silty soil lateral permeable soil
2. Press Esc.
3. The List Entities dialog box for arc line 8 is shown in the next figure.
4. Click Close.
1. Select Data/Problem data/Problem data from the drop-down menu and the
Problem data window appears (Figure 4.10).
2. Type any appropriate text in the Title of the problem field. For example, type:
“Hydraulic”.
3. Choose Full Execution from the Execution drop-down arrow menu by clicking
the icon.
4. Choose No Backup from the Backup drop-down arrow menu by clicking the
icon. Since this simulation represents only two phases (before and after
channel existence) is not necessary to save the previous analysis for the same
case.
5. Choose No in the Axysimetry drop-down arrow menu by clicking the icon.
6. Type 0 on the Gravity X-component and Gravity Y-component edit boxes.
7. Type -9.81 in the Gravity Z (Y for 2D) edit box.
8. Click Accept to modify the mentioned data values.
2. Check box besides Mass balance of water (unknown liquid pressure Pl).
3. Set Constant Pg[MPa] value to 0 (override the default value of 0.1).
The rest of the dialog box options (i.e. Stress equilibrium, Mass balance of air,
etc.) are not applicable for this simulation.
4. Click Accept to modify the mentioned data values.
2. Type 1 on the Epsilon (intermediate time for nonlinear functions) edit box in
order to have a fully implicit scheme for the time discretization. Refer to the
User’s manual (Epsilon in Card 8 of the Code_Bright Process).
3. Type 1 on the Theta (intermediate time for implicit solution) edit box. Refer
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.10
2. Select All from the Write numerical process information drop-down arrow
menu by clicking the icon. Choosing this All option will print all
information about convergence in the output file.
3. Type 1 on the Writing frequence edit box. This value indicates the frequency
of writing results in the output file every 1 calculated time increments.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.11
4. Select All from the Write Boundary Flows in additional file drop-down arrow
menu by clicking the icon.
5. Select Gauss points on the Output points drop-down arrow menu.
6. Check the Write all information box. By selecting this option, all the
information will be saved under one common file.
7. Click Accept to modify the mentioned data values.
Therefore, Select outputs tab option is not necessary for this type of problem.
Select outputs option is necessary when working with complex problems in
which separated output files are used to facilitate the post-processing.
4. Click on any button (i.e. ITYCL, P1, P2 …P10, etc.) which appears besides
Retention Curve.
The field ITYCL contains a flag to define the type of relation considered for the
constitutive law. The fields P1 to P10 contain the parameters of the relation.
ITYCL and P1 to P10 depend on the constitutive law and are listed in Chapter
CODE_BRIGHT. CONSTITUTIVE LAWS. CODE ICL=6.
5. Type 1 on the edit box below ITYCL. This value corresponds to the Van
Genuchten model equation.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.12
6. Type 0.05 on the edit bow below P1. This value is a constant pressure value
at a certain temperature, P o [MPa], for Silty soil.
7. Type 0.072 on the edit box below P2. This value corresponds to Surface
Tension at temperature in which P o was measured, σ o [N/m], for Silty soil.
8. Type 0.4 on the edit box below P3. This value corresponds to Shape Function
for Retention Curve , for Silty soil.
9. Leave the default value (“0”) on the edit box below P4. This value
corresponds to Residual Saturation, S rl , for Silty soil.
10. Type 1 on the edit box below P5. This value corresponds to Maximum
Saturation, S ls , for Silty soil.
The Retention Curve edit box seems similar to the following figure:
The field ITYCL contains a flag to define the type of relation considered for the
constitutive law. The fields P1 to P10 contain the parameters of the relation.
ITYCL and P1 to P10 depend on the constitutive law and are listed in Chapter
CODE_BRIGHT. CONSTITUTIVE LAWS. CODE ICL=7.
13. Type 1 on the edit box below ITYCL. This value corresponds to the Kozeny’s
model equation.
14. Type 1e-14 on the edit box below P1. This value corresponds to Intrinsic
Permeability 1st principal direction, (k11) o [m2], for Silty soil.
15. Type 1e-14 on the edit box below P2. This value corresponds to Intrinsic
Permeability 2nd principal direction, (k22) o [m2], for Silty soil.
16. Type 1e-14 on the edit box below P3. This value corresponds to Intrinsic
Permeability 3rd principal direction, (k33) o [m2], for Silty soil.
17. Leave the default value (“0”) on the edit box below P4. This value
corresponds to Reference porosity for read intrinsic permeability, o , for Silty
soil.
The Intrinsic Permeability edit box seems similar to the following figure:
The field ITYCL contains a flag to define the type of relation considered for the
constitutive law. The fields P1 to P10 contain the parameters of the relation.
ITYCL and P1 to P10 depend on the constitutive law and are listed in Chapter
CODE_BRIGHT. CONSTITUTIVE LAWS. CODE ICL=14.
20. Type 1 on the edit box below ITYCL. This value corresponds to the van
Genuchten model equation.
21. Type 0.4 on the edit box below P3. This value corresponds to the Power, ,
for Silty soil.
22. Leave the default value (“0”) on the edit box below P4. This value
corresponds to Residual Saturation, S rl , for Silty soil.
23. Type 1 on the edit box below P5. This value corresponds to Maximum
Saturation, S ls , for Silty soil.
The Liquid Phase Relative Permeability edit box seems similar to the following
figure:
Figure 4.17 Liquid Phase Relative Permeability edit box for Silty soil.
The material must be assigned over a geometrical entity, which can be a line,
surface or volume. In this simulation it has to be assigned over the corresponding
silty soil geometry of the problem which consists in a surface.
25. Click Assign button and select Surfaces. The Assign button is located at the
bottom-left side of the Hydraulic and thermal data dialog window, as shown
in Figure 4.14.
26. Click on the interior (silty soil surface) fuchsia square surface and see how the
square and the outer circle turn into red color. The change in color indicates
that the geometry has been selected and the rock host has been defined.
27. Click Finish on the Material dialog window. Now, the corresponding
material properties have been assigned to the geometry.
Then, the following message appears in the message box:
Assigned 1 new entities to material:soil
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.14
Once the Silty soil material has been defined, it is necessary to define the Lateral
permeable soil material. In order to do it, follow the next steps:
35. Leave the default value (“0”) on the edit box below P4. This value
corresponds to Residual Saturation, S rl , for Lateral permeable soil.
36. Type 1 on the edit box below P5. This value corresponds to Maximum
Saturation, S ls , for Lateral permeable soil.
The Retention Curve edit box seems similar to the following figure:
Figure 4.19 Retention Curve edit box for Lateral permeable soil.
Permeability 1st principal direction, (k11) o [m2], for Lateral permeable soil.
41. Type 1e-11 on the edit box below P2. This value corresponds to Intrinsic
Permeability 2nd principal direction, (k22) o [m2], for lateral permeable soil.
42. Type 1e-11 on the edit box below P3. This value corresponds to Intrinsic
Permeability 3rd principal direction, (k33) o [m2], for Lateral permeable soil.
43. Leave the default value (“0”) on the edit box below P4. This value
corresponds to Reference porosity for read intrinsic permeability, o , for
Lateral permeable soil.
The Intrinsic Permeability edit box seems similar to the following figure:
The material must be assigned over a geometrical entity, which can be a line,
surface or volume. In this case it has to be assigned over the corresponding
Lateral permeable soil geometry which consists in two surfaces (2 and 3).
44. Click Assign button and select Surfaces. The Assign button is located at the
bottom-left side of the Hydraulic and thermal data dialog window, as shown
in Figure 4.14.
45. Click on the laterals (lateral permeable soil surface) fuchsia square surfaces
and see how the square and the outer circle turn into red color. The change in
color indicates that the geometry has been selected and the rock host has been
defined. In order to facilitate the fuchsia square surfaces selection, you can
amplify the geometry view by making a mouse right click/Zoom/In
command. Then, select Zoom/Frame from the same right click menu for
return to the original view.
46. Click Finish on the Material dialog window. Now, the corresponding
material properties have been assigned to the geometry.
Then, the following message appears in the message box:
Assigned 2 new entities to material:Lateral_permeable_soil
By clicking Draw/All materials on the Draw button from the Material dialog
window, allows you to visualize the geometry in which the materials have been
assigned (see Figure 4.21). It can be unassigned by mean of the Unassign button.
47. Click Finish.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.16
Figure 4.21 Visualization of All materials (Silty and Lateral permeable soils).
To define Flux B.C. Conditions (Prescribed Liquid Pressure for geometry’s bottom
boundary)
1. Select Conditions from Data/Conditions drop-down menu.
2. Click on line icon localized on the top-left side of Conditions window.
3. Choose the option Flux B.C. from drop-down arrow menu by clicking the down
arrow.
4. Select Boundary flow rate from the Flow rate drop-down arrow menu by clicking
the icon.
5. Type 0.481 on Prescribed liquid pressure [MPa] edit box. This value
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.17
By clicking Draw/Flux B.C. on the Draw button, allow you to visualize the
condition applied represented by a red cross inside a circle (see Figure 4.23). It
also can be unassigned by clicking the Unassign button.
Figure 4.24 Conditions window (Initial unknowns for Silty and lateral permeable surfaces)
By clicking Draw/Initial unknowns on the Draw button, allow you to visualize the
condition applied represented by a small red circle with a letter G (see Figure
4.25). It also can be unassigned by clicking the Unassign button.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.20
7. Choose Initial unknowns from Entities drop-down menu by clicking the down
arrow. Now, all assigned conditions of type Initial unknowns for each surface
(i.e. E 1) are summarized on the Initial unknowns dialog box as shows the next
illustration (Figure 4.26).
5. The cursor turns from an arrow into a square. Then, click on surfaces 1 and see
how it turns into red color. The change in color from blue to red indicates that the
segment has been selected.
6. Click Finish. The following message will appear on the message box:
Assigned 1 new Surfaces to condition: Surface_Initial_porosity
7. Now, Type 0.9 on Porosity edit box. This value corresponds to the initial porosity
of the lateral permeable soil.
8. Click Assign button.
9. Then, click on surfaces 2 and 3 and see how it turns into red color. The change in
color from blue to red indicates that the segment has been selected.
10. Click Finish. The following message will appear on the message box:
Assigned 3 new Surfaces to condition: Surface_Initial_porosity
By clicking Draw/Initial porosity on the Draw button, allow you to visualize the
condition applied (see Figure 4.27). It also can be unassigned by clicking the
Unassign button.
To define Flux B.C. Conditions (Prescribed Liquid Flow for channel’s bottom
boundary):
In this hydraulic simulation, the channel represents the origin of water’s outflow
through the bottom channel line. To add this condition on the channel’s geometry you
must first create a new interval data and subsequently establish the necessary
conditions of the channel. Please follow the next steps.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.22
3. Choose Yes option in order to copy the existing conditions from interval 1.
Notice that now we are working on interval 2. The values for time intervals will
be defined in the next section (4.2.4)
4. Click on Open other data option icon .
5. Choose Conditions option from the drop-down menu.
6. Click on line icon localized in the top-left side of Conditions window.
7. Choose the option Flux B.C. from the drop-down menu by clicking the down
arrow.
8. Select Boundary flow rate from the Flow rate drop-down arrow menu by clicking
the icon.
9. Type 0 on the Prescribe liquid pressure [MPa] edit box. This value corresponds
to the water pressure established on the channel’s bottom part.
10. Type 1e5 (1 x 105) on Gamma for liquid edit box. This is a constant that allows
prescribing a pressure with more or less strength. Refer to the User’s manual
(Card Group 20 of the Code_Bright Process).
To define Flux B.C. Conditions (Prescribed Liquid Flow for channel’s lateral
boundaries):
1. Click on line icon localized in the top-left side of Conditions window.
2. Choose the option Flux B.C. from the drop-down menu by clicking the down
arrow.
3. Select Boundary flow rate from the Flow rate drop-down arrow menu by clicking
the icon.
4. Type -1e5 (-1 x 105) on the Gamma for liquid edit box. This negative value
means that seepage is permitted on channel’s lateral boundaries.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.24
7. Click Finish. The following message will appear on the message box:
Assigned 2 new Lines to condition: Line_Flux_B.C.
In order to define the characteristics of the created intervals data (or create a new
one), follow the next steps:
6. Click Accept. The message: “Interval Data modified” appears blinking on top of
the Accept button.
7. Now, select Interval data 2 by clicking on the icon localized next to the New
interval icon .
8. Select Days from the Units of time discretization drop down arrow menu by
clicking the icon.
9. Type 100 on the Initial Time edit box.
10. Type 200 on the Final Time (end period) edit box.
11. Type 0.1 on the Initial Time Step edit box. Leave the other option edit boxes with
default values (0). Refer to the User’s manual (Section II.2.4 of CODE_BRIGHT.
PREPROCESS and Card 13 of CODE_BRIGHT. PROCESS). The following
figure illustrates the data entry for interval 2.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.26
12. Click Accept. The message: “Interval Data modified” appears blinking on top of
the Accept button.
13. Close the Interval Data dialog window by clicking Close.
Mesh generation consists in discretize the geometry into nodes and elements. Conditions
and materials assigned to the geometrical entities are transferred during this process to
the nodes and elements.
In this example an unstructured mesh has been used, which is composed by triangular
linear elements.
The mesh transition is controlled by the size ratio between adjacent elements of different
sizes. In order to modify the default value for the size ratio:
3. In the Unstructured size transitions box verify that the corresponding value is 0.3
if not, move the cursor until reach 0.3.
4. Click Accept and then Close.
Channel
1. Choose Mesh/Unstructured/ Assign sizes on lines from the drop-down menu.
The Enter size to assign to lines dialog window appears.
2. Type 0.2 on the edit box, as shown in Figure 4.34. This value of 0.2m will be
assign over the lines which compose the Channel (Lines 3, 4 & 5).
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.28
3. Click Assign. Now, the cursor turns from an arrow into a square.
4. Click on lines 3, 4 and 5 (channel) and see how it turns from fuchsia into red
color.
5. Press Esc.
6. Now, the same Enter size to assign to lines window (Figure 4.34) will appear
again.
7. Click Close on the Enter size to assign to lines window.
Silty soil
14. Type 3 on the edit box. This value of 3.0m will be assign over surface 1 (Silty
soil surface).
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.29
15. Click Assign. Now, the cursor turns from an arrow into a square.
16. Click on the surface 1 and see how it turns from fuchsia into red color.
17. Press Esc.
18. Click Close on the Enter size to assign to surface window.
19. Choose Mesh/Generate Mesh from the drop-down menu. Following, an Enter
size of elements to be generated window will appear (Figure 4.36).
20. Type 3 on the edit box.
21. Click Ok. Now, a dialog window will appear notifying that a mesh has been
generated and describing the mesh characteristics (see Figure 4.37).
22. Click Ok to see the generated mesh. The following figure will appear:
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.30
Note how the mesh generated on the Channel and the Lateral permeable soil surface are
more concentrated than on the Silty soil surface.
By selecting View/Label/All from the drop-down menu, the nodes and elements
numeration appears on the Finite element mesh.
4.4. Process
4.5. Post-process
To access Post-process
In order to access the post-process interface and view the corresponding results for
this example:
1. Select Postprocess from Files/Postprocess Drop-down menu or click on
postprocess icon located on the Standard bar menu. Now, the Figure 4.40
appears.
2.
The post-process interface contains many features, but here we will present only
some of the most common features used during post-processing interface.
2. Select Display Vectors from View drop down arrow menu by clicking the down
arrow icon .
3. Click on Liquid flow
4. Click Apply. Now, Figure 4.42 appears on the screen.
Note how the flow vectors seem oriented toward the channel caused by the
imposed pressure gradient at the bottom part of the channel.
Results correspond to the step/time interval 2 at 200 days, as indicated in the Step
drop down arrow menu. If desire to observe the corresponding graph for any other
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.33
step or time interval, just click on the drop down arrow icon located just below
Step option and select the desire time interval.
5. In addition, you can change the color of flow vectors. To do this, select Change
color (mono) from Options/vectors Drop-down menu.
6. Click Ok.
1. Select View results from Window/View results Drop-down menu. A View results
and Deformations dialog window appears (see Figure 4.41).
2. Select Contour fill from View drop down arrow menu by clicking the down arrow
icon .
3. Click on Liquid pressure option.
4. Click Apply. Now, Figure 4.43 appears on the screen.
The Figure 4.43 corresponds to the step/time interval 2 at 200 days as indicated in
the Step drop down arrow menu. Note that the minimum (-0.032383) and
maximum (0.481) liquid pressure values for this case, appear on the Message box.
In order to observe the line of zero liquid pressure follows the next steps:
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.34
Figure 4.45 Fill contours of Liquid pressure representing the saturated zone
Note how only positive values of liquid pressure are drawn and represent the
saturated material. It is observed the drop of the piezometric level towards the
channel, which acts as a seepage boundary. Away from the channel the initial
hydrostatic level is kept.
Now, the unsaturated zone will be plotted following the next steps:
8. Select Reset limit values from Options/Contour Drop-down menu to restore the
maximum and minimum of liquid pressure.
9. Select Define limits from Options/Contour Drop-down menu. A Contour limits
dialog window appears (see Figure 4.44).
10. Type 0 as the Max value.
11. Click Apply. Now, Figure 4.46 appears on the screen.
CODE_BRIGHT - TUTORIAL. HYDRAULIC PROBLEM IV.35
Figure 4.46 Fill contours of Liquid pressure representing the unsaturated zone
Note how only negative values of liquid pressure are drawn and represent the
unsaturated zone (soil with air in their pores). This zone is located between the
ground surface and the phreatic level.
4. Click Apply.
5. Now, enter the coordinates of the points to see its evolution. Type 25.5,50 (Node
1221) at the command line. This point is located at the top of the channel right
boundary and type Enter.
6. Click Apply again to enter the coordinates of the second point. Type 25.5,49
(node 1154) at the command line and type Enter.
7. Click Apply again to enter the coordinates of the third point. Type 25.5,47 (node
990) at the command line and type Enter.
8. Click Apply again to enter the coordinates of the fourth point. Type 25.5,45
(Node 804) at the command line. This point is located at the bottom of the channel
right boundary and type Enter.
9. Click Close. Now, Figure 4.48 appears on the screen.
Figure 4.48 Time evolution of Liquid pressure in four points located at the right channel boundary
Figure 4.48 show the liquid pressure evolution in time in different points located
at the right channel boundary. Time [days] is plotted at the X-axis, while the
Liquid pressure [MPa] is plotted at the Y-axis. It is observed that in the time
interval from 0 to 100 days, hydrostatic liquid pressure values remains in the four
points. However, in the time interval from 100 to 200 days, a gradual drop of the
liquid pressure (below the atmospheric pressure) is observed due to seepage
boundary imposed at the channel. In all points a stationary condition is reached.
CODE_BRIGHT TUTORIAL
Lake
1m
Channel 5m
1m
1m
50 m
50 m
Legend:
Silty soil
This tutorial in an extension of the Tutorial IV, therefore only the main modifications
required to include the solute transport effect are described. It is necessary to perform the
Tutorial IV before starting this problem.
3. The window shown in Figure 4.3a appears. Type 5 for the question of Enter
number of divisions and then press OK.
4. Select line 6 (located at the top right of the channel) and then press Esc.
5. Now, 1 Lines divided message appears on the message box. Geometry line at
the top right side of the channel has been divided in 5 lines, as is shown in
Figure 4.4a. New line 17 represents the lake location.
In order to label the lines in the geometry, make a right click on the graphical area and
select Label/All in/Line as shown in Figure 4.5a.
Now it is convenient to save the work, selecting File/Save or click on the save icon .
Select Data/Problem data/Problem data from the drop-down menu and the Problem data
window appears. Modifications in the windows Equations solved, Solution strategy and
Output has to be done, as is described below:
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.4
2. Check box besides Mass balance of water (unknown liquid pressure Pl).
3. Check box besides Mass balance of conservative species (unknown solute
concentration w).
The rest of the dialog box options (i.e. Stress equilibrium, Mass balance of air,
etc.) are not applicable for this simulation.
4. Click Accept to modify the mentioned data values.
3. Use default value for Max Abs Solute (i.e. 1e-6). Refer to the User’s manual
(variable DELMXI in Card Group 11 of the Code_Bright Process).
4. Use default value for Max Nod Solute Bal [kg/s] (i.e. 1e-10). Refer to the
User’s manual (variable DELIMX in Card Group 11 of the Code_Bright
Process).
5. Type 0.1 on the Solute Iter Corr edit box. Refer to the User’s manual
(variable DIMX in Card Group 11 of the Code_Bright Process).
6. Leave the other options with the values assigned in the Tutorial IV.
7. Click Accept to modify the mentioned data values.
2. Type 10 on the Writing frequence edit box. This value indicates the frequency
of writing results in the output file every 10 calculated time increments.
3. Leave the other options with the values assigned in the Tutorial IV.
4. Click Accept to modify the mentioned data values.
To define Materials:
1. Click on Data/Materials from drop-down menu.
2. Select Silty soil as the Material.
3. Choose Hydraulic and Thermal data tab menu. The following dialog window
appears:
4. Click on any button (i.e. ITYCL, P1, P2 …P10, etc.) which appears besides
Dispersive Flux of Mass and Energy.
The field ITYCL contains a flag to define the type of relation considered for the
constitutive law. The fields P1 to P10 contain the parameters of the relation.
ITYCL and P1 to P10 depend on the constitutive law and are listed in Chapter
CODE_BRIGHT. CONSTITUTIVE LAWS. CODE ICL=8.
5. Type 1 on the edit box below ITYCL. This value corresponds to the
Dispersive flux equation.
6. Type 0.1 on the edit box below P1. This value is the longitudinal dispersivity
for solutes in liquid phase, d l [m].
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.7
7. Type 0.1 on the edit box below P2. This value is the transversal dispersivity
for solutes in liquid phase, d t [m].
The Dispersive Flux of Mass and Energy edit box seems similar to the following
figure:
Figure 4.10a Dispersive Flux of Mass and Energy edit box for Silty soil.
There is no need to assign the material over the silty soil geometry of the problem
which consists in a surface, because it has been previously assigned in the
Tutorial IV.
9. Select Lateral permeable soil on the top of materials window. The following
window appears,
Now, it is necessary to define the parameters of solute transport for the Lateral
permeable soil material (which are the same of the Silty soil). In order to do it,
follow the next steps:
Again, there is no need to assign the material over the Lateral permeable soil
geometry of the problem which consists in two surfaces, because it has been
previously assigned in the Tutorial IV.
In this simulation once a flux stationary condition is reached, the solute transport problem
is solved.
To define Flux B.C. Conditions (Prescribed solute mass fraction on the bottom
boundary)
1. Verify that you are working on interval data 1. Select Data/Interval data from
principal menu and select 1 from the drop-down menu localized at the top side of
Interval data window. Now, click Close to close the window.
2. Select Conditions from Data/Conditions drop-down menu.
3. Click on line icon localized on the top-left side of Conditions window.
4. Choose the option Flux B.C. from drop-down arrow menu by clicking the down
arrow.
5. Select Entities/Flux B.C. from the bottom of Conditions window, to see the
previously boundary conditions prescribed on lines. The following window
appears:
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.9
Figure 4.12a Entities dialogue box for Flux B.C. for interval data 1 (at Bottom Boundary).
6. Select entity E 8 and click on Transfer option to transfer data on the Flux B.C.
window (Figure 4.13a).
7. Type 0.001 on Prescribed solute mass fraction [Kg/Kg] edit box. This value
corresponds to an initial uniform solute mass fraction along the geometry’s
bottom boundary.
8. Leave the other options with the values previously assigned in the Tutorial IV.
see how it turns into red color. These three lines correspond to the entire
geometry’s lower boundary. The change in color from blue to red indicates that
the segment has been selected.
11. Click Finish. The following message will appear in the message box:
Assigned 3 new Lines to conditions: Line_Flux_B.C.
12. Click Close.
Figure 4.14a Entities dialogue box for initial unknowns conditions for interval data 1
4. Select entity E1 and click on Transfer option to transfer data on the Initial
conditions window (Figure 4.15a).
5. A constant initial solute concentration is prescribed on the surfaces:
- Type 0.001 on the Concentration [Kg/Kg] edit box.
- Type 0.001 on the Concentration [Kg/Kg]- Final point edit box.
6. Leave the other options with the values previously assigned in the Tutorial IV.
Figure 4.15a Conditions window (Initial unknowns for Silty and lateral permeable surfaces)
10. Choose Initial unknowns from Entities drop-down menu by clicking the down
arrow. Now, all assigned conditions of type Initial unknowns for each surface
(i.e. E 1) are summarized on the Initial unknowns dialog box as shows the next
illustration (Figure 4.16a).
Before create the boundary condition on the Lake geometry’s, you have to apply the
prescribed solute mass fraction on the bottom boundary for the second interval data.
Please follow the next steps:
12. Select Data/Interval data from principal menu and select 2 from the drop-down
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.12
menu localized at the top side of Interval data window. Now, click Close to close
the window.
13. Select Conditions from Data/Conditions drop-down menu.
14. Click on line icon localized on the top-left side of Conditions window.
15. Choose the option Flux B.C. from drop-down arrow menu by clicking the down
arrow.
16. Select Entities/Flux B.C. from the bottom of Conditions window, to see the
previously boundary conditions prescribed on lines. The following window
appears:
Figure 4.17a Entities dialogue box for Flux B.C. for interval data 2.
17. Select entity E 8 and click on Transfer option to transfer data on the Flux B.C.
window (Figure 4.13a).
18. Type 0.001 on Prescribed solute mass fraction [Kg/Kg] edit box. This value
corresponds to an initial uniform solute mass fraction along the geometry’s
bottom boundary.
19. Leave the other options with the values previously assigned in the Tutorial IV.
20. Click Assign button.
21. The cursor turns from an arrow into a square. Then, click on lines 8, 9 & 12 and
see how it turns into red color. These three lines correspond to the entire
geometry’s lower boundary. The change in color from blue to red indicates that
the segment has been selected.
22. Click Finish. The following message will appear in the message box:
Assigned 3 new Lines to conditions: Line_Flux_B.C.
To define Flux B.C. Conditions (Prescribed solute mass fraction and prescribed
liquid pressure on the boundary representing the Lake):
To add the boundary conditions on the Lake geometry you must first create a new
interval data and subsequently establish the necessary conditions on the Lake. Please
follow the next steps.
1. Click on Open other data option icon .
2. Choose the Interval Data option from the drop-down menu.
3. Click on New interval icon . The following dialog window appears:
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.13
4. Choose Yes option in order to copy the existing conditions from interval 2.
Notice that now we are working on interval 3. The values for time intervals will
be defined in the next section (4.2.4a)
5. Click on Open other data option icon .
6. Choose Conditions option from the drop-down menu.
7. Click on line icon localized in the top-left side of Conditions window.
8. Choose the option Flux B.C. from the drop-down menu by clicking the down
arrow.
9. Select Boundary flow rate from the Flow rate drop-down arrow menu by clicking
the icon.
10. Type 0.005 on the Prescribed liquid pressure [MPa] edit box. This value
corresponds to the water pressure established on the Lake which is equivalent to a
Lake of about 0.5 m of depth.
11. Type 1e6 on Gamma for liquid edit box. This is a constant that allows prescribing
a pressure with more or less strength. Refer to the User’s manual (Card Group 20
of the Code_Bright Process).
12. Type 0.05 on the Prescribed solute mass fraction [Kg/Kg] edit box. This value
corresponds to solute concentration dissolved in the Lake (this is an arbitrary
value).
By clicking Draw/Flux B.C. on the Draw button, allow you to visualize the
conditions applied represented by a red cross inside a circle (see Figure 4.20a).
13. Click Accept. The message: “Interval Data modified” appears blinking on top of
the Accept button.
14. Now, select Interval data 3 by clicking on the icon localized next to the New
interval icon .
15. Select Days from the Units of time discretization drop down arrow menu by
clicking the icon.
16. Type 200 on the Initial Time edit box.
17. Type 1500 on the Final Time (end period) edit box.
18. Type 0.1 on the Initial Time Step edit box. Leave the other option edit boxes with
default values (0). Refer to the User’s manual (Section II.2.4 of CODE_BRIGHT.
PREPROCESS and Card 13 of CODE_BRIGHT. PROCESS). The following
figure illustrates the data entry for interval 3.
Mesh was created in the Tutorial IV, for this problem a refinement mesh close to the
Lake Geometry it is necessary to guarantee the stability of numerical solution. In this
example an unstructured mesh has been used, which is composed by triangular linear
elements.
3. Click Assign. Now, the cursor turns from an arrow into a square.
4. Click on line 17 (lake) and see how it turns from fuchsia into red color.
5. Press Esc.
6. Now, the same Enter size to assign to lines window (Figure 4.24a) will appear
again.
7. Click Close on the Enter size to assign to lines window.
8. Choose Mesh/Generate Mesh from the drop-down menu. The following Dialog
window will appear:
11. Click Ok. Now, a dialog window will appear notifying that a mesh has been
generated and describing the mesh characteristics (see Figure 4.27a).
12. Click Ok to see the generated mesh. The following figure will appear:
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.19
By selecting View/Label/All from the drop-down menu, the nodes and elements
numeration appears on the Finite element mesh.
4.4a. Process
4.5a. Post-process
To access Post-process
In order to access the post-process interface and view the corresponding results for
this example:
1. Select Postprocess from Files/Postprocess Drop-down menu or click on
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.20
The post-process interface contains many features, but here we will present only
some of the most common features used during post-processing interface.
Note how the flow vectors seem to be oriented toward the channel and also the
flow vectors from the Lake zone goes towards the channel direction.
5. In addition, you can change the color of flow vectors. To do this, select Change
color (mono) from Options/vectors Drop-down menu.
6. You can change the scale factor of flow vectors. To do this, type 3e+007 on the
option factor localized at the left-bottom side of the View Results & Deformations
window.
7. Click Ok.
1. Select View results from Window/View results Drop-down menu. A View results
and Deformations dialog window appears.
2. Select Contour fill from View drop down arrow menu by clicking the down arrow
icon .
3. Click on Liquid pressure option.
4. Click Apply. Now, Figure 4.31a appears on the screen.
5.
The Figure 4.31a corresponds to the step/time interval 3 at 1500 days as indicated
in the Step drop down arrow menu. Note that the minimum (-0.035016) and
maximum (0.481) liquid pressure values for this case, appear on the Message box.
In order to observe the line of zero liquid pressure follows the next steps:
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.22
Figure 4.32a Fill contours of Liquid pressure representing the saturated zone
Note how only positive values of liquid pressure are drawn and represent the
saturated material. It is observed the drop of the piezometric level towards the
channel, which acts as a seepage boundary. Near to the Lake zone material
remains saturated. Away from the left side of the channel the initial hydrostatic
level is kept.
The Figure 4.33a corresponds to the step/time interval 3 at 1500 days as indicated
in the Step drop down arrow menu. It is observed the patch of solute which
extends longitudinally through the silty soil and moves towards the channel.
1. Select View graphs from Window Drop-down menu. A Graphs window appears
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.24
2. Select Point evolution from View drop down arrow menu by clicking the down
arrow icon .
3. Click on Concentration option.
4. Click Apply.
5. Now, enter the coordinates of the points to see its evolution. Type 38,50 at the
command line and type Enter. This point is located at the Lake boundary.
6. Click Apply again to enter the coordinates of the second point. Type 34,48 at the
command line and type Enter.
7. Click Apply again to enter the coordinates of the third point. Type 30,47 at the
command line and type Enter.
8. Click Apply again to enter the coordinates of the fourth point. Type 26,46 at the
command line and type Enter. This point is located closer to channel right
boundary.
9. Click Close. Now, Figure 4.36a appears on the screen.
Figure 4.36a show the solute concentration evolution in time in different points.
Time [days] is plotted at the X-axis, while the Concentration [Kg/Kg] is plotted at
the Y-axis. It is observed that in the time interval from 0 to 200 days, initial
concentration value of 0.001 remains in the four points. In the time interval from
200 to 1500 days, a gradual increase of the concentration occurs, which as
expected is higher for the point located at the Lake Boundary. For the point
located near to the channel the increase in concentration starts after 700 days and
if more time is allowed (greater than 1500 days) the maximum concentration
value and a stationary condition also will be reached in this point.
CODE_BRIGHT - TUTORIAL. HYDRAULIC_SOLUTE PROBLEM IVa.25
Figure 4.36a Time evolution of Concentration in four points localized on the silty soil
CODE_BRIGHT TUTORIAL
V. TUTORIAL EXAMPLE
Various mechanisms for gas migration have been identified, gas diffusion, two-phase
flow and two-phase flow coupled with mechanical effects, that may lead to fracturing
of the porous medium. Tutorial example addresses the Gas injection problem in a
very stiff porous media (only hydraulic problem) and also in a deformable porous
media (Hydro-Mechanical problem).
The procedure to carry out the simulation of this problem is the same as followed for
the previous tutorials: Geometry, problem data, materials, conditions, interval data,
mesh generation, process and post-process. In the first section (A) the Hydraulic
problem is addressed in detail and in the second section (B) only the additional
requirements to the Hydro-Mechanical analysis are presented.
A. HYDRAULIC ANALYSIS
Create different lines (pressing the icon ) to define the geometry of the test. Enter
the co-ordinates of the external points as follow:
External points X Y
1 0 0
2 0.03 0
3 0.03 0.12
4 0 0.12
Press the option JOIN to join the last line created with the point 1. Then Press Esc.
Now, it is necessary to create the points on which gas will be injected (on the left
boundary) and the points of liquid output (on the right boundary). In order to create
the points and generate the lines joining the created points, the option of divide lines
can be used. Select Geometry/Edit/Divide/Lines/Near point. Enter the coordinates
of points to be created and highlight the respective lines to be divided. Coordinates of
the points are,
Points X Y
4 0 0.04
5 0 0.06
6 0 0.08
7 0.03 0.03
8 0.03 0.06
9 0.03 0.09
As has been done for the previous tutorials, select Data/Problem data in the pull
down menu.
First of all, the General data sheet has to be introduced. Choose Full execution
option for Execution. Choose the option No Backup for Backup. The problem to be
modelling is an Axi-symmetric case so enter Around y-axis in the Axysimetry
option. Enter the value 0 in the box of Gravity components.
The next step is to fill the Equations Solved sheet (See Figure 5.2). This allows for
defining the equations for this Hydraulic problem. Check the box of Mass balance of
water (unknown liquid pressure Pl) and Mass balance of air (unknown gas
pressure Pg) as well. The dissolved air into liquid phase is allowed, this implies that
the air concentration is computed.
Next, the Solution Strategy sheet has to be filled (See Figure 5.3). Put 1 in the
Epsilon and Theta boxes. Introduce 7 in Time step control which means that the
control time stepping is by means of a prediction based on the relative error deviation
of 0.001 in the variables. Put 10 in the box Max number of iterations per time
step. Choose Direct LU-Back3 in the pull down menu Solver type. Leave by default
Average nodal degrees of saturation in Elemental relative permeability.
Set a value of 1.e-5 in Max Abs Pl, a value of 1.e-10 in Max Nod Water Mass Bal
and set 0.1 in Pl Iter Corr. In the same way, set a value of 1.e-5 in Max Abs Pg a
value of 1.e-10 in Max Nod Air Mass Bal and set 0.1 in Pg Iter Corr. Use the default
option in the pull down menu of Convergence criterion.
Finally, the output sheet has to be filled. Choose All in the pull down menu Write
numerical process information. Type 20 in the box Writing frequence. Choose
Gauss points in the pull down menu Output points. Finally, choose Write all
information option.
To define the material, select Data/Materials in the pull down menus. Press the icon
in order to set the properties of the Sand-Bentonite. As regards the problem which
has to be modelled (only hydraulic problem in this section), Hydraulic data and Phase
properties sheets have to be filled for this material. Figure 5.4 presents the hydraulic
adopted parameters for the Sand-Bentonite.
Once all constitutive laws necessary to model the sand-bentonite have been
introduced, assign them over the surface created. The surface belonging to the sand-
bentonite has to be highlighted. When it is done, the following message appears in the
message area:
HYDRAULIC DATA
Retention Curve: Van Genuchten model:
−
ITYCL 1 1
P2: σ o (N m-1)
Se = = 1+
0.072 S ls − S rl P
P3: 0.2
P4: S rl 0.1 σ
P5: S ls 1
P = Po
σo
Intrinsic Permeability: Darcy’s law:
kkrl
q =−
l P−
l lg
ITYCL 1 l
P1: (k 11 ) o (m2) 1.E-17 3
(1 − o ) 2
P2: (k 22 ) o (m2) 1.E-17 Kozeny’s model: k = k o
P3: (k 33 ) o (m2) 1.E-17 (1 − ) 2 o
3
P4: o 0.3
P5: min 0
Liquid phase relative Permeability:
ITYCL 6 k rl = AS e
P2: A 1
P3: 3
Gas phase relative Permeability:
ITYCL 6 krg = ASeg
P2: A 10
P3: 2
Figure 5.4. Constitutive laws and parameters needed to set the hydraulic properties of the sand-
bentonite
Initial unknowns:
To introduce the initial unknowns, press the surface icon and choose Initial
unknowns in the pull down menu. Select Constant in the pull down button
Distribution. Then, introduce 0.1 in the Pl(MPa)-field, 0.1 in the Pg(MPa)-field and
20 in the T(ºC)-field. Assign this condition over the surface making up the sand-
bentonite.
Initial Porosity:
In order to set the initial porosity, press the surface icon and choose Initial
Porosity in the pull down menu. Then, introduce 0.3 in the Porosity field. Assign it
over the surface making up the sand-bentonite.
A summary of the boundary conditions imposed on the test is shown in Figure 5.6.
This window can be visualised pressing Entities/all conditions in the window
Conditions.
COD_BRIGHT - TUTORIAL. GAS INJECTION V.7
Figure 5.6. Summary of all conditions imposed on lines/surfaces at the first time interval
5.4. Process
The problem is now ready to run. Press Calculate/Calculate. It will take a few
minutes to finish. Once the process is finished, press Post-process.
5.5. Post-Process
Only some features of post-process interface are represented here. User could explore
more options to visualise the results.
The evolutions of the main variables of the problem will be inspecting. Contour fill of
the variables can be visualised selecting Window/View results and then the specific
variable. Figures 5.9, 5.10, 5.11, 5.12, 5.13 and 5.14, present the contours of
distribution of the Dissolved air concentration (kg/kg), Gas density (kg/m3), Gas
pressure (MPa), Liquid density (kg/m3), Liquid pressure (MPa) and Degree of
saturation, respectively, at some specific times of the analysis.
From results presented in Figures 5.9 to 5.14 it will be highlighted the following main
points:
- Gas pressure, gas density and dissolved air concentrations increase considerably
near to the gas injection points at the test beginning. In time, values are reduced
and an equilibrium condition is reached for all variables after about 6 hours. An
effect of wave propagation in the medium is observed in the time variation of the
variables controlling the problem. The same tendency is observed for the liquid
pressure and liquid density; however variation of the liquid density is very small
and values reached of the liquid pressure are smaller than of the gas pressure.
- At the beginning the porous medium is saturated which means that degree of
saturation is equal to 1. It will be observed that the due to gas injection the
COD_BRIGHT - TUTORIAL. GAS INJECTION V.9
medium becomes unsaturated, the water is displaced by the gas (or air) in a
progressive way and at the end time of the test (240 h), degree of saturation has
been reduced until 0.85.
In figures 5.15, 5.16 and 5.17, the temporal evolution of Gas pressure, Liquid pressure
and Degree of saturation, respectively, at specific locations of the test are presented. It
COD_BRIGHT - TUTORIAL. GAS INJECTION V.12
can be seen that after a period of injection, gas starts to penetrate into the medium, a
gas pressure build-up occurs and both a peak threshold gas pressure and liquid
pressure are observed. These peak threshold pressures are higher at the point P1
(injection point) and occurs at a lower time period in comparison with the observed
for the points P2 and P3. After peak, both Gas and Liquid pressure reach a steady
state after about 6 hours, in all points. It is also observed in Figure 5.17 that a higher
and faster desaturation occurs at the point P1 than at points P2 and P3.
1
0.9
0.8 P1
Gas Pressure (MPa)
P2
0.7
P3
0.6
0.5
0.4
0.3
0.2
0.1
0
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.15. Temporal evolution of the Gas pressure (MPa)
0.9
0.8 P1
P2
Liquid Pressure (MPa)
0.7
P3
0.6
0.5
0.4
0.3
0.2
0.1
0
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.16. Temporal evolution of the Liquid pressure (MPa)
COD_BRIGHT - TUTORIAL. GAS INJECTION V.13
1.05
P1
1 P2
Degree of saturation P3
0.95
0.9
0.85
0.8
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.17. Temporal evolution of the degree of saturation
B. HYDRO-MECHANICAL ANALYSIS
Main modifications of the simulation steps to include the coupling between hydraulic
and mechanical process are described in this section.
In addition, taking into account that the gas injection may lead to fracturing of the
porous media, the cubical law to compute the intrinsic permeability is employed (see
parameters in Figure 5.20). This law is written as a function of an initial aperture of
the medium which can varies with the strain development. In this way, a preferential
path of gas flow is allowed. Other Hydraulic constitutive laws as the Retention curve
and the Liquid and Gas relative permeability remain the same to the previously
defined in Figure 5.4.
Mechanical boundary conditions and an initial stress state have to be defined for the
Hydro-Mechanical problem in addition to the previously defined conditions for the
hydraulic problem (see section 5.2.3).
Hydraulic conditions do not change; these were defined in section 5.2.3. Now,
mechanical conditions have to be defined. A restriction of null displacements is
prescribed at the boundaries of the sample. To do this, select
Data/conditions/lines/Force-Displacement/Boundary stress and assign on lines
the following conditions,
COD_BRIGHT - TUTORIAL. GAS INJECTION V.15
X-direction Y-direction
Line Multiplier
prescribed prescribed
1 0 1 1E10
3 0 -1 1E10
6, 8, 10, 9 1 0 1E10
11, 13, 15, 16 -1 0 1E10
Note: on lines 3,11,13,15 and 16, -1 is used instead of +1 in order that the fixities icon
be drawn on the exterior of the line.
Initial unknowns:
Hydraulic initial unknowns were defined in section 5.2.3. Now, initial stresses have to
be defined. Press the surface icon and choose Initial unknowns/Initial Stresses/
Constant. Then, introduce -0.1 MPa in the X-Stress, Y_Stress and Z-Stress fields and
assign this condition over the surface.
MECHANICAL DATA
Linear elasticity:
ITYCL 1
P1: E (MPa) 100
P3: v 0.3
HYDRAULIC DATA
Intrinsic Permeability: Darcy’s law:
ITYCL 5 kkrl
ql = − Pl − lg
P1: (k 11 ) o (m2) 1.E-17
l
P2: (k 22 ) o (m2) 1.E-17 3 2
P3: (k 33 ) o (m2) 1.E-17 (1 − o)
Kozeny’s model: k matrix = k o
P4: o 0.3 (1 − ) 2 o
3
P5: min 0 b 3
P6: - 0 k = k matrix +
P7: b 0 (m) 1.E-7
12 s
P8: s (m) 0.01 Initial aperture: b = b0 + ∆b
P9: 0 1.E-4 ∆b = s∆ = s − (volumetric strain is used)
P10: b max (m) 1.E-3
Figure 5.20. Additional constitutive laws and parameters needed to set the mechanical and
hydraulic properties of the sand-bentonite
COD_BRIGHT - TUTORIAL. GAS INJECTION V.16
Figure 5.22. Summary of all conditions imposed on lines/surfaces for the HM analysis
COD_BRIGHT - TUTORIAL. GAS INJECTION V.17
Contours fill of some variables of the problem are presented in the following figures.
Distributions of Gas pressure (MPa), Degree of saturation, porosity and
Displacements in X-direction (m) are shown in Figure 5.23, Figure 5.24, Figure 5.25
and Figure 5.26, respectively.
the point P1. Desaturation is higher in comparison with the observed in the hydraulic
analysis; this is because desaturation is easier by the presence of an aperture (or
fracture) in the medium and the compressibility assumption. Because of the fracture
aperture, permeability increases and a preferential path of gas flow is allowed.
New evolution variables related to the mechanical problem are plotted in the Figures
5.30 to 5.32; they are the X-displacements (m), total X-stresses (MPa) and porosity,
respectively. After gas injection, an increase in horizontal displacements occurs; these
are higher in the middle of the sample (P2) due to the displacement restrictions
imposed at the sample boundaries. In time, displacements are reduced and a steady
state condition is reached. Displacements induce horizontal stresses which are
controlled by the soil stiffness. After injection, stresses increase, but after about 1
hour, these are reduced until an equilibrium value is reached. Gas injection also
induces an increase in porosity at points P1 and P2, while in point 3 (near to flow
output point) a decrease in porosity is observed. However, variation in porosity is
small.
1
0.9
0.8 P1
Gas Pressure (MPa)
P2
0.7
P3
0.6
0.5
0.4
0.3
0.2
0.1
0
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.27. Temporal evolution of the Gas pressure (MPa) (HM problem)
0.9
0.8 P1
P2
Liquid Pressure (MPa)
0.7
P3
0.6
0.5
0.4
0.3
0.2
0.1
0
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.28. Temporal evolution of the Liquid pressure (MPa) (HM problem)
COD_BRIGHT - TUTORIAL. GAS INJECTION V.20
1.05
P1
1 P2
Degree of saturation P3
0.95
0.9
0.85
0.8
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.29. Temporal evolution of the degree of saturation (HM problem)
2.5E-06
P1
2.0E-06 P2
X-Displacement (m)
P3
1.5E-06
1.0E-06
5.0E-07
0.0E+00
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.30. Temporal evolution of X-displacements (m) (HM problem)
COD_BRIGHT - TUTORIAL. GAS INJECTION V.21
0.3
0.28
0.26
0.24
Stress XX (MPa)
0.22
0.2
0.18
0.16 P1
0.14 P2
P3
0.12
0.1
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.31. Temporal evolution of X-Stressed (MPa) (HM problem)
0.3005
0.3004 P1
P2
0.3003 P3
0.3002
Porosity
0.3001
0.3
0.2999
0.2998
0.2997
1.0E-06 1.0E-04 1.0E-02 1.0E+00 1.0E+02 1.0E+04
Time (hours)
Figure 5.32. Temporal evolution of porosity (HM problem)
CODE_BRIGHT TUTORIAL
DAM
The problem of filling a dam is used to show some of the essential features of the
program in order to solve a hydro-mechanical (HM) coupled problem. The geometry of
the problem is depicted in Figure 6.1. No analytical solution exists for this problem.
50 m.
Figure 6.1. Geometry of the problem
Remember that before starting to introduce all the data needed to simulate the problem,
GID has to be customised for CodeBright.
The procedure to carry out the simulation of this problem is the same as followed for
the footing: Geometry, problem data, materials, conditions, interval data, mesh
generation, process and post-process.
The typical geometry of a dam consists of a core and the upstream and dowstream
slopes. Apart from this, in order to model the processes developed in the dam, a surface
in the upstream side representing the water have to be drawn.
A simplified procedure in order to build the geometry of the dam is followed. Create
different lines (pressing the icon ) to define the geometry of the core, the upstream
and downstream slopes and also the water at the upstream side of the dam. Enter the co-
ordinates of the points defining each line as follows:
CODE_BRIGHT-TUTORIAL. DAM VI.2
Water X Y
Point 1 / line 1 50 0
Point 2 / line 1 100 0
Point 3 / line 2 190 50
Point 4 / line 3 50 50
Point 5 / line 4 50 0
It is important to press the option JOIN to join the last line created with the existing
point created at the beginning. Then Press Esc. The same procedure is repeated for the
slopes and the core of the dam.
Upstream slope X Y
Point 1 / line 5 100 0
Point 2 / line 5 180 0
Point 3 / line 6 197.5 50
Point 4 / line 7 190 50
Core X Y
Point 1 / line 8 180 0
Point 2 / line 8 230 0
Point 3 / line 9 212.5 50
Point 4 / line 10 197.5 50
Downstream Slope X Y
Point 1 / line 11 230 0
Point 2 / line 11 310 0
Point 3 / line 12 220.5 50
Point 4 / line 13 212.5 50
When the co-ordinates of common points are introduced, the double data point creation
window appears again. JOIN has to be pressed again in these cases.
To create the different surfaces, which make up the problem of the dam, select
Geometry/Create/NURBS surface/Automatic. The following window will appear:
Introduce 4 and press OK. It automatically creates all possible surfaces with 4 sides. The
following message appears in the message area:
After the definition of the new surfaces the enter value window appears again. Press
Cancel because now the geometry to solve this problem is done. It looks like in Figure
6.2.
As has been done for the footing, select Data/Problem data in the pull down menu. To
enter all the general data that CodeBright needs to perform the simulation, the problem
to be modelled has to be taken into account. It is a consolidation problem which means
it is a hydro-mechanical (HM) coupled problem.
First of all, the general data sheet has to be introduced (See Figure 6.3). Inside the box
Title of the problem you can, for example, introduce: DAM. Either Full execution or
Only data file generation can be chosen for Execution. The option is related to the
three processes (Pre-process, process and post-process) carried out to solve the problem
from the input to output data. Figure 6.4 shows schematically the files generated during
these processes. The three of them are carried out when Full execution is chosen. If
Only data file generation is chosen instead, it is the responsibility of the user to carry
out the process stage by another way. For this problem, choose Full execution.
The case of a very large dam is modelled as a plane strain problem without any
symmetry so enters No in the Axysimetry option. Enter the value 0 in the box Gravity
X-component and -9.81 in the box Gravity Z (Y for 2D). Choose the option No
Backup for Backup, which means that is not possible restart of calculation from a
CODE_BRIGHT-TUTORIAL. DAM VI.4
specific interval time if the calculation is stopped before finish (see CODE_BRIGHT.
PREPROCESS. PROBLEM DATA).
The next step is to fill the Equations Solved sheet (See Figure 6.5). This allows for
defining the equations for this Hydro-Mechanical problem. Check the box of Stress
equilibrium (unknown displacement u) and choose No in the pull down menu
Updater Lagrangian method. This allows for a pure mechanical problem. As it is a
coupled HM problem, select Mass balance of water (unknown liquid pressure Pl)
as well. Finally for this sheet, put 0 in the Constant Pg (MPa) option and 20ºC in the
Constant temperature (ºC). The other parameters are not relevant for this problem.
PREPROCESS POSTPROCESS
Input data Output data
PROCESS
DAM_flavia.dat
Output points: DAM_flavia.res
Root.dat Nodes
DAM_gen.dat
DAM_gri.dat Code_bright.exe
DAM_post.msh
Output points:
Gauss points DAM_post.res
Full Execution
Preprocess + Process + Postprocess
Next, the Solution Strategy sheet has to be filled (See Figure 6.6). Put 1 in the
Epsilon and Theta boxes. If in doubt, they are described both in chapter
CODE_BRIGHT PROCESS. PROBLEM DATA and Card 8 of chapter
CODE_BRIGHT PROCESS. Introduce 1 in Time step control which means that a
new time step is predicted according to iteration number. Put 10 in the box Max
number of iterations per time step. Choose Direct LU-Back3 in the pull down
menu Solver type.
Finally, the output sheet has to be filled. Choose All in the pull down menu Write
numerical process information. Type 100 in the box Writing the frequence.
Choose Use Writing frequence in the pull down menu Write Boundary Flows in
additional file. Choose Gauss points in the pull down menu Output points. Finally,
choose Write all information option.
Different materials make up this problem. Firstly, the Dam per se consists of a core
made up by low permeability material and the slopes which consist of a rockfill.
However, in order to perform the simulation, the water has to be considered as an
independent material which has its own properties. Therefore, three different
materials are being modelled for this problem.
If in doubt during the process to set the constitutive laws for these materials, see both
CODE_BRIGHT. PREPROCESS. MATERIALS. and chapter CODE_BRIGHT.
CONSTITUTIVE LAW.
Core
As regards the problem which has to be modelled, only Mechanical data and
Hydraulic and thermal data sheets have to be filled for this material.
In the mechanical data sheet, for Linear Elasticity, press the button ITYCL. Enter 1 in
the ITYCL box, 50 in the box P1 and finally 0.3 in the box P3. Now press the cross
icon to close the parameter area window.
Apart from what has been introduced up to now for saturated behaviour of the core, it
is necessary to set the constitutive laws for unsaturated soils. They are based on the
Barcelona Basic Model (BBM) which is a general model for unsaturated soils based
on the Desai and Perzyna theory. It is carried out by the three options of
Viscoplasticity – General Parameters 1,2 and 3 set by ICL=34, 35, and 36. To get
some more background information about the equations of the BBM used here, see
Viscoplasticity for unsaturated soils based on BBM in chapter CONSTITUTIVE
LAWS.
For Viscoplasticity – General Parameters 2 enter 1 both in ITCYL and P1. The last
one corresponds to the power in F and G n. Enter -0.111 in the box P2 which
corresponds to the parameter in F and G Enter 0.06 in P7 and P8 which correspond
respectively to the initial size of F (J 1 o*) F and initial size of G (J 1 o*) Q both in MPa.
Enter 3 in the box P9 which corresponds to the parameter in F and G a and finally
enter 0.85 in the box P10 which corresponds to SAT .
In the Hydraulic and thermal data sheet, for Retention Curve, enter 1 in the
ITCYL box to set Van Genuchten model. Enter 0.5 in the P1 box which corresponds
to a measured pressure P o in MPa at a certain temperature. Enter 0.072 for P2 box
o in MPa at the temperature in which P o
was measured. Enter 0.33 in P3 box which corresponds to the shape function for the
retention curve . Finally, enter 1 in the P5 box which corresponds to the maximum
saturation S ls . To get some more background information about the model to be used,
see Retention Curve in the chapter CONSTITUTIVE LAWS.
For Intrinsic Permeability, enter 1 in ITCYL box. Enter 1e-15 in P1, P2 and P3
which correspond to the intrinsic permeability for the first (k 11 ) o , second (k 22 ) o and
third (k 33 ) o principal direction respectively measured in m2. Finally, enter 0.3 in P4
box which corresponds to the reference porosity o for read intrinsic permeability.
For Liquid Phase Relative Permeability, enter 6 in the ITCYL box to set k rl = AS e
as equation to follow, where S e is the degree of saturation. Enter 1 in P2 box which
corresponds to the A value and finally, enter 3 in the P3 box to set the value of the
power . To get some more background information about the equations to use here,
see Liquid Phase relative Permeability in the chapter CONSTITUTIVE LAWS.
All constitutive laws necessary to model the core have been introduced. Now, assign
them over the whole core. The surface belonging to the core has to be highlighted.
When it is done, the following message appears in the message area:
In order to set the constitutive laws for the Rockfill, press the icon from the sheets
filled for the core. It will save time because it will leave by default some values
entered for setting the materials of the core. Then, you can, for example, name the
new material:
Rockfill
As was done to model the materials of the core, only Mechanical data and Hydraulic
and thermal data sheets have to be filled for this material.
In mechanical data sheet, for Linear Elasticity, leave the same values entered for
the core.
For Viscoplasticity – General Parameters 1, leave the same values entered for the
core and add -
For Viscoplasticity – General Parameters 2, leave the same values entered for the
core in ITCYL, P1, P2, P3, P4, P6 and P9 boxes. Add the value of 1.70 in P5 box
which corresponds to DRY . Modify P7 and P8 boxes to 0.15. Finally, modify P10 box
to 1.30.
For Viscoplasticity – General Parameters 3, leave the same values entered for the
core in P1 and P6 boxes. Modify ITCYL to 3, P2 to 0.025, P3 to 0.028, P4 and P5 to
0.01, P7 to -0.001 and P8 to 0.001.
In the Hydraulic and thermal data sheet, for Retention Curve, leave the same
values entered for the core in all boxes except P1. Modify this one to 0.01.
For Intrinsic Permeability, modify the principal directions of the permeability (P1,
P2, and P3 boxes) to 1e-12. Leave the other values as they were set for the core.
For Liquid Phase Relative Permeability leave the same values entered for the core.
In the Construction Excavation sheet, leave the same values entered for the core.
All constitutive laws necessary to model the Rockfill have been introduced. Now,
assign them over the whole Rockfill, both in the upstream and downstream slopes.
One surface belonging to each slope has to be highlighted. When this is done, the
following message appears in the message area:
As was said before, the water is modelled as an independent material. To set its
different properties it is necessary to regard the constitutive laws set in the
Mechanical data, Hydraulic and thermal data and Phase properties sheets.
Before creating the new material, set the soil material in the pull down menu. This
creates a new material from a new set of sheets. Then, press the icon in order to
name the surface at the left side of the dam. Enter, for example:
CODE_BRIGHT-TUTORIAL. DAM VI.10
Water
In mechanical data sheet, for Linear Elasticity, enter 1 in the ITCYL box, 5 in P1
box and finally 0.49 in P3 box.
In Hydraulic and thermal data sheet, for Retention Curve, enter 1 in ITCYL box,
0.001 in P1 box, 0.072 in P2 box, 0.33 in P3 box and 1 in P5 box.
For Intrinsic Permeability, enter 1 in ITCYL box. Enter 1e-10 in P1, P2 and P3.
For Liquid Phase Relative Permeability, enter 6 in ITCYL box. Enter 1 in P2 box
and finally enter 3 in P3 box.
In the Phase properties sheet, go to Solid phase. Enter 1 in ITCYL box and enter
0.001 in P2 box which corresponds to the solid phase density s measured in kg m-3.
For Liquid phase density, enter 1 in ITCYL box and 1000 in P1 which corresponds
to the reference density lo in kg m-3.
All constitutive laws necessary to model the water have been introduced. Now, assign
them over the surface at the left side of the dam. When this is done, the following
message appears in the message area:
In order to clarify the work performed in this part, Figure 6.7 resumes the constitutive
laws and the parameters that have been used to model the different materials so far.
CODE_BRIGHT-TUTORIAL. DAM VI.11
Figure 6.7. Constitutive laws and parameters needed to set the properties of the materials
Both the dam and the water have to be taken into account to set the different
conditions necessary to carry out the simulation.
Figure 6.8 shows schematically both mechanical boundary conditions and flux
boundary conditions.
Two restrictions for displacements have to be set in order to solve the problem, one at
both the base of the dam and the water in which horizontal and vertical displacements
must be prescribed, and the other, in the left side of the water in which only the
horizontal displacement must be prescribed.
Select Boundary stress in the pull down button Forces since displacement is applied
as a force condition by means of a multiplier. As regards the problem which has to be
modelled, set 1e10 in the field Multiplier. To get some more background information
about the field Multiplier, see Card Group 18 in chapter CODE_BRIGHT. PROCESS
and see Force/displacement conditions in CODE_BRIGHT. PREPROCESS.
PROBLEM DATA.
In the same window used before, only set the X-direction prescribed to 1 and assigns
that condition over the line which makes up the left vertical side of the water (line 4).
Four lines belonging to the boundary y=0 and one line belonging to the boundary x=0
should have been assigned so far. Press Draw/Force/Disp B.C. in order to check
those two conditions have been assigned.
In order to simulate the filling of the dam, a condition of mass inflow must be set at
the base of the water. The line of the water’s base allow for the water’s injection. It is
also necessary to set an impermeable base for the dam. Finally, a condition of seepage
face must be set in the downstream slope of the dam.
a) Mass inflow for a phase pressure prescribed at a line (the water’s base)
b) Impermeable condition at the base of the dam
c) Seepage face in the downstream slope
CODE_BRIGHT-TUTORIAL. DAM VI.14
a) Mass inflow for a phase pressure prescribed at a line (the water’s base)
Press the line icon and then choose Flux B.C. in the Conditions window.
Boundary Flow rate is selected in the Flow rate field. Set 1.e3 in Gamma for liquid
l is a leakage coefficient, that is, a constant
l is large, pressure
will tend to reach the prescribed value. However, inaccuracy in prescribing the
pressure could be produced if an extreme value is set. To get some more background
information about the field Gamma for liquid, see Card Group 20 in the chapter
CODE_BRIGHT. PROCESS and Flux boundary Condition in CODE_BRIGHT.
PREPROCESS. PROBLEM DATA. Finally, select this condition over the line 1 at
the base of the water.
Press the line icon and then choose Flux B.C. in the Conditions window. Make
sure that Boundary Flow rate is selected in the Flow rate field. Leave all the values
as 0 and assign this new condition over the base of the dam (lines 5, 8 and 11). This
new condition creates a line of flux at the base made up by 3 lines of flux, which in
other words sets an impermeable base.
In the same window used before, set -1.e6 in Gamma for liquid field. This negative
sign only indicates that lines with this kind of boundary condition allow seepage. By
setting this condition, the seepage face in the downstream slope is established. To get
some more background information about the field Gamma for liquid, see Card
Group 20 in chapter CODE_BRIGHT. PROCESS. Finally, assign this condition over
the downstream slope (line 12).
One line of inflow and one line of seepage have been set for Flux Boundary
conditions so far. Press Draw/This Flux B.C. by setting in order to check the
flow conditions.
Initial unknowns
In the problem that is being modelled there are two main initial unknowns. Firstly, it
has to be taken into account that both the core and the rockfill are unsaturated
materials. Therefore, a value for suction must be set for each one. Secondly, in order
to model the filling of the dam, the atmospheric pressure must be set in the upstream
side of the dam.
CODE_BRIGHT-TUTORIAL. DAM VI.15
To introduce the initial unknowns, press the surface icon and choose Initial
unknowns in the pull down menu. Select Constant in the pull down button
Distribution.
Then, in order to set the suction for the core, introduce -0.4 in the Pl-MPa- field.
Assign this condition over the surface making up the core of the dam. Use the same
procedure for the rockfill but introduce -0.2 instead.
Finally, in order to set the atmospheric pressure in the upstream side of the dam, set
the value -0.1 in the Pl-MPa- field. Assign this condition over the surface making up
the water.
Now, select Draw/Colors in this condition window. One colour should appear for the
core, another for both the upstream and downstream slopes and finally another one for
the surface in the upstream side of the dam.
Initial Stress
Press the surface icon and choose Initial Stress in the pull down menu. Select
Constant in the pull down button Distribution.
Then, in order to set a non-existent initial state stress for the dam, set -0.01 in X, Y,
and Z stress fields. Assign it over the whole dam.
Now, in the same window, replace -0.01 with -0.001 in order to set the value of the
initial stress for the water. Then assign it over the surface making up the water.
Initial Porosity
The initial porosity for the materials making up the dam (both the core and the
rockfill) is considered equal to 0.3. In order to set this value for the dam, press the
surface icon and choose Initial Porosity in the pull down menu. Then, introduce
0.3 in the Porosity field. Finally, assign it over the whole dam.
However, since the water is being modelled as another material and taking into
account that CODE_BRIGHT is a program to model porous media, it is also
necessary to set a high porosity for the water. As was done for the dam, introduce 0.9
and assign it over the surface making up the water.
Once the problem data, the materials and the conditions have been introduced, the
time interval needs to be defined. As regards the problem which has to be modelled,
boundary conditions must be modified depending on the time interval. By increasing
the pressure in the boundary flux condition at the base of the dam, the filling of the
dam is simulated. This is defined by two time intervals throughout 300 days. A
preceding interval during which no load is performed (from 0 to 1) must be set. This
lets the system equilibrate the initial conditions.
CODE_BRIGHT-TUTORIAL. DAM VI.16
If in doubt during the procedure to set the interval data, it is possible to get some more
background information in II.2.4. INTERVAL’S DATA of CODE_BRIGHT
PREPROCESS. PROBLEM DATA and in Card 13 of CODE_BRIGHT. PROCESS.
Now, go to interval Data Window. Change the units of time discretization to days.
Then, define time card parameters for each interval as set in Figure 6.9. Remember
that the icon allows for generating a new time interval and copies the condition’s
entities from the preceding interval. For the first time interval select the option put
displacements to zero.
Once it is done, the pressure’s condition at the base of the water needs to be modified.
Set the second time interval (from 1 to 2) and press the icon at the right side of the
Interval Data Window. Select the option Conditions in the pull down menu. Then,
choose the icon and select Flux B.C. in its pull down menu. This is the condition
that needs to be modified in order to simulate the filling of the dam. To do that, select
entities, select the entity E1 and transfer it to the Conditions window and introduce
0.47 in the Prescribed liquid pressure increment (MPa) and Set 1.e4 in Gamma
for liquid field. Assign the modified condition to the line 1. Finally, check that the
entity has been modified, return to the Interval data window by pressing the icon
and press accept data in order to save the changes.
Figure 6.10 shows the prescribed liquid pressure which needs to be introduced for
each interval.
Prescribed liquid
Time
pressure increment
interval
(MPa)
from 0 to 1 0
from 1 to 2 0.47
Figure 6.10. Values to enter as a prescribed liquid pressure in the boundary flux condition
Enter 10, press Assign and highlight the entire geometry again. This procedure
creates 10 cells from the bottom to the top of the dam and water surfaces. All the lines
and surfaces making up the geometry have to change from fuchsia to red. Press Esc
and close the window.
Introduce 4, press Assign and select the horizontal lines making up the water. This
procedure creates 4 cells from the left side of the water to the upstream slope of the
dam. Press Esc after selecting these lines. The same window appears. Introduce 12
and press Assign. Select all the horizontal lines making up the dam. Press Esc and
now press close in the Enter value window.
Now, generate the mesh by Mesh/Generate Mesh in the pull down menu.
As a result of these processes, the mesh has to look like Figure 6.10.
3.4. Process
The problem is now ready to run. Press Calculate/Calculate. It will take a few minutes
to finish. Once the process is finished, press Post-process.
3.5. Post-Process
Once post-process is initiated, all the materials making up the problem are
automatically coloured. As was said for the footing example, post-process interface
contains many features. Only few of them are represented here.
CODE_BRIGHT-TUTORIAL. DAM VI.18
The variation in a result with time is an interesting feature explained here. In order to
get it, set a result by Window/View results, i.e. Liq Sat Deg, press Apply and then,
go to Window/ Animate. The window shown in Figure 6.11 appears.
Press the play button in order to find the variation of that result with time. You can
press the right button of the mouse on the screen and select Image to clipboard to
copy the image. Contours fill of Liquid saturation degree at step 300 are shown in
Figure 6.12.
It is also possible to find the variation of a result with time in a specific point of the
geometry. For example, the evolution with time of the Y-Displacements could be
studied in the middle of the core. To do that, a specific result must be set in
Window/View results, selecting Y-Displacements (Contours fill of Y-
Displacements are shown in Figure 6.13). Then, press the right button of the mouse
on the dam and select Label/ Select and press the icon. Now, select the middle
point of the core. Finally, press the play button in the animate window. As a result of
this procedure, a different number of the Y-Displacements should appear near the
selected point for each time step.
Other interesting result for this problem is the variation of vertical stresses trough the
dam. This is set in Window/View results, selecting Syy-stresses, Figure 6.14
shows the contours fill. The evolution of plastic strains also can be visualised, these
are kept as a history variables for the Visco-plasticity model used here. These are set
in Window/View results, selecting EDP or EVP, for deviatoric plastic strain or
volumetric plastic strain, respectively. Contours of volumetric plastic strains are
shown in Figure 6.15.
Apart from all that was said above, another interesting feature of the Post-process’
interface is the possibility to do graphs. Select View results/Graphs in the pull down
menu. Amongst all the graph’s options, for example, select Line Graph, and then Liq
Sat Deg as the result which wants to be obtained in the graph. Now, draw a line
selecting two points in the dam, for example, from the top of the core to the bottom.
Once the second point is set, the graph appears. Graph is shown Figure 6.16. You can
change the scale of the graph in Options/Graphs/X_axes/set_min or set_max
values.
Then, in order to return to the dam, select the icon.
Finally, if another graph wants to be done, it will automatically appear in the same
graph done before. In order to avoid it, select View results/Graphs/clear option.
CODE_BRIGHT-TUTORIAL. DAM VI.20
Figure 6.15. Contours fill of plastic volumetric strains (History variable EVP) at step 300
CODE_BRIGHT-TUTORIAL. DAM VI.22
Figure 6.16. Variation of liquid saturation trough the core at step 300
END OF DAM-TUTORIAL
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.1
CODE_BRIGHT TUTORIAL
THM “Mockup-test”problem
The problem of the “FEBEX mock-up test” (FEBEX project, 2005) is used to show
some of the essential features of the program in order to solve a Thermo-Hydro-
Mechanical (THM) coupled problem.
The FEBEX mock-up test is a large scale heating test which was performed in a
specially built facility located in CIEMAT laboratory in Madrid. The test is a part of
the FEBEX (Full-Scale Engineered Barriers Experiment in Crystalline Host Rock)
project, whose aim is to study the behaviour of the near field of a repository for high-
level radioactive waste in crystalline rock. This is in accordance with the Spanish
reference concept for deep geological disposal, in which canisters with the
conditioned waste are horizontally disposed in galleries and are surrounded by a clay
barrier consisting of blocks made of high-density bentonite. The mock-up test was
designed to ease the verification of the prediction capabilities of the numerical codes
developed to analyse the behaviour of the clay barrier in the near field. Specifically,
their main advantage is avoiding many of the uncertainties arising from the natural
system (granite formation). This is achieved mainly due to the good control of the
initial conditions (hydration process) and boundary conditions of the experiment.
Hydration
system
The tutorial addresses the THM response of a highly compacted Bentonite barrier
under the combined effects of an artificial outer hydration and an inner heating input,
following closely the testing procedure of the “FEBEX mock-up test”.
The procedure to carry out the simulation of this problem is the same as followed for
the previous tutorials: Geometry, problem data, materials, conditions, interval data,
mesh generation, process and post-process.
The THM coupled analyses have been performed using 2-D axi-symmetric
longitudinal section. Also the symmetry of the test has been taken into account and
one half of the mock-up test has been considered (one heater). The simplified
geometry of the problem is depicted in Figure 7.2.
To define the geometry of the test creates different lines (pressing the icon ). Enter
the co-ordinates of the external points as follow:
External points X Y
1 0 0
2 0.81 0
3 0.81 3
4 0 3
Finally enter the first external point co-ordinates (0,0) and press the option JOIN to
join the last line created with the point 1. Then Press Esc.
Now, create the lines representing the heater. Different ways can be chosen to build
the geometry. The procedure to follow here is:
In order to create some parallel lines to the ones that have been created, select
Utilities/Copy... and the window shown in Figure 7.3 will appear. Choose lines as an
Entities type and Translation as a Transformation. One line need to be drawn in
direction “x” at 0.17 m from the line drawn in x=0, and two lines need to be drawn in
direction “y“ at 0.375 m and 2.0 m respectively, from the line drawn in y=0.
To do that, enter the value of 0.17 for the “x” component into the second point, then
press Select and click with the left button of the mouse over the line drawn at x=0.
The colour of the selected line changes from blue to red. Then press Finish. The same
procedure is repeated for the lines in direction “y”, so, enter 0.375 for the “y”
component into the second point, then press Select and click with the left button of
the mouse over the line drawn at y=0. Then press Finish. Repeat the same for create
the line at 2.0 m. Finally press Cancel.
Before creating the set of surfaces, a point in each intersection has to be defined. To
generate these points, select Geometry/Edit/Intersection/Multiple lines and
highlight all the lines defined up to now by clicking somewhere out of the set of lines
and dragging the mouse until the set of lines remains inside the square. The colour of
each line changes from blue to red. Press the ESC button. The following message
appears in the message area:
Select View/Label/All in/ to visualise the labels of lines. Now, some lines must be
deleted. To do that, select either Geometry/Delete/Lines or press the icon and
then . Select the lines 23, 17 and 26 and then press Esc.
value window appears again. Press Cancel because now the geometry to solve this
problem is done. It looks like in Figure 7.2.
Now, it is convenient to save the work.
It is important to note that in the mock-up test, the system of cylindrical co-ordinates
shown in Figure 7.4 has been used. The z-axis (vertical) is directed along the
symmetry axis of the mock-up, the R coordinate (radial) gives the distance to the z-
axis and the coordinate (tangential) is measured from the vertical. Such as the
problem has been modelling here, the R-coordinate correspond with the “x” axis, the
symmetry axis is the “y” axis and the tangential direction corresponds with the “z”
axis. This aspect will be important to the interpretation of results and comparison with
the experiment measures.
+ +Z
+R
Zone B
Zone A O
-Z
Plane AB
As has been done for the previous tutorials, select Data/Problem data in the pull
down menu.
First of all, the General data sheet has to be introduced. Choose Full execution
option for Execution. Choose the option No Backup for Backup. The problem to be
modelling is an Axi-symmetric case so enter Around y-axis in the Axysimetry
option. Enter the value 0 in the box of Gravity components.
The next step is to fill the Equations Solved sheet (See Figure 7.5). This allows for
defining the equations for this Thermo-Hydro-Mechanical (THM) problem. Check the
box of Stress equilibrium (unknown displacement u) and choose No in the pull
down menu Updater Lagrangian method. As it is a coupled THM problem, select
Mass balance of water (unknown liquid pressure Pl) and Energy balance
(unknown temperature) as well. To simplify the problem, the gas pressure is
assumed to be a constant pressure so put 0.1 in the Constant Pg (MPa) option. The
vapour into gas phase is allowed, this implies that vapour concentration is computed.
Next, the Solution Strategy sheet has to be filled (See Figure 7.6). Put 1 in the
Epsilon and Theta boxes. Introduce 7 in Time step control which means that the
control time stepping is by means of a prediction based on the relative error deviation
of 0.001 in the variables. Put 10 in the box Max number of iterations per time
step. Choose Direct LU-Back3 in the pull down menu Solver type. Leave by default
Average nodal degrees of saturation in Elemental relative permeability.
Set a value of 1.e-5 in Max Abs Displacement, a value of 1.e-10 in Max Nod Bal
Forces and a value of 0.1 in Displacement Iter Corr. Such a big value means that
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.6
Finally, the output sheet has to be filled. Choose All in the pull down menu Write
numerical process information. Type 20 in the box Writing frequence. Choose
Use Writing frequence in the pull down menu Write Boundary Flows in
additional file. Choose Gauss points in the pull down menu Output points. Finally,
choose Write all information option.
The clay barrier made of blocks of bentonite is defined for this problem. The heater
and the confining structure of the “FEBEX mock-up test” are not modelled as
independent materials, these are taken into account as boundary conditions, as is
described in section 7.2.3.
To define the material, select Data/Materials in the pull down menus. Press the icon
in order to set the properties of the Bentonite.
As regards the problem which has to be modelled, Mechanical data, Hydraulic and
thermal data and Phase properties sheets have to be filled for this material. There is a
comprehensive data base of the properties of FEBEX bentonite from the FEBEX
reports that has been adapted here to assign the THM properties of the material.
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.7
The THM analysis performed take into account the following phenomena:
i) Heat transport: heat conduction, heat convection (liquid water) and phase
changes
ii) Water flow: liquid phase (Darcy’s law) and water vapour diffusion (Fick’s
law)
iii) Mechanical behaviour: thermal expansion of the bentonite and behaviour
of bentonite dependent on stresses, suction and temperature.
The THM version of the Barcelona Basic Model (BBM) is adopted in this analysis for
the mechanical behaviour. It is carried out by the Thermo elasto-plastic model for
soils, set by ICL=21 to 27. The model take into account the variation of the stress-
stiffness with suction and the variation of swelling potential with stresses and suction,
to reproduce the swelling behaviour of FEBEX bentonite, due to high compaction that
bentonite blocks has been subjected. To get some more background information about
the equations of the BBM used here, see Thermo elasto-plastic model in the chapter
CONSTITUTIVE LAWS, section (d).
Figure 7.7 presents the adopted parameters of the BBM model for the Bentonite,
which principally has been taken from FEBEX reports. Also in the Figure 7.7, the
constitutive laws and parameters used for the hydraulic and thermal behaviour are
summarised. To get some more background information about the hydraulic and
thermal constitutive laws used here, see the chapter CONSTITUTIVE LAWS, section
(a).
Once all constitutive laws necessary to model the bentonite have been introduced,
assign them over the surfaces created. The surfaces belonging to the bentonite has to
be highlighted. When it is done, the following message appears in the message area:
MECHANICAL DATA
Termo elasto-plastic (TEP):
Elastic parameters
ITYCL 1 e ki ( s ) dp ' k s ( p ', s ) ds
d = + +( o ) dT
P1: i0 0.05 v
1+ e p' 1 + e s + 0.1
P2: s0 0.30
P3: K min (MPa) 0.1 where:
P5: 0.4
P8: i -0.003 k i ( s) = k io 1 + s
i
P9: sp -0.147
P10: p ref (MPa) 0.01 k s ( p ', s ) = k so 1 + sp ln p ' pref
Termo elasto-plastic (TEP):
Thermal parameters
ITYCL 1
P1: 0 1.5E-4
P5: T ref 20
Termo elasto-plastic (TEP):
Plastic parameters (1) o − kio
ITYCL 1 po* (T ) s − kio
P1: 0.15
po = p c
pc
P2: r 0.75
P3: (MPa-1) 0.05 po* (T ) = po*
P4: (ºC ) -1
0.2
P5: k 0.1 s = o 1 − r exp − s + r
P6: p s0 (MPa) 0.1
Termo elasto-plastic (TEP):
Plastic parameters (2) p s = p s 0 + k s exp(− ∆T )
ITYCL 1
P1: pc (MPa) 0.1 ∆T = T − Tref
P2: M 1.0
P3: 0.3
P4: e 0 0.6
P5: p 0 * (MPa) 14
Termo elasto-plastic (TEP):
Parameters shape yield surface g y ( )=1
ITYCL 3
Termo elasto-plastic (TEP):
Parameters shape plastic potential g p ( )=1
ITYCL 3
Termo elasto-plastic (TEP):
Integration control parameters
ITYCL 1
P1: Tole1 1.E-8
P2: Tole2 1.E-3
P3: Tole2 1.E-3
P4: 1
P5: Index -1
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.9
P1: P o (MPa) 20 S l − S rl Pg − Pl 1−
P2: σ o (N m-1)
Se = = 1+
0.072 S ls − S rl P
P3: 0.18
P4: S rl 0.01 σ
P5: S ls 1
P = Po
σo
Intrinsic Permeability: Darcy’s law:
ITYCL 1 kkrl
ql = − Pl − lg
P1: (k 11 ) o (m2) 5.E-21
l
P2: (k 22 ) o (m2) 5.E-21 3 2
P3: (k 33 ) o (m2) 5.E-21 (1 − o)
Kozeny’s model: k = k o
P4: o 0.4 (1 − ) 2 o
3
Figure 7.7. Constitutive laws and parameters needed to set the properties of the bentonite
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.10
The main inputs to the “mock-up test” are pressurized hydration water and heating
power under controlled conditions. The testing procedure involved,
This procedure should be taken into account to impose the flux boundary condition as
is described below. As it is a THM problem, the following conditions have to be
defined:
Figure 7.8 shows schematically both mechanical boundary conditions and flux
boundary conditions imposed in this problem.
a) b)
Figure 7.8. Boundary conditions: a) Mechanical and b) Flux
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.11
In order to take into account that the main body of the cylinder representing the
confining structure is made of stainless steel, an assumption of null displacements has
been prescribed at the outer boundaries, as follow:
At the symmetry line, at the symmetry plane and in the heater boundaries also a
restriction of displacements has been prescribed, as follow:
Go to Select Data/Conditions in order to set the conditions, press the line icon
and then choose Line Force/Disp B.C. in Conditions window. Select Boundary
stress in the pull down button Forces since displacement is applied as a force
condition by means of a multiplier. Set 1e10 in the field Multiplier. To apply vertical
or horizontal displacements restrictions, the fields Y-direction prescribed or X-
direction prescribed must be set to 1 respectively. Then assign the condition on the
specific entities.
At the outer boundary at R=0.81 m (lines 10, 20 and 21) a water pressure of 0.55 MPa
is applied, to simulate the hydration of the bentonite.
At the outer boundary (at R=0.81m), the following radiation condition is applied,
je = e T0 − T
where, je is the heat flow, T0 is the prescribed temperature ( T0 = 20º ) and e is the
radiation coefficient. A coefficient of e = 1.0E5 has been adopted. This value has been
adjusted in order to ensure the prescribed condition T0 on the outer boundary.
In order to set the hydraulic and thermal conditions on the outer boundary, go to
Select Data/Conditions. Press the line icon and then choose Flux B.C. in the
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.12
Conditions window. Boundary Flow rate is selected in the Flow rate field. The
liquid pressure is applied using the ramp option. Taking into account that the initial
suction of the bentonite is 105 MPa (see initial unknowns below), enter a value of
-105 in Prescribed liquid pressure and a value of +105.55 in Prescribed liquid
pressure increment to reach a final liquid pressure of 0.55 . Set 1.e5 in Gamma for
liquid. Then, enter a value of 20 in Prescribed temperature and set 1.e5 in Gamma
for heat. Assign the condition on the specific entities (lines 10, 20 and 21). This
condition is just relevant to Time Interval 1, for the other intervals it must enter a final
liquid pressure of 0.55 without setting prescribed pressure increment.
Following the procedure testing described before, the heating operation should be
start after the initial hydration phase. Therefore the thermal condition at the
boundaries simulating the heater (lines 24, 27 and 18) is imposed from the second
interval time (see section 7.2.4). The following boundary condition should be
imposed:
t 100 is the time at which the temperature reaches 100ºC at some point in the bentonite.
In the performed analysis t 100 is 20 days (see section 7.2.4).
The power of the heater is imposed as a prescribed heat flow condition at the
boundaries representing the heater. As it is an axy-symmetric problem the equivalent
power to be applied for a constant power of 250W and 500W are 130 W/m2 and 260
W/m2, respectively.
The assignation of this heat condition is done from the second interval time. To do
this, select Data/Conditions/lines/Flux B.C/ Boundary Flow rate in the Conditions
window and a set value for prescribed heat flow (J/s) is assigned in the
corresponding interval time (see section 7.2.4).
Initial unknowns:
In the problem that is being modelled there are two main initial unknowns: water
pressure and temperature. The initial water content of the bentonite is 14% this
corresponds to a global degree of saturation of 58%. An initial value of suction of 105
MPa has been adopted for the bentonite material.
Before to start the heating test, the bentonite was flooded to try to achieve the closure
of the gaps between the bentonite bricks. This preliminary flooding stage is
considered in the modelling. An initial (isothermal) hydration has been simulated until
the global degree of saturation of the bentonite reach the value of 71.50 %, which
correspond with the value measured in the mock-up test. In the numerical simulation,
the interval time to achieve this condition was taken as 10 days. This time is
considered as a time 0 and is described in the following section (section 7.2.4).
To introduce the initial unknowns, press the surface icon and choose Initial
unknowns in the pull down menu. Select Constant in the pull down button
Distribution. Then, introduce -105 in the Pl(MPa)-field and 20 in the T(ºC)- field.
Assign this condition over the surfaces making up the bentonite.
Initial Stress:
A constant hydrostatic value of 0.11 MPa has been adopted as an initial stress value in
the bentonite material.
To introduce the initial stresses, press the surface icon and choose Initial Stress in
the pull down menu. Select Constant in the pull down button Distribution. Then set
-0.11 in X, Y, and Z stress fields. Assign it over the surfaces making up the bentonite.
Initial Porosity
In order to set this value the initial porosity, press the surface icon and choose
Initial Porosity in the pull down menu. Then, introduce 0.4 in the Porosity field.
Assign it over the surfaces making up the bentonite.
A summary of the boundary conditions imposed on the test until now (first time
interval) is shown in Figure 7.9. This window can be visualised pressing Entities/all
conditions in the window Conditions.
Figure 7.9. Summary of all conditions imposed on lines/surfaces at the first time interval
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.14
Once the problem data, the materials and the conditions have been introduced, the
time interval needs to be defined. As regards the problem which has to be modelled,
flux boundary conditions must be modified depending on the time interval.
Now, go to interval Data Window. Change the units of time discretization to days.
Then, define time card parameters for each interval as set in Figure 7.10. The test was
defined by 6 time intervals throughout 2500 days (about 7 years).
A preceding interval for the initial hydration (from 0 to 1) must be set. This lets the
closure of the gaps between the bentonite blocks due to the swelling of the bentonite.
The interval time to achieve this condition was taken as 10 days. After this initial
phase, heating test will be start.
Now, the heat condition at the heater boundaries needs to be imposed. Set the second
time interval (from 1 to 2) and press the icon at the right side of the Interval Data
Window. Select the option Conditions in the pull down menu. Then, choose the
icon and select Flux B.C. in its pull down menu. Enter a Prescribed heat flow (J/s)
of 130 and assign it on the entities 24, 27 and 18. Also, change the Prescribed liquid
pressure (MPa) to 0.55 on the entities 10, 20 and 21 and set 1.e5 in Gamma for
liquid. Return to the Interval data window by pressing the icon and press accept
data in order to save the changes.
Repeat the same procedure to modify the heat condition (heat flows and temperature)
for the next intervals data, such as is shown in the Figure 7.11. Remember that the
icon allows for generating a new time interval and copies the condition’s entities from
the preceding interval. Therefore, after creating a new interval data, changes in
boundary conditions should be entered before a new interval data is created.
Prescribed Prescribed
Gamma for
Time interval heat flow Temperature
heat ( e )
(J/s) (ºC)
from 0 to 1 - - -
from 1 to 2 130 - -
from 2 to 3 260 - -
from 3 to 6 - 100 1.e8
Figure 7.11. Values to enter as a prescribed heat flow and temperature in the boundary flux
condition for the heater boundaries
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.15
Press Esc after selecting each group of lines and the same window appears again. At
final press close in the Enter value window.
Now, generate the mesh by Mesh/Generate Mesh in the pull down menu. As a result
of these processes, the mesh has to look like Figure 7.12.
7.4. Process
The problem is now ready to run. Press Calculate/Calculate. It will take a few
minutes to finish. Once the process is finished, press Post-process.
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.16
7.5. Post-Process
Only some features of post-process interface are represented here. User could explore
more options to visualise the results.
The evolutions of the main THM variables will be inspecting. The THM variables are:
temperature, liquid pressure, total stresses, degree of saturation, porosity, relative
displacement, among others.
Contour fill of the variables can be visualised selecting Window/View results and
then the specific variable. For example, Figures 7.13 and 7.14 present the contours of
distribution of the temperature and liquid pressure respectively, at some specific times
of the analysis. In Figure 7.13 it can be observed the gradual increase in temperature
from the zones close to the heater to the zones close to the outer boundary (hydration
boundary). In Figure 7.14 the opposite effect is observed, the gradual reduction in
suction (negative liquid pressure) from zones close to the hydration boundary to the
zones close to the heater boundary. At long time (2500 days) the bentonite is almost
fully saturated. In the hot zone, the applied heat cause a drying of the bentonite
(increase of suction) due to the water evaporation and then a slow wetting process is
observed in this zone.
Figure 7.15 shows the evolution of temperature at some specific locations of the test.
In the figure r represents the radial distance from the heater. In part a) the evolution of
the temperature in a vertical plane through the centre of the heater (z=1.185m) is
showed. Close to the heater (at r=0.22m) the temperature is around of 90 ºC, away
from the heater (at r=0.77 m) the temperature gradients are very small. In part b) of
the figure, the evolution of the temperature in a vertical plane close to the lateral
boundary (z=2.685m) is showed, this zone is not directly affected by heating.
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.18
100 100
90 90
r=0.22m
80 r=0.22m 80
Through centre of heater Close to the lateral boundary r=0.39m
r=0.39m
70 z=1.185 m 70 z=2.685 m r=0.58m
Temperature (ºC)
Temperature (ºC)
r=0.58m
r=0.77m
r=0.77m
60 60
50 50
40 40
30 30
20 20
10 10
0 0
0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500
Time (day) Time (day)
a) b)
Figure 7.15. Evolution of Temperature, a) in a plane through centre of the heater, b) in a plane
away from the heater
Figure 7.16 shows the evolution of degree of saturation at some specific locations of
the test. In the figure r represents the radial distance from the heater. In part a) the
evolution of the degree of saturation in a vertical plane through the centre of the
heater (z=1.185m) is showed. In part b) of the figure, the evolution of the degree of
saturation in a vertical plane close to the lateral boundary (z=2.685m) is showed. It is
observed that close the heater (at r=0.22m in part a) the degree of saturation decreases
first in a fast manner until time 200 as a consequence of heated front advance and
thereafter a slow wetting process begins. This slow wetting corresponds to the arrival
of water from the outer boundary. As the radius increase the heated front has a minor
influence and a gradual increase of the degree of saturation is observed. Close to the
outer boundary (r=0.77m), there are a fast increase in the degree of saturation since
the beginning. Also, it is observed that at time 0, the initial degree of saturation is not
constant, zones close to the outer boundary have a degree of saturation greater than
zones close to the heater, and this is a result of the initial hydration phase.
1 1
0.95 0.95
Degree of saturation
r=0.39m
0.85 r=0.58m 0.85
r=0.77m
r=0.22m
0.8 0.8 r=0.39m
r=0.58m
0.75 0.75 r=0.77m
0.6 0.6
0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500
Time (day) Time (day)
a) b)
Figure 7.16. Evolution of Degree of saturation, a) in a plane through centre of the heater, b) in a
plane away from the heater
Figure 7.17 shows the evolution of total stresses at two different points, in part a) a
point very close to the heater (r=0.22, z=1.185m) and in part b) a point very away
from the heater (r=0.77m, z=2.685m). Three normal stresses are plotted (radial,
vertical and tangential). There is a continuous increase in stress intensity in both
points. The magnitude of stresses is higher away from the heater than close to the
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.19
heater. Radial stresses are greater than vertical and tangential stresses in the hot point
while in the point not directly heated the tangential stresses are greater than vertical
and radial stresses. The differences in the stresses magnitude will be due to pore water
pressure variations between both points.
Away from the heater
10 Close to the heater 10 r=0.77m, z=2.685 m
r=0.22m, z=1.47 m
8 8
Stresses (MPa)
Stresses (MPa)
6 6
4 4
0 0
0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500
Time (day) Time (day)
a) b)
Figure 7.17. Evolution of total stresses, a) in a point close to the heater, b) in a point away from
the heater
0.48
0 day
0.46 6 day
20 day
0.44 167 day
2500 day
0.42
Porosity
0.4
0.38
0.36
Transversal section
0.34 z=1.185 m
0.32
0.3
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Distance to axis (m)
Figure 7.19 shows the evolution of the heating power input to the test. This is an
overall variable of the problem. Data are taken from the file
Mock_up_test_cont_flux.dat generated during the analysis by activate the option of
Write Boundary Flows in additional file in the definition of problem data (section
7.2.1). For this particular problem the file contain the evolution of the nodal flows of
water (Kg/s) and heat (J/s) at boundaries for all interval time. The summation of the
inflow heat flow over the nodes forming the heater boundary represents the heating
power input to the test in each time interval. It is observed that the heating power
increased fast at the beginning of the test in order to reach the target temperature vale
(100ºC). It has been reduced later in order to maintain a constant temperature at the
interface (heater-bentonite). Along time heating power had to increase in order to
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.20
account for the progressive hydration of the bentonite and the associated increment in
coefficient of thermal conduction.
900
800
700
500
400
300
200
100
0
0 500 1000 1500 2000 2500
Time (day)
Finally, it will be observed that there are more significant couplings in a THM
problem. As commented in Gens et al. (1998), during the heating and hydration of a
large scale heating test several coupled THM phenomena occurs. For instance,
hydration takes place from the external boundary inwards driven by the gradient
between the applied water pressure and the suction in the bentonite. Hydration will
cause a progressive rise in degree of saturation. This affects both the temperature
field, due to the modifications of thermal conductivity, and the stress/strain
distribution, due to suction changes. On the other hand, in the inner part of the buffer,
applied heat causes a temperature rise that moves outwards. Temperature-induced
water evaporation causes drying of the bentonite. Vapour coming from the inner part
of the barrier will diffuse towards the outer regions where it will condense causing a
local rise of degree of saturation. Water transfer is also affected by the dependence of
water viscosity on temperature and by porosity changes arising from variations of
stresses and suction. Changes in hydraulic conditions influence the temperature field
via variations of thermal conductivity and affect also stress/strain field due to pore
water pressures and pore gas pressure changes.
END OF THM-TUTORIAL
CODE_BRIGHT – TUTORIAL. MOCKUP-TEST VII.21
References
Gens, A., Garcia Molina, A, Olivella, S., Alonso, E.E. & Huertas, F. (1998).
“Analysis of a full scale in-situ test simulating repository conditions”. Int. Jnl. Numer.
Anal. Meth. Geomech, Vol. 22, pp. 515- 548.
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.1
CODE_BRIGHT TUTORIAL
The problem of excavating a shaft under the water table with the Sequential Excavation Method
is used to show some of the essential features of the program in order to solve a hydro-
mechanical (HM) coupled problem. The lowering of the water table in some soils, such as
residual soils, creates unsaturated conditions.
The geometry and the materials of the problem are depicted in Figure 8.1. No analytical
solution exists for this problem.
Remember that before starting to introduce all the data needed to simulate the problem, GID
has to be customised for Code-Bright.
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.2
The procedure to carry out the simulation of this problem is the same as followed for the
previous tutorials: geometry, problem data, materials, conditions, interval data, mesh
generation, process and post-process.
The modelling of the excavation of a shaft under the water table involves the lowering of the
water table to the bottom of the excavation, excavating the soil and building the wall by levels.
In other hand the water table must continue with the original depth in the borders of the
geometry.
It is not necessary to represent the geometry of BedRock because it is a very rigid and water
resistant material that can be model with conditions.
The excavation is made by levels and for each level it is necessary to excavate a depth of 2
meters and build the shotcrete wall. These partial excavations can be called as rings.
In order to help in post-processing, create individual layers for each material. Press the layer
button as showed in the Figure 8.2 and create a total of 22 layers and rename them with the
material’s name showed in Figure 8.3.
As the shaft we pretend to model has a circular shape it is possible to use an axisymmetric
mesh. With a two-dimensional mesh the order of defining the geometry is: points, lines and
surfaces.
A simplified procedure to build the geometry of the excavation is followed. Create different lines
(pressing the icon ) to define the geometry of the residual soil, the permeable column and
the different levels of rings and shotcretes. Always activate the layer of the materials that
correspond to the lines being created. Enter the co-ordinates of the points defining each line as
shown below:
Table 8.1. Residual Soil coordinates
X Y
Point 1 / line 1 0 -20
Point 2 / line 1 0 -25
Point 3 / line 2 198 -25
Point 4 / line 3 198 0
Point 5 / line 4 15 0
Point 6 / line 5 15 -2
Point 7 / line 6 15 -4
Point 8 / line 7 15 -6
Point 9 / line 8 15 -8
Point 10 / line 9 15 -10
Point 11 / line 10 15 -12
Point 12 / line 11 15 -14
Point 13 / line 12 15 -16
Point 14 / line 13 15 -18
Point 15 / line 14 15 -20
Point 16 / line 15 14.7 -20
Point 1 / line 16 0 -20
It is important to press the option JOIN to join the last line created with the existing point
represented at the beginning. Then Press Esc. The same procedure is repeated for the
permeable column.
Table 8.2. Permeable Column coordinates
X Y
Point 3 / line 17 198 -25
Point 17 / line 18 200 -25
Point 18 / line 19 200 0
Point 4 / line 3 198 0
The geometry of excavation rings is composed by three lines per level. It means that for each
level it is necessary to create four points:
Table 8.3. Ring coordinates
Ring 1st point 2nd point 3rd point 4th point
number X Y X Y X Y X Y
1 0 -2 0 0 14.7 0 15 0
2 0 -4 0 -2 14.7 -2 15 -2
3 0 -6 0 -4 14.7 -4 15 -4
4 0 -8 0 -6 14.7 -6 15 -6
5 0 -10 0 -8 14.7 -8 15 -8
6 0 -12 0 -10 14.7 -10 15 -10
7 0 -14 0 -12 14.7 -12 15 -12
8 0 -16 0 -14 14.7 -14 15 -14
9 0 -18 0 -16 14.7 -16 15 -16
10 0 -20 0 -18 14.7 -18 15 -18
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.4
Keep in mind that when the co-ordinates of common points are introduced, the double data
point creation window appears again. JOIN has to be pressed again in these situations.
To create a surface of a specific material, activate the layer that corresponds to it. Then select
GEOMETRY/CREATE/NURBS SURFACE/BY CONTOUR. Finally select the lines that
represent the borders of the material to be created and press OK.
In order to simplify the process, use the layer button and turn off all the ring lines when
drawing the different shotcrete levels. Turn it on again when it is finished. To create the ring
surfaces do it the other way around.
Notice: to turn on/off a line go to the layers list.
For instance, to create the surfaces that represent the bottom ring, select the lines shown in
red in the Figure 8.4(a). To create the last shotcrete surface, select the lines showed in red in
Figure 8.4(b). The following message appears in the message area every time a surface is
created:
Created 1 new surface.
(a) (b)
Figure 8.4. Creating surfaces. (a) for the ring 10; (b) for the shotcrete 10
Now, it is convenient to save the work. Use “SEM” for Sequential Excavation Problem as name
of the file.
Select PROBLEM DATA from DATA menu. To enter all the general data that Code_Bright
needs to perform the simulation, the problem to be modelled has to be taken into account. It is
a consolidation problem which means it is a hydro-mechanical (HM) coupled problem.
First of all, the general data sheet has to be introduced (See Figure 8.6). Inside the box title of
the PROBLEM DATA, introduce: SEM. Either Full execution or Only data file generation can be
chosen for execution’s setup. The option is related to the three processes: pre-process, process
and post-process, carried out to solve the problem from input to output data. Figure 8.8 shows
schematically the files generated during these processes. The three of them are carried out
when Full execution is chosen. If Only data file generation is chosen instead, it is the
responsibility of the user to carry out the process stage by another way. For this problem,
choose Full execution.
The next step is to fill the Equations solved sheet (See Figure 8.7). This defines the equations
for this Hydro-Mechanical problem. Check the box of Stress equilibrium (unknown displacement
u) and choose No in Updated lagrangian method. This would be enough for a pure mechanical
problem. As it is a coupled HM problem, select Mass balance of water (unknown liquid pressure
Pl) as well. Finally for this sheet, put 0 in the Constant Pg [MPa] option and 20 in the Constant
temperature [C]. The other equations are not relevant for this problem.
Next, the Solution Strategy sheet has to be filled (See Figure 8.9). Put 1 in the Epsilon and
Theta boxes. For more information refer to chapter CODE_BRIGHT PROCESS. PROBLEM
DATA and Card 8 of chapter CODE_BRIGHT PROCESS. Introduce 7 in Time step control which
means that a new time step is predicted according to an error control of the solution with a
tolerance of 0.001. Put 10 in the box Max number of iterations per time step. Choose iterative
Sparse+CGS in Solver type. Set a value of 1000 in Max Number of Solver Iterations. Set a
value of 1.e-9 in Max abs solver error variable and Max abs solver error residual. Set a value
of 1.e-6 in Max rel solver error residual.
Leave by default Average nodal degrees of saturation in Elemental relative permeability. Set a
value of 1.e-5 in Max Abs Displacement which means a precision of a hundred-thousandth of
a meter over the displacements. Set a value of 1.e-10 in Max Nod Bal Force. Set a value of
100 in Displacement Iter Corr. Such a big value means that the maximum displacement
correction allowed between two successive iterations is controlled automatically by the time
step error control option.
Set a value of 1.e-3 in Max Abs Pl which means a precision of a thousandth of Pa over the
liquid pressure. Set a value of 1.e-10 in Max Nod Water Mass Bal. Finally, set 100 in Pl Iter
Corr, as was done for the displacements. Use On nodal correction or residual in Convergence
criterion.
Finally, the output sheet has to be filled. Choose All in Write numerical process information.
Type 1000 in the box Writing the frequence. Choose Use Writing frequence in Write Boundary
Flows in additional file. Choose Gauss points in Output points. Finally, choose Write all
information option.
Different materials make up this problem. Firstly, the Residual Soil and the Permeable
Column, then there are ten rings. At last there are ten shotcrete levels of the wall. Therefore,
twenty two different materials are being modelled for this problem.
If in doubt during the process to set the constitutive laws for these materials, see both
CODE_BRIGHT. PREPROCESS. MATERIALS and chapter CODE_BRIGHT.
CONSTITUTIVE LAW.
R esidual Soil
As regards the problem that has to be modelled, Mechanical data, Hydraulic and thermal
data, Phase properties and Construction and Excavation have to be filled for this material.
Choose the Mechanical data 3, press the button ITYCL of Argillite Matrix. Enter 1 in the ITYCL
box, 1000 in the box P1, 0.375 in the box P2 and finally 1.0e7 in P3. Create a new line of
properties and put the values as shown in the Figure 8.11.
The two lines of properties mean that in the first step of calculations the materials have the
properties as shown in line 1 and then change to the properties from the line 2. The rigid
properties for the step 1 are needed in order to create a fast initial stress field.
Now that the way of setting the input of materials was explained proceed in the same way for
the other necessary settings to the present model, as show in Table 8.5. Take into account
that lines without information are left with the default values, 0.
Argilite – Control
1 1.0e-8 100 500 -1 0 0
Parameters
Now complete the rest of the sheets as showed in the followings tables:
Table 8.6. Input values to the Hydraulic and thermal data (Residual Soil)
Name of the line ITYCL P1 P2 P3 P4 P5 P6
Retention curve 1 6 0.072 0.25 0 1 0
Intrinsic 1 1e-10 1e-10 1e-10 0 0 0
Permeability 1 6.5e-13 6.5e-13 6.5e-13 0 0 0
Liquid Phase
6 0 1 3 0 1 0
Relative Permeability
For more information about the inputs for this model see CODE BRIGHT MANUAL
After defining the material press the Assign button and assign the material to the respective
surface.
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.11
R ings
The rings are Residual Soil that needs to be excavated so it isn’t necessary to define once
again the material. To model the excavation of them create a individual material for each of
the rings and name them as: Ring1, Ring2, ... Ring 10.
Then it is necessary to define the step when the excavation will happen for each ring. The
steps of this problem will have a further explanation next in the text but for now it is
important to say that exist 23 steps that correspond: first step to creation of the initial stress
state, second to the lowering of the water table, third to the excavation of the ring1, fourth
to the construction of the shotcrete1 and so on, and last step to analyse the results in the
permanent seepage flow.
It’s recommended that the definition of each ring is made by order to don’t make mistakes in
inputs. In order to model the first ring set the values show in Figure 8.12.
The value 1 in box P2 represent that the present material is the same as material 1, it means
Residual Soil. In the third line the value -1 in box P1, means that this material is excavated in
the third step.
Proceed in the same way for the following rings and keep in mind that it is always necessary
to assign a new material to the respective surface.
Shotcretes
First is necessary to define the mechanical and hydraulic model for this material. In this case
the model is Linear Elasticity in Mechanical data 1. The inputs for Shotcrete1 are presented in
the tables under.
Table 8.10. Input values to the Hydraulic and thermal data (Shotcrete1)
Name of the line ITYCL P1 P2 P3 P4 P5 P6
Retention curve 1 2 0.072 0.35 0 1 0
Intrinsic 1 1e-10 1e-10 1e-10 0 0 0
Permeability 1 1e-8 1e-8 1e-8 0 0 0
Liquid Phase
6 0 1 3 0 1 0
Relative Permeability
Note: The input of intrinsic permeability is very low to represent concrete. But for the present
excavation is impossible to keep the water table at the bottom of the excavation with a
bigger value.
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.12
The following shotcretes are defined as being the same material as shotcrete1 (12th material
to be created), constructed in the respective step.
Figure 8.13 shows an example of the inputs that need to be set for the shotcrete10.
Permeable Colum n
The Permeable Column allows keeping the water table at 5 meters depth in the borders of
the geometry. This column is the same material as residual soil with a bigger value of intrinsic
permeability.
As done before for the other materials, create a new material and give it the name of
permeable column, use the values show in the tables below to complete all the boxes.
Table 8.13. Input values to the Hydraulic and thermal data (Permeable Column)
Name of the line ITYCL P1 P2 P3 P4 P5 P6
Retention curve 1 6 0.072 0.25 0 1 0
Intrinsic 1 1e-10 1e-10 1e-10 0 0 0
Permeability 1 1e-8 1e-8 1e-8 0 0 0
Liquid Phase
6 0 1 3 0 1 0
Relative Permeability
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.13
Argilite – Control
1 1.0e-8 100 500 -1 0 0
Parameters
Now complete the rest of the sheets as showed in the followings tables:
Line 2
Line 1
Line 3
Line 7
Line 6
Line 5 Line 4
Figure 8.14. Lines to assign the mechanical and flux boundary conditions
Note: The line represented as 6 is a group of lines made by 11 lines in the real geometry. In
the tutorial it is called line 6 to make the explanation easier.
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.14
Two restrictions for displacements have to be set in geometry borders in order to solve the
problem. At the horizontal lower limit (lines 4 and 5) vertical and horizontal displacements
must be prescribed, and in both verticals limits (lines 3 and 6), at the right and at the left,
horizontal displacement must be prescribed.
Select Boundary stress in Forces since displacement is applied as a force condition by means
of a multiplier. As regards the problem which has to be modelled, set 1e10 in the field
Multiplier. To get some more background information about the field Multiplier, see Card
Group 18 in chapter CODE_BRIGHT. PROCESS and see Force/displacement conditions
in CODE_BRIGHT. PREPROCESS. PROBLEM DATA.
In the window used before, only set the X-direction prescribed to 1 and assign that condition
over the line that makes up the vertical sides of the geometry (lines 3 and 6).
Two lines belonging to the boundary y=0 and twelve lines belonging to the boundary x=0
should have been assigned so far. Press Draw/Force/Disp B.C. in order to check that those
two conditions have been assigned (as show in Figure 8.15).
Figure 8.15. View after assign mechanical boundary conditions to the lines
In order to simulate the initial water table it is necessary to prescribed the liquid pressure of
the lines 2 and 4.
As the water table is at the depth of 5 meter in the beginning of the excavations the line 2
has a liquid pressure of -0.0495 MPa and the line 4 a liquid pressure of 0.1962 MPa. In order
to assign these conditions to the lines, choose DATA/CONDITIONS, then press the line
icon and then choose Flux B.C. in CONDITIONS window. Set the value 0.1962 in
Prescribed liquid pressure [MPa]. Set the value 1e8 in Gamma for liquid and assign to line 4.
Proceed in the same for line 2. To get some more background information about the field
Gamma for liquid, see Card Group 20 in chapter CODE_BRIGHT. PROCESS.
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.15
Initial unknowns
In the problem that is being modelled there are two initial conditions associated to shotcrete
and residual soil (the permeable column is a residual soil too).
To introduce the initial unknowns, press the surface icon and choose Initial unknowns in
the menu.
Then, in order to set the liquid pressure of the shotcrete select Constant in the button
Distribution and assign to the shotcrete surfaces the default values.
To assign the liquid pressure to the residual soil, select Linear in the button Distribution, set
the value 0.1962 in Pl [MPa]-Final Point, -5 inY Initial Point and -25 in Y Final Point. Assign
this condition over the remaining 12 surfaces of the geometry (rings, residual soil and
permeable column).
Now, select DRAW/COLORS in this condition window. One colour should appear for the
shotcrete and another for the residual soil and permeable column.
Figure 8.16. View after assigning initial unknowns conditions to the surfaces
Initial Stress
Press the surface icon and choose Initial Stress in the DATA/CONDITIONS. Select
Constant in the button Distribution.
Then, in order to define no initial stress for the shotcrete leave the default values and assign
to the shotcrete surfaces.
Now, in the same window, select Linear in the button Distribution and set -0.377 in X stress –
Final Point, -0.4975 in Y stress –Final Point and -0.377 in Z stress –Final Point. Set -25 in Y
Final Point. Then assign to the remaining 12 surfaces.
Now, select DRAW/COLORS in this condition window. One colour should appear for the
shotcrete and another for the residual soil and permeable column.
Figure 8.17. View after assigning initial stress conditions to the surfaces
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.16
Initial Porosity
The initial porosity for the materials in this problem is 0.35 for the residual soil and 0.04 for
the shotcrete.
In order to set these values, press the surface icon and choose Initial Porosity in the
menu. Then, introduce 0.04 in the Porosity field. Finally, assign it to the shotcrete surfaces.
Then replace the previous value by 0.35 and assign to the remaining 12 surfaces.
Now, select DRAW/COLORS in this condition window. One colour should appear for the
shotcrete and another for the residual soil and permeable column.
Figure 8.18. View after assigning initial porosity conditions to the surfaces
To model the water table lowering in step 2, it is necessary to introduce new flux boundary
conditions in this step.
Now, go to DATA/INTERVAL DATA. Change the Units of time discretization to days. Then
define the equilibrium stress interval. Set the value -500 in Initial Time (start period) and 0 in
Final Time (end period). Leave the remaining boxes with the default values. Such a long time
for equilibrium allows creating a stable initial stress state. For the first time interval select the
option put displacements to zero, in the remaining steps be sure to turn it off.
To create the second step, press DATA/INTERVAL DATA then pressing the icon allows
for generating a new time interval. Every time you create a new interval the conditions of the
previous interval will be copy to the new one. Proceed as in previous and set the value 0 in
Initial Time (start period) and 30 in Final Time (end period). This simulates the period of
approximately 1 month.
Now it is necessary to create the flux boundary conditions for this step. These conditions will
be assigned to the lines 1 and 7.
Choose DATA/CONDITIONS then press the line icon and then choose Flux B.C. in
CONDITIONS window. Set the value -0.1962 in Prescribed liquid pressure [MPa]. Set the
value 1e8 in Gamma for liquid and assign to line 1. Proceed in the same way to line 7 but
replace the value of Prescribed liquid pressure [MPa] to 0.0. These create an unsaturated
condition that models the water table lowering.
Once the problem data, the materials and the conditions have been introduced, the time
interval needs to be defined.
The excavation of the rings takes 7 days, the building of shotcrete a day, the lowering of
water table 30 days and at last it is necessary to analyse the problem 120 days after the end
of the excavation (permanent seepage condition).
If in doubt during the procedure to set the interval data, it is possible to get some more
background information in II.2.4. INTERVAL’S DATA of CODE_BRIGHT PREPROCESS.
PROBLEM DATA and in Card 13 of CODE_BRIGHT. PROCESS.
Now, go to DATA/INTERVAL DATA. Check if the units of time discretization are set to
days. Then, define the rest of values to the interval as set in Table 8.18. Remember that the
icon allows generating a new time interval and copies the condition’s entities from the
preceding interval.
In this example, an unstructured triangular mesh will be used. For more information’s about
creating custom meshes see GID-USER MANUAL.
Introduce 1.5 and press OK. As a result of these processes, the mesh has to look like Figure
8.20.
8.4. Process
The problem is now ready to run. Press CALCULATE/CALCULATE. It will take some
minutes to finish. Once the process is finished, press the POST-PROCESS button .
8.5. Post-Process
Once post-process is initiated, all the materials making up the problem are automatically
coloured. Post-process interface contains many features. Only few of them are represented
here.
To see the vertical and horizontal displacements of the soil at the end of excavation, press
WINDOW/VIEW RESULTS choose Countor fill in the View box. Choose step 110 to the
CODE_BRIGHT – TUTORIAL. SEQUENTIAL EXCAVATION VIII.19
To see the liquid pressures in the permanent flux choose WINDOW/VIEW RESULTS
choose Countor fill in the View box and time Step 230. Then choose liquid pressure.
To see horizontal displacement of the ground at the face of the excavation change to Step
110 again. In line graph choose displacements/X displacements and write 15,0 to the
first point and 15,-25 in the Command box. As the result it is possible to see the horizontal
movements of the soil in the end of excavations at the face of it.
It is also possible to see the changing of a variable with the time. For instance, click in
and choose liquid pressure. Type 15,-20 in the command box and as result is possible to see
how liquid pressure changes with time.
Figure 8.25. Liquid pressure in the point of the bottom of the excavation
END OF SEM-TUTORIAL
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.1
CODE_BRIGHT TUTORIAL
TUTORIAL EXAMPLE
Figure 1 Geometry
1. Define Geometry.
Joint element is created in GID using the Contact surface option. Contact surface is
defined between two lines that are physically in the same place, but which have different
line and node entities. To avoid errors in the generation of the contact surface, the
geometry is drawn using two surfaces which are created in two different layers. The lower
part of the geometry located below the joint is created in layer 0 (see Figure 2a) while the
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.2
upper part located above the joint is created in layer 1 (see Figure 2b). The coordinates of
the nodes that composed the geometry in each layer are listed in Table 1.
a. Layer 0 b. Layer 1
Figure 2 Define Geometry
Geometry coordinates
Layer 0 Layer 1
0.0 , 0.0 0.0 , 0.055
0.120 , 0.0 0.120 , 0.055
0.120 , 0.055 0.120 , 0.110
0.0 , 0.055 0.0 , 0.110
2) Use the default value for Epsilon and for Theta (i.e.1).
3) Type 1 on the Time step control edit box. Refer to the User’s Manual (ITIME in
Card 10 of the Code_Bright Process).
4) Use the default value for Max. number of iterations per time step edit box. (i.e.10)
5) Select direct LU+Back3 from the Solver type drop down arrow menu by clicking the
icon. Refer to the User’s manual (ISOLVE in Card 3 of the Code_Bright Process).
6) Use default option Average nodal degrees of saturation for the Elemental relative
permeability computed from drop-down arrow menu. Refer to the User’s manual
(IOPTC in Card 6 of the Code_Bright Process).
7) Use default value for Max Abs Displacement [m] (i.e. 1e-6). Refer to the User’s
manual (variable DELMXU in Card Group 11 of the Code_Bright Process).
8) Use default value for Max Nod Bal Forces [MN] (i.e. 1e-10). Refer to the User’s
manual (variable DELFMX in Card Group 11 of the Code_Bright Process).
9) Type 10 on the Displacement Iter Corr [m] edit box. Refer to the User’s manual
(variable DUMX in Card Group 11 of the Code_Bright Process).
10) Use default value for Max Abs PI [MPa] (i.e. 1e-3). Refer to the User’s manual
(variable DELMXPL in Card Group 11 of the Code_Bright Process).
11) Use default value for Max Nod Water Mass Bal [kg/s] (i.e. 1e-10). Refer to the
User’s manual (variable DELQWMX in Card Group 11 of the Code_Bright Process).
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.4
12) Type 10 on the PI Iter Corr [MPa]. Refer to the User’s manual (variable DPLMX in
Card Group 11 of the Code_Bright Process).
13) Use default option: On nodal correction or residual for Convergence criterion drop-
down arrow menu.
14) Click Accept to modify the mentioned data values, see Figure 4
In the Select Output tab of the Problem data dialog window, you can check the box beside
Joint model and specific information of some variables associated to the joint can be
selected (Figure 5) like joint aperture, joint slide, normal stress and tangential stress. The
program will generate extra files in which the information selected will appear for every
time step.
3. Define Materials
Two different materials are considered in the problem, the soil and the joint. To
characterize the mechanical behaviour of the joint a viscoplastic model is used while for
the soil an elastic constitutive law is employed.
Soil
This material is characterized by an elastic constitutive law
1) Click on Data/Materials from drop-down menu.
3) Choose Mechanical data1 and define a linear elastic model, with a Young modulus of
54100 MPa, a Poisson ratio of 0.29 and a reference porosity of 0.49, as shown in Figure
6.
4) Choose Hydraulic and thermal data, and define a material with intrinsic permeability
value of 1.0e-16 in the 3 principal directions and reference porosity of 0.49, see Figure
7
5) Assign this material to the surfaces that compose the soil (surfaces 1 and 2).
Joint
1) Create a new material and use the name joint. This material is characterized by a
viscoplastic constitutive model which requires the material description in the elastic
and viscoplastic range
3) Parameters of the viscoplastic behaviour are also found in Mechanical data1 tab, using
the Viscoplasticity-General parameters 1 and Viscoplasticity-General parameters 2
options. A full description of the viscoplastic law can be found in section VIb.26 of the
Code-Bright manual. Remember that the identification number (ITYCL) that represents
the zero thickness element is 16 (see Figure 9). Parameters used in the Viscoplasticity
law are presented in Table 3.
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.7
Intrinsic permeability of the joint in this problem is considered constant; this means
independent of the joint aperture, therefore a Joint roughness coefficient (JRC) is not
required, for more details refer to Code_Bright manual sectionVIa
4. Define Conditions
3) Choose the option Force/disp B.C from drop-down arrow menu by clicking the down
arrow.
4) Select Boundary stress from the Forces drop-down arrow menu by clicking the
icon.
8) Click Finish. The following message will appear in the message box:
4) Click Finish. The following message will appear in the message box:
4) Click Finish. The following message will appear in the message box:
Assigned 1 new Line to condition: Line_Force/Disp_B.C.
Clicking Draw/force/disp B.C on the Draw button, allow you to visualize the conditions
applied, as shown in Figure 10
2) Choose the option Initial porosity from the drop-down menu by clicking the down
arrow.
4) Assign this condition to the tree surfaces, the following message will appear on the
message box:
1) Choose the option Initial stress from the drop-down menu by clicking the down arrow.
4) Click finish The following message will appear in the message box:
Interval 1
3) Select seconds from the Units of time discretization drop down arrow menu by
clicking the icon.
7) Type 0.1 on the Partial Time Step. Figure 11 illustrates the data entry for interval 1
Click Accept. The message: “Interval Data modified” appears blinking on top of the
Accept button.
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.11
Interval 2
1) Create a new interval, by clicking in the new interval icon , and copy all the
conditions and material from the interval 1.
6) Type 0.01 on the Partial Time Step (see manual) edit box. Figure 12 illustrates the data
entry for interval 2.
7) Click Accept. The message: “Interval Data modified” appears blinking on top of the
Accept button.
3) Verify that the force/disp B.C conditions applied to line elements be the same than in
the interval 1 (restriction in displacement and uniform load).
5) Select Boundary stress from the Forces drop-down arrow menu by clicking the
icon.
6) Type 5e-5 in the X_displacement rate edit box and type 1 on X direction prescribed (0-
no, 1-yes) edit box.
10) Select Flux B.C. from the drop-down arrow menu by clicking the icon.
11) Type 1e6 in the gamma for liquid edit box. (by default P l =0)
12) Assign this condition to nodes 3 and 6 (right side of the joint element)
13) Click finish the following message will appear in the message box:
15) Type 4.91e-3 in the prescribed liquid pressure (MPa) edit box
16) Assign this condition to nodes 4 and 5 (left side of the joint element)
17) Click finish, the following message will appear in the message box:
Interval 3 to 16
1) Create a new interval, by clicking in the new interval icon , and copy all the
conditions and material from the interval 2.
6) Type 0.01 on the Partial Time Step (see manual) edit box.
7) Click Accept. The message: “Interval Data modified” appears blinking on top of the
Accept button.
3) Verify that the force/disp B.C conditions applied to line elements be the same than in
the interval 2 (restriction in displacement and uniform load).
5) Select Flux B.C. from the drop-down arrow menu by clicking the icon.
8) Assign this condition to nodes 4 and 5 (left side of the joint element)
9) Click finish, the following message will appear in the message box:
11) Repeat the same process to stage 4 to 16, changing the value of the hydraulic pressure
applied to nodes 4 and 5 (located at the left side of the joint), and the initial time and
final time in the interval data box, the values used in each stage are listed in Table 5
6. Mesh generation
Generate de mesh.
1) Choose Mesh/structured/surface/Assign number of cell from the drop-down menu,
and select the surfaces 1 and 2, DON’T SELECT THE JOINT SURFACE (see GID
manual section 3.1.2.9) Press ESC.
2) A window to enter the number of cells to assign to lines appears, type 10 in the edit box
and select the lines 1, 2, 6 and 7. Press ESC and click in Close.
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.15
4) Select the surfaces that composed the soil, DON’T SELECT THE JOINT SURFACE.
Press ESC
6) A window to enter the size of elements to be generated will appear, leave the value as
the default option and click in OK
7) A new dialog window will appear, notifying that a mesh has been generated and
describing the mesh characteristics, as shown in Figure 14.
7. Process
launched. When finished, the following Process information dialog window appears:
8. Post-process.
Go to the post-process interface to visualize results. Choose Window/view results from the drop-down
menu and select a given variable and time step to visualize the results.
Figure 17 shows the contour fills of horizontal displacements and the mesh deformation at the final of
the hydraulic shear test (step 300). To do this select Main mesh, choose Deformed, indicate the step and
the scaled factor (see
Figure 17).
In Figure 18 can be visualized the distortion of the liquid pressure distribution during the
shearing process due to the presence of the joint, these results correspond to the behaviour
at 60 seconds.
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.17
As the joint element is represented by a line, the results cannot be visualized in contours
fills diagrams; therefore to evaluate its behaviour is necessary to create different graphs in
points located on the joint.
Mechanical behaviour of the joint was evaluated by plotting graphs of shear displacement
(Joint slide) - shear stress (Joint tau) and shear displacement (Joint slide) - normal
displacement (Joint aperture) at three different points located at the right extreme of the
joint (0.120, 0.055), at the left extreme (0, 0.055) and at the midpoint (0.060, 0.055). To
create these graphs use the option of Point graph, so, choose the icon Point graph ,
select the variable to be used in the X-axis (in this case Joint slide), the variable for the Y-
axis (Joint tau or Joint aperture) and the point to evaluate, see Figure 19.
The influence of the normal load prescribed at the top boundary was also evaluated using
values of 1 MPa (as was described before) and 3 MPa (new simulation), results are plotted
in Figure 20 and Figure 21, respectively. Note that in the previus figures the value of the
joint aperture is normalized with the value of the initial joint aperture (0.65 mm). Results
indicate that rock behaviour at the joint is of brittle nature with a marked peak shear
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.18
strength, higher when the applied normal load increases. It is important to notice that the
joint is opening at the left extreme point, while at the right extreme point, the joint is
closing. This behaviour is better visualized by plotting the vectors of vertical
displacements as it is shown in Figure 22.
Figure 20 Results with a normal load of 1 MPa a) Shear stress-Shear displacement curve. b) Joint aperture
(Normal displacement)-Shear displacement curve.
Figure 21 Results with a normal load of 3 MPa a) Shear stress-Shear displacement curve. b) Joint aperture
(Normal displacement) - Shear displacement curve.
Note that in the results with the normal load of 3 MPa at the beginning of the test is
produced an instantaneous closing of the Joint (Figure 21b), this behaviour is due to the
application of the vertical load, as the vertical load applied is minor to the value of the
initial stress (1MPa) used to characterized the soil behaviour.
CODE_BRIGHT - TUTORIAL. JOINT SHEAR TEST IX.19
It is also important to evaluate the mechanical behaviour inside the rock medium. Figure
23 shows the curve of horizontal stress against horizontal displacement for a point located
above the joint (0.030, 0.0825), where a brittle response of the rock also is predicted. To
create this graph use the option of Point graph, for the X-axis select X-Displacement and
for the Y-axis select Sxx-stresses. Note that when the stress or strain variables are
selected, two options appear (see Figure 24). Select EL 2DLQ because, this option gives
the values in the quadrilateral elements, while the option EL 2DLJ gives the values at the
joint element.
CODE_BRIGHT TUTORIAL
TUTORIAL EXAMPLE
1. Define Geometry
The joint is an element with zero thickness and double nodes (Zandarin, 2011). To create
this element is necessary to generate a contact surface using GID options. This type of
contact is defined between two lines that are physically in the same place, but which have
different line and node entities (see section 3.1.2.9 in GID manual). To avoid errors in the
generation of the contact surface, the geometry is drawn using two surfaces which are
created in two different layers; the first one is at the left side of the joint and the second
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.2
one at right side, as shown in Figure 2. The coordinates of the nodes are presented in
Table 1.
a) Layer 0 b) Layer 1
Figure 2 Define Geometry
Geometry coordinates
Layer 0 Layer 1
0,0 0.5,0
0.5,0 1,0
0.5,1 1,1
0,1 0.5,1
Once the two surfaces are created, is important to verify that there are two different lines
in the place where the join will be placed (lines 2 and 8). To do this select
Utilities/list/lines and chooses the place where the joint will be created, a windows
appears showing the properties of line 2 (see Figure 3) and selecting on the button Next,
the properties of the line 8 also appear.
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.3
To create the contact surface, select Geometry/Create/Contact surface from the drop-
down GiD menu (Figure 4). Choose the lines 2 and 8, and press Esc. In the list entities
menu can be verified that the surface is created.
1) Select Solution strategy tab from the Problem data dialog window.
2) Use the default value for Epsilon (intermediate time for nonlinear functions) (1) in
order to have a fully implicit scheme for the time discretization. Refer to the User’s
manual (Epsilon in Card 8 of the Code_Bright Process).
3) Use the default value for Theta (intermediate time for implicit solution) (1). Refer to
the User’s manual (Theta in Card 8 of the Code_Bright Process).
4) Type 1 on the Time step control edit box. Refer to the User’s Manual (ITIME in Card
10 of the Code_Bright Process).
5) Use the default value for Max. number of iterations per time step edit box. (10)
6) Select direct LU+Back3 from the Solver type drop down arrow menu by clicking the
icon. Refer to the User’s manual (ISOLVE in Card 3 of the Code_Bright Process).
7) Use default option Average nodal degrees of saturation for the Elemental relative
permeability computed from drop-down arrow menu. Refer to the User’s manual
(IOPTC in Card 6 of the Code_Bright Process).
8) Type 1e-5 on the Max Abs Displacement [m]. Refer to the User’s manual (variable
DELMXU in Card Group 11 of the Code_Bright Process).
9) Use default value for Max Nod Bal Forces [MN] (i.e. 1e-10). Refer to the User’s
manual (variable DELFMX in Card Group 11 of the Code_Bright Process).
10) Type 1e3 on the Displacement Iter Corr [m] edit box. Refer to the User’s manual
(variable DUMX in Card Group 11 of the Code_Bright Process).
11) Use default value for Max Abs PI [MPa] (i.e. 1e-3). Refer to the User’s manual
(variable DELMXPL in Card Group 11 of the Code_Bright Process).
12) Use default value for Max Nod Water Mass Bal [kg/s] (i.e. 1e-10). Refer to the User’s
manual (variable DELQWMX in Card Group 11 of the Code_Bright Process).
13) Type 1e3 on the PI Iter Corr [MPa]. Refer to the User’s manual (variable DPLMX in
Card Group 11 of the Code_Bright Process).
14) Use default option On nodal correction or residual for Convergence criterion drop-down
arrow menu.
15) Click Accept to modify the mentioned data values, see Figure 5.
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.5
In the Select Output tab of the Problem data dialog window, you can check the box
beside Joint model and specific information of some variables associated to the joint can
be selected (Figure 6) like joint aperture, joint slide, normal stress and tangential stress.
The program will generate extra files in which the information selected will appear for
every time step.
3. Define Materials.
Two different materials are considered in the problem, the soil and the joint. To
characterize the mechanical behaviour of the joint element elastic or viscoplastic
constitutive models can be used. In this tutorial, an elastic model is used for both, joint
and soil.
Soil
1) Click on Data/Materials from drop-down menu.
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.6
3) Choose mechanical data1 tab and define a Linear elasticity model, with a Young
modulus of 1 MPa, and a Poisson ratio of 0.3, as shown in Figure 7.
4) Choose hydraulic and thermal data, and define a material with intrinsic permeability
value of 1.0e-14 in the 3 principal directions, see Figure 8
5) Assign this material to the surfaces that compose the soil (surfaces 1 and 2)
Joint
1) Create a new material and use the name joint.
The intrinsic permeability of the joint can be calculated using two different options. The
first one considers that intrinsic permeability is constant, this means independent of the
joint aperture. In this case, type the value of the longitudinal permeability in the
parameter P1 and the transversal permeability in the parameter P2. In the second option,
the intrinsic permeability of the joint is calculated using Barton´s law, which considers
the variation of the longitudinal intrinsic permeability with the joint aperture using a joint
roughness coefficient (JRC) (see Code_Bright manual sectionVIa). To use the second
option, a value of 1 should be typed in P1 and a value for JRC parameter in P6 (see
Figure 10). For the second option, the transversal intrinsic permeability is assumed to be
the same as the porous material. In this tutorial the second option is used and the effect of
the parameter JRC is evaluated, an initial value of JRC=3 is assigned.
4. Define Conditions
3) Choose the option Force/Disp B.C from drop-down arrow menu by clicking the down
arrow.
4) Select Nodal forces from the Forces drop-down arrow menu by clicking the icon.
9) Click Finish. The following message will appear in the message box:
4) Click Finish. The following message will appear in the message box:
5) Click Finish. The following message will appear in the message box:
Assigned 2 new Lines to condition: Line_Force/Disp_B.C.
Clicking Draw/force/disp B.C on the Draw button, allow you to visualize the conditions
applied, as shown in Figure 11
2) Choose the option Initial unknowns from the drop-down menu by clicking the down
arrow.
3) Leave the default values in all the box options, zero in all.
5) Click finish. The following message will appear in the message box:
Assigned 3 new Surfaces to condition: Surface_Initial_unknowns
3) Assign this condition to the 3 surfaces, the following message will appear on the
message box:
1) Choose the option Initial stress from the drop-down menu by clicking the down arrow.
2) Leave the default values in all the box options, zero in all.
4) Click finish The following message will appear in the message box:
Assigned 3 new Surfaces to condition: Surface_Initial_stress
3) Select Days from the Units of time discretization drop down arrow menu by clicking
the icon.
6) Type 0.01 on the Initial Time Step. Figure 12 illustrates the data entry for interval 1
7) Click Accept. The message: “Interval Data modified” appears blinking on top of the
Accept button.
8) Create a new interval, by clicking in the new interval icon , and copy all the
conditions and material from the interval 1.
10) Select Days from the Units of time discretization drop down arrow menu by clicking
the icon.
11) Type 1 on the Initial Time edit box.
14) Type 0.1 on the Partial Time Step (see manual) edit box. Figure 13 illustrates the
data entry for interval 2.
15) Click Accept. The message: “Interval Data modified” appears blinking on top of
the Accept button.
2) Verify that the force/disp B.C conditions applied to line elements be the same than in
the interval 1 (restriction in displacement and uniform load).
3) Choose the option Flux B.C from drop-down arrow menu by clicking the down arrow.
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.12
4) Type 1e3 in the gamma for liquid edit box (by default P l =0)
5) Assign this condition to lines 3 and 7 (top boundaries). Figure 14 illustrates all the
conditions applied in this interval.
6. Mesh generation
Generate de mesh.
1) Choose Mesh/structured/surface/Assign number of cell from the drop-down menu,
and select the surfaces 1 and 2, DON’T SELECT THE JOINT SURFACE. This
makes it possible to have exactly the same mesh for both lines forming the contact
surface (see GID manual section 3.1.2.9) Press ESC.
2) A window to enter the number of cells to assign to lines appears, type 20 in the edit
box and select the lines 4 and 6. Press ESC.
3) Type 10 in the edit box and assign to lines 3 and 7. Press ESC and click in close.
5) Select the surfaces that composed the soil, DON’T SELECT THE JOINT SURFACE.
Press ESC
7) A window to enter the size of elements to be generated will appear, leave the value as
the default option and click in OK
8) A new dialog window will appear, notifying that a mesh has been generated and
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.13
2) Select the lines 2, 4, 6 and 8, an arrow appears to show the direction in which the line
is generated. It is important that the four lines have the same direction, because the
concentration of elements will be done at the start or at the end of the line.
If they are created in different direction be careful choosing where has to be done the
concentration of elements, at the start or at the end.
Figure 17 shows an example where the lines were generated in direction down-up, to
concentrate the elements in the top of the sample, type 0.2 in End weight edit box.
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.14
4) Choose Mesh/generate mesh a dialog window will appears notifying that the
mesh will be changed, click OK.
5) A window to enter the size of elements to be generated will appear, leave the
value as the default option and click in OK.
6) A dialog window will appear with the information of the new mesh. Click on view
mesh, and the new mesh will be generate, see Figure 18.
7. Process
8. Post-process.
Figure 20 and Figure 21 show the contours of vertical displacement and liquid pressure,
respectively, at the end of the consolidation process (step 3). It can be seen that the
existence of an open discontinuity (or joint) with a high longitudinal permeability in
comparison with the permeability of the porous medium, is used as a preferential path for
the dissipation of the excess of liquid pressure generated during loading step.
Joint variables
Figure 22 shows the evolution of the Joint aperture with time. This figure was created
using the Point evolution graphs option and selecting different points along the joint,
these points are: (0.5,0), (0.5,0.1), (0.5,0.2), (0.5,0.5), (0.5,0.8), (0.5,0.9), (0.5,1). Note
that in the graphs presented below the Time factor is used instead of time, this was
calculated as:
Where c v is the coefficient of consolidation and H is the height of the soil sample. It is
noted in Figure 22 the closure of the joint propagating downward from the upper
boundary as the fluid is evacuated.
CODE_BRIGHT - TUTORIAL. JOINT CONSOLIDATION X.17
0.0105
y (m): 0
0.1
0.01 0.2
0.0085
0.008
0 0.5 1 1.5 2 2.5
Time factor
Figure 22 Evolution of joint aperture with Time factor
Now, the effect of the intrinsic permeability depending on the aperture (Barton’s law) is
evaluated. For comparison purposes results using a constant value for the longitudinal
intrinsic permeability and results of a simulation performed without vertical joint are
presented. Figure 23 shows the vertical displacement evolution for a point located just on
the top boundary (0.5,1), while Figure 24 shows the variation of the liquid pressure at
different heights along the joint at four different times.
It is observed in Figures 23 and 24 that, in general, when the joint element is considered,
dissipation of the excess liquid pressures is faster and therefore higher vertical
displacements are predicted. Also it can be seen that, as the value of JRC increases the
initial intrinsic permeability reduces and both results (vertical displacements and liquid
pressures) are closer to those calculated without joint (initial values of the intrinsic
permeability for each case are showed in the figures).
Time factor
0.0 0.5 1.0 1.5 2.0 2.5
0
Vertical displacement (m)
-0.01
-0.02
2
without Joint (kx=ky=kz=1e-14 m )
kl constant (kl=1e-10 m2)
-0.03 kl JRC=1 (kl0=8.3e-10 m2)
kl JRC=3 (kl0=3.4e-12 m2)
-0.04 kl JRC=5 (kl0=2.7e-13 m2)
-0.05
-0.06
-0.07
-0.08
1 1
T=0.01 T=0.1
0.9 0.9
Relative vertical position Y
0 0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
Relative liquid pressure Pl Relative liquid pressure Pl
1 1
T=0.5 T=1.0
0.9 0.9
Relative vertical position Y
0.2 0.2
0.1 0.1
0 0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
Relative liquid pressure Pl Relative liquid pressure Pl
TUTORIAL EXAMPLE
CO 2 Injection in a Sample
The model represents a detail of the contact between the aquifer and the caprock placed
1000 m below the surface. CO 2 is injected through a horizontal well in which a constant
pressure is imposed. Thus, just a slice perpendicular to the injection well is modelled.
Geometry
First, create the lines (pressing the icon ) entering the coordinates of the external
points as indicated in Table 1.
1
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN A SAMPLE XI.2
Press JOIN to join the last point with the first one. Then press Esc.
One last line has to be created. Press the icon again, and click on points 3 and 6 and
press JOIN in both occasions.
Finally, create two surfaces (pressing the icon ) and selecting lines 1, 2, 6, 7, 8 and
9 for the lower surface; and lines 3, 4, 5 and 9 for the upper surface.
Problem Data
In the General Data tab, choose Full execution option for Execution. In the option
Axysimetry the No is maintained, as we are modelling a cross-section of a horizontal
injection well.
The next tab, Equations solved, permits to define the equations for this two-phase flow
problem. Check the boxes Mass balance of water and Mass balance of air, and we
allow the gas to dissolve in the liquid phase. The problem is isothermal, at 320 K, so in
Constant Temp (C) write 46.85, as shown in Figure 2.
2
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN A SAMPLE XI.3
For the Solution strategy, we use an iterative solver with the time step control and
tolerances shown in Figure 3.
Finally, in the Output tab, use a Writing frequency of 100. Choose the option Use
writing frequency in the Write Boundary Flows in additional file option.
Materials
Press the Exchange tab to import the materials from the material file ccs.mat provided
in the folder Material_files. Import the materials rock and caprock, and press Apply.
Now, choose the material rock, press Assign/Surface and select the lower surface and
press Esc. Select the material caprock and repeat the process assigning the upper
surface.
To ensure that the materials have been assigned correctly, press Draw/All materials
and check that each material corresponds with its surface.
Select Flux B.C. in the line conditions (second icon starting from the left at the top).
Here we impose a hydrostatic gradient. To do so, we impose a Prescribed liquid
pressure (MPa) of 10.1 in line 1 and of 9.9 in line 4. Additionally, write a Prescribed
3
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN A SAMPLE XI.4
air mass fraction (kg/kg) of 0.00024444 and a Gamma for liquid of 10000.0 in both
line conditions. Press Esc each time after assigning a condition.
Go to the surface conditions (third icon starting from the left at the top) and select
Initial unkowns. Choose Linear in the Distribution option. And write the data that
appears in Figure 4. Then, assign it to surfaces 1 and 2.
Next, select the surface condition Initial porosity. Assign a porosity of 0.1 to the lower
surface (rock) and of 0.01 to the upper surface (caprock).
These are the initial and boundary conditions for the equilibrium phase. After defining
the intervals of the problem, new boundary conditions to simulate CO 2 injection will be
added.
Interval Data
We define three intervals. The first one is to equilibrate the system. The second
simulates the beginning of CO 2 injection through a progressive increase of CO 2
pressure in the well until the operation pressure is reached. And the third period
corresponds to CO 2 injection maintaining a constant pressure in the well.
Select Data/Interval Data in the pull down menu. Select Hours as Units of time
discretization and write the data shown in Figure 5.
4
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN A SAMPLE XI.5
Now create two intervals by selecting Data/Interval/New. Answer OK and Yes to the
two questions that are asked to you. Then, write the data contained in Table 2 for the
Intervals 2 and 3.
Select the Interval 2 and select Data/Conditions in the pull down menu. To simulate
the beginning of CO 2 injection, we assign to line 7 a line Flux B.C. imposing a
Prescribed gas pressure increment (MPa) of 11.0 and a Gamma for gas of 1000.0.
Next, select Interval 3 and modify the flow boundary condition by imposing a
Prescribed gas pressure (MPa) of 11.0 and a Gamma for gas of 1000.0. Then, assign
this condition to line 7.
Mesh Generation
Select Mesh/Unstructured/Assign sizes on surfaces in the pull down menu, and enter
a value of 1, Assign it to the two surfaces and press Esc.
Select Mesh/Generate mesh in the pull down menu, and enter again a size element of 1
and press OK. A mesh of 216 quadrilateral elements has been created.
Process
The problem is now ready to run. Press Calculate/Calculate in the pull down menu. It
will take some seconds to finish. Once the process is finished, press Post-process.
5
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN A SAMPLE XI.6
Post-Process
Only some features of post-process interface are represented here. The user could
explore more options to visualize the results.
Select Window/View results in the pull down menu to visualize the results. Select the
option Contour Fill in the menu View. Select the time Step 2 (hours), which
corresponds to the end of the ramp period. Visualize Gas Pressure and Liquid
Pressure. The liquid saturation degree (Liq Sat Deg) and the gas (qG) and liquid (qL)
flux can be seen both in the option Contour Fill and Smooth Contour Fill. Choose the
latter option and visualize the results. The evolution of these variables can be observed
by changing the time Step. Figure 6 displays these variables for 2 and 5 hours. To
control the scale range, use the icons that can be found in the left column of the
menu.
2 hours 5 hours
(a)
(b)
6
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN A SAMPLE XI.7
(c)
(d)
(e)
Figure 6. (a) CO 2 pressure, (b) water pressure, (c) liquid saturation degree, (d) gas flux
and (e) water flux at 2 and 5 hours.
Note that the desaturated zone coincides with the zone where gas pressure is higher than
the liquid pressure. Additionally, water becomes quite immobile inside the CO 2 plume,
but is displaced in the limit of the CO 2 plume.
7
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN A SAMPLE XI.8
Finally, Figure 7 shows the effect of the dissolved CO 2 on the density of the brine. As
the CO 2 plume advances, CO 2 dissolves in the brine, which increases its density. This
may generate convective cells in the long term.
(a) (b)
Figure 7. (a) CO 2 dissolved concentration and (b) liquid density at time step 5 hours.
8
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN AN AQUIFER XII.1
TUTORIAL EXAMPLE
CO 2 Injection in an Aquifer
Geometry
A 100 m thick horizontal aquifer with a radial extend of 10 km is modelled. The well
has a radius of 150 mm. An additional surface is created next to the outer boundary to
impose the hydraulic boundary condition. Figure 1 displays the simplified geometry of
the problem.
First, create the lines (pressing the icon ) entering the coordinates of the external
points as indicated in Table 1.
Press JOIN to join the last point with the first one. Then press Esc.
One last line has to be created. Press the icon again, and click on points 2 and 5 and
press JOIN in both occasions.
Finally, create two surfaces (pressing the icon ) and selecting lines 1, 5, 6 and 7 for
the aquifer; and lines 2, 3, 4 and 7 for the additional surface next to the outer boundary.
Problem Data
1
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN AN AQUIFER XII.2
In the General Data tab, choose Full execution option for Execution. In the option
Axysimetry select Around y-axis, as we are modelling a radial injection.
The next tab, Equations solved, permits to define the equations for this two-phase flow
problem. Check the boxes Mass balance of water and Mass balance of air, and we
allow the gas to dissolve in the liquid phase. The problem is isothermal, at 320 K, so in
Constant Temp (C) write 46.85, as shown in Figure 2.
For the Solution strategy, we use a linear solver with the time step control and
tolerances shown in Figure 3.
2
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN AN AQUIFER XII.3
Materials
Press the Exchange tab to import the materials from the material file ccs.mat provided
in the folder Material_files. Import the materials rock and gravel, and press Apply.
Now, choose the material rock, press Assign/Surface and select the surface on the left
(aquifer) and press Esc. Select the material gravel and repeat the process assigning the
surface on the right.
To ensure that the materials have been assigned correctly, press Draw/All materials
and check that each material corresponds with its surface.
Select Flux B.C. in the line conditions (second icon starting from the left at the top).
Here we impose a hydrostatic gradient. To do so, we impose a constant liquid pressure
of 10.0 MPa in line 2, as shown in Figure 4. Press Esc each time after assigning a
condition.
Go to the surface conditions (third icon starting from the left at the top) and select
Initial unkowns. Choose Linear in the Distribution option. And write the data that
appears in Figure 5. Then, assign it to surfaces 1 and 2.
3
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN AN AQUIFER XII.4
Next, select the surface condition Initial porosity. Assign a porosity of 0.15 to the
surface on the left (aquifer) and of 0.3 to the surface on the right (gravel).
Those are the initial and boundary conditions for the equilibrium phase. After defining
the intervals of the problem, new boundary conditions to simulate CO 2 injection will be
added.
Interval Data
We define four intervals. The first one is to equilibrate the system. The second
simulates the beginning of CO 2 injection through a progressive increase of CO 2 mass
flow rate in the well until the operation mass rate is reached. And the third and fourth
periods corresponds to CO 2 injection maintaining a constant mass rate in the well for
one year.
Select Data/Interval Data in the pull down menu. Select Days as Units of time
discretization and write the data shown in Figure 6.
4
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN AN AQUIFER XII.5
Now create three intervals by selecting Data/Interval/New. Answer OK and Yes to the
two questions that are asked to you. Then, write the data contained in Table 2 for the
Intervals 2, 3 and 4.
Select the Interval 2 and select Data/Conditions in the pull down menu. To simulate
the beginning of CO 2 injection, we assign to line 6 a line Flux B.C. imposing a
Prescribed gas flow increment (kg/s) of 0.84 (2.5 Mt CO 2 /yr).
Next, select Interval 3 and modify the flow boundary condition by imposing a
Prescribed gas flow (kg/s) of 0.84. Then, assign this condition to line 6. Repeat this
process for Interval 4.
Mesh Generation
Select Mesh/Structured/Surfaces/Assign in the pull down menu, and select the surface
on the left. Write 10 when you are asked Enter number cells to assign to lines, press
Assign, and assign line 6. Line 7 (parallel to line 6) will be automatically selected.
Then, press Esc. Now write 50 in the Enter value window and assign line 1 (line 5 will
be automatically selected), and press Esc. Repeat the process for the other surface,
assigning 10 elements to lines 7 and 3, and 1 element to lines 2 and 4.
Select Mesh/Generate mesh in the pull down menu. A mesh of 510 quadrilateral
elements has been created.
5
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN AN AQUIFER XII.6
Process
The problem is now ready to run. Press Calculate/Calculate in the pull down menu. It
will take some minutes to finish. Once the process is finished, press Post-process.
Post-Process
Only some features of post-process interface are represented here. The user could
explore more options to visualize the results.
Select Window/View results in the pull down menu to visualize the results. Select the
option Contour Fill in the menu View. Select the time Step 370 (days), which
corresponds to the end of the injection. Visualize Gas Density (Figure 8). This variable
can be compared with the others of this menu (e.g. Dissolved Air Concentration, Gas
Pressure, Liquid Saturation Degree). The evolution of these variables can be
observed changing the time Step.
Figure 8. CO 2 density after 1 year of injection. Note the density variation within the
CO 2 plume, as it is a function of pressure.
To plot the evolution with time of a variable, press the icon and the variable you are
interested in that are shown in Figure 9.
Choose the variable Liquid Pressure and write 50 -10 and press Intro. This gives the
liquid pressure at the coordinates x = 50 m and y = -10 m. Repeat the process for Gas
Pressure and Liquid Saturation Degree. The three variables are visualized together.
6
CODE_BRIGHT - TUTORIAL. CO2 INYECTION IN AN AQUIFER XII.7
To export the data, select Files/Export/Graph/All in the pull down menu and save the
files in a folder of your choice. Now you can work with the data and create your figures
(e.g. Figure 10).
Figure 10. CO 2 and water overpressure and liquid saturation degree at a point placed 50
m away from the injection well and 10 m below the top of the aquifer for an
injection of 2.5 Mt CO 2 in one year.
Note that the aquifer starts to desaturate when the CO 2 pressure becomes higher than
that of water. Interestingly, though the injection mass rate is constant there is a decrease
in fluid pressure once the CO 2 fills the pores. This is because CO 2 viscosity is one order
of magnitude lower than that of brine, which lets the fluids flow more easily.
7
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.1
TUTORIAL EXAMPLE
The model represents a pilot test of a 100 m thick homogeneous horizontal aquifer at a
depth of 1500 m overlaid by a 100 m thick low-permeability caprock. 10.000 t of CO 2
are injected at a constant mass rate through the whole thickness of the aquifer during a
week. The resulting overpressure due to the injection will produce an uplift of the rock.
An axisymmetric model solving the HM problem is used to simulate the radial injection
at a single well.
Geometry
A 100 m thick horizontal aquifer with a radial extend of 2 km is modelled. The aquifer
has a 100 m thick horizontal caprock on top. The well has a radius of 150 mm. An
additional surface is created next to the outer boundary to impose the hydraulic
boundary condition. Figure 1 displays the simplified geometry of the problem.
First, create the lines (pressing the icon ) entering the coordinates of the external
points as indicated in Table 1.
Press JOIN to join the last point with the first one. Then press Esc.
One last line has to be created. Press the icon again, and click on points 2 and 5 and
press JOIN in both occasions. Then press Esc. to end.
1
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.2
Finally, create three surfaces (pressing the icon ) and selecting lines 1, 5, 6 and 10
for the aquifer; lines 2, 3, 4 and 10 for the additional surface next to the outer boundary;
and lines 1, 2, 7, 8 and 9 for the caprock.
Problem Data
In the General Data tab, choose Full execution option for Execution. In the option
Axisymmetry select Around y-axis, as we are modelling a radial injection.
The next tab, Equations solved, permits to define the equations for this
hydromechanical problem. Check the boxes Stress equilibrium, Mass balance of
water and Mass balance of air, and we allow the gas to dissolve in the liquid phase.
The problem is isothermal, write 59.5 in Constant Temp (C), as shown in Figure 2.
For the Solution strategy, we use an iterative solver with the time step control and
tolerances shown in Figure 3.
2
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.3
Finally, in the Output tab, use a Writing frequency of 50. Then, press Accept and
Close.
Materials
Press the Exchange tab to import the materials from the material file ccs.mat provided
in the folder Material_files. Import the materials rock, caprock and gravel, and press
Apply. Then, delete material Soil.
Now, choose the material rock, press Assign/Surface and select the left bottom surface
(aquifer) and press Esc. Select the material gravel and repeat the process assigning the
right bottom surface. Finally, select the material caprock and assign it to the top
surface.
To ensure that the materials have been assigned correctly, press Draw/All materials
and check that each material corresponds with its surface.
3
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.4
Select Force/Disp B.C. in the line conditions (second icon starting from the left at the
top). We restrict the displacement perpendicular to the outer boundaries by means of a
roller boundary. We restrict the displacement in the y-direction by writing a 1 in the
option Y direction prescribed for lines 4 and 5 (use as a multiplier 1.0e15) with
Boundary Stress in the Forces option. Press Esc each time after assigning a condition.
We restrict the displacement in the x-direction by writing a 1 in the option X direction
prescribed for lines 3 and 9 (use as a multiplier 1.0e15) with Boundary Stress in the
Forces option. Finally, to simulate the overburden on top of line 8, write -28 (MPa) in
the option Y-direction Force/Stress (use as a multiplier 1.0e10) with Boundary Stress
in the Forces option.
Select Flux B.C. in the line conditions. Here we impose a hydrostatic gradient. To do
so, we impose a constant liquid pressure of 15.0 MPa in line 2, as shown in Figure 4.
Go to the surface conditions (third icon starting from the left at the top) and select
Initial unknowns. Choose Linear in the Distribution option. And write the data that
appears in Figure 5. Then, assign it to all surfaces.
4
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.5
Next, select the surface condition Initial porosity. Assign a porosity of 0.10 to the
bottom left surface (aquifer), of 0.01 to the top surface (caprock) and of 0.3 to the
bottom right surface (gravel).
Now, select the surface condition Initial stress. Choose Linear in the Distribution
option. And write the data that appears in Figure 6. Then, assign it to all surfaces.
5
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.6
These are the initial and boundary conditions for the equilibrium phase. After defining
the intervals of the problem, new boundary conditions to simulate CO 2 injection will be
added.
Interval Data
We define three intervals. The first one is to equilibrate the system. The second
simulates the beginning of CO 2 injection through a progressive increase of CO 2 mass
flow rate in the well until the operation mass rate is reached. And the third period
corresponds to CO 2 injection maintaining a constant mass rate in the well for one week.
Select Data/Interval Data in the pull down menu. Select Days as Units of time
discretization and write the data shown in Figure 7.
Now create two intervals by selecting Data/Interval/New. Answer OK and Yes to the
two questions that are asked to you. Unselect the option Put displacements to 0 in
intervals 2 and 3. Then, write the data contained in Table 2 for the Intervals 2 and 3.
Select the Interval 2 and select Data/Conditions in the pull down menu. To simulate
the beginning of CO 2 injection, we assign to line 6 a line Flux B.C. imposing a
Prescribed gas flow increment (kg/s) of 0.175 (10.000 t CO 2 in 1 week, taking into
account the surface over which the boundary condition is applied, since the problem is
axisymmetric).
Next, select Interval 3 and modify the flow boundary condition by imposing a
Prescribed gas flow (kg/s) of 0.175. Then, assign this condition to line 6.
Mesh Generation
6
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.7
Select Mesh/Unstructured/Assign sizes on surfaces in the pull down menu, and enter
a value of 30. Assign it to the three surfaces and press Esc.
Select Mesh/Generate mesh in the pull down menu, and enter again a size element of
30 and press OK. A mesh of 420 quadrilateral elements has been created.
Process
The problem is now ready to run. Press Calculate/Calculate in the pull down menu. It
will take some minutes to finish. Once the process is finished, press Post-process.
Post-Process
Only some features of post-process interface are represented here. The user could
explore more options to visualize the results.
Select Window/View results in the pull down menu to visualize the results. Select the
option Contour Fill in the menu View. Select the time Step 8 (days), which
corresponds to the end of the injection. Visualize Porosity and change the range of
values according to Figure 8 for the aquifer and caprock, respectively.
(a)
(b)
Figure 8. Porosity after 1 week of injection in (a) the aquifer and (b) the caprock. Note
that porosity increases close to the injection well because of pressure buildup.
To plot the spatial distribution of a variable, press the icon and the variable you are
interested in as shown in Figure 9.
7
CODE_BRIGHT - TUTORIAL. CO2 INJECTION IN AQUIFER-CAPROCK XIII.8
Choose the variable Displacements/Y-Displacements and write 0.15 0 and press Intro;
and 2000 0 and press Intro. This gives the displacement in the vertical direction in the
contact between the aquifer and the caprock (Figure 10).
Figure 10. Vertical displacement in the contact between the aquifer and the caprock
after a week of injection.
There is a significant uplift close to the injection well. This uplift is proportional to the
pressure build-up.
8
CODE_BRIGHT - TUTORIAL. BExM XIV.1
CODE_BRIGHT TUTORIAL
TUTORIAL EXAMPLE
This tutorial presents the simulation of the swelling pressure test carried out by Romero in his Thesis
on Boom clay samples. The sample is located in the oedometer cell, under 80 MPa of suction and at
low vertical stress, then the sample is wetted at a constant volume up to a value of suction of 0.01
MPa; after that the sample is dried to a maximum suction of 0.4 MPa
1. Define Geometry.
The geometry of this model is very simple. It is composed by a rectangle (Figure 1). The nodes that
form this geometry are listed in Table 1. This model considers an axisymmetric axis around Y-axis.
Table 1. Geometry
Geometry X cord. [m] Y cord. [m]
P1 0 0
P2 0.07 0
P3 0.07 0.03
P4 0 0.03
3. Define Materials.
The set of parameters needed for the Barcelona Expansive model for soils (BExM) are located in the
mechanical data 4 tab. The parameters selected follow the ones presented in Sanchez et al (2005).
1) Choose mechanical data 4 tab. Table 2 present the parameters need for the BExM model and
the values adopted for this tutorial. To get some more background information about the
equations of the BExM model used, see Barcelona expansive model for soils in the chapter
CONSTITUTIVE LAWS on the code bright user´s manual, section (e).
2) As the problem is a Hydro-mechanical problem, is necessary to define the hydraulic and thermal
behaviour. Choose the hydraulic and thermal data tab, and define the retention curve, the
intrinsic permeability and the liquid phase relative permeability, following the parameters shown
in Table 3.
CODE_BRIGHT - TUTORIAL. BExM XIV.4
Table 2. Constitutive laws and parameters needed for the BExM model.
MECHANICAL DATA
BExM- Elastic model (ICL 81) ds Macro
dσ ij = Dijkl
Macro
d Macro
kl − kl −d LC
kl −d SD
kl −d SI
kl
3K sMacro
ITYCL 1
P1: macro 0.07 ds micro
dσ ij = Dijkl
micro
d micro
kl − kl
P2: micro 0.1 3K smicro
0.03 Macro
P5: s Where Dijkl is the mechanical elastic stiffness matrix of the clay
P6: M 0.3 Macro
which relates stress and elastic deformation at macro level ( d kl
);
Macro
P7: K min (MPa) 0.001 micro
micro
Dijkl is the mechanical elastic stiffness matrix which relates stress and
P8: K min
(MPa) 0.001 micro
elastic deformation at micro level ( d kl
); K sMacro is the bulk modulus
against macro suction changes; K smicro is the bulk modulus against micro
LC
suction changes; d kl
are the macro plastic strains if LC is activated;
SD SI
d kl
and d are the macro plastic strains if SD and SI are activated,
kl
respectively.
1 + e Macro s + patm
K sMacro =
s
BExM- Coupling behaviour (ICL 82) The increment of volumetric microstructural plastic deformation due to
microstructural swelling or shrinkage, follows the next expression:
ITYCL 1
P3: fsd0 -0.1 = When SD (suction decrease) is activated
P4: fsd1 1.1 = When SI (suction increase) is activated
nSD nSI
P5: nsd 2 Where: p p
f SD = f SD 0 + f SD1 1 − ;
f SI = f SI 0 + f SI 1
P6: fsi0 -0.1 p0 p0
P7: fsi1 1.1
P8: nsi 0.5
BExM- Yield surface (ICL 83)
Macro
0 −
ITYCL 1
p0* s − Macro
P1: M 1 p0 = pc with s = 0 1 − r e− s + r
pc
P3: r 0.78
P4: MPa-1) 5
0.01
F SD = SD
− p−s
P5: Pc MPa)
P6: k s 0 F SI
= p+s− SI
4. Define Conditions
Initial porosity surface condition
1) Select data / conditions, click on the surface icon localized in the top-left side of the Conditions
window.
2) Choose the option Initial porosity from the drop-down menu by clicking the down arrow.
3) Type 0.49 in the Porosity box option.
4) Assign this condition to the surface 1, the following message will appear on the message box:
Assigned 1 new Surfaces to condition: Surface_Initial_porosity.
Initial Unknowns.
1) Choose the option Initial unknowns from the drop-down menu by clicking the down arrow.
2) Type -80 on Pl [Mpa] edit box.
3) Assign this condition to the surface created. The following message will appear in the message
box:
Assigned 1 new Surfaces to condition: Surface_Initial_unknowns
Initial Stress.
1) Choose the option Initial Stress from the drop-down menu by clicking the down arrow.
2) Type -0.0001 on X Stress edit box.
3) Type -0.0001 on Y Stress edit box.
CODE_BRIGHT - TUTORIAL. BExM XIV.6
Vertical Stress
1) Choose boundary stress from the drop-down menu, by clicking in the down arrow.
2) Type -0.0001 on the Y direction Force/Stress edit box.
3) Type 0 on the Y direction prescribed (0-no, 1- yes) edit box.
4) Assign this condition to line 3. The following message will appear in the message box:
Assigned 1 new Line to condition: Line_Force/Disp_B.C.
Figure 3. Summary of all conditions imposed on lines/surfaces at the first time interval.
Interval 1
Define the Interval Data:
1) Select Data/Interval Data from drop-down menu.
2) Select Interval data 1 by clicking on the icon.
3) Select days from the Units of time discretization drop down menu by clicking the icon.
4) Type 0 on Initial Time (start period).
5) Type 1 on Final Time (end period).
6) Type 0.00001on Initial Time Step.
7) Type 0.01on Partial time (see manual).
8) Type 0.1on Partial time step (see manual).
Click Accept. The message “Interval Data modified” appears blinking on top of the Accept button.
CODE_BRIGHT - TUTORIAL. BExM XIV.8
Interval 2
Define the Interval Data:
1) Create a new interval, by clicking in the new interval icon , and copy all the conditions and
material from the interval 1.
2) Now, select interval data 2.
3) Type 1 on the Initial Time edit box.
4) Type 0.001 on the Initial Time Step edit box.
5) Type 2 on the Final Time (end period) edit box.
6) Type 0.01 on Partial time (see manual).
7) Type 0.005 on Partial time step(see manual).
8) Select Put displacements to 0.
Click Accept. The message “Interval Data modified” appears blinking on top of the Accept button.
1) Select Force/Disp B.C. from the drop-down arrow menu by clicking the down arrow.
2) Type 1 on the Y direction prescribed (0-no, 1- yes) edit box.
3) Assign this condition to line 3; and click on finish. The following message will appear in the
message box:
Assigned 1 new Line to condition: Line_Force/Disp_B.C.
CODE_BRIGHT - TUTORIAL. BExM XIV.9
Interval 3
Define the Interval Data:
1) Create a new interval, by clicking in the new interval icon , and copy all the conditions and
material from the interval 2.
2) Now, select interval data 3.
3) Type 2 on the Initial Time edit box.
4) Type 0.001on the Initial Time Step edit box.
5) Type 3 on the Final Time (end period) edit box.
6) Type 0.01on the Partial time (see manual).
7) Type 0.01 on the Partial time step(see manual).
Click Accept. The message “Interval Data modified” appears blinking on top of the Accept button.
Interval 4
Define the Interval Data:
1) Create a new interval, by clicking in the new interval icon , and copy all the conditions and
material from the interval 3.
2) Now, select interval data 4.
3) Type 3 on the Initial Time edit box.
4) Type 0.001on the Initial Time Step edit box.
5) Type 4 on the Final Time (end period) edit box.
6) Type 0.01on the Partial time (see manual).
7) Type 0.01 on the Partial time step(see manual).
Click Accept. The message “Interval Data modified” appears blinking on top of the Accept button.
CODE_BRIGHT - TUTORIAL. BExM XIV.10
2) Click on the line icon localized on the top-left side of Conditions window.
3) Select Flux B.C. from the drop-down arrow menu by clicking the down arrow
4) Type -0.01 in the Prescribed liquid pressure (MPa) edit box.
5) Type -0.39 in the Prescribed liquid pressure increment (MPa) edit box.
6) Type 10000 in the Gamma for liquid edit box.
7) Assign this condition to line 1; The following message will appear in the message box:
Assigned 1 new Line to condition: Line_Flux_B.C.
7. Process.
Choose calculate/calculate from Drop-down menu and then the Code-Bright process is launched.
8. Post-process.
In this model the effect of the behaviour of the microstructure of the soil in the performance of the
soil is implemented. In order to evaluate the behaviour of the microstructure and its effect in the
macrostructure, some new parameters are presented in the post-process, like the microstructural
porosity. Figure 6 presents the variation of this parameter during the test in a series of contour fill
diagrams.
The most important result of this test is the variation of vertical stress (swelling pressure) with suction;
the Figure 7 presents this relation. To create this graph use the option point graph, for the X- axis use
Syy-Stress and for Y-Axis liquid pressure, select the point 0.035;0.015
Is also important to observe the evolution of P0* with suction, in order to evaluate the behaviour of
the line LC, in the process of the test, to create this graph use the same process that used before, but
for the X- axis use P0* BExM, the Figure 8 present the results for the point 0.035; 0.015.
In the figure presented above can be observed that when the wetting start the soil experiment a
swelling generating the decrees of the value P0*, until the activation of the LC, when the sample
experiment collapse, causing the increase of P0*, the evolution of the LC line has the behaviour show
in Figure 9.
CODE_BRIGHT - TUTORIAL. BExM XIV.13
Figure 10 presents the cycles of wetting or drying applied to the sample. Its results can be compare
whit Figure 11 which represents the variation of volumetric deformations in time. It is observed that
plastic and elastic volumetric deformations occur after every cycle. After the first cycle the largest
plastic volumetric deformations occur.
CODE_BRIGHT TUTORIAL
TUTORIAL EXAMPLE
10 m
5m
Figure 1. Geometry.
1. Define Geometry.
The geometry of this model is very simple. It is composed by a rectangle (see Figure 2). The nodes
that define this geometry are listed in Table 1.
Table 1. Geometry.
Geometry X cord. [m] Y cord. [m]
P1 0 0
P2 5 0
P3 5 10
P4 0 10
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.2
The JOIN option is used to join the last line (L4) with the existing point created at the beginning
(P1). The surface (S1) is created with the NURBS surface option in Geometry/Create/NURBS
surface/Automatic.
6) Use default option Average nodal degrees of saturation for the Elemental relative permeability
computed from drop-down menu. Refer to the User’s manual (IOPTC in Card 6 of the
Code_Bright Process).
7) Use default value for Max Abs Pl [MPa] (i.e. 1e-3) edit box. Refer to the User’s manual
(variable DELMXPL in Card Group 11 of the Code_Bright Process).
8) Use default value for Max Nod water mass bal [kg/s] (i.e. 1e-10). Refer to the User’s manual
(variable DELFMX in Card Group 11 of the Code_Bright Process).
9) Use default value for PI Iter Corr [MPa] (i.e. 1e-1) edit box. Refer to the User’s manual
(variable DPLMX in Card Group 11 of the Code_Bright Process).
10) Use default value for Max Abs Temp [C] (i.e. 1e-3). Refer to the User’s manual (variable
DELMXT in Card Group 11 of the Code_Bright Process).
11) Use default value for Max Nod Energy mass Bal [J/s] (i.e. 1e-10). Refer to the User’s manual
(variable DELEMX in Card Group 11 of the Code_Bright Process).
12) Use default value for Temp Iter Corr [MPa] (i.e. 1e-1). Refer to the User’s manual (variable
DTMX in Card Group 11 of the Code_Bright Process).
13) Use default option: On nodal correction or residual for Convergence criterion drop-down menu.
14) Click Accept to modify the mentioned data values, see Figure 3.
3. Define Materials.
A material of mud type is used to model the soil column. If in doubt during the process to set the
constitutive laws for this material, see both CODE_BRIGHT/ PREPROCESS/ MATERIALS and
chapter CODE_BRIGHT/CONSTITUTIVE LAW of Code_Bright manual. To define the materials,
select data/materials in the pull down menu. The present problem requires just the Hydraulic and
Thermal data sheet to be filled. The phase properties used are the default properties.
1) Choose hydraulic and thermal data tab, define the retention curve with the Van Genuchten
model (ITYCL=1) The properties used are shown in Table 2
2) The intrinsic permeability of the material is define with the ICTYL number 1, the value of the
permeability in the 3 principal directions (P1,P2,P3) is 1.02e-15, The reference porosity value (P4)
is 0.45 and the minimum porosity is (P5) is 0.1e-1, see Figure 5.
3) For the liquid phase relative permeability use the Van Genuchten model (ITYCL=1) with
power (P3) value of 0.18 and a value of maximum saturation S ls (P5) of 1.
4) The Gas phase relative permeability is calculated with the generalised power equation (ITYCL
6), the parameters used are listed in Table 3
5) In the lines Diffusive fluxes of vapour use the ITYCL 1, leave all the options with the default
value (zero in all).
6) The conductive flux of heat 1 line is characterized by the ITYCL number 1 (thermal conductivity
dependence on porosity. Geometric weighted mean), the value of dry (P1) is 0.5 and the value of
dry (P2) is 1.
7) Finally for the line conductive flux of heat 2, use 1 for the ITYCL number, 0.1 for the parameter
P4 and 1.0 for P5. See Figure 6
In Table 4 are listed all the parameters used to define the hydraulic and thermal data.
4. Define Conditions
The following conditions have to be defined for the present problem of THM type under
atmospheric loads (THM-atm),
- Flux Boundary Conditions (Atmospheric)
- Initial Unknowns
- Initial Porosity
- Initial Stress
3) Choose the option Flux B.C from drop-down arrow menu by clicking the down arrow.
4) Select Boundary flow rate from the Flow rate drop-down arrow menu by clicking the icon.
13) Click Finish. The following message will appear in the message box:
2) Choose the option Initial porosity from the drop-down menu by clicking the down arrow.
4) Assign this condition to the surface 1 the following message will appear on the message box:
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.7
1) Choose the option Initial unknowns from the drop-down menu by clicking the down arrow.
2) Choose the option linear from drop-down arrow menu by clicking the down arrow.
11) Click finish The following message will appear in the message box:
In this kind of model is important to create an interval of equilibrium, previous to the time interval
to evaluate with the atmospheric condition. The interval 1 is the equilibrium step
Interval 1
3) Select months from the Units of time discretization drop down arrow menu by clicking the
icon.
6) Type 1e-4 on the Initial Time Step. Figure 7 illustrates the data entry for interval 1
Click Accept. The message: “Interval Data modified” appears blinking on top of the Accept
button.
Interval 2
1) Create a new interval, by clicking in the new interval icon , and copy all the conditions and
material from the interval 1.
5) Type 6 on the Final Time (end period) edit box. The Figure 8 illustrates the data entry for
interval 2.
6) Click Accept. The message: “Interval Data modified” appears blinking on top of the Accept
button.
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.9
Define atmospheric condition, (see section II.2.3.2 Flux boundary condition – Atmospheric
conditions in Code_Bright manual)
3) Select Flux B.C. from the drop-down arrow menu by clicking the icon.
4) Select atmospheric from the Flow rate drop-down arrow menu by clicking the icon.
11) Type 1.2 in the density atm gas [kg/m3] edit box.
14) Type 1e6 in the gamma for gas [kg/m2/s/Mpa] edit box.
15) Type -1e6 in the gamma for liquid [kg/m2/s/Mpa] edit box.
21) Click finish The following message will appear in the message box:
Remember that you must create an extra file (tutorial_atm) with the time varying atmospheric data,
required to compute mass and heat fluxes, in Table 5 is presented a scheme of this file, see section
II.2.3.2 Flux boundary condition – Atmospheric conditions in Code_Bright manual.
The second line (flag) of the tutorial_atm.dat 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, or used measured data.
If the flag is set to ‘0’, the atmospheric data will be simulated, 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.
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.11
6. Generate de mesh.
1) Choose Mesh/structured/surface/Assign number of cell from the drop-down menu, and
select the surface 1, press ESC.
2) A window to enter the number of cells to assign to lines appears type 15 in the edit box and
select line 3 Press ESC.
3) Type 30 in the edit box and assign to line 2. Press ESC and click in close.
4) Choose Mesh/element type/quadrilateral from the drop-down menu, an information window
appears, click in OK.
5) Select the surface 1, press ESC.
6) Choose Mesh/generate mesh from the drop-down menu.
7) A window to enter the size of elements to be generated will appear, leave the value as the
default option and click in OK
8) A new dialog window will appear, notifying that a mesh has been generated and describing
the mesh characteristics, as shown in Figure 10
2) Select the lines 2, and 4, an arrow appears to show the direction in which the line is generated. It
is important that the two lines have the same direction, because the concentration of elements
will be done at the start or at the end of the line.
Figure 12 shows an example where the lines were generated in direction down-up, to concentrate
the elements in the top of the sample, type 0.1 in End weight edit box.
7. Process.
Choose calculate/calculate from Drop-down menu and then the Code-Bright process is launched.
8. Post-process.
In Figure 14 are presented some contour fill diagrams with the evolution of temperature in the soil
column. It can be seen that at time 0, the temperature in the soil is the value imposed as initial
temperature (20ºC), but in the next time step (0.027778 months) the temperature varies, based with
the atmospheric data imposed. Note that the last time step is 5.9777 months, no 6 months as was
expected, this is because the last atmospheric information data correspond to 5.97 months.
In this case is important observed the evolution of parameters as liquid pressure, liquid saturation
degree, temperature, and vapour concentration in the soil column, considering the atmospheric data
imposed. Using the point evolution graphs the behaviour of the parameters listed before was
evaluated at different depth.
In Figure 15 the evolution of liquid pressure at different depth is evaluated, comparing it with the
values of rain imposed in the atmospheric condition, is important to note the behaviour of the soil
at higher values of precipitation (red circle), observed that at the surface and at the lower depth, the
performance of the liquid pressure varies as a immediately response to the precipitation, but a
deeper points the performance of the liquid pressure has less variations and the response to the peak
of precipitation occurred later, almost a month later.
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.14
Atmospheric
characteristic
imposed (Rain)
Liquid pressure at
0m depth
Liquid pressure at
0.25m depth
Liquid pressure at
0.5m depth
Liquid pressure at
0.75m depth
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.15
Liquid pressure at
1.0m depth
Liquid pressure at
3.0m depth
Liquid pressure at
5.0m depth
Liquid pressure at
8.0m depth
The performance of liquid saturation (Figure 16) is very similar to the behaviour of the liquid
pressure showed before, it can be seen that at lower points the saturation degree acts as a response
of every change in the precipitation, but in the deeper points the values of saturation degree are
almost constant
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.16
The effect of the temperature can be seen in the Figure 17, it can be noted that at the surface the soil
experiments a change in the temperature every time that the temperature in atmosphere varies, but
according as the points to evaluate are deeper the changes perceived are less, until at 8.0 m depth
the temperature of the soil is almost constant. The behaviour of the vapour concentration presented
in Figure 18 is linked to the temperature in the soil, as can be seen comparing both evolutions
graphs the value of vapour concentration increases with the intensification of soil temperature.
CODE_BRIGHT - TUTORIAL. ATMOSPHERIC XV.17
CODE_BRIGHT TUTORIAL
TUTORIAL EXAMPLE
Model description
Define geometry
The geometry in figure 1 is composed by points, lines, surfaces and volumes. The procedure to
create the geometry is the standard one: first create lines, then make surfaces from closed lines
and finally create volumes from closed surfaces.
To define the problem data, go to Data-->Problem data-->Problem data and introduce the values
given in Figures 2 and 3. Since this is a purely hidraulical problem we will select Mass balance of
water in Equations solved tab. In the solution strategy tab we will choose iterative Sparse.
Define materials
In order to model fractures with planar 2D triangles the surfaces will be considered as materials
and with porosity, permeability and thickness.
Since in code_bright porosity (initial condition) and permeability (material parameter) can be
assigned independently, the thickness is automatically considered internally to a value of 0.001
m. This should be taken into account as the volume of pores of the fracture is the product of
porosity x thickness and the transmissivity of the fracture is the product of permeability x
thickness. Therefore, porosity controls de volume (very small in any case) while intrinsic
permeability controls the transmissivity (transmissivity is a variable used in Darcy’s law when
this equation is used for a layer of porous material like a fracture or an aquifer).
Vertical and horizontal fractures are considered in the current model. This is represented in
figure 4. Both matrix (volume) and fractures (surface) require assignment of porosity. This is
represented in figure 5.
Intrinsic permeability for matrix is set to 10-14 m2 (figure 6) and will be assigned to the entire
volume, while for the fractures, the value of 10-12 m2 (figure 7) is considered. Note that the
permeability is considered only in the plane of the fracture, represented by a surface, so it will
be applied to that surface. The value of 0 has been set for the permeability normal to the surface,
although this is not strictly necessary. For the case of inclined fractures, the intrinsic permeability
can be considered isotropic. Only the intrinsic permeability material parameters of the vertical
fracture have been represented (figure 7), for the sake of briefness. Different permeability may
be applied in each fracture, which would be the normal case. Otherwise, both fractures could
be considered as only one material.
Define conditions
Finally, the arbitrary boundary conditions assigned are shown in figure 8, corresponding to 0.2
MPa (yellow color) and 0.1 MPa (green color), which together with the gravity produce the flow
of water. Also, don't forget to establish an initial porosity in the entire volume (0.3) and in the
fracture surfaces (0.1) and an initial value for the liquid pressure in the entire volume (0.1 MPa).
Mesh generation
In order to obtain meshing of the matrix and the fractures, it is necessary to indicate that the
volume and the corresponding surfaces should me meshed. To do that, go to Mesh-->Mesh
criteria-->Mesh-->Surfaces and select the 8 surfaces corresponding to the fractures, to let the
program know that you want to mesh those surfaces. Afterwards, go to Mesh-->Mesh criteria--
>Mesh-->Volumes and select all the volumes. Generation of this mesh will produce tetrahedral
elements for the volumes as well as triangle elements in the surfaces.
CODE_BRIGHT - TUTORIAL. HYDRAULIC DISCONTINUITY XVI.6
Results
The distribution of pressures and the vector fluxes are represented in figure 9.
The 2D elements in a 3D mesh that have been generated to simulate the fracture can also have
thermal properties in case the heat flow equations in solved. These 2D elements do not
contribute mechanically, i.e. only mass flow, contaminant transport and heat flow.
___________________________
CODE_BRIGHT - TUTORIAL. ANISOTROPY XVII.1
CODE_BRIGHT TUTORIAL
TUTORIAL EXAMPLE
Anisotropy minitutorial
This tutorial is intended to help the user to model anisotropic properties of the geological
media, including mechanical, thermal and hydraulic anisotropy.
Model description
Define geometry
The geometry (Figure 1) consist in a cylindrical tunnel of 0.5 m radius and the dimensions
of the whole model are 10x10x5 m. The procedure to create the geometry is the standard
one (see basic tutorials).
To define the problem data, go to Data Problem data Problem data and introduce
the values given in Figures 2, 3 and 4. In the output tab, select 15 as writing frequency.
Define conditions
Initial conditions
1) Initial unknowns (Figure 5).
2) Initial porosity: 0.1.
3) Initial stress (Figure 6).
4) Initial anisotropy (Figure 7). This will define the directions of anisotropy (Figure
8).
CODE_BRIGHT - TUTORIAL. ANISOTROPY XVII.4
Boundary conditions
1) Boundary stress (Figure 9).
2) Boundary flow rate (Figure 10).
CODE_BRIGHT - TUTORIAL. ANISOTROPY XVII.6
Define materials
Transverse isotropy can be assigned on surfaces (2D) or volumes (3D). The direction of
the orthotropic axis is indicated by the two angles shown in Figure 13. Transformation is
done from a physical plane (global axes) to the anisotropy directions (local axes). The
first rotation is around the z axis and the second rotation is around the new y’ axis. In this
case, we are only making the latter rotation.
CODE_BRIGHT - TUTORIAL. ANISOTROPY XVII.8
Mesh generation
Results
Stress components
The horizontal and vertical stresses are dominated by the effect of the tunnel. In contrast,
the effect of the anisotropy is more significant on the axial stress. The principal stresses
also show the effect of the anisotropy (Figure 16).
Liquid pressure
The pressure builds up due to the tunnel excavation, showing the effect of the mechanical
anisotropy. Also, during the flow, the pressure distribution is distorted by the hydraulic
anisotropy (Figure 17 and Figure 18).
Water flow
Water flows towards the tunnel after excavation and during ventilation. The effect of
anisotropy can also be seen in the flux of water (Figure 19).
Gas flow
Gas is injected from the tunnel after 200 days. The effect of anisotropy in the gas flow
can be observed in Figure 20. And in Figure 21 the gas pressure evolution in shown.
Displacements
The displacements show the effect of the mechanical anisotropy. After drainage, the
displacement field is also affected by the pressure distribution (Figure 22).
CODE_BRIGHT - TUTORIAL. ANISOTROPY XVII.13
Porosity
Porosity decreases by the pressure decrease induced by drainage and it increases again
when after the ventilation phase have finished (Figure 23).
Temperature