Python Scripting

Python is a general-purpose programming language with good support for scientific and numerical programming. The Python programming language is embedded inside 3DEC and extended to allow 3DEC models to be manipulated from Python programs. Itasca's own scripting language, FISH, continues to be supported and developed.

Python Powered

Python in 3DEC has the advantage of being widely used, easy to use, and has additional functionality. Control 3DEC entirely using Python data files and/or using the enhanced interactive IPython console built right into 3DEC. IPython provides a powerful set of tools, such as:

  • GUI-based script shell;
  • interactive data visualization;
  • comprehensive object introspection;
  • Python script parallel processing; and
  • robust error handling.

Scientific Plotting

Create custom publication quality figures using matplotlib, a Python 2D plotting library that produces figures in a variety of hardcopy formats and interactive environments across platforms. Plot types include lines, bars, pie, polar, statistical, contours, fields, and a large number of specialty charts.

Power Computing

Use NumPy for scientific computing with Python for:

  • a powerful N-dimensional array object;
  • sophisticated (broadcasting) functions;
  • tools for integrating C/C++ and Fortran code;

useful linear algebra, Fourier transform, and random number capabilities; and database integration.

Science & Engineering

Advanced, customizable calculations are available via SciPy which builds on the NumPy array object. SciPy contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers, and other tasks common in science and engineering.

User Interface Customization

Pyside provides Python bindings for the Qt library that is used by the 3DEC user interface (UI). With PySide, users can modify, manipulate or extend the 3DEC UI, create and control custom UI panes, including labels, text boxes, pane docking, and command buttons. Streamline your modeling of complex problems by creating custom applications with dedicated user dialogs to input parameters and post-process simulation results.

FISH vs. Python Scripting

The FISH programming environment is still available. Python has the advantage of being faster, easy to use, and has additional functionality. However, an important difference between the Python and FISH programming environments is that the Python state is not connected to the model state or saved in the save files.

  • When a model new or model restore command is given the FISH programming state is cleared or restored. The Python state is not affected by the model new or model restore commands and the Python state is not saved in save files.
  • Giving the command python-reset-state false changes this behavior so the Python state is not cleared by the model new or model restore commands.

Latest News
  • Workshop: The “Big Five”: Numerical Modeling of Cave Mining This MassMin2020 workshop will review caveability, ground subsidence, infrastructure stability, fragmentation, and gravity flow associated...
    Read More
  • 2020 H. Bolton Seed Lecture: Open Issues about Soil Liquefaction Dr. Bruce L. Kutter delivered the 2020 H. Bolton Seed Lecture at Geo-Congress 2020 in...
    Read More
  • Webinar: Using Rigid Blocks in PFC This webinar will provide a brief overview of PFC modeling using convex rigid blocks, including...
    Read More

Upcoming Events
4 Dec
Analyses of Embankment Dams and Slopes Using FLAC
Presented by Dr. Richard Armstrong in collaboration with Itasca Consulting Group. This hands-on, virtual training course is 16 hours to... Read More
8 Mar
FLAC3D 2021 Remote Introductory Training
Three days of general feature training addressing basic concepts and recommended procedures for geotechnical numerical analysis.... Read More
22 Mar
3DEC and UDEC 2021 Remote Introductory Training
An introduction to UDEC and 3DEC for application to geotechnical analysis.... Read More