Python Scripting in PFC

Python is a general purpose, open-source programming language with good support for scientific and numerical programming. Python is fully documented and has been extended to allow PFC models to be manipulated from Python scripts. Itasca's own scripting language, FISH, continues to be supported and developed.

Python Powered

Control PFC entirely using Python data files and/or using the enhanced interactive IPython console built right into PFC. 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.

GUI Customization

Pyside provides Python bindings for the Qt library that is used by the PFC graphical interface. With PySide, users can modify, manipulate or extend the PFC GUI, create and control custom GUI 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 SAV files (i.e., the Python state is not affected by the NEW or RESTORE commands, and the Python state is not saved in model state files).

Python in PFC Webinar

A short introduction to Itasca's Particle Flow Code (PFC ) software and our recent integration of Python scripting capabilities.

Narrated by Sacha Emam, PFC Product Manager, Software and Consulting Engineer.


Latest News
  • Meet Our Summer Interns Itasca is pleased to welcome three graduate student summer interns to Minneapolis. They will be...
    Read More
  • New Itascans Itasca welcomes Amanda Schendel and Luis Wasserman to our team....
    Read More
  • A Celebration of 40+ Years Itasca celebrated its 40th anniversary in May, marking four decades of discovery, service, and family....
    Read More

Upcoming Events
26 Jun
ARMA 56th US Rock Mechanics / Geomechanics Symposium
The 56th US Rock Mechanics / Geomechanics Symposium covers all aspects of rock mechanics, geomechanics, and rock engineering. ... Read More
29 Jun
3rd International Discrete Fracture Network Engineering (DFNE) Conference
The third International Conference on Discrete Fracture Network Engineering (DFNE 2022) present the important advances that have occurr... Read More
16 Aug
RockEng 2022
The theme of RockEng22 is Canadian Strengths and Future Directions in Rock Mechanics.... Read More