Frequently Asked Questions

Which Python extension modules are supported?

The Python environment contains the following extension modules:

  • numpy 1.13.0 Array operations
  • scipy 1.0.0 Collection of scientific libraries
  • networkx 2.1 Graph theory algorithms
  • fipy 3.1 Finite volume
  • numexpr 2.6.4 Fast array expression evaluator.
  • pyside 5.11.0 GUI programming via the Qt binding for Python

Can I use other Python extension modules with PFC or FLAC3D or 3DEC?

It is possible to use most third-party Python extension modules with Itasca software. Extension modules can be installed with the pip executable shipped with the program.

Extension modules installed in the site-packages directory of the program distribution are deleted during upgrades. Install extension modules via the user scheme to avoid this problem. See: https://docs.python.org/2/install/#alternate-installation-the-user-scheme This typically involves adding the --user command line option to pip or other installer scripts. This installs the modules to: C:\Users\<username>\AppData\Roaming\Python\Python<##>\site-packages .

If you have another 64-bit installation of Python 3.6, the sys.path variable can be changed to include the extension modules in that installation.

Is Python faster?

Doing an operation in Python is about 10 % faster than the equivalent operation in FISH. Larger performance gains can be achieved by expressing loops as numpy array operations. Extension modules created with Cython work with Itasca software and can yield significant performance improvements. See http://cython.org/ for more information about the Cython compiler.

Can I use the IPython Notebook (or Jupyter) with Itasca Software?

No, the Python interpreter is embedded within the program so it cannot be loaded as an extension module in an external Python interpreter. Itasca may consider developing a extension module build target if there is sufficient interest.