New Features in Version 7.0

3DEC 7.0 contains many improvements; the new features are summarized in the following sections. Existing data files created for Version 5.0 or 5.2 will not operate as before. 3DEC 7.0 will not be able to restore files saved by previous versions. For migrating from Version 5.0 or 5.2 to Version 7 see 3DEC 7 for 5.2 Users.

Model Building and Mesh Generation

New functionality has been added to make it easier to build models and generate meshes. These include:

  • Mesh generation from geometries

    Build models directly from closed geometry surfaces (e.g. DXF). Fill the volume with either tetrahedral blocks or zones.

  • Importing Meshes

    A new file format makes it easier to import and export blocks and zones. It is also possible to turn tetrahedral blocks into zones when importing. Blocks with the same group name can be merged together to form multiple zones within a single block. This produces 2 -3 times faster run times compared to joining.

  • Create 3DEC blocks from VRML files

  • New zoning algorithm

    A new zoning algorithm is generally faster and gives more control over zone sizes and gradation.

  • Extrude blocks to match a geometric surface (e.g. DXF)

  • Cut blocks with a geometric surface

  • Voronoi blocking for convext shapes

New Joint Constitutive Models

As well as the Coulomb joint model and Continously-yielding joint model from Version 5.2, several new joint constitutive models have been added to Version 7.

Plus the ability to create your own constitutive behavior through C++ User-Defined-Models is easier than ever, with Visual Studio templates provided to get you started. As always, the source for all built in constitutive models is provided both for verification of implementation behavior and to serve as a basis for user modifications and extensions.

Structural Elements

  • FLAC3D structural elements can now be used in 3DEC, including liners, piles, rockbolts, etc. Linkages between structural elements are now possible.
  • A new structural element called a Hybrid Bolt has been added. The hybrid bolt adds dowel segments to cable bolts so the bolts resist shearing and opening across joints.

Figure 3: Cables around an excavated tunnel. Dowel segments are contoured by shear force.

Commands and Scripting

The command syntax of 3DEC has been updated for consistency and clarity. All commands attempt to conform to the standard pattern of NOUN - VERB - OPTION - MODIFIERS - RANGE. Commands have keywords using a new hyphenated syntax that allows the full command to be documented and listed for ease of understanding, but still allows abbreviation for those who do not want to type the entire word(s). Care has been taken to ensure that the same keyword is used consistently for the same concept throughout the code, making it much easier to transfer knowledge gained from one area of the code to another.

A new FISH intrinsic naming convention has also been implemented. This greatly increases the clarity of function names and allows the editor to automatically highlight both correct and incorrect intrinsic names as you type. In addition, a new dialog has been added to show the values of global FISH variables while cycling.


To assist users with data files and FISH they would like to contine to use, there is a conversion utility built into the 3DEC 7.0 editor.

Many new types have also been added to FISH, including Boolean, Tensor, Matrix, List, and an Associative Array or Map. It is also much easier now to create custom C++ FISH intrinsics using the plugin option by creating a project from a Visual Studio template.

3DEC also features the addition of a new, much more powerful built-in editor. Features such as line numbers, code-folding, improved searching, and improved syntax highlighting are now available.

Interactive Help

  • On-screen Help

    The entire documentation set is now available as HTML documents. The help can be viewed in a sidbar within 3DEC or in a browser of their choice. This also makes additional integrated help facilities possible.

  • Inline Help

    By pressing Ctrl+Spacebar, a new inline help facility is activated that reminds you of the options available and helps you build a command interactively.


Figure 6: When working in a data file or at the command prompt, for instant help at any time, pressing F1 will open FLAC3D Help to the full documentation for the command or keyword at the cursor position.


Python is now fully integrated with 3DEC. All FISH functions are available as Python functions and many other Python libraries are included, such as numpy and scipy for math and science operations, as well as pyside for GUI programming. See Python Scripting.

Further Additions and Updates

This is far from a complete list of additions and improvements. Some of what has not been described above includes:

  • Groups and extra variagbles for all objects including structural elements, flow-planes, etc.
  • Optional compressed save files
  • Maxwell damping for dynamic analysis
  • Web licenses
  • Visualization
  • The plot item interface has been improved, with drag/drop and cut/paste support added.
  • Zone plot items have been optimized and multi-threaded, so they should generate and respond much faster.
  • Plot views (camera settings) can now be named and saved for later recovery and reference.
  • All of the attributes for plot items have been streamlined, so only valid options are displayed at any time.
  • The command syntax associated with plots has also been updated; plot item control switch keywords have been modified to be similar in layout and structure to the attributes seen interactively.
  • The export data file option from plot windows has been improved and made more reliable. The resulting data files are now formatted for readability and can be edited for custom scripting.