Release Notes

Release Notes for GeoDict 2021 Release


Notes for the GeoDict 2021 release (44873) Date: 2020-09-18 (Fri, 18 September 2020)


######### Known Issues #########################

  • The new *.g32 file format is not compatible with older GeoDict versions.
  • The specific import of SatuDict capillary pressure results in GeoDexcel does not work properly.
  • Currently, TensorFlow (AI applications) runs only on NVIDIA graphics cards when their compute capability is at least 6.1.
  • Dependent on the zoom, the grid visualization and the value visualization do not align properly in 2D.
  • When saving an image, the scaling of fonts and legends depends on the size of the view-port not on size of actual render target.
    • The font scaling on 4K displays is different for 2D and 3D visualization.
  • The *.gps settings from the custom particle dialog saved in GeoDict2020 or older cannot be loaded in GeoDict2021. This will be fixed in the next service pack.
  • The computation of the moment-of-inertia in GrainFind does not work properly for periodic boundary conditions.


######### Major Improvements ###################

  • The fast and memory efficient LIR solver now implemented for battery simulations.
  • Porous binder & carbon black in battery simulations.
  • Specific GUI and post-processing for complete filter simulation.
  • 1st order chemical reactions e.g. for catalyst simulations in AddiDict.
  • Improved accuracy and speed for deformation simulations in ElastoDict.
  • Dynamic pore morphology method and mixed wettability in SatuDict.
  • Image Processing: interactive AI image segmentation, multi-phase segmentation & watershed image labeling.
  • Train and use your own AI network for specific image analysis tasks.
  • Strongly improved 2D visualization of geometries and results.
  • Model geometries using Gaussian random fields.


######### Complete List of Changes #############


  • Status-Box:
    • Improved display of the chosen project folder e.g. using the project folder icon.
    • All the *.gdr result files in the chosen project folder are shown and can be opened with a double click.
    • Added option to flood-fill large pores of a loaded geometry.
  • Result-Viewer:
    • Alphabetical sorting of *.gdr files in the result viewer header section by clicking onto the table headers ('File', 'Module' or 'Command').
    • For each visualized *.gdr result file, it is shown to which entry in the list the result belongs.
    • Loading an already loaded .gdr will highlight this .gdr in the Result Viewer.
    • Fixed some sorting issues of *.gdr files in the Result Viewer, which is now a lot faster.
    • A *.gdr file and the corresponding result folder can be renamed in the Result Viewer.
    • Images can be copied with "Ctrl-C" or via the context menu to the clipboard.
    • Add meta-data to the images saved as .png and .svg.
    • Combined GDR:
      • Order of *.gdr files in a combined GDR can be changed in the combining dialog.
      • The result viewer includes a "Compare Maps" tab for combined GDRs, where all results are displayed next to each other (with color coding).
      • The additional .gmap files that were produced for combined GDRs are now embedded in the main .gdr file (no result folder needed anymore).
    • Reworked naming schema for all additional files placed in the result folder e.g. the structure files do not contain the hash number in the filename anymore.
    • Specific videos:
      • Have a button on the video tab to open the created video in the result folder.
      • Show when the video was already created and lays inside the result folder.
    • All map-tables can now be copied to the clipboard by a right-click context menu.
  • GUF-Editor:
    • Directly create complete volume files based on the suffix e.g. .vap, .gof, .gvf, .g32.
    • The .g32 index images are now also GUF files and follow the same standards. The new .g32 files cannot be read in GeoDict2020 and older.
    • A single volume filed can be directly saved from the status box.
    • If all fields from a file are not loaded, these fields are shown in light gray in the GUI and with a double click they can be loaded afterwards if required.
    • Loaded fields can be removed from the GUI and they are also shown in light gray (reload with double click).
    • Math operations can be performed on volume fields per right-click on the status-box entries. Supported are: add, subtract, normalize, and compute gradient.
  • Plots:
    • Legend location can now be chosen in plot settings.
  • All inputs for the "Result File Name (*.gdr)" have auto-completion with possible filenames.
    • The completion contains .gdr files from recent files list and .gdr files from project folder.
  • The overlap of all GAD objects can be resolved using a watershed method. This is in all structure generators.
    • This allows removing the object overlap and obtain nice contacts between the single objects.
    • This can also be used on loaded *.gad files of older GeoDict versions.
    • "Resolve Overlap / Mark Contacts ..." can be directly used and all object contacts can be marked with a new material ID.
    • The overlap handling is improved for GAD objects with ID zero. Here the overlap rules work now as they do for other material IDs.
  • Improved handling of self-overlap of GAD objects due to periodic boundary conditions. This self-overlap is shown correctly now.
  • Progress-Window:
    • Improved labels, icons and Tooltips for "Cancel" and "Stop".
  • GeoDicts User Interface stays more reactive during computations.
  • File formats for microstructures:
    • The *.gdt files contain now information on the structure hash and the structure description.
    • The .gdt and .gad files contain now the complete information of the used materials from the material database.
  • The MPI package that is used for parallelization of the solvers can now be chosen in the GeoDict settings dialog.
    • It is possible to choose an own MPI installation of MPICH3.2 or OpenMPI1.10.7.
    • The environment variables for cluster usage can be entered in the Settings dialog.
  • If GeoDict is started from the command-line without a GUI and the current/specified license is invalid, exit code 4 is now be returned (possibly useful for scripting / remote execution).
  • GUI improvements:
    • Improved GeoDict start-up splash screen.
    • Added several new icons: load/save structure/volumeField/resultFile, start/stop video, save/load as *.gps, save/load as startUpSetting.
    • Improved Material icons for fluids and porous materials.
    • Improved system utilization widget: now with CPU, RAM + HDD usage.
  • Result files (.gdr) are always saved directly in the project folder. If a .gdr name with an additional path is given a corresponding warning is shown and the path is removed.
  • Installation:
    • Users can now install GeoDict without Administrator rights.
    • Additional useful 3rd party tools have been packaged in a GeoDict-Tools installer freely available under GNU Public License.


  • Added RLM (Reprise License Manager) as an option for floating licenses, in addition to the traditional OLicense.
  • Non-licensed modules are shown (grayed out) at the bottom of the main menus.
  • GeoDict license files now use the file ending *.glic.

