flac tutorial

22
1 Associate Professor Nagaratnam Sivakugan School of Engineering James Cook University Townsville, Qld 4811 Australia Tel.: 61 7 47814431 Email: [email protected]

description

geo technical

Transcript of flac tutorial

Page 1: flac tutorial

1

Associate Professor Nagaratnam Sivakugan School of Engineering James Cook University Townsville, Qld 4811 Australia Tel.: 61 7 47814431 Email: [email protected]

Page 2: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 2

A FLAC Primer

Table of Content Page

1. FLAC versus Others 2 2. Purchasing FLAC 2 3. Units and Notations 3 4. Running FLAC 4 5. Mesh Generation 5 6. Boundary Conditions 9 7. Solving the Problem 9 8. Outputs to Screen, Printer and Documents 10 9. Some Constitutive Models 13 10. Calculation Modes 15 11. Large/Small Strain Modes 15 12. FISH 15 13. Seepage 16 14. Consolidation

Appendices:

A – A Note on Permeability 19 B - Geotechnical Applications

Page 3: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 3

Preface

I confess I only know about 10% of FLAC, but I know that 10% quite well. For those who try to learn FLAC from scratch, it is a horrendous effort to master this wonderful software. FLAC comes with a 10-volume user manual which is not that friendly for a beginner. It took me three full weeks (and a ruined holiday) to understand the little I know of FLAC. Since then I had been helping the several postgraduates and honours students (or they help me in fine tuning my understanding) who had been applying FLAC and FLAC3D to geotechnical and mining problems. With my limited knowledge of FLAC, I was able to teach FLAC to academics and postgraduates at Indian Institute of Technology, Kanpur (India), Sultan Qaboos University (Oman) and State University of Rio de Janeiro (Brazil). And… they have become ardent fans of FLAC. The purpose of this manual is to explain the concepts and commands in the simplest possible way for the beginners. Dr. Michael Coulthard has contributed significantly to our FLAC modeling through his prompt and precise answers to all our queries, reviewing sections of this manual and visit to JCU. Consolidation, being a coupled problem, involving mechanical deformation and fluid flow, requires a bit more had work to master. The section on consolidation is written by Ms. Briony Rankine, a postgraduate who has worked on consolidation extensively, using FLAC and FLAC3D. Her contribution is gratefully acknowledged. Using this document, one can understand the key features of FLAC to get started. However, the modeling strategies given in Itasca’s FLAC manual (available on-line too) are far superior. There are several programs covering a wide range of applications in these manuals and they are certainly worth trying. Siva June 2006

Page 4: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 4

