GeoPython is the GeoDict-Python Interface included in the GeoDict Base Package. The GeoPython scripting interface is a full-featured, tightly integrated Python interpreter that provides direct programmatic control over GeoDict.
GeoPython is intended to replace the traditional GeoDict GMC macro language and, to this end, GeoPython scripts can be directly recorded and executed from the GeoDict GUI.
The recorded GeoPython scripts can be extended using the functionality described below, allowing for fully customizable pre- and postprocessing and automation from within GeoDict.
GeoPython is included in the GeoDict-Base package that is part of every GeoDict license.
A GeoPython script has access to the full standard Python library, including file and network input/output, as well as the following set of GeoDict-specific interfaces:
- Execution of any GeoDict command, such as data import, structure generation, simulation and structure manipulation.
- Opening of GeoDict result files (GDRs) to extract and aggregate results (e.g. pore size distributions, filtration efficiencies, mechanical stiffness tensors, ...), even over multiple simulation runs.
- Direct access to the currently loaded voxel geometry as well as solution fields (e.g. flow fields, stress/strain tensor fields, ...) to perform arbitrary analyses directly on material model data and simulation result data.
- Custom graphical dialogs to parametrize user scripts with an easy-to-use interface.
- Highly efficient numerics and analyses using the NumPy library, which operates directly on material model data and simulation result data.
- Completely customizable, high-quality plot generation using the MatplotLib library.
Plotting and aggregating of results with MatplotLib in GeoPython
Custom plot of solution data
Aggregating Pore Size Distributions for different materials
- In parameter studies, modeling materials of varying porosity, performing simulations on these materials, and aggregating the results (e.g. permeability).
- Automating simulation workflows, e.g. download material CT-data from web-server, perform simulation, upload simulation result data.
- Storing simulation result data into a database (e.g. SQL).
- Generating reports using MatplotLib.
The functions of other GeoDict modules can be easily automated through GeoPython.