You are on page 1of 146

FLAC3D Training Course

Basic Concepts and Recommended Procedures


for Geotechnical Numerical Analysis

Instructors: Marco Camusso


ITASCA Australia Pty Ltd

Brisbane
October 30 – November 1, 2018
Day 1
Course schedule
Introduction
Day 1
Itasca International
Itasca is an international consulting and software development firm.

• Founded in Minneapolis, Minnesota in 1981


• Over 165 personnel among 16 offices in 13 countries
• Software agents based in another 11 countries
• Solutions for geomechanical, hydrogeological, and microseismic
challenges in civil, manufacturing, mining, oil & gas and power
generation
• Use of numerical simulation software is an integral part of our
consulting
• Our state-of-the-art numerical modeling programs are among the most
widely used and respected tools of their kind
• Itasca benefits from the dynamic interplay between our consulting,
software development and contract research activities
• Our engineers and software developers have a proven track record of
innovation, leading to new strategies and tools to better understand the
complex environments in which our clients work
Itasca around the world

Brisbane,
Australia
Itasca services
Itasca Commercial Software
Software Comparison

http://www.itascacg.com/software-comparison
Software Comparison – FLAC/FLAC3D

Drift with a shotcrete liner and


rock bolts. Plastic yielding around
the drift, bolt loads and
displacements are shown in this
FLAC model

Iso-contours of ground
displacements surrounding two
large caverns and several access
drifts are shown in this FLAC3D
model
Software Comparison – UDEC/3DEC

Layers of sedimentary
rock collapsing during
retreat mining are
shown in this UDEC
model

Open pit being mined ◄


though a series of large
faults shows higher
displacements along a
portion of the pit wall in this
3DEC model
Software Comparison – PFC2D/PFC3D
PFC2D simulation of a drift
advancing within a stress
mining environment indicting
predicted damage in the
surrounding rock

PFC3D model using particle


clumps to simulate rocks
sliding down a slope. Some
rock paths are being tracked
(colored lines)
Free Demonstration Software
https://www.itascacg.com/demo-downloads
What’s New in FLAC3D 6.0 ?
• New Mesh Generation Tools • Improved Dynamic Multi-Stepping
(Building Blocks)
• Zone Relax
• Introduction of Interactive
Modeling • Dynamic Input Wizard

• Improved Tools for Structural • Results Files


Elements
• Enhanced User Interface and
• New Constitutive Models Plotting

• Revamped Commands and FISH • Improved Text Editor and Movie


Scripting Creation

• Interactive Help • Embedded Python language

• PFC3D Plug-in (Option)


FLAC3D Numerical Method
Day 1
What is FLAC3D ?
FLAC3D is a general-purpose code that can simulate a full range of nonlinear static &
dynamic problems, with coupled fluid flow, heat transfer and structural interaction.
Any geometry can be represented, and the boundary conditions are quite general.

FLAC3D simulates the behavior of nonlinear continua by the generalized finite


difference method (arbitrary element shapes), also known as the “finite volume
method”.

FLAC3D solves the full dynamic equations of motion even for quasi-static problems.
This has advantages for problems that involve physical instability, such as collapse,
as will be explained later. To model the “static” response of a system, damping is
used (“dynamic relaxation”) to absorb kinetic energy.

FLAC3D contains an embedded language, FISH, that gives the user access to all
internal variables and allows custom-written functions.
Practical Applications using FLAC3D
Practical Applications using FLAC3D
Wind turbine foundation
Practical Applications using FLAC3D
Concrete Caisson Wall with
Pretensioned Tiebacks*

Demonstration model prepared in collaboration with Matthew Janes,


* Isherwood Ass., Mississauga, Ontario, Canada
Practical Applications using FLAC3D

Minebay Stability Analysis


6
1

9
8 7 2 5 4 3

1
Sections numbered in red are excavated in 2m rounds and support installed
Practical Applications using FLAC3D

Red elements indicate yield


Practical Applications using FLAC3D

Concrete Arch Dam


Practical Applications using FLAC3D
HistoriqueAir
lisséTemperature
de la température extérieure Historique du Water level
niveau d'eau dans la retenue
35 750

740
30

730

25
720

Niveau d'eau (NGM)


20 710
Température (°C)

700
15

690

10
680

5
670

