FLAC2D Modeling • Tutorials

Tutorial: Quick Start

This tutorial steps through the actions necessary to quickly get a first FLAC2D 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 FLAC2D, which devotes more explanation to the recommended modeling sequence and the user interface elements involved.

Note that this tutorial can be done with the Demonstration Version of FLAC2D. A valid license is not required.


If you are reading this document, you have found the Help in FLAC2D. By default, the help appears in the Tools tile on the right side of your FLAC2D window. It will be easier to proceed through this tutorial by opening this document in another window. Right-click on this document and select Open in Default Browser. The Help will now appear in your browser, and you can close the help in FLAC2D by clicking close at the top-right. It is helpful to have two screens when walking through these tutorials: one for the HTML document and one for FLAC2D.


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

Choose File ‣ New Project from the main menu.


Then save a new project file as “first”.


Usually in 2D, you will start by building the model geometry in Sketch. Choose New ‣ Sketch Set from the drop-down menu above the main work area.


FLAC2D will ask you to name the Sketch set you are creating. Type “first” as the set name. Then press OK to create the Sketch set.


At this point, the set is empty. You could import a dxf or similar to define a geometry, but for this tutorial we will draw it manually. From the drop-down draw tool menu pointedge, select the icon of a rectangle defined by Corner, Corner.


We now need to draw a rectangle defined by two points. You should see a grid background with rulers at the top and left side showing the coordinates. The intersection of a vertical green line and horizontal red line denotes (0,0). If you don’t see (0,0), use the mouse wheel to zoom in and out.

Click on 0,0 for the first point. Then click on 60,30 to complete the rectangle. It should appear as shown.


The rectangle represents the extent of the model. You may want to center and zoom in. As stated above, use the mouse wheel to zoom in. Press Ctrl-R to center, or, press the Reset View button on the View control panel on the right side.


If you don’t see the controls on the right side, press the Tools button located at the top right corner of the FLAC2D window.

If you want to pan (move the plot horizontally and vertically), you can use the controls on the right side or use the mouse buttons. To use use the mouse, first click on the selection tool:


Then hold down the right mouse button, followed by the left mouse button. Moving the mouse will now cause the model to pan.

Next we will draw two lines to define the slope. Click on the drop-down Draw tool menu sqdia and select Line.


Draw a line from 40,30 to 20,10. Then draw another line from 20,10 to 0,10. The model should look like this:


If you have made a mistake, you can go to Edit ‣ Undo. You can also click on the Selection tool, click on one of the points, and change its coordinates in the Properties dialog on the right.


Now that you have drawn the slope geometry, it is possible to mesh the model. The default number of zones along each boundary is indicated by the red Xs. To use the default meshing, go the to the Blocking tool block and select Mesh All Blocks.


This will create zones as shown.


This is too coarse to be useful. You will want to increase the zone density. First, get rid of the existing mesh by clicking on the Clean up tools button clean, and selecting Clean Up Meshes (or just using Undo).


You can globally change the discretization by selecting Auto-size All Edges/Blocks from the drop-down menu next to the Blocking Tool button block2.


Set the zone size to 1.


You will now see an increased density of zones on the boundary. To zone the model, go the to the Blocking Tool again and select Mesh All Blocks. The model should appear as shown.



This mesh is a mixture of structured and unstructured. For more information about structured versus unstructured meshes and how to build them, see …

We are now finished defining the geometry and the mesh. Click on the Create zones button extrude to actually create the zones.


The zones are now shown in the Model Pane. This is where zones and faces can be seen, named, and manipulated.

The model should appear something like the image below.


By default, each “block” from the Sketch will be assigned a group name; in this case “Block 1” and “Block 2”. We can assign our own names in this Model view. We could also have assigned group names in the Sketch view, but the Model view is more versatile in that it can be used to assign groups to models that don’t come from Sketch (e.g. an imported grid).

Click on the green block that represents the slope. This will select all of the green zones. Click on the drop-down menu next to the Assign button group and choose Assign a Group to the Selection.


For the group name, enter “Soil”. Leave the slot as “Default”.


Click OK. Now select the other (light blue) zones and assign them the group name “Air”.


These group names will be used later when we are trying to identify different parts of the model.


For more information about groups and slots, see Groups.

