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.
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, particle trajectories...) 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.
- Report generation, for example as PowerPoint Presentation or as Excel file.
- 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.
- Scientific computing and optimization via SciPy
Custom plot of solution data
Aggregating Pore Size Distributions for different materials
Examples of GeoPython applications
- 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.
Additional GeoDict modules needed?
The functions of other GeoDict modules can be easily automated through GeoPython.