660
0
09/1998 09/1999 08/2000 08/2001 08/2002 08/2003 08/2004 08/2005 08/2006 08/2007 08/2008 08/2009 08/2010 08/2011 650
11/1998 11/1999 10/2000 10/2001 10/2002 10/2003 10/2004 10/2005 10/2006 10/2007 10/2008 10/2009 10/2010
-5
Date Date

Temperature (°)
12
14
16
18
20
22
24
26
28
30
32
34
Practical Applications using FLAC3D
Practical Applications using FLAC3D
Construction above a shallow tunnel
Numerical Modeling Method
FLAC3D uses an explicit, dynamic solution scheme, even to simulate quasi-static
problems. It includes coupled fluid and thermal modes, and many nonlinear
constitutive models.
Continuum Discontinuum

Finite Element Implicit Explicit

DDA PFC, UDEC*, 3DEC*

Implicit Explicit *UDEC and 3DEC are


actually hybrid methods
Phase2, Plaxis Diana

Finite Difference Boundary


/ Finite Volume Element
Map3D, Examine2D/3D

Implicit Explicit

FLAC, FLAC3D
Why use an Explicit, Dynamic Solution Scheme ?
Difficulties faced in numerical simulations in geomechanics include:
1. Physical instability.
2. Path dependence.
3. Implementation of strongly nonlinear constitutive models.

These difficulties are addressed by using a finite difference, explicit, dynamic calculation
method (a ‘time-marching’ solution scheme).
Advantages:
• Models physically unstable processes without numerical instability.
• Can follow arbitrary non-linearity in constitutive laws.
• Performs large strain calculation at comparable speed to small strain.
• Can use the same solution algorithm for any constitutive model.
• No global or local stiffness matrix.
• Displacements are not part of the result (can reset with no change in
model state).
Mathematical Model Description

• A FLAC3D model is composed of zones (from a few thousands to a couple


millions).
The mesh
• Zones are usually hexahedral or tetrahedral.
Gridpoints

A zone
• The vertices of zones are called gridpoints.

• Zones and gridpoints compose the mesh of the model.

• Mechanical equations are solved for each zone/gridpoint.


Mathematical Model Description

The calculation cycle

Forces are fixed


during this
calculation
(for all mass-points)

(for all elements)


Strainrates are
fixed during this
calculation
Basic Calculation Cycle
Forces are fixed during
For all gridpoints (nodes) this calculation

velocities Equilibrium Equation nodal forces


(Equation of Motion)
dui  ij
   g i
dt x j
Gauss´ theorem Fi  ijn jL

For all zones (elements)

Stress - Strain Relation


strain rates (Constitutive Equation) new stresses

Strain rates are


e.g., elastic fixed during this
calculation
Mathematical Model Description

, ̇, ̈
F(t)
m

̇
Newton’s Law of Motion: = . = .

̇
For a continuous body, this can be generalized as: . = +
Where:
ρ mass density
xj coordinate vector (x,y)
σij components of the stress tensor
gi gravitation
Mathematical Model Description
In addition to the law of motion, a continuous material must obey a constitutive
relation - that is, a relation between stresses and strains. For an elastic material this
is:

In general, the form is as follows:

Where:
Mathematical Model Description

In the finite difference method, first-order space and time derivatives of a variable
are approximated by finite differences, assuming linear variations of the variable
over finite space and time intervals, respectively.

The algebraic expressions are fully explicit; all quantities on the right-hand side of
the expressions are known. Consequently each element (zone or gridpoint) in a
FLAC3D grid appears to be physically isolated from its neighbors during one
calculation timestep.
In the dynamic-solution approach, the inertial terms in the equations of motion are
used as numerical means to reach the equilibrium state of the system under
consideration
FLAC3D Zones and Mixed Discretization

Hexahedral “brick” zones are made of 10 constant strain tetrahedron in two overlays

8-node zone with two overlays of 5 tetrahedra in each overlay

• Each overlay contributes to ½


• Generally report one stress – volume averaged stress of all tetrahedra in one zone
FLAC3D Zones and Mixed Discretization
Various degenerate forms of elements are
also available in FLAC3D to enable the
grid to conform to required geometry of
boundaries:
Static Analysis with FLAC3D

FLAC3D uses a dynamic solution method to provide a static solution. Inertial forces
are minimized using a relaxation scheme: “dynamic relaxation”.

The minimized inertial force is comparable to the “level of residual error” or


