flac basics
DESCRIPTION
this book described the modeling with the software Flac.TRANSCRIPT
-
FLACBasics
COETZEEHARTVARONACUNDALL
An introduction toand a guide to its
practical application ingeotechnical engineering
Foreword byProfessor Charles Fairhurst
FLAC
2nd R
evise
d Edit
ion
1
-
First Edition 1993
First Revision 1995
Second Revision 1998
Authors:
Coetzee, Matthys J.
Hart, Dr Roger D.
Varona, Pedro M.
Cundall, Dr Peter A.
Published by:
Itasca Consulting Group, Inc.
708 South Third Street
Minneapolis, Minnesota 55415
United States of America
Copyright 1993, 1995, 1998 Itasca Consulting Group:
All rights reserved. The examples shown in this book may be used for tutorial purposes only. No other
part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical,
including photocopying, recording, or by any information storage and retrieval system, without prior
permission from the publisher.
Limitation of Liability:
Itasca assumes no liability whatsoever with respect to any use of FLAC, the tutorial materials in this book,
or any portion thereof. In no event shall Itasca be responsible for any indirect, special, incidental, or
consequential damages arising from the use of this material.
Tradenames and Trademarks:
In this book, tradenames and trademarks of some companies have been mentioned, and no such uses are
intended to convey endorsements of or other affiliations with the book. Wherever such tradenames and
trademarks have been used, they are deemed to be the registered tradenames or trademarks of the relevant
companies.
Printed and bound by:
Advanced Duplicating and Printing, Inc.
Minneapolis, Minnesota
United States of America
Production:
This book was produced using FLAC 3.4, CorelVentura 8.0 for Windows, PS (a PostScript graphic editor)
and CorelDraw 8.0, using Times New Roman, Arial and Courier New typefaces.
Camera ready copy was made on a Hewlett Packard LaserJet 4M PLUS. Layout and cover design by Thys
Coetzee, Itasca Consulting Group Inc. The cover design reflects the Itasca logo, which shows a
2-dimensional mesh of a tunnel, with planes of symmetry on the bottom and right faces.
2
-
FOREWORD
The five years since publication of the first edition of FLAC Basics have confirmed the expectations
expressed in the Foreword of the first edition. FLAC, a very robust code that has been in use for 12
years, is now a standard numerical tool in widespread use internationally by geoscientists and
geotechnical engineers. Many new code developments are the result of suggestions from users around
the world. We thank these colleagues for their contributions and hope that the additions to FLAC in
the past five years and revisions described in the FLAC Manual will make the code a still more
valuable practical tool. The tug-of-war between experienced users eager to have more specialized
capabilities added and others seeking more user-friendly features continues. We will continue to
strive to accommodate both. Your comments on where FLAC can be improved are always welcome.
The prevailing conditions that initially suggested development of an explicit finite difference approach
to numerical modeling are still very much predominant in the fields of rock mechanics, soil
mechanics, and geomechanics. Enhancement of our existing modeling tools and development of new
ones are still our primary objectives. Dr. Peter Cundall pioneered the creation of such tools in the late
1960s, starting with the novel departure to a Distinct Element Method, an initial introduction of
explicit finite difference methods in numerical modeling for geomechanics. Allowing discontinuous
deformation of assemblages of blocky or particulate rock masses to be modeled over unlimited
deformationsto equilibrium or collapseled to the development of the two- and three-dimensional
distinct element codes UDEC and 3DEC. Both codes are, today, valuable analytical and design tools
in use throughout the world. Application of the same finite difference procedure to continua became
the basis of the development of FLAC and its three-dimensional counterpart, FLAC3D.
Recently the ongoing pursuit of solutions to problems using a continuum formulation has been
supplemented by a new innovation: the Particle Flow Code (PFC2D and PFC3D). These codes
simulate the micro-mechanics of deformation, damage, and disintegration of particulate materials,
including but not limited to rock, soils, cements, concretes, and bitumens, that is, geomaterials.
Using the same time-stepping, explicit finite difference method used in FLAC and the other Itasca
codes, the PFC codes present the opportunity to understand and predict the response of rock to more
complex loading situationsespecially where these may involve irreversible damage or
collapsedirectly from elemental, particle-to-particle mechanical properties.
PFCs simpler and potentially more reliable approach to study of damage and disintegration of
cohesive, particulate materials does not supercede the analytical functions of FLAC. Rather, it is a
parallel line of approach to the continuum formulation that we believe will yield an ever greater
analytical capability to the code user. We look forward to a new phase of code development in which
the power of time-tested tools such as FLAC will not only increase but achieve a new level of utility
through combined analysis techniques available with the addition of PFC. In this area most
particularly we recognize the growth and potential for FLAC and Itasca's other modeling codes.
Charles Fairhurst
Minneapolis, September 1998.
Contents iii
3
-
PREFACE TO SECOND REVISION
With the release of Version 3.4, Itasca offers a Windows-console version of FLAC. This version
provides all the powerful capabilities of FLAC plus access to Windows graphics and high resolution
screen plots. This guide is intended to be a gateway for new users to explore these and all the features
and capabilities of Version 3.4
We have also expanded the FLAC documentation, adding many new example applications and
providing the entire manual in electronic form on CD-ROM. The new manuals and the current
revision reaffirm Itascas commitment to providing good code and the documentation and support
needed by users.
Roger Hart
Director, Software Services
Minneapolis, September 1998.
ACKNOWLEDGEMENTS
The authors are indebted to the following people, who contributed significantly to the making of this
book with their reviews, contributions, and overall assistance:
Dr Margaret Asgian, Itasca England; Dr. Daniel Billaux, Itasca France; Joanne Brosseau, Itasca USA;
G.W. Byun, Dong Myeong Engineering Consultants, Korea; Jackie Coetzee, Consultant, Minneapolis,
Minnesota, USA; Dr Michael Coulthard, M.A. Coulthard & Associates, Australia; Alison Cundall,
Itasca USA; Dr Christine Detournay, Itasca USA; Eileen Goren, Independence Press, Inc., Lakeville,
Minnesota, USA; Valerie Gustafson, Itasca USA; Trisha Hendren, Itasca, USA; Erik Johansson,
Saanio & Riekkola, Finland; Prof. Moon Kim, Yonsei University, South Korea; Prof. R.J. Pine &
Graduate Students, Camborne School of Mines, England; Kathleen Sikora, Itasca USA; Chad Sylvain,
Itasca USA; David Young, Mott MacDonald, North-East Division, England.
iv Contents
4
-
CONTENTS
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Preface to First Revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
CHAPTER 1
Welcome to FLAC
1.1 What is FLAC ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 About this Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Range of Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Background and Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 User Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
CHAPTER 2
Modeling Methodology
2.1 Modeling Geo-Engineering Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Explicit vs Implicit Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
CHAPTER 3
Basic Operation Procedures
3.1 FLAC Is Command Driven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Installation Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Before You Begin Modeling with FLAC . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.1 FLAC Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.2 Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.3 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 The Finite Difference Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.1 Zones and Gridpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.2 (i, j) vs (x, y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5 Some Notes on FISH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5.1 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5.2 Scope of Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.3 Assignment of Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.4 A Simple FISH Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Contents v
5
-
CHAPTER 4
A Simple Analysis Failure of a Sandy Slope
4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Solution Philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3 Model Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.1 Discussion of Commands Used . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.2 Realizing the Solution Philosophy . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.3 The FISH Commands and Variables . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.5 On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
CHAPTER 5
Adding Complexity A Shallow Tunnel in Soft Ground
5.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.3 Position of the Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4 Designing the Model Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4.1 Toward Sizing the Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4.2 Meshes for the Tunnel Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.4.3 The Brute Force Mesh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.4.4 A Linearly Graded Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4.5 A Radially Graded Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4.6 Mesh Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.5 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.6 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.6.1 The Mechanical Conditions Stress . . . . . . . . . . . . . . . . . . . . . . . 56
5.6.2 The Mechanical Conditions Displacement. . . . . . . . . . . . . . . . . . . 56
5.6.3 Boundaries for Our Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.7 Running to Equilibrium. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.8 The Business of Modeling a Lined Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.8.1 The Reaction Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.8.2 Controlling the Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.9 The Tunnel Lining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.10 The Surface Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.11 On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
APPENDIX A Command Summary
APPENDIX B Conventions and Systems of Units
APPENDIX C Complete Listings of Example Data Files
APPENDIX D Educational Version Data Files
INDEX
vi Contents
6
-
FIGURES
Figure 1.1 Applications with FLAC standard FLAC output . . . . . . . . . . . . . . . . . . . 5
Figure 1.2 Applications with FLAC edited output. . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 2.1 Spectrum of modeling situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 2.2 The basic explicit calculation cycle . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 3.1 Elements of a FLAC model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figure 3.2 Identification of zone ij indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 3.3 Identification of gridpoint ij indices . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 3.4 (i, j) versus (x, y) space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 4.1 Grid for simple slope analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 4.2 Table printout showing friction angles and crest velocities . . . . . . . . . . . . . . 39
Figure 4.3 Close-up view of the slope crest showing the velocity contours at failure . . . . . . 39
Figure 5.1 Geometry of tunnel and surface trough (after Yeats, 1985) . . . . . . . . . . . . . . 42
Figure 5.2 Problem geometry and material properties. . . . . . . . . . . . . . . . . . . . . . . 43
Figure 5.3 Influence of mesh size on geometric representation . . . . . . . . . . . . . . . . . . 45
Figure 5.4 Setting up the linearly graded mesh . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 5.5 Radially graded mesh development . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figure 5.6 The brute force, linearly graded and radially graded meshes . . . . . . . . . . . . 52
Figure 5.7 A representation of the stress state and material model . . . . . . . . . . . . . . . . 55
Figure 5.8 The ground reaction curves from both boundary conditions. . . . . . . . . . . . . . 59
Figure 5.9 Moments in the tunnel lining. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figure 5.10 Axial loads in the tunnel lining . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figure 5.11 FLAC plot of settlement trough . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figure 5.12 Settlement profile comparing FLAC results with the empirical formulation . . . . . 67
Figure B.1 Sign conventions for shear stress and shear strain . . . . . . . . . . . . . . . . . . B1
Figure D.1 Grid for slope analysis with FLAC educational version. . . . . . . . . . . . . . . . D3
Figure D.2 Velocity contours at failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D3
Figure D.3 Radially graded mesh for FLAC educational version . . . . . . . . . . . . . . . . . D7
Figure D.4 Settlement trough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D7
Figure D.5 Moments in the tunnel lining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D8
Figure D.6 Axial loads in the tunnel lining . . . . . . . . . . . . . . . . . . . . . . . . . . . . D8
Contents vii
7
-
TABLES
Table 1.1 FLAC development history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Table 3.1 Contents of disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 3.2 Guide to model size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 3.3 FLAC file types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 5.1 Mesh summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table B1 Systems of units - mechanical parameters. . . . . . . . . . . . . . . . . . . . . . . B2
Table B2 Systems of units - groundwater flow parameters . . . . . . . . . . . . . . . . . . . B2
Table B3 Systems of units - structural elements . . . . . . . . . . . . . . . . . . . . . . . . . B2
CODE EXAMPLES
Example 3.1 FISH function to set xx-stresses to half yy-stresses . . . . . . . . . . . . . . . . . . 22
Example 3.2 Commands to generate example grid . . . . . . . . . . . . . . . . . . . . . . . . . 23
Example 3.3 FISH function to calculate K and G from E and u . . . . . . . . . . . . . . . . . . 28
Example 4.1 Geometry data for simple slope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Example 4.2 Setting boundaries, properties and histories, followed by stepping to equilibrium . . 31
Example 4.3 FISH function controlling the model. . . . . . . . . . . . . . . . . . . . . . . . . . 35
Example 5.1 Sloping horizon generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Example 5.2 Code to generate the linearly graded mesh. . . . . . . . . . . . . . . . . . . . . . . 49
Example 5.3 Code to generate radially graded mesh . . . . . . . . . . . . . . . . . . . . . . . . 51
Example 5.4 Setting initial stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Example 5.5 Stress boundary conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Example 5.6 Fixed displacement boundary conditions . . . . . . . . . . . . . . . . . . . . . . . 56
Example 5.7 Running to equilibrium. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Example 5.8 Applying the relaxation logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Example 5.9 FISH function re-marking the circles gridpoints . . . . . . . . . . . . . . . . . . . 61
Example 5.10 FISH function that captures reaction forces . . . . . . . . . . . . . . . . . . . . . . 61
Example 5.11 FISH function that calculates the ground reaction curve . . . . . . . . . . . . . . . 62
Example 5.12 FISH function that applies the reaction forces . . . . . . . . . . . . . . . . . . . . . 63
Example 5.13 FISH function to store the surface displacement profile . . . . . . . . . . . . . . . . 63
viii Contents
8
-
1.1 What is FLAC ?
FLAC is a two-dimensional explicit finite difference program for
engineering mechanics computation. It is developed specifically to
perform analyses on an IBM-compatible microcomputer or SUN
SPARCStation, machines that are typically available to engineering
companies.1The software is designed for high speed computation of
model grids containing several thousand elements. Typical engineering
problems, which once required access to a mainframe computer to
solve, can now be solved with FLAC on a microcomputer in a few hours
or less. FLAC was originally developed for geotechnical and mining
engineers, but you will soon see that this program can be an
indispensable analysis-and-design tool in a variety of fields in civil and
mechanical engineering.
FLAC offers a wide range of capabilities to solve complex problems in
mechanics. Materials are represented by elements within a grid that is
adjusted by the user to fit the shape of the object to be modeled. Each
element behaves according to a prescribed linear or non-linear
stress/strain law in response to applied forces or boundary restraints.
The material can yield and flow, and the grid can deform (in large strain
mode) and move with the material which is represented. FLAC is based
on a Lagrangian calculation scheme that is well suited for modeling
large distortions and material collapse. Several built-in constitutive
models are available to simulate highly non-linear, irreversible
responses that are representative of geologic, or similar, materials.
Chapter 1, Welcome to FLAC 1
Welcome to FLAC
CHAPTER 1
F Fast
L Lagrangian
A Analysis (of)
C Continua
1 FLAC can also be installed on other types of computer workstations and mainframes contact Itasca for further
information. (Contact details are provided on page 8.)
9
-
In addition, FLAC contains many special features including:
interface elements to simulate distinct planes along which slip
and/or separation can occur
groundwater and consolidation (fully coupled) models
plane strain, plane stress and axisymmetric geometry modes
structural element models to simulate structural support
(e.g., tunnel liners or rock bolts)
optional fully dynamic analysis capability
optional visco-elastic and visco-plastic (creep) models
optional thermal (and thermal-mechanical) modeling capability
extensive facility for generating plots of virtually any problem
variable in FLAC.
FLAC also contains a powerful built-in programming language, FISH
(short for FLACish), that enables the user to define new variables and
functions. Users can write their own functions to extend FLACs
usefulness and even implement their own constitutive models if so
desired. FISH offers a unique capability to FLAC users who wish to
tailor analyses to suit their specific needs.
1.2 About this Guide
This document presents an introductory guide to FLAC. It provides an
overview to the range of applications of FLAC and illustrates the power
of this code as an analytical tool in geotechnical engineering. The guide
also outlines the recommended procedure for applying FLAC to
practical problems in geo-engineering. The guide shows how to:
create models (i.e., generate grids, specify boundary and initial
conditions, define constitutive behavior and material properties)
perform model alterations (e.g., excavate materials or change
boundary conditions)
reach a solution state (either a static equilibrium condition or a
failure state)
examine the model response (via plotted and printed output)
utilize the power of FISH to control and manipulate a FLAC
model.
2 Chapter 1, Welcome to FLAC
Two detailed examples areprovided to illustrate theprocedure for FLAC modeling.
10
-
FLAC Basics is intended to assist engineers in making FLAC fit their
own specific and complex problems (rather than making the problem fit
the code!). It complements the nine volume FLAC Manual, andshould be consulted as a guide to practical problem solving.
We recommend that new (and occasional) users first read Chapter 2 of
the Users Guide, for a beginners guide and tutorial. Then, as youwork through the example problems in FLAC Basics and become more
experienced with running FLAC, you should look again to the Users
Manual to learn how to use more of the features of this versatile
computer program.
The remaining sections in Chapter 1 of FLAC Basics provide an
overview of some applications of FLAC and a history of the codes
development. A recommended methodology for using FLAC to solve
problems involving geo-engineering processes is given next, in Chapter
2. This chapter also explains the solution algorithm used in FLAC.
Chapter 3 contains basic operating procedures for running FLAC and
presents an overview of the terminology in the code. Two practical
applications are described in the last two chapters. A simple slope
stability analysis is presented in Chapter 4, with a more complex
problem, one involving a shallow tunnel in soft ground, solved in
Chapter 5. These are fairly common problems in soil mechanics and
serve to demonstrate the power of FLAC in geotechnical analysis.
A summary of all the input commands in FLAC, grouped by modeling
function, is provided in Appendix A. Appendix B contains definitions
for sign conventions in FLAC and a review of the systems of units to aid
in selecting appropriate values. Finally, in Appendix C, a listing of the
data files is given for the example problems in Chapters 4 and 5, and in
Appendix D, data files for similar, but smaller models are listed, which
will run with the educational version of FLAC.
1.3 Range of Application
Problems in geotechnical engineering encompass a wide range of
physical processes. The power of FLAC is its ability to simulate these
processes either individually or in combination. Mechanical, fluid flow
and thermal analyses can be performed as separate or coupled
calculations. For example, saturated and unsaturated groundwater flow
modeling can be performed independently or coupled to the mechanical
stress calculation. Likewise, heat transfer calculations can be run alone
or coupled to thermal stress calculations. Models can be run to a static
equilibrium solution and then subjected to dynamic excitations.
Structural element calculations can be run independently or coupled to
Chapter 1, Welcome to FLAC 3
FLAC ManualUsers GuideCommand ReferenceFISH in FLACTheory and BackgroundOptional FeaturesVerification ProblemsExample ApplicationsCommand and FISH ReferenceSummary
Index
What is in this guide?
The educational version ofFLAC is a fully-functionalversion with a limitation onmemory capacity. It is intendedfor teaching purposes.
11
-
the FLAC grid. The degree to which the analyses are integrated is the
prerogative of the user, and the couplings can be turned on and off at the
users discretion.
In this way, FLAC can be readily applied for both simple and complex
analyses. The user decides the level of complexity to be modeled; for
example, FLAC models can be created for simple mechanical and
effective stress calculations as well as for complex analyses involving
coupled fluid/stress interaction and dynamic pore pressure change.
Some example applications are illustrated in Figure 1.1 and Figure 1.2.
Types of processes that can be treated in FLAC and typical problem
applications are:
mechanical loading capacity and deformations in slope
stability and foundation design
evolution of progressive failure and collapse in hard rock
mine and tunnel design
time-dependent creep behavior of viscous materials in salt and
potash mine design
restraint provided by structural support on geologic materials
in tunnel lining, rock bolting, tiebacks and soil nailing
saturated and unsaturated fluid flow and pore pressure buildup
and dissipation for undrained and drained loading in ground-
water flow and consolidation studies of earth-retaining structures
and earthen slopes, and in reservoir engineering
coupled mechanical-fluid flow interaction in depletion of
reservoirs
dynamic loading on slip-prone geologic features in earthquake
engineering and mine rockburst studies
dynamic effects of explosive loading and vibrations in tunnel
driving or in mining operations
seismic excitation of structures such as dams and the coupled
effect of fluid on time-dependent pore pressure change in liq-
uefaction phenomena in foundations and dams
deformation and mechanical instability resulting from thermal-
induced loads in performance assessment of underground
repositories of high-level radioactive waste.
4 Chapter 1, Welcome to FLAC
12
-
Chapter 1, Welcome to FLAC 5
Figure 1.1 Applications with FLAC standard FLAC output
Slope stability analysis of ahighly weathered rock mass
(Failure surface is defined byshear strain increment contoursand by zero tensile strengthelements.)
Deformation of dam crest due toearthquake excitation
(Original position of the grid isshown with the broken line;distorted grid is shown with solidlines. The distortion is notmagnified.)
13
-
6 Chapter 1, Welcome to FLAC
Wastecontainer
Displacementvectors
Temperaturecontours
Axial loadin rock bolts
Disposalroom
Stresscontours
100 CO
75 CO
50 CO
Reservoir
Shear stress on faultfrom reservoir depletion
Faul
t
Fault
Faul
tReservoir
Reservoir
Figure 1.2 Applications with FLAC edited output
A natural reservoir bounded byseveral faults
(The faults are represented withinterface elements. As thereservoir is depleted, itcompresses and induces shearstresses along the faults.)
Thermo-mechanical response inan underground repository fiveyears after nuclear wasteemplacement
14
-
1.4 Background and Validation
Historically, we at Itasca used FLAC in our mining consulting activities,
but clients began to want access to our analysis tools. This spurred us to
make FLAC available as a product outside our consulting and it is now
used around the world by civil and mining engineers, as well as in many
educational and research institutions.
The wide usage has led the demand for more features, and FLAC has
grown apace. Since its first commercial release in February 1986,
FLAC has undergone two major upgrades and several minor options
have been added. Table 1.1 traces the development path.
FLAC has been tested and verified in a variety of problem settings. Our
own engineers and many of the code users continue to add to the
collection of verification problems and validation examples. The
accuracy of the numerical formulation and solution scheme embodied in
FLAC is comparable to that of other commercially available programs.1
Chapter 1, Welcome to FLAC 7
Many of the problems arepresented in the Examplesvolume, and a bibliography ofpublications covering the use ofFLAC is provided in the UsersGuide.
Table 1.1 FLAC development history
DATE VERSION MAJOR ADDITIONS
February 1986 Ver. 1.0 First commercial release of the PC version.
March 1987 Ver. 2.0 Interface logic added.
November 1988 Ver. 2.1 Thermal and creep options made available.
June 1989 Ver. 2.2 Groundwater flow added.
September 1991 Ver. 3.0 FISH added. Dynamic option made available.
November 1992 Ver. 3.2 FISH constitutive modeling capability added.
April 1995 Ver. 3.3 Pile elements and Cam Clay model added.New manual prepared.
September 1998 Ver. 3.4 Windows-console version, and manualprovided on CD-ROM
1 If you are concerned about the accuracy of FLAC compared to finite element analysis, we call your attention to Verification
Problem 13 in the Verifications volume, in which results from the two methods are compared to the analytical solution for
plastic flow produced by a punch driven into cohesive, frictionless material.
15
-
1.5 User Support
We believe that the support that Itasca provides to code users is a major
reason for the popularity of our software. Itasca is more than just a
developer and distributor of engineering software. Our engineers also
specialize in mining and civil engineering consulting and research. We
have the background and expertise to answer specific questions related
to geo-engineering analysis and design. Our support goes beyond
answering basic hardware/software questions we are often called to
assist users with engineering modeling concepts.
We encourage you to contact us when you have a modeling question.
We provide timely response via telephone, electronic mail or fax.
General assistance in installation of FLAC on your computer, plus
answers to questions concerning capabilities of the various features of
the code, are provided free of charge. Technical assistance for specific
user-defined problems can be purchased on an as-needed basis.
If you have a question, or desire technical support, please contact us at:
Itasca Consulting Group, Inc.
Thresher Square East
708 South Third Street, Suite 310
Minneapolis, Minnesota, 55415 USA
Phone: (1) 612 371-4711
Fax: (1) 612 371-4717
Email: [email protected]
Web: www.itascacg.com
We also have a worldwide network of Code Agents who provide local
technical support. Details may be obtained from Itasca.
8 Chapter 1, Welcome to FLAC
16
-
2.1 Modeling Geo-Engineering Processes
Starfield and Cundall (1988)1propose that the methodology of
numerical modeling in geomechanics should be very different from that
in, say, structural engineering. They point out that it is impossible
even in principle to obtain complete field data at a rock or soil site;
for example, information on stresses, properties and discontinuities can
only be partially known, at best. This situation is incompatible with the
popular conception of the way in which computer programs are used in
design (i.e., as a black box that accepts data input at one end and
produces a prediction of behavior at the other). In contrast with this
view, geomechanics programs should be used to discover mechanisms,
since the input data necessary for prediction are absent. Once the
behavior of the system is understood, it is then appropriate to use simple
calculations in the design process. In other words, geomechanics
programs should not be used directly in design, but as experimental
tools to help give the designer insight into mechanisms.
The prescription summarized above is, unfortunately, subject to
misinterpretation. Some people use the following erroneous chain of
reasoning.
Program x models geomechanical processes.
Input data are always lacking in geomechanical processes, so
accurate prediction cannot be made.
Hence, program x does not model accurately and can only be
used qualitatively.
Chapter 2, Modeling Methodology 9
Modeling Methodology
CHAPTER 2
Can FLAC be used in design?
1 Starfield, A.M. & P.A. Cundall (1988) Towards a Methodology for Rock Mechanics Modelling, Int. J. Rock Mech. Min. Sci.
& Geomech. Abstr., 25(3), 99-106.
17
-
The fallacy here is that non-prediction should be associated with the
field of application rather than with a particular computer program; the
results of a computer program may be perfectly accurate when the
program is supplied with appropriate data. Modelers should recognize
that there is a continuous spectrum of situations, as illustrated in Figure
2.1 below.
A program such as FLAC may either be used in a fully predictive mode
(right-hand side of diagram) or as a numerical laboratory to test ideas
(left-hand side). It is the field situation (and budget), rather than the
program, that determines the types of use. But since FLAC is often
applied to very complicated, non-linear systems, people tend to believe
that the program can only be applied at the left-hand end of the
spectrum. This is just not true! If enough data are available, programs
like FLAC can give good predictions.
2.2 Explicit vs Implicit Solution
We are often asked what the difference is between FLAC and a finite
element code. FLAC is an explicit finite difference program. In the finite
difference method, every derivative in the set of governing equations is
replaced directly by an algebraic expression written in terms of the field
variables (e.g., stress or displacement) at discrete points in space; these
variables are undefined anywhere else.
In contrast, the finite-element method has a central requirement that the
field quantities (stress, displacement) vary throughout each element in a
prescribed fashion, using specific functions controlled by parameters.
The formulation consists in adjusting these parameters to minimize error
terms on local or global energy.
10 Chapter 2, Modeling Methodology
How does FLAC differ from afinite element code?
Data NONE COMPLETE
Investigation ofmechanisms
Predictive(direct use in design)
Bracket field behaviorby parameter studiesApproach
Complicated geology;inaccessible;
no testing budget
Simple geology;$$$ spent on site
investigation
Typicalsituation
Figure 2.1 Spectrum of modeling situations
18
-
Both methods produce a set of algebraic equations to solve. Even
though these equations are derived in quite different ways, it is easy to
show (in specific cases) that the resulting equations are identical for the
two methods. It is pointless then to argue about the relative merits of
finite differences or finite elements: the resulting equations are the same.
However, over the years, certain traditional ways of doing things have
taken root. For example, finite element programs often combine the
element matrices into a large global stiffness matrix. In contrast, this is
not normally done with finite differences because it is relatively
efficient to regenerate the finite difference equations at each step. FLAC
uses an explicit, time-marching method to solve the algebraic
equations, while implicit, matrix-oriented solution schemes are more
common in finite elements. Other differences are also common, but it
should be stressed that features may be associated with one method
rather than another because of habit more than anything else.
Even though we want FLAC to find a static solution to a problem, the
dynamic equations of motion are included in the formulation. One
reason for doing this is to ensure that the numerical scheme is stable
when the physical system being modeled is unstable. With non-linear
materials, there is always the possibility of physical instability; for
example, the sudden collapse of a pillar. In real life, some of the strain
energy in the system is converted into kinetic energy, which then
radiates away from the source and dissipates. FLAC models this process
directly, because inertial terms are included kinetic energy is
generated and dissipated. In contrast, schemes that do not include
inertial terms must use some numerical procedure to treat physical
instabilities. Even if the procedure is successful at preventing numerical
instability, the path taken may not be a realistic one. The penalty for
including the full law of motion is that the user must have some physical
feel for what is going on; FLAC is not a black box that will give the
solution. The behavior of the numerical system must be interpreted.
The general calculation sequence embodied in FLAC is illustrated in
Figure 2.2. The equations of motion are first invoked to derive velocities
and displacements from stresses and forces. Then, strain rates are
derived from the velocities, and new stresses from the strain rates. We
take one timestep for every cycle around the loop. The important thing
to realize is that each box in Figure 2.2 updates all of its grid variables
from known values that remain fixed while control is within the box. For
example, the lower box takes the set of velocities already calculated and,
for each element, computes new stresses. The velocities are assumed to
be frozen for the operation of the box i.e., the newly calculated
stresses do not affect the velocities. This may seem unreasonable,
because we know that if a stress changes somewhere, it will influence its
neighbors and change their velocities. However, we choose a timestep
Chapter 2, Modeling Methodology 11
The numerical formulation andsolution process are explained indetail in Section 1 of Theory andBackground.
19
-
so small that information cannot physically pass from one element to
another in that interval. All materials have some finite speed at which
information can propagate. Since one loop of the cycle occupies one
timestep, our assumption of frozen velocities is justified
neighboring elements really cannot affect one another during the period
of calculation. Of course, after several cycles of the loop, disturbances
can propagate across several elements, just as they would propagate
physically.
The central concept of the explicit method is that the calculation wave
speed always keeps ahead of the physical wave speed, so that the
equations always operate on known values that are fixed for the duration
of the calculation. There are several distinct advantages to this (and one
big disadvantage!): most importantly, no iteration process is necessary
when computing stress from strains in an element, even if the
constitutive law is wildly non-linear. In an implicit method (which is
commonly used in finite element programs), every element
communicates with every other element during one solution step:
several cycles of iteration are necessary before compatibility and
equilibrium are obtained. The disadvantage of the explicit method is
seen to be the small timestep, which means that large numbers of steps
must be taken. Overall, explicit methods are best for ill-behaved systems
e.g., non-linear, large strain, physical instability; they are not as
efficient for modeling linear, small-strain problems.
12 Chapter 2, Modeling Methodology
Equilibrium Equation(Equations of Motion)
Stress/Strain Relation(Constitutive Equations)
newstresses or
forces
newvelocities anddisplacements
Figure 2.2 The basic explicit calculation cycle
20
-
3.1 FLAC is Command Driven
FLAC is a command-driven computer program. Word commands
control the operation of the program. This is an important distinction,
especially if you are familiar with menu-driven software. We believe
that the command-driven structure is better suited for conducting an
engineering analysis for the following reasons.
Engineering simulations usually consist of a lengthy sequence of
operations e.g., establish in-situ stress, apply loads, excavate
tunnel, install support and so on. A series of input commands
(from a file or from the keyboard) corresponds closely with the
physical sequence that they represent.
A FLAC data file can be easily modified with a text editor.
Several data files can be linked together to run a number of
FLAC analyses in sequence. This is ideal for performing parame-
ter studies.
The word-oriented input files provide an excellent means for
keeping a documented record of the analyses performed for an
engineering study.
The command-driven structure allows you to develop pre- and
post-processing programs to manipulate FLAC input/output as
desired. For example, you may wish to write a mesh generation
function to create a special grid shape for a series of FLAC simu-
lations. This can readily be accomplished with the FISH pro-
gramming language and incorporated directly in the input data
file.
Chapter 3, Basic Operation Procedures 13
Basic Operation Procedures
CHAPTER 3
Use the CALL command to calla data file into FLAC.
Use the SET log on commandto keep a record of all FLACinput and output for an analysis.
21
-
The input language is based on recognizable word commands that
allow you to identify the application of each command easily and
logically. The commands and data input are free format and can be
entered through an interactive mode (i.e., via the keyboard) or batch
mode (i.e., stored in a data file and read in from diskette or hard drive).
The obvious drawback of the command-driven structure of FLAC is that
you must learn the FLAC language. This can be especially frustrating
for new, or occasional, users of FLAC. There are over 40 main
commands and nearly 400 command modifiers, called keywords, which
are recognized by FLAC. To the new user, wading through all the
commands to select those necessary for a desired analysis may seem an
insurmountable task.
This difficulty is not as formidable as it first appears if you recognize
that only a very few commands are actually needed to perform simple
analyses. Then, as you become more familiar with FLAC, more
commands can be applied and more complex analyses performed. The
intention of Chapters 4 and 5 in this guide is to lead you though the
basic commands for typical analyses, by beginning simply and then
adding increased complexity.
We believe that once you become acquainted with the command-driven
structure, you will recognize the versatility of using this approach to
perform engineering analyses.
3.2 Installation Notes
The FLAC executable program "FLACW.EXE" is a 32-bit
Windows-console application and can be operated on any PC running
Microsoft Windows 95 or later. The minimum hardware specifications
to operate Windows 95 are adequate for the Windows-console version.
FLAC is distributed on CD-ROM, along with other Itasca software
products, electronic versions of all the documentation for the manuals,
various utilities, and demo programs. The FLAC directories are not
compressed, so files may be accessed directly from the CD. The FLAC
manual may also be accessed directly from the CD.
The default Windows printer is accessible, as well as standard
PostScript output, with the Windows-console version of FLAC. To
select a printer other than the default, use the Windows printer settings.
Plots may also be written to the Windows clipboard and to enhanced
metafiles.
14 Chapter 3, Basic Operation Procedures
See Section 2.1 of the UsersGuide for a detailed discussion.Note that FLAC is also availableon SUN SPARCStations -installation procedures areprovided in Section 5 of theUsers Guide.
Use the PLOT pen ...command to produce hardcopyplots. Plots can be directed tofiles (SET out filename) or tooutput ports (SET out lpt1).
22
-
A default directory structure will be created when FLAC is installed
using the installation procedure provided on the CD. The root directory
is \ITASCA; the sub-directories and their contents are summarized in
Table 3.1.
Chapter 3, Basic Operation Procedures 15
Table 3.1 Contents of Itasca directories
SECTION FILES
Fishtank General FISH function files (in Library ofFISH functions)
FLAC
Backgrnd Theory and Background
Grid Grid Generation
Intface Interfaces
Models Constitutive Models: Theory and Use
Struct Structural Elements
Theory Background The Explicit Finite Difference Method
Water Groundwater Flow and Consolidation
FISH FISH in FLAC
FIN Program Guide
Library Library of FISH functions
Tutorial FISH Beginner's Guide and FISH Reference
Options Optional Features
Creep Creep Material Models
Dynamic Dynamic Analysis
Thermal Thermal Option
VFLAC VisualFLAC
Problems Verification Problems and Example Applications
Examples Example Applications
Verify Verification Problems and Example Applications
Tutorial User's Guide and FLAC Basics
Basics FLAC Basics
Beginner Getting Started
FISH FISH Beginner's Guide
Solving Problem Solving
System FLAC.INI files, Unikey drivers, fonts for DOS version
Utility README files, movie viewer
DIRECTORY
23
-
The Windows-console version of FLAC operates in a text mode in
Windows, similar to the DOS version (which is also provided on the
CD). The Windows-version is recommended for most analyses because
of the facilities it provides as a Windows application. The DOS version
is slightly faster and may be more appropriate for analyses that are
computationally intensive.
The default installation procedure creates an "Itasca Codes" group with
icons for FLAC for both the Windows-console and DOS versions. The
necessary drivers for the hardware key are also installedbe sure that
the FLAC hardware key is attached to the LPT1 port on your computer.
To load FLAC, simply click the appropriate icon in the Itasca Codes
group. Use the Properties option in Win95 to identify a working
directoryin fact, create as many icons as needed to identify a number
of individual project directories. Double-click the appropriate icon.
In order to facilitate the running of data files contained in the FLAC
documentation, a batch file, FLACW.BAT, is provided in every
sub-directory described in Table 3.1. By double-clicking on
FLACW.BAT in a specific directory from the Windows Explorer, you
can start up the Windows-console version of FLAC to execute the data
files in that directory. For example, to run the data files described in
FLAC Basics, click on FLACW.BAT contained in the
\ITASCA\FLAC\TUTORIAL\BASICS directory.
FLAC will automatically adjust the size of the main array to take up all
available RAM (to a maximum size of 8 MB). You can increase the
memory allocation by typing the following command when loading the
Windows-console version from a DOS window
flacw m
where m is the amount of RAM, in MB, made available for a FLACmodel. For example, if you wish to allocate 14 MB for a model, type
flacw 14
After FLAC is loaded, type
print mem
for a listing of the total memory available and percentage currently
allocated for the model.
16 Chapter 3, Basic Operation Procedures
24
-
Table 3.2 lists the maximum number of elements (assuming a
Mohr-Coulomb material) that can be created on different RAM sizes.
3.3 Before You Begin Modeling with FLAC
There are a few things you need to know before creating and running a
FLAC model.
You need to understand the FLAC terminology. This includes
nomenclature and the numbering system for defining the ele-
ments of a FLAC model.
You need to know the syntax for the FLAC input language.
You need to be aware of the different types of files that are used
and created by FLAC.
The following sections explain each of these aspects in detail.
3.3.1 FLAC
Terminology
The nomenclature used in FLAC is generally consistent with that in
conventional finite difference or finite element programs that perform
stress analysis. Figure 3.1 illustrates the terms described here.
FLAC MODEL The FLAC model is created by the user to simulate a physical problem.
When referring to a FLAC model, you are implying a sequence of FLAC
commands that describe the problem conditions for numerical solution.
Chapter 3, Basic Operation Procedures 17
If system errors occur whenloading FLAC or when openingfiles (such as save files) afterFLAC is loaded, it may benecessary to reduce the amountof allocated memory.
Table 3.2 Guide to model size
AVAILABLE MAX. NO. OF
RAM (MB) ELEMENTS
8 30,000
16 60,000
32 120,000
64 240,000
25
-
ZONE The finite difference zone is the smallest geometric domain within
which the change in a phenomenon (e.g., stress/strain, fluid flow, or heat
transfer) is calculated. In FLAC, the model domain is divided into
quadrilateral zones. Another term for zone is element.
GRIDPOINT Gridpoints are associated with the corners of the finite difference zones.
There are always four gridpoints associated with each zone. A pair of x
and y coordinates are defined for each gridpoint, thus specifying the
exact location of the finite difference zone. Another term for gridpoint is
nodal point, or node.
FINITE DIFFERENCEGRID
The finite difference grid is an assemblage of one or more finite
difference zones across the physical region being analyzed. Another
term for grid is mesh. The finite difference grid also identifies the
storage locations of all state variables in the model. The procedure
followed in FLAC is that all vector quantities (e.g., forces, velocities,
displacements) are stored at gridpoint locations, while all scalar and
18 Chapter 3, Basic Operation Procedures
Fixed bottomboundary
Structuralcables
Water table
Hydraulicpressure
Attachedgridpoints
Horizontalboundarystress
Modelboundary
Inte
rface
Internalboundary(excavation)
Structuralbeam
Zone
Gridpoint
Figure 3.1 Elements of a FLAC model
Each zone is further subdividedinto two overlayed sets ofconstant strain triangularelements. This is done toprovide accurate solution forproblems in plasticity. For moredetails see Section 1 of Theoryand Background.
See Section 3.4 on page 23 formore details.
26
-
tensor quantities (e.g., stresses, pressure, material properties) are stored
at zone centroid locations. There are four exceptions: saturation and
temperature are considered gridpoint variables; pore pressure is stored at
both gridpoint and zone centroid locations; and fluid flow rate is
considered a zone variable.
MODEL BOUNDARY The model boundary is the periphery of the finite difference grid.
Internal boundaries (i.e., holes within the grid) are also model
boundaries.
BOUNDARYCONDITION
A boundary condition is the prescription of a constraint or controlled
condition along a model boundary (e.g., a fixed displacement or force
for mechanical problems, an impermeable boundary for groundwater
flow problems, or adiabatic boundary for heat transfer problems).
INITIAL CONDITIONS This is the state of all variables in the model (e.g., stresses and pore
pressures) prior to any loading change or disturbance (e.g., excavation).
SUB-GRID The finite difference grid can be divided into sub-grids. Sub-grids can
be used to create regions of different shapes in the model (e.g., the dam
sub-grid on the foundation sub-grid in Figure 3.1).
NULL ZONES Null zones are zones that represent voids (i.e., no material present)
within the finite difference grid. All newly created zones are null by
default.
CONSTITUTIVE MODEL The constitutive (or material) model represents the deformation and
strength behavior prescribed to the zones in a FLAC model. Several
constitutive models are available in FLAC, simulating different types of
behavior commonly associated with geologic materials. Constitutive
models and material properties can be assigned individually to every
zone in a FLAC model.
ATTACHEDGRIDPOINTS
Attached gridpoints are pairs of gridpoints that belong to separate, but
joined, sub-grids. In Figure 3.1, the dam is joined to the foundation
along attached gridpoints. Attached gridpoints must match between
sub-grids and cannot separate from one another once attached.
INTERFACE An interface is a connection between sub-grids that can separate (e.g.,
slide or open). An interface can represent a physical discontinuity such
as a fault or contact plane. It can also be used to join sub-grids that have
different zone sizes.
MARKED GRIDPOINTS Marked gridpoints are specially designated gridpoints that delimit a
region for the purpose of applying an initial condition, assigning a
material model and properties, or printing selected variables. The
marking of gridpoints has no effect on the solution process.
Chapter 3, Basic Operation Procedures 19
The FLAC constitutive models,along with examples ofrepresentative materials andapplications, are summarized inTable 3.2 in Section 3 of theUsers Guide.
27
-
REGION A region in a FLAC model refers to all zones enclosed within a
contiguous string of marked gridpoints. Regions are used to limit the
range of certain FLAC commands, such as the MODEL commandwhich assigns material models to designated regions.
STRUCTURALELEMENT
Structural elements are generally linear elements used to represent the
interaction of structures (such as tunnel liners, rock bolts, cable bolts or
support props) with a soil or rock mass. Non-linear effects are possible
with cable elements or support elements.
STEP Since FLAC is an explicit code, the solution to a problem requires a
number of computational steps. During computational stepping, the
information associated with the phenomenon under investigation is
propagated across the zones in the finite difference grid. A certain
number of steps is required to arrive at an equilibrium (or steady flow)
state for a static solution. Typical problems are solved within 2000 to
4000 steps, although large complex problems can require tens of
thousands of steps to reach a steady state. Other terms for step are
timestep and cycle.
STATIC SOLUTION A static or quasi-static solution is reached in FLAC when the rate of
change of kinetic energy in a model approaches a negligible value. This
is accomplished by damping the equations of motion. At the static
solution stage, the model will be either at a state of force equilibrium or
at a state of steady flow of material if a portion (or all) of the model is
unstable (i.e., fails) under the applied loading conditions. This is the
default calculation mode in FLAC. Static mechanical solutions can be
coupled to transient groundwater flow or heat transfer solutions. (As an
option, fully dynamic analysis can also be performed by inhibiting the
static solution damping.)
UNBALANCED FORCE The unbalanced force indicates when a mechanical equilibrium state (or
the onset of plastic flow) is reached for a static analysis. A model is in
exact equilibrium if the net nodal force vector at each gridpoint is zero.
The maximum nodal force vector is monitored in FLAC and printed to
the screen when the STEP or SOLVE command is invoked. Themaximum unbalanced force will never exactly reach zero for a
numerical analysis. The model is considered to be in equilibrium when
the maximum unbalanced force is small compared to the total applied
forces in the problem. If the unbalanced force approaches a constant
non-zero value, this indicates that failure and plastic flow is occurring
within the model.
20 Chapter 3, Basic Operation Procedures
When using the dynamicanalysis option in FLAC, STEPrefers to the actual timestep forthe dynamic problem.
The maximum nodal force vectoris also called the unbalanced orout-of-balance force.
28
-
3.3.2 Command
Syntax
All input commands are word oriented and consist of a primary
command word followed by one or more keywords and values, as
required. Some commands accept switches, that is, keywords that
modify the action of the command. Each command has the following
format:
COMMAND keyword value ...< keyword value ...> ...
Here optional parameters are denoted by < >, while the ellipsis (...)
indicates that an arbitrary number of such parameters may be given. The
commands are typed literally on the command line. You will note that
only the first few letters are in bold type. The program requires only
these letters to be typed for the command to be recognized, and is not
case sensitive. The entire word for commands and keywords may be
entered if the user so desires.
Many of the keywords are followed by a series of values which provide
the numeric input required by the keyword. Values identified with i, j,
m, or n indicate that an integer value is expected; otherwise, a real (or
decimal) value is required. The decimal point may be omitted from a
real value but may not appear in an integer value.
Commands, keywords and numeric values may be separated by any
number of spaces or by any of the following characters:
( ) , =
A semicolon may be used to precede comments; anything in the input
line after a semicolon is ignored. An input line, including comments,
may contain up to 80 characters. Some commands, e.g., the
PROPERTY command, may be split into two or more lines, eachstarting with the same command word.
Functions written in the embedded language FISH may also be executed
as a command. The name of the function should be given, in full, on its
own line. An example FISH function is given in Example 3.1.
Chapter 3, Basic Operation Procedures 21
A command summary is givenin Appendix A.
Be aware that the program issensitive to the use of integerand floating point values.
It is useful, and stronglyrecommended, to makecomments in data files: input isdocumented in this way;comments are echoed to theoutput as well, providingopportunities for robust qualityassurance in your analysis.
See also Section 3.5 on page 26.
29
-
Example 3.1 FISH function to set xx-stresses to half yy-stresses
def k0_setloop i (1, izones)loop j (1, jzones)sxx(i,j) = 0.5 * syy(i,j)
end_loopend_loop
end
This may be executed by giving the command:
k0_set
3.3.3 Files There are six types of files that are either used or created by FLAC. Thefiles are, by default, distinguished by their extension and are
summarized in Table 3.3. Detailed descriptions are provided in Section
2.9 of the Users Guide. Note that, with the exception of theinitialization file, all default file names can be changed by the user.
22 Chapter 3, Basic Operation Procedures
Table 3.3 FLAC file types
FILETYPE DEFAULT NAME DESCRIPTION
Initialization FLAC.INI Formatted ASCII file, created by the user, which FLAC will
file automatically access upon start-up or when a NEW command is issued.
Data files any name or extension Formatted ASCII file containing a sequence of FLAC commands that
may be used --- describe a problem. A data file is read into FLAC with the CALL
".DAT" is suggested command.
Save files FLAC.SAV Binary file created when the SAVE command is issued. Contains
values of all state variables and conditions at the time SAVE is invoked.
The state can be restored later with the RESTORE command.
Log files FLAC.LOG Formatted ASCII file created when the command SET log on is issued.
Records all text appearing on the screen.
History files FLAC.HIS Formatted ASCII file created when the command HISTORY write n is
issued, where n is a history number. History values of variables
selected by the HISTORY command are recorded.
Movie files FLAC.MOV Binary file created when the command MOVIE on is issued. Graphics
images are captured for play-back on the computer monitor as a movie
at a later time (only operates in DOS version of FLAC ).
30
-
3.4 The Finite Difference Grid
3.4.1 Zones and
Gridpoints
The grid is defined by specifying the number of zones i desired in the
horizontal (x ) direction and the number of zones j in the vertical (y )
direction. The grid is thus organized in a row and column fashion. The
vertices of the zones meet at gridpoints. Each zone and gridpoint in the
grid is uniquely identified by a pair of ij indices. The ij indices of the
zones associated with an example grid are shown in Figure 3.2 and for
gridpoints in Figure 3.3. Example 3.2 gives the commands used to
create this grid and the FLAC plots shown in these figures.
Example 3.2 Commands to generate example grid
;; The commands to generate a grid 5 zones high and 6 wide,; and to produce the plots in Figure 3.2 and Figure 3.3.;grid 6 5 ; 6 wide 5 highmodel mohr ; necessary for plotting processplot grid number ; grid and zone numbersplot grid gnum ; grid and gridpoint numbers
Chapter 3, Basic Operation Procedures 23
Figure 3.2 Identification of zone i j indices
Note that if there are p zones inthe x direction and q zones inthe y direction, then there arep+1 and q+1 gridpoints in the xand y directions respectively.
31
-
3.4.2 (i, j) vs (x, y) Imagine xy space as a large pinboard ruled like graph paper. It has aregular grid but no sense of coordinate values until the origin is
positioned somewhere on the grid. Now imagine the ij grid as an
elasticated net which is pinned to the xy pinboard.
By default, node ij (1,1) is mapped to xy (0,0) and the xy and ij unit
lengths are equal. Figure 3.4 illustrates this. The ij nodes can now be
moved on the xy space, distorting the mesh in the process, to conform to
the model requirements.
Note that the ij identifiers for each node remain unchanged the xy
coordinates mapped to the nodes are recalculated. This holds true for all
elements in the model, even for null regions or deformed regions.
There are many more tools available for building a mesh to suit model
geometries, and many ways to use them. Some of these will be explored
as meshes are developed in the example problems which follow.
24 Chapter 3, Basic Operation Procedures
Figure 3.3 Identification of gridpoint i j indices
32
-
Chapter 3, Basic Operation Procedures 25
ij(4,4)xy(3,3)
ij(1,4)xy(0,3)
ij(1,1)xy(0,0)
ij(4,1)xy(3,0)
ij(1,1) xy(0,-1)
ij(4,1)xy(7,0)
ij(4,4)xy(4,6.7)
ij(1,4)xy(0,3)
GRID 3,3
GEN 0,-1 0,3 4,6.7 7,0 i=1,4 j=1,4
Figure 3.4 (i, j ) vs (x, y ) space
This is the gridded pinboardrepresenting xy space. At thisstage the origin xy(0,0) has notbeen positioned.
The elasticated net represents ijspace. It has pins at as many or asfew nodes as required to outlinethe expected pattern.
The mesh representing ij space ispinned onto the xy space. Bydefault, the unit length isequivalent in both spaces andxy(0,0) matches ij(1,1).
The pins are then moved to suitthe model geometry. All the nodeson the mesh retain their original ijvalues although they are nowmapped to different xy values.
33
-
3.5 Some Notes on FISH
FISH is a programming language embedded within FLAC that enables
the user to define new variables and functions. These functions may be
used to extend FLACs usefulness or implement new constitutive
models. For example, new variables may be plotted or printed, special
grid generators may be implemented, servo control may be applied to a
numerical test, unusual distributions of properties may be specified, and
parameter studies may be automated. FISH is a compiler: programs
entered via a FLAC data file are translated into a list of instructions
stored in FLACs memory space; the original source program is not
retained by FLAC. Whenever a FISH function is invoked, its compiled
code is executed.
FISH programs are simply embedded in a normal FLAC data file. Lines
following the command DEF are processed as belonging to the functionnamed on the DEF line. The function terminates when the commandEND is encountered. The function is only executed when its name isspecified as a command. See Example 3.1, described earlier.
An important construct in FISH is the sequence
Here, we give FLAC commands from within the FISH function. This
enables us, among other things, to control an entire FLAC run for
example, to do a parametric study or to capture a series of screen plots
to a movie. Most valid FLAC commands can be embedded between
these statements. These are demonstrated later in Chapters 4 and 5.
3.5.1 Naming
Conventions
FISH variables and function names and FISH statements must be
spelled out in full. No continuation lines are allowed; intermediate
variables may be used to split complex expressions. FISH is case
insensitive; all names are converted to lower case. Spaces are significant
and serve to separate variables, keywords and values. No embedded
blanks are allowed in function names, but extra whitespace may be used
to aid readability. Any characters following a semicolon (;) are ignored.
Variable or function names must start with a non-numeric character and
must not contain any of the following symbols:
. , * / + - ^ = < > # ( ) [ ] @ ;
User-defined names can be any length, although they may be truncated
in print-out and plot captions due to line length limitations.
26 Chapter 3, Basic Operation Procedures
COMMAND;(FLAC commands go here)
END_COMMAND
A guide to using FISH can befound in Sections 2 and 3 of theFISH volume.
Since the compiled form of aFISH function is stored inFLACs memory space, theSAVE command saves thefunction and the current valuesof associated variables.
When entering FISH functionsat the FLAC command line,when the DEF command isissued, the prompt changes toDef:
The FLAC manuals containdetailed discussions on the useof FISH. Tables of reservedwords are provided and shouldbe consulted to avoid conflicts.
34
-
3.5.2 Scope of
Variables
Variable and function names are recognized globally (except for
property variables associated with user-defined constitutive models). As
soon as a name is mentioned in a valid FISH program line, it is
thereafter recognized globally, both in FISH code and in FLAC
commands. It also appears in the list of variables displayed when the
PRINT FISH command is given. A variable may be given a value inone FISH function and used in another function or in a FLAC command;
the value is retained until it is changed. The values of all variables are
saved when the FLAC SAVE command is given and restored by theRESTORE command.
3.5.3 Assignment of
Data Types
There are three data types used for FISH variables or function values:
integer exact numbers in the range -2,147,483,648 to
+2,147,483,647
floating point real values with about 6 decimal digits of
precision, with a range of approximately 10-300
to 10300
string a packed sequence of printable characters enclosed by
single quotes.
A numeric variable can change type dynamically, adjusting according to
context. A variables type can be pre-assigned, but this is only necessary
in constitutive models optimized for more efficient calculation.
3.5.4 A Simple FISH
Function
Whenever a number is expected in the FLAC input line, we may
substitute the name of a FISH variable or function. This is a very
powerful feature of FLAC because it allows parameter changes without
the need to change many numbers in the data file.
For example, assume that we know the Youngs Modulus (E) and
Poissons Ratio (u) of a material. Since FLAC requires the bulk (K) and
shear (G) moduli, we may calculate these using the formulae
GE=+2 1( )
and
KE=3 1 2( )
with the symbols defined above.
Chapter 3, Basic Operation Procedures 27
Equation 3.1
Equation 3.2
35
-
The code for the FISH function DeriveKG using these equations isshown in Example 3.3.
Example 3.3 FISH function to calculate K and G from E and u
;-; Function to calculate K and G from E and nu.; Remember to SET e_mod and p_ratio !!;-def DeriveKG
s_mod = e_mod / (2.0 *(1.0 + p_ratio))b_mod = e_mod / (3.0 *(1.0 - 2.0 * p_ratio))
end
The FISH parameters p_ratio and e_mod are specified with the SETcommand before the function is called:
set e_mod = 5e8 p_ratio = 0.25
The function is executed by giving the function name:
DeriveKG
The values are now computed for the bulk and shear moduli and
assigned to the FISH variables b_mod and s_mod, respectively.
The contents of these variables are then assigned to the FLAC grid using
the PROPERTY command:
property dens=1000 bulk=b_mod shear=s_mod
The validity of this approach may be checked by printing out bulk and
shear in the usual way (i.e., PRINT bulk and PRINT shear).
28 Chapter 3, Basic Operation Procedures
Remember that FLAC and FISHare not case-sensitive; the casemix as shown is simply forclarity.
We can verify this by typing
print s_mod
print b_mod
at the FLAC command prompt.
36
-
4.1 Background
In the simple case of a slope made of cohesionless material, the factor of
safety (FoS) against shear failure is given by the ratio of restraining
forces to sliding forces. Expressed in terms of the slope angle a, this
reduces to
FoS = tantan
where f is the angle of internal friction of the sand.
So, in the case of a = 30 and f = 45, the closed form analysis shows
FoS =
=
=
tan
tan
.
45
30
1
1 3
1732
o
o
We will show how a FLAC model can be used to determine the factor of
safety against shear failure for this geometry.
Chapter 4, A Simple Analysis Failure of a Sandy Slope 29
A Simple Analysis Failure of a Sandy Slope
CHAPTER 4
This example is intended toillustrate the FLAC modelingprocedure and how it can beapplied to parametric studies. Itwill introduce the primarymodeling commands and showhow FISH is used to control aparametric analysis. Equation 4.1
Equation 4.2
37
-
4.2 Solution Philosophy
Unlike conventional slope stability methods that examine a discrete
pattern of potential failure planes, which may or may not identify the
most probable worst case, FLAC will find the failure mechanism and
identify the failure plane directly. We will reduce the strength of the
material until a failure, which we will identify from the model results,
occurs. This critical strength will be compared to the actual strength to
determine the factor of safety our slope has against failing in the
identified manner; since this is a very simple problem, we should get a
good agreement with the closed form solution.
The material strength is reduced under the control of a FISH function
that will allow us to specify an upper bound value for f and a reduction
interval. At some point, the angle will become too low to sustain the
slope and some movement will occur. This leads to our definition of
failure we will monitor the displacement and velocity of the slope
shoulder, the onset of movement indicating the critical friction angle.
4.3 Model Description
A simple slope inclined at 30 to the horizontal, made entirely from dry
sand with angle of friction f = 45, forms the geometry for this
problem. A straightforward uniform mesh is generated, utilizing FLACs
capability to map coordinate sets from a table to produce the slope. The
data snippet in Example 4.1 will produce the geometry shown in Figure
4.1.
Example 4.1 Geometry data for simple slope
grid 40 20model mohrgen -15,-16 -15,20 60,20 60,-16table 1 -15,0 0,0 34.641,20 60,20gen table 1model null reg 1 15
Boundary conditions are applied, material properties are set, and the
model is allowed to reach equilibrium under gravity before the
parametric study is carried out. Histories are used to determine whether
equilibrium has been reached.
30 Chapter 4, A Simple Analysis Failure of a Sandy Slope
The full listing of the data file forthis analysis is provided inAppendix C1. If the data file istyped in a text editor and named(e.g., slope.dat) it can be run inFLAC by typing
call slope.dat
at the FLAC prompt.
38
-
This is an important stage in the modeling process in-situ
conditions must be established before construction stages can begin.
A history of the unbalanced force and histories of the x and y
displacements at the crest are recorded. As the model is cycled, the
unbalanced force will diminish assuming, of course, that the basic
geometry is stable. These histories are then monitored and the model
stepped until any movements or unbalanced forces are sufficiently
small. Example 4.2 shows the code supporting this part of the
discussion.
Example 4.2 Setting boundaries, properties and histories, followed bystepping to equilibrium
fix x i 1fix x y j 1fix x i 41prop bulk 2e8 she 1e8 den 2500prop fric 45 coh 1e6 ten 1e6set grav 9.81hist unbalhist xd i 25 j 19hist yd i 25 j 19solveprop coh 0 ten 0solvesave sl_ini.sav
Chapter 4, A Simple Analysis Failure of a Sandy Slope 31
Figure 4.1 Grid for simple slope analysisUse the commands:
title
slope stability analysis
plot grid
to generate this output. The linefollowing the TITLE commandspecifies the Job Title.
Note that the default nullconstitutive model causes thegrid plot to show the null zones,i.e., a blank plot as there is nomaterial present. A constitutivemodel defining material to bephysically present must bespecified (with the MODELcommand) before the grid canbe viewed.
39
-
4.3.1 Discussion of
Commands
Used
The commands given in Examples 4.1 and 4.2 are used in practically
every model. There may be some changes in the way the geometry is
specified or the boundary conditions are set but, essentially, these
commands will be used often. The commands can be typed in full or in
shorthand the minimum shorthand version is shown in BOLD text.They are discussed in detail below in the order that they are used in the
examples. Spaces, commas or parentheses may be used to separate
parameters, as desired by the user, to improve readability.
GRID 40 20
This specifies the number of columns and the number of rows of zones
in the model grid. Remember that these are the number of zones, not
gridpoints. In this case, we have a model 40 zones wide by 20 zones
high, giving us 800 elements (before we shape and excavate the slope).
MODEL Mohr-Coulomb
This command associates a constitutive model with a specified part of
the grid. Here the Mohr-Coulomb model is set for the entire grid.
GENERATE -15,-16 -15,20 60,20 60,-16
Here, the corners of the grid are positioned in xy space, the pairs of
numbers representing xy coordinate pairs. The gridpoint with the lowest
row and column number in the range (default entire ij range) is placed at
the first xy pair, with the remainder of the corner gridpoints positioned at
the remaining xy pairs in a clockwise direction.
TABLE 1 -15,0 0,0 34.641,20 60,20
This command sets up a table (table 1 here) of x and y values being
coordinates of a boundary to which the gridpoints will conform.
GENERATE table 1
The table identified above is now used to shape the grid. This command
is equivalent to a sequence of GEN line commands, which moves the
nearest ij gridpoint to a new xy position to define the line. All the
gridpoints along the boundary are marked dividing the model into two
regions of zones. Each region can now be manipulated in its entirety.
MODEL null region 1 15
Null zones are used to model excavated material. The ij index specified
in the region keyword denotes a zone that must be somewhere within
the target region. Plotting the grid now will show the remaining region,
making it fairly obvious whether the correct region was excavated.
32 Chapter 4, A Simple Analysis Failure of a Sandy Slope
All the commands are describedin Section 1 of the CommandReference. A summary is givenin Appendix A of this guide.
See the earlier discussion onthe Finite Difference Grid(Section 3.4, page 23) for adiscussion on ij versus xyspace.
Type the command PRINTmark or PLOT grid mark toidentify the marked gridpointsalong the slope.
40
-
FIX x i 1x y j 1x i 41
The velocities at gridpoints specified by the ij values are constrained in
the directions indicated by the x and y keywords. By specifying i = 1(and no j value), gridpoints with (i,j) = (1, 1) to (1, 41) are selected. Thevelocity is zero at the start of the model before any cycling takes place.
Here, the left and right boundaries, specified as i = 1 and i = 41, arefixed at zero velocity in the x direction, and the bottom boundary,
specified as j = 1, is fixed at zero velocity in the x and y directions.
PROPERTY bulk_mod 2e8shear_mod 1e8dens 2500friction 45cohesion 1e6tension 1e6
This command assigns properties for the constitutive model identified
by the MODEL command. If properties are given that are not consistentwith the chosen model, a warning message which informs the user that
the unneeded properties were not accepted will be given. If a required
property is not specified, a default value will be used. High values are
sometimes chosen at this stage to ensure that the model behaves
elastically during the initial equilibrium calculation (i.e., no failure is
permitted while the initial transient forces are damped).
A regions properties may be specified in a series of lines, as was done
in the example, to ensure that line lengths do not exceed 80 characters.
SET gravity 9.81
The SET command is used to control many parameters in FLAC inthis case, it simply turns gravity on, with a value of 9.81ms
-2acting
downward.
HISTORY unbalxdis i 25 j 19ydis i 25 j 19
The history of a variable is stored every n timesteps (default n=10) for a
specified gridpoint or zone. Each history is numbered sequentially from
1, as entered. Here we are requesting the history of the unbalanced force
(always a good idea!) and the x and y displacements at the crest of the
slope. These displacements will be monitored to determine whether our
slope is stable or in motion.
Chapter 4, A Simple Analysis Failure of a Sandy Slope 33
If initial velocities are fixed in aparticular direction, thendisplacements in that directionare prevented.
Note that the properties arespecified here in S.I. units; seeAppendix B.
Dilation angle, by default equalto zero, is not specified; this is anon-associated plasticityanalysis.
The required property keywordsand all the default values aregiven in Section 1 of theCommand Reference.
Note that only one ij locationcan be given with eachHISTORY command, althoughseveral keywords can be givenon one line. Be careful not tomix zone and gridpointkeywords.
41
-
SOLVE This causes our model to perform calculation steps until the defaultvalue for the maximum unbalanced force (100 force units, e.g., 100 N in
this case) is reached. You can also check that equilibrium is reached by
plotting the maximum unbalanced force history (type PLOT hist 1)and the x and y displacement histories (type PLOT hist 2 3). Theunbalanced force history approaches a very small value and the
displacement histories become horizontal; both are indicators that an
equilibrium state is reached.
You will notice that the SOLVE command is repeated in Example 4.2after the material cohesion and tensile strength are set to zero (PROPcoh 0 ten 0). This is to ensure that the model is still in equilibriumwhen the properties are reset after the equilibriation process.
SAVE sl_ini.sav
This saves a memory image (binary file) of the current state of the
model, as opposed to the original data file from which the model was
generated.
4.3.2 Realizing the
Solution
Philosophy
The scheme of repeated solution for various friction angles is embodied
in a FISH function controlling the material strength. The function also
monitors the behavior at the crest of the slope. Example 4.3 shows the
code for the FISH function, ssolve, created for this task.
Essentially, we supply the function with a starting value for the friction
angle f. It embodies an iterative procedure in which f is decremented,
with the model solved for each new value. After each solution, the
function captures the data we need to determine whether slope failure
has occurred. When this data triggers our test conditions, a factor of
safety (FoS) is calculated and the process stops automatically.
The factor of safety is based upon the ratio of the friction angles i.e.,
FoSactual friction angle
friction angle at fai= tan( )
tan( lure)
A simple test is used here to stop the calculation series when the slope
fails. From preliminary runs, we identified that the model was stable for
a specified friction angle if the maximum unbalanced force fell below
100 N within 4000 calculation steps. Stability was also determined by
monitoring the displacement and velocity histories at the crest. A static
equilibrium solution was indicated by the histories showing horizontal
34 Chapter 4, A Simple Analysis Failure of a Sandy Slope
It may be necessary to alter thedefaults to suit different systemsof units. This can be done withoptional keywords in the SOLVEcommand.
Remember that we are usingdisplacements and velocities atthe crest of the slope and themaximum unbalanced force in themodel as the failure indicators.
Equation 4.3
42
-
traces in their final stages, and the velocity histories converging to
near-zero in comparison to their starting values. If slope failure occurs,
the velocity histories do not converge to near-zero, and the unbalanced
force does not fall below 100 N. Therefore, we simply test the
maximum unbalanced force after 4000 steps; if the value is above 100,
we know that the slope has failed and we stop the calculation sequence.
Example 4.3 FISH function controlling the model
def ssolvefric_act = friction(1,1)loop k (1,int_fric)fname =sl_+string(k)+.savfric_fac = fric_inc * (float(k)-1.0)fric_cal = fric_ref - fric_facFoS = tan(fric_act*degrad) / t