A FLAC Primer 1. FLAC versus Others FLAC (Fast Lagrangian Analysis of Continua) is one of the most popular general purpose geotechnical modeling softwares used worldwide. It is a finite difference software, and the solution scheme is explicit. The solutions are reached through a process known as time-marching or time-stepping, which is simply adjusting the values of each node in the mesh through a series of cycles or steps. These adjustments take place on the basis of the selected constitutive model and equation of motion (similar to equilibrium equations). The adjustment continues until the error (e.g., unbalanced force in the system) becomes very small. The other numerical modeling software that are used widely are PLAXIS, ABAQUS, ANSYS, CRISP etc. PLAXIS is a geotechnical software that is popular among geotechnical engineering practitioners, mainly due to its user friendliness. It operates on portable computers and is widely used in design offices. ABAQUS is quite powerful and operates from mainframe computers. It is used in civil and mechanical engineering applications, but not specifically developed with geotechnical engineering in mind. It also requires some good learning for one to master the features and use them comfortably. Like ABAQUS, ANSYS can be used for geotechnical and structural modeling. Recent addition of CIVIL FEM module makes ANSYS attractive for geotechnical modeling. CRISP is a critical state soil mechanics program, developed in UK. FLAC is developed specifically for geotechnical and mining applications and includes most constitutive models that we can think of. It runs on portable computers, and is quite versatile in features. FLAC is a very useful research tool, in spite of some difficulty in getting started. The purpose of this document is to provide a plain English guide, with very little jargon, in helping the beginners. Most of the time, I could teach a 4th year honours student or a postgraduate and get him or her started within an hour. Many of our honours students and postgraduates use FLAC and FLAC3D comfortably in their research projects. 2. Purchasing FLAC FLAC is marketed and distributed worldwide by Itasca Consulting Group of Minneapolis, USA (http://www.itascacg.com) through its agents located in many countries. The other softwares distributed by ITASCA are in Table 1. The 2-dimensional versions were the ones developed first and were later extended to 3-d.

Table 1. Itasca Software 2-D 3-D Description FLAC FLAC3D Fast Lagrangian Analysis of Continua – tor treating soil as a

continuum UDEC 3DEC Universal Distinct Element Code – for discrete blocks such as

jointed rocks PFC2D PFC3D Particle Flow Code – for assemblage of circular or spherical

particles Universities and educational institutions can purchase Itasca products at discounted prices. They come with hardware locks (dongles – Itasca calls them keys). When you need more than one key, the 2nd, 3rd and 4th keys of the same software can be bought at 50%, 33% and 25% of the price of

Page 5: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 5

the first one. At JCU, we have 3 FLAC 5.0 keys and 2 FLAC3D 3.0 keys, but under the same site license with one contact person. Itasca distributor will not entertain queries from more than one person per site license. Most geotechnical problems can be modeled as plane strain (e.g., strip footings, embankments, retaining walls, braced cuts..) or axisymmetric (pile foundation, circular footing, triaxial test, etc.) problems. Therefore, FLAC is adequate for one to get started, and it is much cheaper than FLAC3D which is required for analyzing truly 3-d problems. When you purchase FLAC, you will get the student version free (only for universities). The student version can solve a mesh of up to about 600 elements, and that is adequate for learning. All the examples provided in the extensive FLAC manuals can run on this student version. The main advantage of student version is that it does not require a dongle and can be installed in any personal computer. That makes it suitable for teaching in classrooms. The student version is adequate for viewing any large mesh and also to manipulate any *.sav files saved using “save” command. The dongle is only required to run (using step or solve commands) FLAC. FLAC comes with a very comprehensive on-line manual. Hardcopies are available in the form of 10 separate volumes, which can be bought at nominal price. At IIT Kanpur I had postgraduates doing term papers on FLAC applications just using this student version. The student version has default RAM of 0.15 MB, which can solve up to about 500 elements. 3. Units and Notations SI or imperial units can be used in FLAC. Stick to consistent sets of units to avoid any confusion. My suggestion is to use the following: Length in m; Mass in kg; Time in s; Force in N; Stress or Pressure in Pa; Density in kg/m3; Gravity in m/s2. Obviously, all FLAC outputs will be in matching units (e.g., pore water pressures in Pascals, deformations in meters, etc). In FLAC, 6.23 x 105 is written as 6.23e5. Compressive stresses are negative in FLAC. Pressure is positive when applied towards a surface, and negative when it is directed away from the surface. These are two different parameters stress and pressure in FLAC. A FLAC program will consist of a series of instructions. Each line starts with a command, which is followed by appropriate key words and necessary values. Some examples are: MODEL elastic PROPERTY den = 1600 bulk = 1e8 PLOT hold grid bou Here, MODEL, PROPERTY, and PLOT are three of the 50 or so commands available in FLAC. Whatever that cannot be done using FLAC commands can be done using FISH (for FLACish) language compiler built into FLAC. In the x-y Cartesian coordinate system, the normal stresses in x and y direction are σx and σy respectively (Fig. 1). The shear stress is σxy (often denoted by τ). These are written in FLAC as sxx, syy, and sxy respectively. The normal stress in z direction is szz.The displacements of a node in x and y directions are denoted by xdisp and ydisp respectively. Pore water pressures at an element or node are denoted by pp and gpp respectively. Xvel and yvel are the velocity

Page 6: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 6

components in x and y directions, which are simply the displacements per time step. Large velocity vectors indicate instability in a geotechnical system.

Figure 1. Notation for Stresses 4. Running FLAC By default FLAC allocates 8 MB RAM for FLAC, which is sufficient for up to 30,000 elements. If your mesh is larger, you need to allocate more memory. This can be done by adding the required number of RAM (say 16 for 16 MB) at the end of the target string. Right-click the mouse on the FLAC short-cut icon, select properties and add 16 at the end of the target string. Next time you start FLAC, the new RAM allocated will appear on the screen. Until Version 4.0, FLAC was available only as command-driven. Now, it can be used command-driven or menu-driven. Although the menu-driven FLAC appears to be easier and friendlier to use thanks to the windows and tool bars available, Itasca suggests command-driven FLAC for the beginners. The die-hards of FLAC who had been using command-driven mode still prefer using it instead of the menu-driven. The rest of this document will be based on command-driven FLAC. FLAC manual Getting Started (Getting Started 2.2.2) covers running FLAC in menu-driven mode. The menu driven mode (known as GIIC for Graphical Interface for Itasca Codes) is the default setting, and this can be turned off permanently by modifying or deleting the FLAC.INI file. In the command-driven mode, “flac:” prompt is where you enter the commands. Commands can be entered one line at a time, and FLAC is not case sensitive. For example, flac: GRID 10,12 flac: MODEL elastic defines a grid of 10x12 and specifies an elastic model. The problem here is that none of the lines typed are saved. Any later modifications require retyping the entire sequence of instructions. Therefore, it is always suggested to write the instructions in a batch-file in Notepad, as an unformatted ASCII file with possible extensions of *.txt or *.dat. These can be then called from FLAC by flac: CALL my_file.txt Very often, you will use both ways – direct and indirect modes. i.e., write most of the instructions in a batch file and run (indirect mode), and then use a couple of commands on the flac: prompt (direct mode). Some FLAC runs can take several hours to solve. Here, you may want to save the solved state so that it can be recalled without re-solving. Use “SAVE” command to save the solved sate with “*.sav” extension. flac: SAVE my_file.sav

x

y σxx

σyy

σxy

Page 7: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 7

and “RESTORE” command to restore it for further manipulation. flac: RESTORE my_file.sav Remember that the saved or restored files are in binary form unlike your original text files. All files need to be present in the “exe” directory that is located in c:\\program files\Itasca\flac\exe. A neater way is to have a separate folder (e.g., c:\\flacruns) for these program files through the following command. You will have to type this line every time you start FLAC. flac: SET cd name c:\flacruns FLAC can operate on single or double precision mode. Single precision is twice faster and requires 1/3 of the RAM compared to the double precision mode. For most of our work, single precision is adequate. QUIT command will close the FLAC window. HELP command will list all possible commands in FLAC. 5. Mesh Generation

Figure 2. A finite difference mesh in FLAC

The first step in solving a problem is to divide the problem zone into a suitable grid (or mesh). The boundaries must be selected far enough, such that the entire region influenced by the problem are included in the study. Figure 2 shows a simple 4x3 grid. The x-y Cartesian coordinate system is used to reflect the coordinates of every point within the boundaries ABCD. Integers i and j (starting with 1 – not zero) are used to denote the grid lines (and elements) in two directions that are not necessarily orthogonal. Therefore, each element and node can be defined by a pair of i and j values. The dark line is defined by i = 3, the hatched element by i=3 & j=2, and the node (or grid point) E by i = 3 & j = 2. The following program Example 1 can create this simple grid.

y

100

400 300 200 100

200

x

A(87,53)

B(116,209)

C(253,251)

D(364,140) i = 1

j = 1

j = 4

i = 5

E

Page 8: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 8

Example 1: GRID 4,3 MODEL elastic PROP den = 1600 bulk = 1e7 shear = 0.3e7 GEN 87,53 116,209 253,251 364,140 i=1,5 j=1,4 rat=1.0, 1.0 PLOT hold grid GRID command defines the number of elements in the two directions. The default model is null. Therefore some model (elastic in Ex. 1) has to be specified for the material, and MODEL command does just that. PROPERTY command specifies the values of the properties appropriate to the model selected. GENERATE command is used to create the mesh. It may be necessary to use more than one GENERATE line to create the mesh. The key word “ratio” can be used to vary the spacing of the grid lines gradually. For example “rat = 0.95,1.05” will see that the grid spacing decreases from left to right, and increases upwards. In PLOT command, the “hold” key word ensures that the screen is paused until the return key is pressed. The following two commands will show the grid numbers and the element numbers on separate screens. PLOT hold grid gnumber PLOT hold grid number Mesh generation is an art. You just don’t go for the square mesh with the same intensity everywhere for all the problems. Remember, every extra element means additional computational time, and therefore we should optimize the way we generate the mesh for a given number of elements. Including “ratio” keyword in the GENERATE command helps in grading the mesh from being coarse at far ends and finer near the regions of interest. Example 2 below shows a simple mesh for the soil beneath a strip footing (see Fig. 3). Only the right half in considered here. FLAC mesh consists of constant stress elements (or zones). Therefore, they need to be smaller when there is rapid stress change (e.g., around a corner of a footing), and can be larger in the far-field. Example 2: GRID 15,25 MODEL elastic PROP den=1600 bulk=13.33e6 shear=8e6 GEN 0,0 0,25 5,25 5,0 i=1,8 j=1,26 rat=1.0,0.95 GEN 5,0 5,25 13,25 13,0 i=8,16 j=1,26 rat=1.1,0.95 When generating meshes try to ensure that the elements are not too elongated (i.e., aspect ratio being too large, say larger than 5), which is difficult when using the ratio keyword. This can lead to numerical problems and can affect the quality of the output. At least try to see that this does not occur in the regions that are of interest to us. ATTACH command is particularly useful in making regions of different mesh density and joining them. This can be used to create quite complex meshes by attaching several subgrids together. Let’s make a 10 m x 10 m mesh and divide into left and right halves with different mesh densities, right half being three times higher in mesh density. The following program (Example 3) does just that. The four plot commands are mainly to see the effect of each line in creating the mesh.

Page 9: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 9

Figure 3. Soil beneath a strip footing (only the left half shown here)

Example 3a: GRID 13,12 MODEL elastic MODEL null i=4 MODEL null i=1,3 j=5,12 PLOT hold grid GENERATE 0,0 0,10 5,10 5,0 i=1,4 j=1,5 GENERATE 6,0 6,10 11,10 11,0 i=5,14 j=1,13 PLOT hold grid INITIAL x add -1 i=5,14 PLOT hold grid ATTACH aside from 4,1 to 4,5 bside from 5,1 to 5,13 PLOT hold grid bou iw attach lm The resulting mesh is shown in Figure 4a. Now, let’s see what happens if we also want to make the mesh coarser upwards. Here, we have used ratio = 1.1 for the right side and 1.13 for the left side to make the grid points match properly. Example 3b: GRID 13,12 MODEL elastic MODEL null i=4 MODEL null i=1,3 j=5,12 PLOT hold grid GENERATE 0,0 0,10 5,10 5,0 rat = 1.0, 1.331 i=1,4 j=1,5 GENERATE 6,0 6,10 11,10 11,0 rat = 1.0,1.1 i=5,14 j=1,13 PLOT hold grid

Page 10: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 10

INITIAL x add -1 i=5,14 PLOT hold grid ATTACH aside from 4,1 to 4,5 bside from 5,1 to 5,13 PLOT hold grid bou iw attach red

FLAC (Version 5.00)

LEGEND

26-Jun-06 11:33 step 0 -1.667E+00 <x< 1.167E+01 -1.667E+00 <y< 1.167E+01

Grid plot

0 2E 0

Boundary plot

0 2E 0

Attached Gridpoints

0.000

0.200

0.400

0.600

0.800

1.000

(*10^1)

0.000 0.200 0.400 0.600 0.800 1.000(*10^1)

JOB TITLE :

Sivakugan - School of EngineeringJames Cook University, Australia

(a) RATIO = 1 for both halves

FLAC (Version 5.00)

LEGEND

26-Jun-06 11:57 step 0 -1.667E+00 <x< 1.167E+01 -1.667E+00 <y< 1.167E+01

Grid plot

0 2E 0

Boundary plot

0 2E 0

Attached Gridpoints

0.000

0.200

0.400

0.600

0.800

1.000

(*10^1)

0.000 0.200 0.400 0.600 0.800 1.000(*10^1)

JOB TITLE :

Sivakugan - School of EngineeringJames Cook University, Australia

(b) Ratio ≠ 1 Figure 4. Use of ATTACH command (a) Ratio = 1 (b) Ratio ≠ 1

Attached grid points

Page 11: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 11

Along the vertical boundary line between the two halves in Fig. 4b, the 1st, 4th, 7th, 10th, and 13th nodes on the right half attach perfectly to the nodes on the left half. The rest of the nodes will be simply “slaved” to the nearest perfectly attached node in deriving the values linearly The following command will list all perfectly attached and slaved grid points. PRINT attach In making a more sophisticated mesh, keywords such as line, circle, arc and table can be used on GENERATE command. 6. Boundary Conditions Once the mesh is generated, it is necessary to assign boundary conditions. In Example 2, where half the problem is analysed due to symmetry, we will have the following boundary conditions. FIX x i=1 FIX x i=16 FIX y j=1 Here, it is implied that there are no horizontal deformations along the vertical boundaries on the left and right, and there is no vertical deformation at the bottom horizontal boundary. It is necessary to select these boundaries quite far from the problem zone, and this can be done through trial and error. Such boundary conditions can also include application of external loads, pressures or pore water pressures through APPLY command. When you apply loads, pressures or pore pressures within the boundary use INTERIOR command instead of APPLY command which works only on external boundaries. Gravitational stresses can be included by assigning a value for gravity. SET gravity = 9.81 ; g=9.81 m/s2 Any comments can be added after a semicolon (;). It is a good practice to add comments throughout the program so that one can follow the program easily later. 7. Solving the Problem After generating the mesh and assigning the boundary conditions, the next step is to solve the problem. This is an iterative process, known as time marching or time stepping, through a series of steps (or cycles), where the values are adjusted at every node, during each cycle. We can simply say STEP 30000 if we know that the system will reach equilibrium in 30000 steps. The best way to go about is to use SOLVE command. Here, the stepping goes on until the error (unbalanced force or equilibrium ratio) is within a prescribed value (defaults are 100 N for unbalanced force, 0.001 for equilbrium ratio, 100,000 steps for timesteps and 24 hours for runtime). These default values can be changed by the following lines.

Page 12: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 12

SET force = 50 ; unbalanced force SET sratio = 0.01 ; equilibrium ratio Equilibrium ratio is the largest ratio of maximum unbalanced force to average applied force, considering all nodes. FLAC, by default, stops when 100,000 steps are reached. This does not always mean that the equilibrium is reached. Therefore, you may need to step this further even after the SOLVE command. Alternatively, you can change the default setting of 100,000 steps by the following lines. SET step 5000000 SOLVE It is a good practice to use a large step number as above, use the <Esc> key to interrupt stepping, check histories and then continue till equilibrium is reached. Stepping can be resumed by the following command on flac: prompt. flac: STEP continue The best way to detect whether the equilibrium has been reached is to look at the histories of unbalanced force, stresses, displacements or pore pressures at a point. Inclusion of the following lines will monitor few histories and plot them, where one can see whether equilibrium has been reached. HIS unbal HIS syy i=4 j=15 HIS ydis i=1 j=26 . . . . . . ... SOLVE PLOT hold his 1 PLOT hold his 2 PLOT hold his 3 Here, his 1 refers to the first defined history (i.e., maximum unbalanced force), and so on. It is a good practice to include a few HISTORY commands in the program, to have some assurance that the system has reached equilibrium. Initialising the grid or element values to specific values can be achieved through INITIALIZE command. For example, if we are interested in the stress changes from the current state, we can initialize the current stress to zero through the following lines. INI sxx=0 syy=0 sxy=0 szz=0 SOLVE Similarly, one can also initialize displacements through the following command. It should be noted that initializing stresses as above will work if the model is elastic. In Mohr-Coulomb, zeroing all stresses can distort the picture. INI xdisp=0 ydisp=0

Page 13: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 13

When establishing the initial stresses due to gravity, it is a good practice to use elastic model to avoid yielding of any element. Alternatively, Mohr-Coulomb model can be used with very high cohesion and tensile strength to avoid such yielding. Once the initial stresses are established, the model can be reset to Mohr-Coulomb with the right value for cohesion and tensile strength. This is a common practice, and you will see this in many FLAC examples in the manual. 8. Outputs to Screen, Printer and Documents Inclusion of the following two lines in the program will ensure that the second line appears in all plots at the top left. TITLE Embankment Analysis for Company ABCD In addition, the 2-line customer details (e.g., James Cook University, School of Engineering) can be changed by the following two lines: SET cust1 ABCD Consultants SET cust2 Geotech Division In FLAC we get to see several plots on the screen. The first command below plots the grid in green and boundary in intense white. The second one plots the σyy (vertical) stress contours and fills the intervals. The third one plots the y-displacement contours filled, and shows the grid as well. flac: plot hold grid green bou iw flac: plot hold syy fill bou flac: plot hold ydisp fill grid Note that the order of key words has an effect in FLAC. Try the following two key commands, which are essentially the same but the key words are in different order. flac: PLOT hold grid syy fill flac: PLOT hold syy fill grid To get a printout of last-viewed plot try the following: flac: COPY When cutting and pasting the FLAC image in a document, it is better to have a white background as opposed to the default black background. flac: set back iw flac: plot grid black The first command above sets the background to intense white. The second one plots the grid in black. A better way of preparing figures for embedding in documents is as follows.

Page 14: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 14

SET plot emf COPY figure5.emf

Figure 5. The strip footing mesh as a Window-enhanced metafile Here figure5.emf is a Window-enhanced metafile plot of the last-viewed plot, which can be imported directly into a word processing program such as Microsoft Word. The file is stored along with your flac programs in the default directory as figure5.emf, and can be used at a later time. Here, FLAC looks after the colours nicely, and we don’t have to worry about changing the background or the plot colours for the hardcopy (see Fig. 5). One can also create jpg or bmp versions of the plots. Use “CTRL + Z” to zoom into any part of the mesh. Type WINDOW on flac: prompt to get back to the default screen. The possible colours you can use in FLAC are black, blue, green, cyan, red, magenta, brown, white, gray, yellow and iwhite (intense white). You can also have some lighter shades of the above colours with lblue, lgreen, lcyan, lred, and lmagenta. When you plot few variables on a screen, you can define a new colour for each of them. For example, the command PLOT hold syy yellow grid green bou white will plot the σyy contours in yellow, grid in green and the boundary in white.

FLAC (Version 4.00)

LEGEND

22-Nov-05 11:05 step 0 -1.017E+01 <x< 2.317E+01 -4.167E+00 <y< 2.917E+01

Grid plot

0 1E 1

0.000

0.500

1.000

1.500

2.000

2.500

(*10 1̂)

-0.750 -0.250 0.250 0.750 1.250 1.750 2.250(*10 1̂)

JOB TITLE :

Itasca Consulting Group, Inc. Minneapolis, Minnesota USA

Page 15: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 15

PRINT command can be used to print the grid or element variables. For example, PRINT syy command will simply list the σyy values in all elements. You may rather be selective and want these values only for certain elements or nodes, and give commands such as: PRINT syy i=1 to get the vertical stress distribution along the vertical center line, and PRINT ydisp i=1 j=26 to get the settlement of the footing at the center in Example 2. Generally, we want to tabulate all data in a spreadsheet such as Microsoft Excel for further manipulation including generating plots. FLAC outputs, obtained through PRINT commands, can be saved in a file flac.log, which is stored in the default directory. To do this, include the following commands after SOLVE command. SET log on PRINT syy i=1 SET log off All text that appears on the screen, after the SET log on command, will be copied to this file. To open the file flac.log, locate it in the folder, and right click the mouse and select “open with Microsoft Excel for Windows”. Once the file is opened with Excel, select “text to columns”, and proceed with formatting the data. 9. Some Constitutive Models In finite element or finite difference modeling, it is necessary to define how the material behaves when subjected to loading. These can be defined through constitutive models. The simplest constitutive model we all are familiar with is the infinitely elastic model that works on the basis of Hooke’s law. FLAC has other models such as Mohr-Coulomb, Drucker-Prager, Modified Cam-Clay, Strain Hardening, Srain Softening, Transversely Anisotropic etc. Let’s just look at three simple models we will use for now. Constitutive model does not have to be always for defining load-deformation behaviour. Darcy’s law is a constitutive model that governs fluid flow in a porous media often. 9.1 Elastic Model Here, the material is assumed to be isotropic and linear elastic, following Hooke’s law. The material properties are defined by two constants, which are commonly the Young’s modulus (E) and Poisson’s ratio (ν). FLAC requires bulk modulus (K) and shear modulus (G) instead of the above two for good reasons given in the FLAC manual (Getting Started, Section 13, page 3-139). G and K can be derived from E and ν from Eqns. 1 and 2.

Page 16: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 16

)1(2 υ+=

EG (1)

)21(3 υ−=

EK (2)

E and ν can be derived from G and K using Eqns. 3 and 4.

GKKGE+

=39 (3)

)3(323GKGK

+−

=υ (4)

It is assumed that the model is infinitely elastic, with no yielding ever. Such assumptions are used in most classical elastic models discussed in textbooks. It is also necessary to input a density value here, and that should be the dry density of the material in the case of grids configured for fluid flow (with CONFIG gw command). When the grid is not configured for fluid flow (i.e., mechanical- only analysis, with pore water pressure values specified for the grids), we should specify dry density above the water table and saturated density below the water table. MODEL elastic PROPERTY den=1600 bulk = 13.33e6 shear = 8.00e6 9.2 Mohr-Coulomb Model Mohr-Coulomb is a plastic model, where the material is assumed to behave elastically until yielding. The input parameters are: density, bulk modulus, shear modulus, friction angle, cohesion and tensile strength. The maximum possible value for the tensile strength is “c cot φ”, and the default is zero. 9.3 Null Model This is the default model in FLAC. As the name implies, the elements are voids. These are used in defining excavations, tunnels, trenches etc. No properties are required. The use of null model in mesh generation is illustrated in the following example. Example 4: GRID 22,25 MODEL mohr GEN 0,0 0,30 8,30 8,0 i=1,13 j=1,21 rat=1.0,0.95 GEN 8,0 8,30 18,30 18,0 i=13,23 j=1,21 rat=1.05,0.95 GEN 0,30 0,35 3,35 8,30 i=1,13 j=21,27 rat=1.0,1.0 GEN 8,30 3,35 18,35 18,30 i=13,23 j=21,27 rat=1.05,1.0 PLOT hold grid MODEL null i=13,22 j=21,25 PLOT hold grid MODEL elastic i=1,12 j=21,25

Page 17: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 17

PLOT hold model grid The above example is to create a mesh for an embankment and the underlying soil, which are modeled as elastic and Mohr-Coulomb materials respectively. 10. Calculation Modes Default mode for computations in FLAC is plane strain. It can also solve axisymmetric, plane stress and ground water flow problems including consolidation. In such circumstances, include one of the following lines at the top of the program. CONFIG axi CONFIG p_stress CONFIG gwflow 10.1 Axisymmetric Problem We deal with several axisymmetric loading situations (circular footing, triaxial test) in geotechnical engineering and FLAC can model these nicely. Here, we study only a radial plane, and hence treat it as a 2-dimensional problem. Let’s look at a simple problem where a 2 m diameter horizontal circular area is subjected to 100 kPa pressure, and we want to find the vertical stresses and displacements in the underlying soil, which we will assume is elastic. The FLAC program is given below as Example 5. All the grid points along the centre line (i=1) are automatically fixed in the x-direction. It is worth noting that Structural Elements cannot be used on axisymmetric grids. They are mainly for plane strain and plane stress problems. Example 5: CONFIG axisymmetry GRID 15,30 MODEL elastic PROP bulk=2.5e7 shear=1.154e7 den=2300 ;E=30 MPa & nu=0.3 SET large GEN 0,0 0,6 1,6 1,0 i=1,6 j=1,31 rat=1.0,0.98 GEN 1,0 1,6 3,6 3,0 i=6,16 j=1,31 rat=1.05, 0.98 FIX x i=16 FIX y j=1 APPLY pressure=100e3 from 1,31 to 6,31 PLOT hold grid fix bou yel apply lm HIS unbal SOLVE PLOT hold ydisp int=0.5e-3 fill grid PLOT hold syy int=1e4 fill grid

Page 18: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 18

(a) Vertical normal stresses (b) Vertical displacements

Figure 6. Beneath a uniformly loaded circular area 11. Large/Small Strain Modes By default FLAC operates in small strain mode. Here, even if the displacements are large compared to the element size, it maintains the same coordinates for the grid points. In large strain problems, you may include the following line at the beginning of the program. SET large This enables the coordinates of the grid points to be continuously updated at every calculation step. This can also lead to geometric non-linearity with error message from FLAC.

12. FISH Fish is one of the nicest features in FLAC. We cannot accomplish everything we want in the programming arena, using the 50 or so commands. FISH is there to help us when FLAC lets us down. FISH is like any other programming language such as BASIC or FORTRAN, and enables us to include conditional if statements and loops for repetitive tasks within a program. Whatever we write in FISH is a subroutine with a specific name that can be called from FLAC at any time. FISH is useful in carrying out mathematical operations, and defining new variables or new functions that are required within a FLAC program. The subroutine starts with DEFINE line and ends with END line, with the rest of the instructions sandwiched between these two lines. Very often, a substantial portion of a program is in FISH. Following (Example 6) is a simple sub-routine in FISH that calculates shear (G) and bulk (K) moduli from E and υ, using Eq. 1 and 2 respectively.

LEGEND

10-Jul-06 12:26 step 2557 -2.500E+00 <x< 5.500E+00 -1.000E+00 <y< 7.000E+00

YY-stress contours -1.00E+05 -8.00E+04 -6.00E+04 -4.00E+04 -2.00E+04 0.00E+00Contour interval= 1.00E+04Grid plot

0 2E 0

LEGEND

10-Jul-06 12:31 step 2557 -2.500E+00 <x< 5.500E+00 -1.000E+00 <y< 7.000E+00

Y-displacement contours -5.50E-03 -4.50E-03 -3.50E-03 -2.50E-03 -1.50E-03 -5.00E-04

Contour interval= 5.00E-04Grid plot

0 2E 0

Page 19: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 19

Example 6: DEF derive_moduli ; name of the routine is derive_moduli shear = young/(2*(1+nu)) ; Eq. 1 to find G bulk = young/(3*(1-2*nu)) ; Eq. 2 to find K END ; End of the sub-routine SET young = 30e6 nu=0.25 ; to assign values to E and υ Just type the name of the subroutine to run it, and carry out all the instructions within it. flac: derive_moduli To include any FLAC commands such as PLOT, PRINT etc. in FISH, just sandwich them between COMMAND and END_COMMAND lines as follows. . . . . . . COMMAND Any FLAC commands END_COMMAND . . . . . . In FLAC mode, the following command will print the current values of all FISH variables, which is quite useful in debugging. PRINT FISH 13. Seepage FLAC can be used to solve most seepage problems. It can be used to draw flow nets, and compute discharge, heads, pore water pressures and hydraulic gradients. Most traditional seepage problems are flow-only problems. Here, it is implied that the soil has consolidated, and can be considered as an incompressible porous skeleton through which the flow takes place. Always include the following lines at the top of the program, when dealing with seepage. The first line is to configure FLAC for groundwater flow. The second line is to say that the flow takes place without any mechanical deformation in the soil skeleton. CONFIG gwflow SET flow=on mech=off In addition, it is required to specify the bulk modulus and density of the water, and permeability of the porous medium (i.e., soil). Flow takes place beneath the sheetpile shown in Figure 7. Permeability of the soil is 8.6x10-4 cm/s. Determine the flow rate and the pore water pressure distribution. Due to symmetry, we will model only half of the flow domain. The FLAC code is given below. Example 6: CONFIG gw SET flow=on mech=off GRID 18,18

Page 20: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 20

MODEL elastic PROP den=1600 bulk=1e7 shear=0.3e7 GEN 0,0 0,9 9,9 9,0 i=1,19 j=1,19 PROP perm = 8.77e-8 ; in m2/Pa.s WATER den=1000 bulk=2e9 SET gravity=9.81 APPLY pp=49.05e3 j=19 FIX sat j=19 APPLY pp=117.72e3 var 0 -29.43e3 i=19 j=1,7 FIX sat i=19 j=1,7 SOLVE

Figure 7. Example problem on Seepage Bulk modulus of water is 2x109 Pa. In some problems, as you would see in many examples in FLAC manual, reducing the bulk modulus of water substantially (to say 105 Pa) can solve the problem quicker, and this has no adverse effect on the quality of the solution. The variable “perm” in flow problems is the mobility coefficient κ (m2/Pa.s), which is simply obtained by dividing the permeability (m/s) by the unit weight of water (9810 N/m3). See Appendix A for further discussion on permeability. FIX sat command ensures that these boundaries act as a source or sink, and remain saturated. To see the flow net and pore water pressure distribution, try the following commands. PLOT hold head int=0.08 iw sline yel bou green

Impervious material

soil

sheetpile

5 m

6 m

1 m

9 m

9 m

Page 21: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 21

PLOT hold pp int=0.5e4 fill grid The keyword “int” is for interval and the right value can be selected by trial and error. The flow rate can be computed by summing all the nodal flows at the exit or entry. Let’s do it for both (they should be the same), through a FISH subroutine flowcalc. DEF flowcalc cumflow_exit=0 loop j(1,7) cumflow_exit = cumflow_exit + gflow(19,j) end_loop cumflow_entry=0 loop i(1,19) cumflow_entry=cumflow_entry + gflow(i,19) end_loop END Flowcalc ; to run the FISH subroutine PRINT cumflow_entry, cumflow_exit The PRINT command prints out the flow rate values at the entry and exit as 1.28x10-3 m2/s. This FISH subroutine also demonstrates the use of loops to carry out some repetitive tasks. The key words “gpp” and “pp” are the pore water pressures at the grid point and element respectively. The following commands can be used to print them. PRINT gpp i=4 j=2 PRINT pp i=7

Page 22: flac tutorial

A FLAC Primer

Dr. Nagaratnam Sivakugan (2006) 22

Appendix A – A Note on Permeability Physicists define a more general form of permeability known as intrinsic permeability (K), which is not influenced by the fluid properties such as density or viscosity. Intrinsic permeability depends only on the porosity of the soil, and has units of area (e.g., m2, Darcy). In rocks and in oil industry, a unit of Darcy is often used for intrinsic permeability. Darcy = 0.978 µm2. In sandstones, where the pores are well connected the intrinsic permeability is large and can be in the order of 1 Darcy. In impermeable rocks such as siltstones, the intrinsic permeability can be in the order of 1 milli Darcy. What geotechnical engineers refer to as permeability or hydraulic conductivity (k) is dimensionless. It is specifically for flow of water through soils. Permeability depends on the viscosity and density of the fluid. K and k are related by (Itasca 2002):

Kkµγ

=

Here, µ and γ are the dynamic viscosity (N.s/m2) and unit weight (N/m3) of the fluid, which is water in the case of permeability. It can be deduced from the above equation that heavier the fluid larger the permeability and higher the viscosity lower the permeability, which makes sense intuitively too. For flow of water through soils, using appropriate values for ρw and γw (Reddi 2003), K (cm2) = k (cm/s) x 1.02 x 10-5 K (Darcys) = k (cm/s) x 1.035 x 103 The fluid equations and boundary conditions in FLAC are expressed in terms of pressure rather than head, although the latter is more common in geotechnical engineering. As a result, FLAC uses quite a different “permeability” throughout, which has units of m2/Pa.s. Let’s denote this by κ (“kappa”). FLAC calls it the mobility coefficient (coefficient of the pore pressure term in Darcy’s law). When Darcy’s law is expressed in terms of a pressure gradient (with dimension of Pa/m) instead of the dimensionless hydraulic gradient it can be seen from the following equation that the FLAC permeability κ has the unit of m2/Pa.s (Whitaker 1986).

xpK

xpv

w ∂∂

=∂∂

κ

It can be easily shown that the geotechnical permeability k and FLAC permeability κ are related by: )/()./()/( 32 mNsPamsmk wγκ=

Intrinsic permeability and FLAC permeability are related by: )/()./()( 222 mNssPammK wµκ=

With values of γw = 9810 N/m3 µw = 1.01×10-3 kg/m.s (or Ns/m2), κ (m2/Pa.s) = 1.0194 × 10-6 k (cm/s), and κ (m2/Pa.s) = 0.099 K (cm2). FLAC sets pore pressure as zero when the saturation is less than 100%. However, the there is still water in the partially saturated zones, and the saturation values are updated to preserve the mass balance. In these partially saturated zones, water moves under gravity, which can be modeled by using a reduced apparent permeability value given by (Itasca 2001): kunsaturated = ksaturated S2(3-2S) where S is the degree of saturation.