“convergence criterion” defined for matrix solution methods used in many finite
element programs. In FLAC and FLAC3D, the level of error is quantified by the
unbalanced force ratio. In both FLAC and FE solutions, the static solution process
terminates when the error is below a desired value.
Static Analysis with FLAC3D
In FLAC3D the unbalanced force ratio is monitored to determine the static state.

• Local unbalanced force ratio: maximum value of the ratio of the unbalanced
force magnitude to the applied mechanical force magnitude, for all the
gridpoints.

• Global unbalanced force ratio: average unbalanced force magnitude for all the
gridpoinds in the model divided by the average applied mechanical force
magnitude for all the gridpoinds.

FLAC3D uses the global ratio by default. The model is considered to be in an


equilibrium state when the ratio falls below 1.0e-5 (by default).
Static Analysis with FLAC3D
In dynamic relaxation gridpoints are moved according to Newton’s law of motion.
The acceleration of a gridpoint is proportional to the out-of-balance force. This
solution scheme determines the set of displacements that will bring the system to
equilibrium, or indicate the failure mode.

There are two important considerations with dynamic relaxation:


1) Choice of timestep
2) Effect of damping
Timestep for dynamic relaxation
In order to satisfy numerical stability the timestep must satisfy the condition:

∆ Element size
∆ <
P-wave speed

where Cp is proportional to 1 /mgp. For static analysis, gridpoint masses are scaled so
that local critical timesteps are equal (∆ = 1) which provides the optimum speed of
convergence. Nodal inertial masses are then adjusted to fulfill the stability condition:

Note that gravitational masses are not affected.


Damping
Velocity-proportional damping introduces body forces that can affect the solution.

Local damping is used in FLAC3D --- The damping force at a gridpoint is


proportional to the magnitude of the unbalanced force with the sign set to ensure
that vibrational modes are damped:

• Damping forces are introduced to the equations of motion:

t
ui  Fi  | Fi | sgn (ui )
m

where Fi is the unbalanced force

• The damping force, Fd is:

Fd   Fi sgn( ui )


Simple Demonstration of an Explicit Dynamic Solution

Bearing Capacity Analysis with FLAC3D

The example is available from FLAC3D directly:


Help  Examples  Verification Problems  PrandtlsWedge  PrandtlsWedge.f3prj
Simple Demonstration of an Explicit Dynamic Solution

The collapse load can be determined from either :


1. A load-controlled test, i.e., apply a constant force and calculate the solution. (stable or
unstable?) Iterate until the difference between the stable and unstable load is smaller than
a selected tolerance.
2. A velocity-controlled test, i.e., apply a small constant velocity until an unstable state is
reached.

EXAMPLE (day1\1_Prandtl's_Wedge)
FLAC3D Operation
Day 1
Default Installation Folder
FLAC3D Documentation

Documentation is accessible from FLAC3D menu Help->FLAC3D Help)


User Support

1. Extensive documentation, with many examples and useful FISH functions,


accessible directly form the FLAC3D menu.
2. Hundreds of references to papers describing applications of all codes are
available on the Itasca web site (www.itascacg.com).
3. Latest code updates may be downloaded from the web.
4. International code-user symposia are held regularly.
5. A special web site page provides a repository for user-defined constitutive
models (www.itascacg-udm.com).
6. Rapid answers to users’ queries are provided, both by telephone and email (many
hundreds of such questions are handled every year).
7. Consulting agreements may be set up for more extensive help with setting up
models and interpreting the results.
FLAC3D Files

FLAC3D accepts any consistent set of engineering units


Sign Conventions
DIRECT STRESS – Positive stresses indicate tension; negative stresses indicate
compression.

DIRECT STRAIN – Positive strain indicates extension; negative strain indicates


compression.

PRESSURE – A positive pressure will act normal to, and in a direction toward, the
surface of a body
Sign Conventions

PORE PRESSURE – Fluid pore pressure is positive in compression. Negative pore


pressure indicates fluid tension.

DIP, DIP DIRECTION – In FLAC3D, the global xyz-axes form a right-handed


system. When dip and dip direction are specified, FLAC3D assumes the following: +y
points North (0 degrees azimuth); +x points East (+90 degrees azimuth); and +z
points up. Dip direction is measured positive clockwise in the horizontal plane from
North, which is at 0 degrees azimuth. Dip is measured positive down from the
horizontal plane.

VECTOR QUANTITIES – The x-, y- and z-components of vector quantities such as


forces, displacements and velocities are positive when pointing in the directions of
the x-, y- and z-axes.
Precision

