BLOG
9 Tips for Boosting FLAC3D Model Performance
January 9, 2026
By:
Zhao Cheng

FLAC3D
How to Improve FLAC3D Performance
Boosting the calculation speed of a FLAC3D model, as it’s an explicit finite volume difference method, primarily involves increasing the time step (Δt). The maximum stable time step (Δtcrit) is automatically determined by FLAC3D based on the smallest zone size and the largest material stiffness in your model.
Tips for Overall Performance Improvements
Here are some important considerations to optimize your ITASCA model performance overall:
Minimize model size. Include only the zones and structural elements necessary to capture the essential response. Fewer zones result in fewer degrees of freedom and, consequently, significant performance improvements. Use a coarser mesh wherever acceptable, and refine only in critical regions (e.g., via adaptive or nested refinement). Avoid unnecessarily small geometrical features, such as tiny polygons or gridpoints, as these can trigger additional computational effort (such as auto-merging operations and reduced stable time steps).
Use multi-threaded FISH wherever possible. This includes leveraging FISH operators and splitting functions to take advantage of multi-threaded calculation speed-ups (LEARN MORE).
Reduce output and recording frequency. Limit history and full-field saves to only what is necessary and output them every N cycles rather than every cycle. If a large number of histories must be recorded, use a FISH function to create and store the required zone and gridpoint pointers once, and reuse these throughout the analysis. Avoid searching for these pointers each cycle, as this can significantly slow down the overall computation.
Avoid unnecessary recalculation of expensive internal variables. If table-driven material properties trigger recalculations every cycle, consider updating those properties only every N cycles using a FISH function. Similarly, precompute costly transformations (e.g., local-to-global stress transformation coefficients) once, unless they change during the analysis.
Use appropriately powerful hardware. Ensure the model is run on a machine with sufficient computational performance (CPU, memory, and storage I/O) to handle the problem size efficiently (LEARN MORE). FLAC3D also has a Cluster option (LEARN MORE) to run a single large model across many nodes in a local or Cloud-based computing cluster.
Dynamic Modeling Performance Improvements
For dynamic modeling, which typically take longer than static solutions, here are the key steps and considerations to help you increase the time step and solve the model faster.
Use Dynamic Multi-Stepping. This is the most powerful method for increasing calculation speed in models with large variations in zone size or stiffness.
- Use the zone dynamic multi-step on command (LEARN MORE).
- Multi-stepping allows different parts of the model to use different, locally stable timesteps. Zones with small dimensions or high stiffness (which normally limit the global Δt) take smaller steps, while the majority of the model can advance at a significantly larger, more efficient, timestep.
- This approach essentially decouples the global timestep from the critical timestep of the smallest, stiffest elements, and can lead to a substantial speed increase.
Review your Damping Strategy. The use of stiffness-proportional damping (part of Rayleigh damping) or Maxwell damping can affect numerical stability and Δt.
- If you are using Rayleigh damping, the stiffness-proportional component (β) can reduce the stable time step (Δt) for stability. Review your Rayleigh damping parameters. You may need to minimize the stiffness-proportional damping constant (β) or switch to a damping type that doesn’t restrict Δt as much.
- Maxwell damping is an alternative to Rayleigh damping that was added in FLAC3D v9. It is much more frequency-independent and does not dramatically reduce the numerical time step compared to stiffness-proportional Rayleigh damping. Consider using it if you need realistic material damping without the time step penalty (LEARN MORE).
Reviewing and refining your model’s geometry and discretization can also indirectly increase the stable time step and optimize overall modeling efficiency.
Use Uniform Zoning in the Mesh: Try to keep your zoning as uniform as possible, especially in the region of interest. Avoid creating excessively small zones unless necessary for accuracy in a critical area. Remember, the critical time step is dictated by the smallest zone in the mesh.
Avoid Extreme Aspect Ratios in the Mesh: Use smooth grading (e.g., using the ratio keyword with zone create) to transition between regions of fine and coarse zoning. Extremely long, thin zones (aspect ratio > 5:1) can negatively affect stability and convergence.
The performance of an explicit finite volume difference code like FLAC3D is fundamentally governed by the maximum stable time step (Δtcrit), which is critically dependent on the smallest zone size and highest material stiffness in the model. In general, try to minimize the model size, utilize multi-threaded FISH, leverage the best available hardware, and streamline operations related to frequent calculations or model state saving. For dynamic modeling, use dynamic multi-stepping, consider your damping strategy (consider Maxwell damping), and aim for a uniform mesh that avoids high aspect ratio zones.
By strategically addressing these factors, users can significantly enhance the calculation speed and overall efficiency of their FLAC3D simulations.
Author

Zhao Cheng
Software Technical Lead & FLAC3D Product Manager