Constituent Material Database:

  • New constituent materials from .gad or .gdt files can be saved in the current material data-base.
  • Multiple material laws for the conductivity of one material can be specified e.g. an isotropic and an anisotropic law.
  • Electrochemical properties needed in battery simulations can be saved in the material database.

Macros and Scripting:

  • Added option to directly "Run Selected Commands" from the session macro dialog.
  • GeoPython variables can be grouped. Groups can have states that can be switched in the parameters dialog to show only certain variables.
  • Option to record as .gmc macro has been removed, but .gmc macros still can be executed.
  • Python scripts allow now for the optional section "RequiredLicenses" in Python scripts.
    • This info is used to show a corresponding warning when executing a macro or script if the required module is not licensed.
  • Updated Python libraries like NumPy and SciPy.
  • A table widget can be added to a Python dialog (see explanation e.g. in recorded Python macros).


  • Coupled GeoDict to the geochemical calculator PhreeqC (USGS) to simulate Reactive Flow under consideration of the aqueous geochemistry at voxel resolution.
    • The GeoApp as well as the user interface are greatly improved.
    • Now, different transport and geochemical models are selectable to simulate individual geochemical systems.
  • Each user can put his own scripts in the "GeoApp" folder in the GeoDict settings folder. These scripts are shown in the GeoApp menu in GeoDict.
  • GeoApps are disabled in the GUI when the required modules are not licensed and a corresponding Tooltip or error message is shown.


  • FilterDict results: make it possible to plot pressure drop (or other values) vs. deposited dust.
  • Strongly increased loading speed for (large) *.gdr result files.


  • Improved 2D visualization in GeoDict:
    • Dynamic zoom is available with pressing the right mouse button or "Ctrl"-button and using the mouse-wheel.
    • The position can be changed now with the pressed left mouse button.
    • Improved placement, size, and design options for the 2D scale bar.
  • Dynamic positioning of the scale bar is available:
    • Fixed: Default behavior (positioning as in GeoDict2020 and before).
    • Dynamic Top: Position scale bar on side of bounding box that faces up in screen space.
    • Dynamic Front: Position scale bar on side of bounding box that faces to the front in screen space.
  • Clean-Up of 2D-SEM-View settings:
    • The options are now in the "Camera 2D" settings.
    • Easy control of the SEM-View depth in the "Camera 2D" settings.
  • Several color maps can be defined and used, e.g. for volume fields and streamlines.
  • Individual components (x, y, or z) of staggered grid flow fields are interpolated in the 2d view.


  • The video creation has now the option to just save the frames as images. In this case, no video is created.


  • Added support for the new *.g32 GUF format.


  • Added option to flood-fill large pores of a loaded geometry.
  • Using the mode "Shrink" in "Rescale Structure", no additional material IDs are created. A reasonable material ID is set for all voxels, based on the local information in the structure.


  • "Create / Add GAD Objects" creates now a *.gdr result file and reports the number of created objects and the volume fraction.


  • Added plot of probability density function for value distributions e.g. for the fiber diameter. Additionally show D10, D50, and D90 for the chosen distribution in the dialog.
  • The fiber direction distribution can be specified as one main direction and an angle distribution around this main direction.
  • Complex fiber orientation distributions can be specified by giving multiple directions, where each direction has a certain probability.


  • Added plot of probability density function for value distributions e.g. for the fiber diameter. Additionally show D10, D50, and D90 for the chosen distribution in the dialog.
  • The fiber direction distribution can be specified as one main direction and an angle distribution around this main direction.
  • Complex fiber orientation distributions can be specified by giving multiple directions, where each direction has a certain probability.
  • "Remove Overlap" of fibers is now also available in PaperGeo.


  • Random granular structures can be created based on Gaussian random fields:
    • The fields can have different correlations in the three spatial directions.
    • The fields can have additional gradients.
  • Added plot of probability density function for value distributions e.g. for the fiber diameter. Additionally show D10, D50, and D90 for the chosen distribution in the dialog.
  • The commands "Pile Analytic Spheres" and "Pack Analytic Spheres" allow to specify the contact distance for the sphere contact information in number of voxels.
  • The object direction distribution can be specified as one main direction and an angle distribution around this main direction.
  • Complex object orientation distributions can be specified by giving multiple directions, where each direction has a certain probability.
  • Added new predefined macro "Cover Surface Randomly", that uses Gaussian random fields, to cover surfaces with patches of new material.
  • Added improved surface roughness that uses the Gaussian random fields.


  • New FreeWeave solver is available in the generation of one layer Plain, Twill, and Satin weaves.
  • FreeWeave: Fixed numbering of weft layers in shot sequence table in binding tab. Column numbering in shot sequence table had been reversed.


  • New DPF predefined scripts:
    • New scripts to generate pre-defined catalyst support structures and diesel particulate filters.
    • New scripts use GridGeo to generate GAD-object based structures.
    • The old scripts have been removed since they did not use GridGeo and did not create GAD objects.


  • Refactoring of the image processing dialog to make e.g. the segmentation of images easier:
    • Segmentation, labeling, and similar options are placed in a separate tree on a separate tab with the name "Segmentation & Labeling".
    • The option to create a surface triangulation of the gray-value image is also found on the new tab "Segmentation & Labeling".
    • Each loaded gray-value image is automatically visualized as volume field in 2D or 3D.
    • A segmented structure can be created without discarding the volume field.
    • Extracted settings from a macro or script are now shown in the image processing dialog.
  • Gray-value image handling:
    • Back-up and setting of a certain state of the loaded image (as volume field) and showing it in the status section is now possible.
    • Loaded gray-value images can be opened from the status section in the image processing dialog.
  • Improved interactive parameter preview in the image processing dialog e.g. for the segmentation, crop, and many more.
    • Crop (for example) can be controlled additionally via the mouse in the 2D preview windows.
  • Improved seamless zoom in the image processing dialog. The zoom can conditionally be controlled via Ctrl + mouse-wheel.
  • Improved watershed filter on gray-value images:
    • Runs on the original gray-value image, the gradient, or the morphological gradient.
    • Reduce the number of seeds / components with the H-minima transform.
    • The result can be a labeled *.g32 image or a super-voxel gray-value image.
    • The resulting watershed components can be filtered by size and by mean gray-value.
  • A proper multi-phase segmentation is available using the watershed algorithm.
  • Introduced segmentation based on Artificial Intelligence.
  • A gray-value image can be saved as compressed *.grw file to save disk space.
  • A gray-value image can be exported in DICOM format:
    • Export as multi-frame 3D image (*.dcm) (single file).
    • Export as zipped file of 2D images (.zip) containing 2D .dcm files per slice.
  • New filter to invert gray-value images.
  • New filter to shear gray-value datasets, e.g. FIB-SEM scans.
  • New filter to perform a fast H-Minima transform on gray-value images.


  • Added support for the length units inch and cm.
  • "Suggest" and "Import" can be cancelled.


  • Identify Fibers (AI):
    • Improved post-processing: options for bin sizes for histograms and plots, fiber length standard deviation are reported and fiber diameter table (with mean value and standard deviation) is reported.
  • A separate installation of CUDA by the user is no longer necessary. The required packages are now deployed and installed by the GeoDict installer.
  • Estimate Fiber Orientation:
    • Added additional directions to the star length distribution (SLD) to make the orientation computation more accurate.


  • Introducing "Identify Binder (AI)" to identify the binder in granular media like NMC cathodes.
  • The result histograms can be weighted by "Number", "Surface", or "Volume" (before it was always weighted by "Volume").
  • GrainFind can run on an *.g32 index image in memory.


  • Completely new GeoDict module to train the user's own Artificial Intelligence network for image analysis:
    • Create training data as input and output *.gdt files.
    • Train network on the created training data.
    • Run network on other input images to use a proprietary AI image analysis network.