• All calculations are performed using double-precision floating-point values (14


digits of precision).

• If the coordinates of your model are offset by a large value, this can remove
effective digits of precision from your calculation.

• For this reason, offset the model coordinate system so that the origin (0,0,0) is
near or inside the model extent.
Multi-threading
By default, FLAC3D uses all the processors available on a machine for the
mechanical calculations.
Nomenclature
FLAC3D Files

• Data File (*.f3dat) ASCII file listing FLAC3D commands that represent the
problem being analyzed.

• Save File (*.f3sav) Binary file containing values of all state variables and user-
defined conditions at stage that file is saved.

• Result File (*.f3result) Smaller version of a save file containing only specific user-
specific pieces of information about the model
• Plot File (*.f3plot) FLAC3D graphics plot file.

• Mesh File (*.f3grid) Specifies a discretization of space into gridpoints and zones.

• Project File (*.f3prj) Contains information related to a specific FLAC3D project.


This includes links to the data file and save file related to the
project and the plot views generated for the project.
FLAC3D Commands

FLAC3D is a command-driven program

• Engineering simulations usually consist of a lengthy sequence of operations.

• A FLAC3D data file can be easily modified with a text editor. Several files can
be linked together.

• The word oriented input files provide an excellent means for keeping a
documented record of analyses.

• The command driven structure allows the development of pre- and post-
processing programs to manipulate FLAC3D input or output as desired.
FLAC3D Commands
Command Syntax
OBJECT - ACTION - OPTIONS(s) - MODIFIER - RANGE
Examples:
• model new clears the memory

• zone create brick creates a grid

• zone cmodel assign elastic assigns an elastic model to all the zones in the model

• zone cmodel assign mohr-coulomb range x-position 5 10 assigns a mohr-coulomb


constitutive model to all the zones located between x=5 and x=10.

• zone property young 1.0e9 range cmodel elastic assigns a Young’s modulus of 1.0e9
to all the zones with an elastic constitutive model
FLAC3D Commands

1. Specify Program Control


2. Specify Special Calculation Modes or Additional Memory
3. Input Problem Geometry
4. Create Named Objects
5. Assign Constitutive Models and Properties
6. Assign Initial Conditions and Apply Boundary Conditions
7. Specify Structural Support
8. Specify Interfaces
9. Specify User-Defined Variables or Functions (FISH)
10. Monitor Model Conditions during Solution Process
11. Solve the Problem
12. Generate Model Output
FLAC3D Commands

• The commands are the basic tool to create a model and do simple operations
(« Command Reference » manual).

• For more complex operations, functions can be created, written in the FISH
language (« FISH » manual). FISH is a very flexible language and commonly
used to access/modify variables at gridpoints, zones etc…

56
Graphical Interface
Day 1
FLAC3D Graphical Interface

The graphical interface achieves the following major objectives:


• All plotting control is available interactively.
• A built-in editor provides native data file editing, and data files opened in
FLAC3D may be run directly.
• Project management is feasible with the implementation of the project file
and the use of the project pane
• Program configuration and project settings are easily accessible and
specified in a single location
A Simple Example : A Trench Excavation in Clay

Open the FLAC3D project file Braced_Excavation.f3prj


Located in Day1\2_Braced_Support_Of_Vertical_Excavation
A Simple Example : A Trench Excavation in Clay
Menu bar Tool bar
FLAC3D Main Window Wide layout

plot and file editor panes

control
project panel
panes

console
Customizable Layouts
FLAC3D uses floating and docking windows that may be arranged in any manner
the user wishes. Four built-in layout options are provided, but user-created custom
layouts may be saved and applied to future projects. The state of the current layout
is saved with the project.
Customizable Layouts

project
plot pane
panes

console control
panel

File editor panes


Project Management
The FLAC3D user interface has been designed with the
expectation that in most cases, users will work with projects -
though it is possible to operate FLAC3D without a project.

The Project File:


• Stores all files involved in all model states.
• Stores plot views
• Stores layout
• Model/Project/Program states

Every item in FLAC3D has a corresponding file and all of


these files are external to the project : the project file does not
"contain" any items.
Project Management
The Project pane displays all files associated with a Project, for quick opening or
closing of those files.

Right-click on any item for a list of commands: "Open",


