FLAC3D Options

Options in FLAC3D are sold separately from the code license, allowing users to extend the program’s capabilities as meets their own analysis needs. Modules available as options for FLAC3D include: Dynamic, Creep, Thermal, and C++ Plug-ins for creating and running custom constitutive models and FISH intrinsic functions.


The dynamic analysis option permits three-dimensional, fully dynamic analysis with FLAC3D. User-specified acceleration, velocity, or stress waves can be input directly to the model either as an exterior boundary condition or an interior excitation to the model. FLAC3D contains absorbing and free-field boundary conditions to simulate the effect of an infinite elastic medium surrounding the model.


This option can be coupled to the structural element model, thus permitting analysis of soil-structure interaction brought about by ground shaking. The dynamic feature can also be coupled to the groundwater flow model. This allows, for example, analyses involving time-dependent pore pressure change associated with liquefaction. The dynamic model can likewise be coupled to the optional thermal model in order to calculate the combined effect of thermal and dynamic loading. The dynamic option extends FLAC3D's analysis capability to a wide range of dynamic problems in disciplines such as earthquake engineering, seismology, and mine rockbursts.


LEARN MORE about FLAC3D's dynamic modeling capabilities.



This option can be used to simulate the behavior of materials that exhibit creep (i.e., time-dependent material behavior).


There are nine available material models that simulate viscoelastic and viscoplastic (creep) behavior: two classical viscoelastic models (Maxwell and Burgers); a two-component power law; a reference creep formulation (the WIPP model) implemented for nuclear waste isolation studies; a Burger's creep viscoplastic model; a WIPP-creep viscoplastic model; a ubiquitous viscoplastic creep model; a crushed-salt constitutive model; and a NEW power-law viscoplastic creep with ubiquitous joints.


All nine models are available with the creep option. A FLAC3D grid can be configured for both a creep calculation and a dynamic calculation. However, both modes are generally not used simultaneously because of the widely different timesteps.


In addition, it is also possible for users to write their own creep constitutive models using the C++ Plug-in option.





The thermal option of FLAC3D incorporates both conduction and advection models. The conduction models allow simulation of transient heat conduction in materials, and the development of thermally induced displacements and stresses. The advection model takes the transport of heat by convection into account; it can simulate temperature-dependent fluid density and thermal advection in the fluid. This thermal option has several specific features:


  1. Four thermal material models are available: isotropic conduction, anisotropic conduction, isotropic conduction/advection, and the null thermal model.
  2. As in the standard version of FLAC3D, different zones may have different models and properties.
  3. Any of the mechanical models may be used with the thermal model.
  4. Temperature, flux, convective and adiabatic boundary conditions may be prescribed.
  5. Heat sources may be inserted into the material as either point sources or volume sources. These sources may decay exponentially with time.
  6. Both explicit- and implicit-solution algorithms are available.
  7. The thermal option provides for one-way coupling to the mechanical stress and pore-pressure calculations through the thermal expansion coefficients.
  8. Temperatures can be accessed via FISH for users to define temperature-dependent properties.


Hydration is defined as the chemical absorption of water into a substance, a process by which heat is generated (hydration heat). The setting of concrete (which can be considered as a transition from liquid to solid phase) is the most relevant example for the hydration process in the engineering world.


The effects of the hydration process can be separated into different physical parts, where the thermal and mechanical parts are the most relevant. The implementation of hydration models in FLAC3D follows this separation, as the hydration heat generation and heat transfer are dealt with in thermal models, material hardening and strength development are implemented as constitutive models of mechanical behavior. The hydration model is based on a procedure that considers empirical rules, theoretical considerations, and practical experiences (Onken and Rostásy 1995).


A thermal hydration constitutive model is implemented in FLAC3D. For simulating a hydration process, a mechanical constitutive model that can adjust the mechanical properties corresponding to the hydration grade (or equivalent concrete age) is also required. The Hydration-Drucker-Prager model is provided to handle those mechanical aspects.

Onken, P., and F. Rostásy. Wirksame Betonzugfestigkeit im Bauwerk bei früh einsetzendem Temperaturzwang, DAfStb Heft 449. Berlin: Beuth-Verlag (1995).




User-defined Constitutive Models

You may create your own user-defined constitutive model (UDM) for use in FLAC3D. The model must be written in C++ and compiled as a DLL file, and can be loaded whenever needed or loaded automatically if placed in the “exe64\plugins\models” folder. The main function of the constitutive model is to return new stresses, given strain increments. However, the model must also provide other information (such as name of the model and material property names) and describe certain details about how the model interacts with FLAC3D. A Visual Studio 2010 "Project Template" is provided to start development quickly, or users can create a project from scratch.


By implementing this optional feature, users can access new constitutive models from Itasca’s online UDM Library.


This option is required to both load and run UDM models.


LEARN MORE about working with C++ UDM.


FISH Intrinsics

The user may create FISH intrinsics and load them at runtime as plug-ins. The FISH intrinsic must be written in C++, and compiled as a DLL file (dynamic link library) that can be loaded whenever it is needed. The FISH intrinsic uses a C++ interface that provides access to the internal structure of FISH, as well as the data of FLAC3D. When loaded, this intrinsic behaves exactly the same as any of the predefined FISH intrinsics (e.g., cos, z head, etc.).


These custom intrinsics have many advantages over traditional FISH functions. For the same functionality, C++ intrinsics should be from 10 to 100 times faster to execute than FISH functions. If the user is familiar with concurrent programming, even faster execution is possible on multiprocessor hardware. Additionally, direct access to internal data structures that are not available via predefined FISH intrinsics is provided. Finally, a C++ FISH plug-in can link to and make use of any other library or DLL it requires.


An example FISH intrinsic plug-in project is provided for use with Microsoft Visual Studio 2010 SP1. It creates seven new FISH intrinsics that allow the specification and creation of a sinusoidal function stored as a table in FLAC3D.