MeshGeo & ExportGeo-CAD:

  • A sharp triangulation of an object can be created in MeshGeo based on *.g32 index images e.g. created for GAD-objects.
  • Gray-value images and other volume fields can be triangulated from the MeshGeo GUI. This feature is also available from the image processing dialog and the status box entry "Gray-Value Image".


  • Added new LIR battery solver:
    • The memory efficient and fast LIR solver is now also available in BatteryDict.
    • Battery-LIR supports Charging and Discharging simulation of full or half-cell batteries.
    • Multiple active materials and inclusion as material phase is already supported.
    • Currently, it does not support porous binder and cut-off potential features.
  • BatteryDict dialog refactoring:
    • Solver choice has been moved inside the "Charge Battery" dialog.
    • Module options are split into "Design Battery", "Analyze Battery" and "Charge Battery".
    • "Analyze Battery" allows
      • to check if the given structure is a chargeable battery (the structure may not have been created by the battery designer).
      • to analyze and visualize the connected materials.
    • "Design Battery" allows
      • to assemble the battery geometry from anode and cathode structures.
      • to set proper constituent materials and material properties e.g. from the material database.
  • A BatteryDict simulation can be restarted after the computation was interrupted or intentionally stopped.
  • Porous binder can be modeled.
  • Four active materials per electrode are possible in BatteryDict's battery geometries (before only two active materials were allowed).
  • "Porosity" and "Tortuosity" can be entered to specify the effective transport properties of the separator.
  • Added references for comparison of BEST simulations with experiments to the report in the *.gdr result file.
  • An optional cut-off cell potential can be specified (for charging: Upper cut-off, for discharging: Lower cut-off).
  • Interrupted BatteryDict charging simulations can be restarted.
  • SAMG solver warnings and messages are supressed in the console output for BESTmicro.
  • Electrochemical battery properties can be stored in the GeoDict material database and these properties can be used in simulations with BatteryDict.
    • The Butler-Volmer rate can be defined dependent on the chosen electrolyte in the material database.
  • More constituent materials used in the development of batteries have been added to the GeoDict material database.
  • Added the material phase "Inclusion as" for voxels which do not contain lithium and do not conduct anything.


  • It is now possible to have anisotropic constituent materials similar to ConductoDict.
  • The LIR solver now has a feature called "Use Krylov Method" which speeds up the computations significantly for structures with very high diffusivity contrast.


  • Mirrored objects are considered as a different objects for both EJ and LIR. Expert setting are available if they need to be considered as the same object.
  • Is is now possible to enter a *.g32 file for contact resistance between same materials. This file input is similar to the GOF file input used for anisotropic materials.
  • The new "Resolve Overlap Feature" in GeoDict is also considered for contact resistivity but it works if "Mark Contacts" is turned off.
  • The LIR solver now has a feature called "Use Krylov Method" which speeds up the computations significantly for structures with very high conductivity contrast.


  • Slip length has been moved from the "Solver" tab to the "Boundary Conditions" tab in the GUI.
  • The predicted permeability from the "Error Bound" stopping criterion is now shown in the progress windows during the simulations.
  • It is now possible to restart simulations from structures with different hash but same structure size.
  • For Navier-Stokes VinPout, a warning appears when the outlet length is considered not to be enough by checking the tangential velocity.
  • SimpleFFT does not mirror the domain for symmetric boundary condition in the flow direction.
  • For Navier-Stokes with implicit inlet/outlet, a warning appears in the *.gdr result file if a big discrepancy happens when inlet/outlet is excluded.
  • Point markers for layered pressure values are now shown in the plots when a pressure drop is prescribed.


  • Deformations (FeelMath-LD):
    • Improved re-sampling of deformed structures for "On Deformed Geometry":
      • Automatically choose if the structure is deformed periodically based on the solver boundary conditions.
      • Report the solid volume fractions per material ID of the deformed geometries in the ElastoDict *.gdr result file.
    • Strongly improved runtime for deformation re-sampling of the geometry and the volume fields:
      • The deformation information is kept in memory when enough memory is available.
      • With this improvement, especially simulations with "On Deformed Geometry" are much faster now.
    • The initial stiffness of the material for uniaxial tensile and compression experiments is reported.
    • Improved plot labels. Depending on the experiment settings, the prefix "Compressive" or "Tensile" is used.
    • "Mixed" tangential boundary conditions can be specified (confined in one free in the other direction). This is only allowed for uniaxial compression or tension, when the load directions align with the global X-, Y-, or Z-direction.
    • That a geometry update happens can be specified when "Calculate on Deformed Geometry" is used (step-controlled or size-controlled).
    • "Write solution" is available after deformation for "On Deformed Geometry" to get more accurate results and to make the restart easier.
  • Effective Stiffness (FeelMath-VOX):
    • Added option to compute stiffness directly in X-, Y-, or Z-direction.
    • The *.das fields can be written in the down-sampled resolution if down-sampling is used. This strongly decreases the computation time.
  • The down-sampling method "Arithmetic Mean" can be chosen, additionally to the laminate theory method. Most of the time this is less accurate, but faster.
  • Improved ease of use for plastic material laws e.g. by direct input of the tangent modulus.
  • Improved ease of use for damage material laws e.g. allow material law fitting for Mazars damage model.
  • Improved parameter names for Mazars damage model, Mazars damage model can now be fitted to a tensile experiment.
  • Improved speed of FFTW part for symmetric boundary conditions, which sometimes took unexpectedly long.