"Close", "Remove", "Delete“. "Remove" will remove the
item from the project without deleting the file. "Delete"
will permanently (no "Recycle Bin"!) delete it.
The Console Pane
The console pane contains the command prompt ( flac3d> ) at its bottom. FLAC3D
commands are entered at the command prompt.

The output portion of the pane will echo commands, provide command process status
information, and show any warnings, errors, or output that result from command
processing.
The Console Pane
When the console is the active window, the toolbar appears as below
The Editor Pane

The Editor pane in FLAC3D provides the ability to edit text-based resources (data files,
FISH files — though really any text-based file could be loaded into the Editor pane).

Inline Help:
• Ctrl + Space
• F1
Editor Pane

Syntax highlighting can be


customized
The Editor Pane
When the Editor pane is the active window, the Edit menu becomes available
The Editor Pane
When the Editor pane is the active
window, the toolbar appears as:

file manipulation undo/redo text tools comment / options


(find,replace…) uncomment Context
(new,save,close…)
sensitive help

Execute data file


Execute selected lines
The View Pane
View panes are used to display plots. Plots are created by using either the New button
from the toolbar or by using the main menu (File → Add New Plot). Once created, the
plot is built using the Plot Items control set in the Control Panel. There may be as
many View panes in use as desired.
The View Pane
When a view is the active
pane, the toolbar appears as
above.

Plot items

Plot item attributes

Plot view

View controls

Legend
The View Pane
When a view is the active pane, the toolbar appears as above.

view manipulation print/export


(new,refresh,save, View modes
dupplicate) (manipulate, picking…)
View options

WARNING:
Rendering a view too frequently while cycling
hinders performances.
Make sure to hide plot views or select a large
update interval when performing long
calculations
The Plot Building Dialog
The View Pane

hide/show

filters/cutting tools

Contour/Label

Quantity displayed:
• Text (group,name…)
• Numerical Value
(property…)
Picking and View info

• Mouse-over the plot view to display local info

• Use picking to retrieve in-depth info (non transparent items)


Help & Documentation

77
Modelling Methodology
Day 1
Engineering Analyses

ANALYTICAL

EMPIRICAL

NUMERICAL
When to Use Numerical Models?

• Empirical methods can not be extrapolated to new situations.


• No other methods (for example analytical or limit equilibrium) are
available, or the available methods are too simplistic (or lead to
underestimation of the actual solution)
• They can be used to explain the observed physical behavior (e.g.,
collapse)
• Multiple options can be analyzed (e.g., different design hypothesis).
Numerical Analysis

• Numerical models provide us with a


means to rapidly investigate various “… all models are wrong, but
scenarios and conditions that can’t be some are useful.”
otherwise easily evaluated.
(Box, 1976)
• Always remember that a model is a
facsimile – not reality. There are
always limitations requiring “Numerical modeling should
simplifications.
be an aid to thought, not a
substitute for thought.”
• An appropriate constitutive- or
contact- model is required.
(Starfield and Cundall, 1988)
Workflow for Numerical Analysis in Geomechanics

1. Define the objectives for the model analysis


2. Create a conceptual picture of the physical system
3. Construct and run simple idealized models
4. Assemble problem-specific data
5. Prepare a series of detailed model runs
6. Perform the model calculations
7. Interpretation results
Step 1 : Objectives

• Ask yourself:
• “Why am I building this model ?”
• “What are the answers I am looking to get from the models ?”
• Propose numerical experiments predicting in advance the expected results
Step 2 : Conceptual Picture

• 2D versus 3D?
• Can you take advantage of geometry symmetry to make model
smaller?
• What are the model boundaries?
• Are groundwater, creep, dynamics, thermal important?
• What are the major geological structures?
• Set up a model as early as you can:
– even before the input data is available
– to understand how the system behaves.
– can help guide field/lab investigation, initiate recollection of data
and define required numerical tests.
Step 3 : Simple Models

• Set up first a very simple model (that includes the essential mechanisms only),
correct the problems, etc.
• Simple models solve faster
• Can suggest data gaps sooner
• Try to understand these results before moving on.
• If the results do not correspond to what you expect, try to understand the
reason, do not move on (i.e., by further confusing results with complexity).
Can help identify conceptual errors, typos incorrect input data, etc.
• Add complexity to the models only as it becomes necessary (according to Step
1)
Modelling Complexity

• constant stress • varying stress • varying stress


• one material • varying materials • varying materials
• complex geometry

2D, one model 2D, several models 3D, one model


Step 4 : Assemble Data