Next we can use the Model pane to specify constitutive models and properties. Select both sections of the model by either clicking one, holding down Ctrl, and clicking the other, or else type Ctrl-a. Click on the drop-down menu next to the Assign button and choose Assign a Constitutive Model ….


In the resulting dialog, select Standard and choose mohr-coulomb from the drop down menu.


Click Assign. Now, from the Assign button , select Set Model Properties ….


In the resulting dialog, fill in the properties as shown.


Click Save Changes. The properties are using stress units of Pa. For more information about units in FLAC2D see System of Units.

The initial geometry description, the region naming and the property assignment for the model are complete. It is a good idea to save the model at this point. This will be useful for later reference. Go to File ‣ Save Project. You will then be asked if you wish to save the model state. Click Yes and save the current model state as “geometry”.


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


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.

Data File

Further specification of the model will require directly entering commands in a data file. FLAC2D 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 drop down menu at the top left of your model (currently it should say “Model”). Then select New ‣ Data File menu entry.


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



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"

The constitutive model and properties have already been assigned. We now need to assign the boundary conditions for the model. In this case the model will have roller boundaries on the sides and the bottom fill be fixed. The top will be left free. Boundary conditions are typically assigned using the zone face apply command, and roller boundaries are created using the velocity-normal boundary condition. A fixed boundary can be simulated by specifying that both components of velocity are 0.

; Boundary Conditions
zone face apply velocity-normal 0 range position-x 0
zone face apply velocity-normal 0 range position-x 60
zone face apply velocity 0 0 range position-y 0

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 analysis is set to small strain (see Large Strain/Small Strain) and 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.

model large-strain off
model solve
model save "initial"

To run the data file, click on the green arrow at the top left execute. You will see the calculation progress in The Console Pane. The number of steps you see may be slightly different due to the randomness of the mesh creation.


In a larger FLAC2D 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 slope. 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 Slope
zone relax excavate range group "Air"


Recall that the group name “Air” was specified in the Model pane.

Following that, the model is solved to equilibrium again and the final model state is saved. Enter the following lines and click the Execute button execute again the run the model.

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

The complete resulting data file should look like this:

model restore "geometry"

; Boundary Conditions
zone face apply velocity-normal 0 range position-x 0
zone face apply velocity-normal 0 range position-x 60
zone face apply velocity 0 0 range position-y 0

; Initial Conditions
model gravity 9.81
zone initialize-stresses

; Solve to initial equilibrium
model large-strain off
model solve
model save "initial"

; Excavate Slope
zone relax excavate range group "Air"

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

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.


From the drop-down menu above the data file select New ‣ Plot.


Name the plot “Zones” and click OK


You will now see an empty 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.


After right-clicking and dragging to look around, and using the mouse wheel to zoom in and out, the initial plot should appear something like the following.

click to enlarge in a new window

To see model results, go to the Attributes section of the Control Panel. Choose Contour in the Color By attribute. The default quantity should be Displacement.


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

click to enlarge in a new window

This shows the magnitude of displacement. To see the direction, you can add vectors by selecting the Build Plot tool button ( buildplot ) and choosing Vectors under the Zone heading.


The model should appear like this:

click to enlarge in a new window

The extent of failure is seen by first selecting the “Zone Displacement Magnitude” plot item from the plot item list, and then 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

You can see that there has been shear failure in the past (green zones denoted by shear-p) and tenion failure in the past (red zones denoted by tension-p), but there is no current failure, and the slope is stable.

Factor of Safety

The factor of safety for this slope can be easily calculated with the command model factor-of-safety. Go back to your data file by double-clicking on “first.dat” in the Project Pane.


Add this line to the end of the data file:

model factor-of-safety

Hit the Execute button to run the model. This may take a couple of minutes. When it is finished, you will see that three new save states have been created:


The first is the initial state, the second is just stable and the third is just failing. Double-click on “FOS-Unstable.sav” to restore this state. Double-click on the “Zones” plot in the Project Pane to show the plot again.

click to enlarge in a new window

You can see that there are now zones failing in shear (shear-n) and tension (tension-n). There is also sigificant displacement. To view the displacement contours, click on the “Zone State By Average” plot item and select Contour from the Color By attribute.

The calculated factor of safety is displayed in the console, but it can also be added to the plot. Select the Build Plot tool button ( buildplot ) and choose Factor of Safety under Misc.


The plot should now appear as shown. You can see in the legend that the calculated factor of safety is 1.152.

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).