FLAC3D Modeling • Tutorials

Tutorial: Quick Start

This tutorial steps through the actions necessary to quickly get a first FLAC3D model to solution. Very little time is spent explaining the various user interface elements being used. Rather, the focus is on getting something together and providing basic familiarity with the user interface. A more detailed tutorial is presented next in Tutorial: Illustrative Model — Mechanics of Using FLAC3D, which devotes more explanation to the recommended modeling sequence and the user interface elements involved.

It is assumed, at this point, that FLAC3D is running and the initial setup dialogs have been processed.

Choose File ‣ New Project from the main menu.

../../../../../../_images/file-new-project1.png

Then save a new project file as “first”.

../../../../../../_images/project1.png

The FLAC3D user interface is very flexible and customizable. First configure the program to use the same basic layout as presented in this tutorial. Choose Layout ‣ Wide from the main menu.

../../../../../../_images/layout.png

Next, create the model geometry using Building Blocks. Choose Pane ‣ Building Blocks from the main menu.

../../../../../../_images/bb-pane.png

Then left-click anywhere in the blank gray area presented. FLAC3D will ask you if you want to create a Building Blocks set. Type “first” as the set name and uncheck the Include an initial block option. Then press OK to create the Building Blocks set.

../../../../../../_images/bb-new-set.png

At this point, the set is empty. Press the Import Blocks button ( importblocks ) on the toolbar.

../../../../../../_images/bb-import-blocks-toolbutton.png

Note

If you don’t see any template options, or if that template is not available, please go to Tools ‣ Copy App Data… and create an application data directory, then try again.

In the Import Blocks dialog, select the “CylinderTSectionWithWall” entry, and press Import.

../../../../../../_images/bb-template-select.png

Import to the default location by pressing Import with the Place blocks at the center of the view option selected.

../../../../../../_images/bb-import-blocks.png

Blocks will be imported and be selected on completion of the import. Left-click in a white space area to clear the selection. Right-click and drag to spin the blocks around for viewing. At this point, the model should appear somewhat like this.

../../../../../../_images/bb-geom.png

At this point it would be normal to make customizations to match the specific case as needed; however, for this tutorial, we will proceed directly to zone creation from the blocks.

Select the Generate zones tool button ( generatezones ) at the far right of the toolbar.

../../../../../../_images/bb-gen-zone.png

This will generate actual FLAC3D zones representing the model. These will be shown in the Model Pane so they can be seen, named, and manipulated.

The model should appear something like the image below.

../../../../../../_images/model-pane-start.png

For this simple model, names for the model boundaries are all that will be added in the Model pane. Click on the Assign group names to faces… tool button ( skin ) near the right-hand side of the toolbar.

../../../../../../_images/model-pane-skin-button.png

In the Automatic Grouping dialog that appears, check Ignore existing group names to get the simplest boundary naming. Then press the Assign Groups button.

../../../../../../_images/model-pane-assign-groups.png

The initial geometry description and the region naming for the model are complete. It is a good idea to save the model at this point. This will be useful for later reference. Activate (click in) the i Console pane at the bottom of the interface.

../../../../../../_images/console-pane.png

Then in the main toolbar, select the Save As tool button ( saveas ).

../../../../../../_images/console-pane-save.png

Save the current model state as “geometry”.

../../../../../../_images/console-pane-save-dlg.png

And note that this save state appears in the i Project pane at left.

../../../../../../_images/project-pane-save1.png

At this point, the i State Record pane could be used to create a data file, which in turn could be used to recreate this state whenever necessary. For many purposes, however, it is sufficient to use the save file directly, which is how this simple example will proceed.

Further specification of the model will require directly entering commands in a data file. FLAC3D models are entirely command-driven, although, as is seen above, some commands may be emitted automatically by interactive user interface elements. To create a new data file in the editor, go to the File ‣ Add New Data File… menu entry.

../../../../../../_images/file-add-data.png

In the ensuing dialog, create a new data file called “first”.

../../../../../../_images/file-add-data-dlg1.png

Note

Access the inline help facility by pressing Ctrl+spacebar, or activate context sensitive help by pressing F1, or a combination of both, at any time while generating commands in the editor.

The first command in this data file will restore the geometry model state just created as a starting point, using the model restore command. Type (or copy and paste from this document) the following line at the top of the editor. (From this point forward, continue typing or copy-pasting the command listings in the gray boxes, as they appear, into the data file.)

model restore "geometry"
model large-strain off

The next step is to assign the constitutive model and properties for the model. Constitutive models are assigned using the zone cmodel assign command, and properties are assigned using the zone property command. Note that constitutive models must be assigned first, before properties can be specified for the model(s) assigned.

; Constitutive Model and Properties
zone cmodel assign mohr-coulomb
zone property bulk 65000 shear 30000 density 2.0
zone property cohesion 10 friction 34 tension 1.0 