• Details of the geometry (profile of underground openings, surface topography,


rock/soil structure, etc.)

• Locations of geological structure (faults, bedding planes, joint sets)

• Material behavior (elastic/plastic properties, post-failure behavior)

• Initial conditions (in-situ state of stress, pore pressures, saturation, etc.)

• External loading (explosive loading, pressurized cavern, mining induced


stressed, traffic loads, buildings, etc.)
Step 5 and 6 : Model Runs

• Ensure enough monitoring points (histories) throughout the model – including


velocity and/or displacement at points of most interest.
• Always include a convergence history at the start of the model
• Observe model behavior during runs to better understand final state
• Save Regularly (model state) in the event you need to restart the model run
(power failure, computer crash, etc.)
• Normally, numerical models are used to determine mechanisms. The design is
usually based on simpler methods
• If the design will be based on the results from the numerical models, it should be
convenient that:
– The data is complete and reasonably exact (or representative)
– Run the model for different conditions so as to study the influence of the
uncertainty in the response
Step 7: Interpret Results

• Simply monitor the model as


you would a slope/tunnel
• Use time histories in the model
to monitor change in:
– displacement
– velocity
– failure/plasticity and
– force
• Examine everything together ...
Displacement

unstable
Funbal unstable
stable
stable
Cycle Cycle
Grid generation
Day 1
FLAC3D Modelling Workflow

1) Grid generation

2) Material models and properties

3) Boundary conditions

4) Initial conditions

5) Solve to initial equilibrium

6) Perform alterations
Grid Generation Options
Primitive Shapes
Primitive Shapes

Number of zones (n1, n2, n3)