AddiDict + FilterDict:

  • Improvements in the Particle Tracker:
    • Slip length of flow now correctly influences the movement of particles near walls.


  • Simplification of the FilterDict GUI: reduced number of tabs and better sorting of parameters.
  • Adding inflow and outflow to the filter geometry is now also recorded in macros.
  • FilterDict-Element:
    • Particle start positions can be chosen to be weighted based on a volume field e.g. the underlying flow-field.
  • "Convergence" and "Layered Pressure" plots are now optional (disabled by default). The plots can be enabled in the *.gdr result file post-processing.
  • FilterDict-Media and FilterDict-Element are now grouped under the same menu entry in FilterDict.
    • The three options are available: Filter Media, Filter Element, Complete Filter, and Predefined.
    • Complete Filter allows to perform Filter Life Time simulations where inlet and outlet materials can be chosen freely.
  • CollisionCount.dci files are now only stored if the corresponding expert setting is set.


  • Simplification of the AddiDict GUI: reduced number of tabs and better sorting of parameters.
  • Particle start positions can be chosen to be weighted based on a volume field e.g. the underlying flow-field.
  • Improved residence time plots:
    • Added first order reaction statistics and collision statistics.
    • Added possibility to colorize the plots in material colors.
    • Added detailed particle diffusion properties to the result, when running diffusion only.
    • Added possibility to simulate short-time adsorption on hit, which lowers the effective diffusivity of particles/molecules.


  • The Capillary Pressure GUI has been redesigned and improved.
    • The wetting model combo box has been removed.
    • A new saturation experiment tab has been introduced in which the user can choose between drainage and imbibition.
    • A boundary condition tab has been introduced with domain boundary condition options and minimal pressure of interest.
  • Added ml (milliliter) as post-processing unit for saturation in capillary pressure.
  • The Capillary Pressure User Interface now uses diameters instead of radius for the input parameters (e.g. step size).
  • Improved Archie's parameters computation in "Resistivity Index".
    • Fitted curve is now always a straight line in log-log plot.
    • Formulas are shown in report and plots.
    • Improved fit between computed "Resistivity Index" curve and fitted curve.
  • A new dynamic capillary pressure mode is introduced.
    • It allows for non-monotonic pressure curves where the pressure can rise again in imbibition and fall again in drainage.
      • For each step the algorithm tries to minimize (imbibition) or maximize (drainage) the sphere radius in order to get non-monotonic capillary pressure.
      • An interface step size can be entered which the algorithm tries to approximate, i.e. the distance between interfaces of succeeding steps.
      • The step size for the pore radius now also depends on the pore radius itself, i.e. the pore radius is changed relative to itself.
    • This mode allows to simulate more realistic displacement mechanism.
    • A new thin wetting layer mode allows to treat a non-connected wetting phase as being connected near the active mobile wetting front.
    • Mixed wettability is now allowed and it is possible to have a wetting contact angle of <90° and >90° within the same structure.
  • Added predefined App to simulate gas trapping curves.