Next, assign the boundary conditions for the model. In this case the model will have roller boundaries on all four sides and the bottom. The top will be left free. The boundaries were named automatically in the Model Pane previously using the Assign group names to faces… tool ( skin ). The names given were “North”, “South”, “East”, “West”, “Top”, and “Bottom”. Boundary conditions are typically assigned using the zone face apply command, and roller boundaries are created using the velocity-normal boundary condition.

; Boundary Conditions
zone face apply velocity-normal 0 range group "West" or "East"
zone face apply velocity-normal 0 range group "North" or "South"
zone face apply velocity-normal 0 range group "Bottom"

See Displacement Boundary for a discussion of why this was done as three separate commands.

Next, it is necessary to assign initial conditions. For this simple case, this is only stresses due to gravity, so gravity is assigned using the model gravity command. Stresses due to gravity are initialized with the zone initialize-stresses command.

; Initial Conditions
model gravity 9.81
zone initialize-stresses

Next, the model is solved to reach initial equilibrium. Because the internal zoning is somewhat irregular, the zone initialize-stresses command comes close to equilibrium but is not perfect. Solving the model is necessary to reach complete equilibrium. Since the model is already close, this takes little time. After reaching equilibrium, the state is saved with the name initial to serve as a starting point for future changes.

; Solve to initial equilibrium
model solve
model save "initial"

In a larger FLAC3D project, it would be practical to start a new data file with model restore "initial", so the investigation could continue without having to repeatedly create an initial equilibrium state. This example, since it is relatively small and fast, simply continues construction of the model from a single data file.

The next step is to excavate the tunnels. While this could be done by immediately removing the zones (either by changing to the null model using zone cmodel assign null or by deleting the zones using zone delete), it is better practice to excavate the zones gradually so quasi-inertial effects do not exaggerate the failure as a result of excavation. This is done using the zone relax excavate command as follows.

; Excavate Tunnel
zone relax excavate range group "Space"

Note

The group name “Space” was part of the imported Building Blocks template that was used for generating zones.

Following that, the model is solved to equilibrium again and the final model state is saved.

; Solve to equilibrium after excavation
model solve
model save "first"

The complete resulting data file should look like this:

model restore "geometry"
model large-strain off
; Constitutive Model and Properties
zone cmodel assign mohr-coulomb
zone property bulk 65000 shear 30000 density 2.0
zone property cohesion 10 friction 34 tension 1.0 
; Boundary Conditions
zone face apply velocity-normal 0 range group "West" or "East"
zone face apply velocity-normal 0 range group "North" or "South"
zone face apply velocity-normal 0 range group "Bottom"
; Initial Conditions
model gravity 9.81
zone initialize-stresses
; Solve to initial equilibrium
model solve
model save "initial"
; Excavate Tunnel
zone relax excavate range group "Space"
; Solve to equilibrium after excavation
model solve
model save "first"

Press the Execute button ( execute ) on the left side of the toolbar to run the data file (see below image).

../../../../../../_images/edit-execute.png

If there are any errors, an error message will appear in a dialog and the line will be highlighted in the editor. Just repair the problem (using this tutorial as a reference if necessary) and press the Execute button again.

On the computer used to generate this tutorial, solving to equilibrium after excavation took a little more than a minute. During this time, we can bring up a plot to watch the model evolve and examine the final result. If the cycling information dialog is bothersome, press the Embed button to embed cycling information into the i Console pane.

Click on the Plot01 tab in the large central area of the user interface to bring up the default i Plot pane. In the Control Panel on the right-hand side, click on the down arrow next to the Build Plot tool button ( buildplot ), and select the Zone entry.

../../../../../../_images/plot-add-item1.png

After right-clicking and dragging to look around, the initial plot should appear something like the following.

click to enlarge in a new window

In the Attributes section of the Control Panel, click in the drop down labeled Slot (which is currently set to Any) and select body.

../../../../../../_images/plot-att-body.png

This will show the group assignments made by the Building Blocks template. If the model run has fully completed, the tunnel zones are already excavated in the plot; if it hasn’t, the zones may appear in the plot as a third group named “Space”.

click to enlarge in a new window

To see model results, choose Contour in the Color By attribute, then Stress in the Value attribute, then Minimum Principal in the Quantity attribute.

../../../../../../_images/plot-zone-select1.png

This should give a result similar to the one shown below.

click to enlarge in a new window

If the solve is still in early stages, it is possible to see the stresses reduce in the zones that make up the tunnel, and then those zones will be removed entirely. If not, the “first.dat” data file can be run again to watch it in action.

The extent of failure is seen by selecting Label again from the Color By attribute, followed by State from the Label attribute. This should result in a plot that looks like the one below.

click to enlarge in a new window

At this point, save the project by selecting File ‣ Save Project on the main menu. Note that the project file stores the plot(s) that have been created. These are not part of the model states (save files).