increment ratios (r1, r2, r3

Vertices in the
right-hand system

Brick Primitive
Primitive Shapes
Primitive Shapes
Primitive Shapes
Meshing Tips
• Always start with a coarse grid; work out the bugs, and increase the grid
density only as much as necessary (are results converging?).
• To reduce memory requirements, increase zone sizes away from area of
interest.
• Highest zone density should be in regions of highest stress or strain gradients
(near excavations).
• Aspect ratio of zones should be close to unity. Anything above 10:1 is
potentially inaccurate.
• Ratio between zone volumes in adjacent blocks should not exceed 4:1 (ideally
2:1).
• At least 3 zones across are required for shearing.
• At least 5 zones across are required for bending.
• Make sure the boundaries are far enough away to avoid influencing the results.
• Try to avoid tetrahedral zones, especially if performing analysis with plasticity.
Meshing Exercises: Generating Simple shapes
Generating Simple shapes
Command Syntax
OBJECT - ACTION - OPTIONS(s) - MODIFIER - RANGE
brick
dbrick Dimension
wedge Edge
uwedge Fill
Pyramid Group
Tetrahedron merge
ZONE CREATE
Cylinder Point
Radbrick Ratio
Radtunnel Size
Radcylinder Sweep-Axis
Cshell
Cylint
tunint
Generating Simple shapes

P5 P7

P3

P6

8m
P2
P4

8m
P0 P1
8m

ZONE CREATE BRICK SIZE 8,8,8

EXAMPLE (day1\3_Generating_Simple_Primitives\Simple_Primitives.f3prj)
Generating Simple shapes

P5 P7

P3

P6

8m
P2
P4

8m
P0 P1
8m

ZONE CREATE BRICK …


Point 0 -4,0,-4 Point 1 4,0,-4 Point 2 -4,8,-4 Point 3 -4,0,4 …
SIZE 16,16,16
EXAMPLE (day1\3_Generating_Simple_Primitives\Simple_Primitives.f3prj)
Generating Simple shapes
P5 P7

RATIO 1.1
P3

12 m P6

P2
8m P4

8m P0 P1
8m

ZONE CREATE BRICK …


Point 0 -4,0,-4 Point 1 4,0,-4 Point 2 -4,8,-4 Point 3 -4,0,4 …
Point 4 4,8,-4 Point 5 -4,8,8 Point 6 4,0,4 Point 7 4,8,8 …
SIZE 16,16,16 …
RATIO 1.1,1,1
EXAMPLE (day1\3_Generating_Simple_Primitives\Simple_Primitives.f3prj)
Connecting Primitives
Connecting Primitives
ZONE CREATE BRICK …
Point 0 -4,0,4 Point 1 0,0,4 Point 2 -4,8,8 Point 3 -4,0,8 …
Point 4 0,8,8 Point 5 -4,8,12 Point 6 0,0,8 Point 7 0,8,12 …
SIZE 8,16,16 …
RATIO 1,1,1 …
GROUP ‘Top’

ZONE CREATE BRICK …


Point 0 -4,0,-4 Point 1 4,0,-4 Point 2 -4,8,-4 Point 3 -4,0,4 …
Point 4 4,8,-4 Point 5 -4,8,8 Point 6 4,0,4 Point 7 4,8,8 …
SIZE 16,16,16 …
RATIO 1,1,1 …
GROUP ‘Base’

The two primitives are connected

EXAMPLE (day1\3_Generating_Simple_Primitives\Simple_Primitives.f3prj)
Connecting Primitives
ZONE CREATE BRICK …
Point 0 -4,0,4 Point 1 0,0,4 Point 2 -4,8,8 Point 3 -4,0,8 …
Point 4 0,8,8 Point 5 -4,8,12 Point 6 0,0,8 Point 7 0,8,12 …
SIZE 8,16,16 …
RATIO 1,1,1 …
GROUP ‘Top’

ZONE CREATE BRICK …


Point 0 -4,0,-4 Point 1 4,0,-4 Point 2 -4,8,-4 Point 3 -4,0,4 …
Point 4 4,8,-4 Point 5 -4,8,8 Point 6 4,0,4 Point 7 4,8,8 …
SIZE 16,16,16 …
RATIO 1,1,1 …
MERGE False …
GROUP ‘Base’

The two primitives are NOT connected


Connecting Primitives

ZONE CREATE BRICK …


Point 0 -4,0,5 Point 1 0,0,5 Point 2 -4,8,9 Point 3 -4,0,9 …
Point 4 0,8,9 Point 5 -4,8,13 Point 6 0,0,9 Point 7 0,8,13 …
SIZE 8,16,16 …
RATIO 1,1,1 …
GROUP ‘Top’

ZONE CREATE BRICK …


Point 0 -4,0,-4 Point 1 4,0,-4 Point 2 -4,8,-4 Point 3 -4,0,4 …
Point 4 4,8,-4 Point 5 -4,8,8 Point 6 4,0,4 Point 7 4,8,8 …
SIZE 16,16,16 …
RATIO 1,1,1 …
GROUP ‘Base’

ZONE GRIDPOINT INITIALIZE position-z add -1.0 Range group ‘Top’

The two primitives are NOT connected


Example – Generating Simple Shapes
P5 P7

P3 P6
25 m 24 m
P11

15 m
P2 P10
P9 P4
68 m
12 m n4,r4

P0 n1,r1 P8 P1
ZONE CREATE RADIAL-CYLINDER point 0 0,0,25 point 1 add 80,0,0 point 2 add 0,0,-25 point 3 add 0,80,0 …
point 8 add 24,0,0 point 9 add 0,24,0 point 10 add 12,0,-25 point 11 add 0,12,-25 …
Size 5 10 10 10 ratio 1 1 1 1.1 group ‘AAA’

ZONE CREATE RADIAL-CYLINDER point 0 0,0,0 point 1 add 80,0,0 point 2 add 0,0,-15 point 3 add 0,80,0 …
point 8 add 12,0,0 point 9 add 0,12,0 point 10 add 12,0,-15 point 11 add 0,12,-15 …
Size 5 7 10 10 ratio 1 1 1 1.1 group ‘CCC’ Fill group ‘BBB’
Example – Generating Simple Shapes

ZONE REFLECT Origin 0,0,0 normal 0,-1,0


Additional Commands
Zone Separate by-face keyword <Range…>
Separates internal faces specified by the range. The gridpoints on the zone
faces are duplicated, and a new surface face is created.

Zone Gridpoint Merge keyword <Range…>


merges gridpoints that coincide in space into a single gridpoint.

Zone Densify keyword <Range…>


Subdivides all zones in the range into smaller zones filling the same volume.

Zone Attach keyword <Range…>


Attaches faces of sub-grids together rigidly to form a single grid.

Zone GROUP ‘group_name’ slot ‘slot_name’ <Range…>


Assigns group names to the slot named ‘slot_name’ to all the zones that fall
within the range.
Example – Parallel Drives

EXAMPLE
(day1\4_Parallel_Drives)

10m
40m

10m
7.5m

10m
60m
20m
R 2.5m
15m
2.5m
5m
(0,0,0)
Example – Parallel Drives

Brick

Radial-tunnel

Radial-cylinder
Grid Manipulation With Fish

EXAMPLE (day1\5_Grid_Manipulation_With_Fish)
Meshing Exercises: Generating Simple shapes

Assembly of brick primitives


Grid Manipulation With Fish

1.
Assembly
of brick
primitives

FISH 2.
“Morphing”
of bricks
using FISH
Grid Manipulation With Fish
Grid Manipulation With Fish
2D Extruder

The Extrusion pane is an interactive user interface for creating a 2D model and
extruding it into a third dimension.

Create from scratch or import geometry / bitmap


2D Extruder

Divide into quadrilateral blocks to control zoning


2D Extruder

Mesh
2D Extruder

Specify stages of extrusion out-of-plane


2D Extruder
Finished FLAC3D grid
2D Extruder - Example
EXAMPLE
(day1\6_2D_Extruder_Slope)
Building Blocks

The Building Blocks pane is an interactive user interface for building 3D models.
Building Blocks

Pre-existing sets of blocks are available in FLAC3D.


Building Blocks

Import DXF (meshed surfaces)

EXAMPLE
(day1\7_GridGeneration\03_BuildingBlocks)
Building Blocks

Create blocks and snap to surfaces


+
Use control points for arc definition
Building Blocks

Create soil blocks


Griddle

Griddle is a fully interactive, mesh generation plug-in for Rhinoceros (3D CAD
software).
Griddle

Mesh intersection (Griddle) Surface remeshing (Griddle)


EXAMPLE Tri / QuadDom / AllQuad
(day1\7_GridGeneration\04_Griddle)
Griddle

Volume mesher File .f3grid


Tet / ConHexDom to import in FLAC3D
Griddle

Volume mesher File .f3grid


Tet / ConHexDom to import in FLAC3D
Hybrid meshes
Lined tunnel
- Tunnel wall mesh created with BuildingBlocks
- Soil mesh created with Griddle

Rhino

BuildingBlocks
Hybrid meshes

Generation of soil volume in Rhino


+
Griddle to mesh soil volume

Mesh on tunnel
boundary matches the
BuildingBlocks mesh

EXAMPLE
(day1\7_GridGeneration\05_HybridMesh)
Hybrid meshes
Range logic
Day 1
The Range Logic

• The range logic allows the user to apply certain commands to a restricted set of
objects (such as zones, gridpoints or faces).

• Most commands accept an optional range keyword phrase

• if present the range must be given at the end of the command line.

• If the range keyword phrase is not specified, then the command will be applied to
all relevant objects in the model.

The following keywords are available:


The Range Logic
Examples, with a brick of dimension 10x10x10

Zone Group ‘fred’ range position-x 0 5

Zone Group ‘fred’ range plane origin 5,5,5 …


dip 45 dip-direction 90 below

Zone Group ‘fred’ range cylinder end-1 5,0,5 …


end-2 5,10,5 radius 4
The Range Logic
If multiple range elements are specified, the final set of objects will be those that
comprise the intersection of the separate range elements.

Zone Group ‘fred’ range position-x 0 5 position-z 0 5

Zone Group ‘fred’ range position-z 5 10 …


cylinder end-1 5 0 5 end-2 5,10,5 radius 4
The Range Logic

Boolean operations can be performed

Zone Group ‘fred’ range position-x 0 5

Zone Group ‘fred’ range position-x 0 5 not


The Range Logic

The range can be applied to most of the commands

Zone Group ‘fred’ range cylinder end-1 5,0,5 …


end-2 5,10,5 radius 4

Zone cmodel assign Null range group fred not


The Range Logic - Example

Use Default Slot Group

Rock1
Rock2
Drive1
Drive2
The Range Logic - Example

Use Slot Group ‘Geology’

Sphere origin
Radius = 40m

EXAMPLE Plane origin


(day1\4_Parallel_Drives) Dip = 45o
The Range Logic - Example

Use Group Slot ‘Sequence’


EXAMPLE
(day1\4_Parallel_Drives)
Model pane
Day 1
The Model Pane

The Model pane is an interactive user interface for displaying the current model.

• Select: Ctrl, Alt


• Hide: Alt, hide selection, show selection only
• Disambiguate
• Densify
• Assign group names to faces
• Face plotting, group selection, options
• Surface selection
• Save Geometry
• State Record

You might also like