FLAC Basics

134
FLAC Basics COETZEE HART VARONA CUNDALL An introduction to and a guide to its practical application in geotechnical engineering Foreword by Professor Charles Fairhurst FLAC 2nd Revised Edition

description

this book described the modeling with the software Flac.

Transcript of FLAC Basics

  • 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