PoroDict & MatDict:

  • Re-sorting of the GUI for PoroDict and MatDict to clearly separate the pore size analysis from the analysis available for all material phases (solid, pore, and porous).
  • Connected Components:
    • Detailed information about the identified components are now integrated in *.gdr result file.
    • The connected components can be computed for a specific material or material IDs.
    • Connected components are now properly computed for the solid phase and the pore space.
  • 3D Inhomogeneity:
    • Added plot for the computed distribution in the *.gdr result file.
    • Added computation of porosity.
    • A warning appears in the report when the complete domain was not analyzed due to the used raster length.
  • Open and Closed Porosity:
    • Reports now include open, closed and dead-end pores, which can also be marked by different material IDs in the *.gdt result file for the structure.
  • The normalized pore size distribution can be computed with a logarithm to basis e or basis 10. The common logarithm with basis 10 is the new default.
  • The "Pore Size Distribution (Granulometry)" produces a report when there are no pores in the structure.
  • The "Pore Size Distribution (Porosimetry)" produces a report when there are no pores and when there are no open pores in the structure.
  • A "Solid Size Distribution" can be computed in MatDict in a manner similar to the "Granulometry" in PoroDict.
  • The geodesic Tortuosity of a geometry can be computed with MatDict.
  • Bubble Point:
    • Added a detailed pore throat analysis with e.g. a plot of the pore shape.
    • Added a predefined script to compute the bubble point defined by the ASTM norm.