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.
  • At the moment TensorFlow (AI applications) run 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 battery solver.
  • 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.
    • Show all the *.gdr result files in the chosen project folder and allow to open them with a double click.
    • Added option to flood-fill large pores of a loaded geometry.
  • Result-Viewer:
    • Alphabetical ordering 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 viewer.
    • Fixed some ordering issues of *.gdr files in the viewer (this should now be a lot faster).
    • Allow to rename a *.gdr file and the corresponding result folder in the result viewer.
    • Allow to copy images with "Ctrl-C" or via the context menu to the clipboard.
    • Add meta-data to the images saved as .png and .svg.
    • Combined GDR:
      • Allow to change order of *.gdr files in a combined GDR in the creation dialog.
      • The result viewer will now have a "Compare Maps" tab for combined GDRs, where all results are visible 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 any more).
    • 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 file-name 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 of 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.
    • Allow to directly save a single volume filed from the status box.
    • If one does not load all fields from a file these fields are shown in light gray in the GUI and with a double click one can load them afterwards if required.
    • One can also remove loaded fields from the GUI and they are also shown in light gray (reload with double click).
    • Allow to perform math operations 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)" will now have auto-completion with possible file names.
    • The completion contains .gdr files from recent files list and .gdr files from project folder.
  • The overlap of all GAD objects can be resolved now using a water-shed method. This can be used in all structure generators.
    • This allows to remove the object overlap and to get nice contacts between the single objects.
    • This can also be used on loaded *.gad files of older GeoDict versions.
    • "Resolve Overlap / Mark Contacts ..." one can directly use this and also mark all object contacts with a new material ID.
    • The overlap handling was also 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 tool-tips for "Cancel" and "Stop".
  • Made GeoDicts user interface stay more reactive during computations.
  • The structure file formats:
    • The *.gdt files contain now the information about 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 int the Settings dialog.
  • If GeoDict is started from the command-line without a GUI and the current/specified license is invalid, exit code 4 will 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:
    • It is now possible for a user to install GeoDict for himself 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 OLicense.
  • Unlicensed modules will now be shown (grayed out) at the bottom of the main menus.
  • GeoDict license files now use the file ending *.glic.

Constituent Material Database:

  • Allow to save new constituent materials from .gad or .gdt files in the current material data-base.
  • Allow to specify multiple material laws for the conductivity of one material e.g. an isotropic and an anisotropic law.
  • Allow to save electrochemical properties needed in battery simulations in the material database.

Macros and Scripting:

  • Add 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 was removed (they still can be executed).
  • Python scripts allow now for the optional section "RequiredLicenses" in Python scripts.
    • If one executes a macro or script this info is used to show a corresponding warning, when the required module is not licensed.
  • Updated Python libraries like NumPy and SciPy.
  • It is possible now to add table widget to a Python dialog (see explanation e.g. in recorded Python macros).


  • Coupled GeoDict to the geochemical calculator PhreeqC (USGS) for simulating 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 select-able for simulating 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 tool-tip 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-files.


  • Improved 2D visualization in GeoDict:
    • Allow dynamic zoom with pressed right mouse button or "Ctrl"-button and 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.
  • Allow dynamic positioning of the scale bar:
    • 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 REM view settings:
    • The options are now in the "Camera 2D" settings.
    • Easy control of the REM view depth in the "Camera 2D" settings.
  • Allow to define and use different color maps, 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. Based on the local information in the structure a reasonable material ID is set for all voxels.


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


  • Add 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.
  • Allow to specify the fiber direction distribution as one main direction and an angle distribution around this main direction.
  • Allow to specify complex fiber orientation distributions by giving multiple directions, where each direction has a certain probability.


  • Add 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.
  • Allow to specify the fiber direction distribution as one main direction and an angle distribution around this main direction.
  • Allow to specify complex fiber orientation distributions by giving multiple directions, where each direction has a certain probability.
  • "Remove Overlap" is now also available in PaperGeo.


  • Allow to create random structures based on Gaussian random fields:
    • The fields can have different correlations in the three spacial directions.
    • The fields can have additional gradients.
  • Add 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.
  • "Pile Analytic Spheres" and "Pack Analytic Spheres": allow to specify the contact distance for the sphere contact information in number of voxels.
  • Allow to specify the object direction distribution as one main direction and an angle distribution around this main direction.
  • Allow to specify complex object orientation distributions by giving multiple directions, where each direction has a certain probability.
  • Added new predefined macro "Cover Surface Randomly", which uses Gaussian random fields to cover surfaces with patches of new material.
  • Added improved surface roughness which uses the Gaussian random fields.


  • Make the new FreeWeave solver 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 was reversed)


  • New DPF predefined scripts:
    • Generate catalyst support structures and diesel particulate filters with this new scripts.
    • The new scripts will use GridGeo to generate GAD object based structures.
    • The old scripts have been removed, 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:
    • The 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 can also be found on the new tab "Segmentation & Labeling".
    • Each loaded gray-value image is automatically visualized as volume field in 2D or 3D.
    • One can create a segmented structure without discarding the volume field.
    • Extracted settings from a macro or script are now shown in the image processing dialog.
  • Gray-Value image handling:
    • Allow to back-up and set a certain state of the loaded image (as volume field) and show it in the status section.
    • Allow to open the loaded gray value images 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.
  • Allow a proper multi-phase segmentation using the watershed algorithm.
  • Introduced segmentation based on artificial intelligence.
  • Allow to save a gray-value image as compressed *.grw file to save disk space.
  • Allow to export a gray-value image 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. FIBSEM scans.
  • New filter to perform a fast H-Minima transform on gray-value images.


  • Added support for the length units inch and cm.
  • Allow to cancel "Suggest" and "Import".


  • Identify Fibers (AI):
    • Improve post-processing: options for bin sizes for histograms and plots, report fiber length standard deviation and report fiber diameter table (with mean value and standard deviation).
  • 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.
  • Allow to weight the result histograms by "Number", "Surface" or "Volume" (before it was always weighted by "Volume").
  • Allow to run GrainFind on an *.g32 index image in memory.


  • This is a new module to train your own artificial intelligence network for image analysis:
    • Create your training data as input and output *.gdt files.
    • Train your network on the created training data.
    • Run your network on other input images to use your own AI image analysis network.

MeshGeo & ExportGeo-CAD:

  • Allow to create an object sharp triangulation in MeshGeo on basis of *.g32 index images e.g. created for GAD objects.
  • Allow to triangulate gray-value images and other volume fields 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.
    • It supports Charging and Discharging simulation of full or half-cell batteries.
    • Multiple active material and inclusion as material phase is already supported.
    • Currently, it does not support porous binder and cut-off potential features.
  • BatteryDict dialog refactoring:
    • Move solver choice inside the "Charge Battery" dialog.
    • Split module options 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 be created by the battery designer).
      • allows to analysis and to visualize the connected materials.
    • "Design Battery" allows to
      • assemble the battery geometry from anode and cathode structures.
      • set proper constituent materials and material properties e.g. from the material database.
  • Allow to restart a BatteryDict simulation after the computation was interrupted or intentionally stopped.
  • Allow to model porous binder.
  • Allow four active materials per electrode in BatteryDict's battery geometries (before only two active materials were allowed).
  • Allow to enter "Porosity" and "Tortuosity" to specify the effective transport properties of the separator.
  • Added references for comparison of BEST simulations with experiments to the report in the *.gdr file.
  • Allow to specify an optional cut-off cell potential (for charging: Upper cut-off, for discharging: Lower cut-off).
  • Allow restart for interrupted BatteryDict charging simulations.
  • Suppress SAMG solver warnings and messages in the console output for BESTmicro.
  • Store the electrochemical battery properties in the GeoDict material database and use these properties in BatteryDict.
    • The Butler-Volmer rate can be defined dependent on the chosen electrolyte in the material database.
  • Added more constituent materials used in the development of batteries to the GeoDict material database.
  • Added material phase "Inclusion as" voxels which do not contain lithium and they 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 allows to speed up the computations significantly for structures with very high diffusivity contrast.


  • A mirrored objects considered as a different object for both EJ and LIR. Expert setting is available if it needs to be considered as a same object.
  • Is is now possible to enter a G32 file for contact resistance between same materials. Tis 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 is works if "Mark Contacts" is turned off.
  • The LIR solver now has a feature called Use Krylov Method which allows to speed up the computations significantly for structures with very high conductivity contrast.


  • Slip length is moved from Solver tab to Boundary Conditions tab on 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, warning shows when the outlet length is considered not 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, warning shows in gdr when big discrepancy happens when inlet/outlet excluded.
  • Point markers for layered pressure values are now shown in the polots 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 file.
    • Strongly improved run-time for deformation re-sampling of the geometry and the volume fields:
      • The deformation information is kept in memory if one has enough memory.
      • With this improvement especially simulations with "On Deformed Geometry" are much faster now.
    • Report the initial stiffness of the material for uniaxial tensile and compression experiments.
    • Improved plot labels: dependent on the experiment settings use prefix "Compressive" or "Tensile".
    • Allow to specify "Mixed" tangential boundary conditions (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.
    • Allow to specify when a geometry update happens when "Calculate on Deformed Geometry" is used (step controlled or size controlled).
    • Write solution after deformation for "On Deformed Geometry" to get more accurate results and to make the restart easier.
  • Effective Stiffness (FeelMath-VOX):
    • Add option to compute stiffness directly in X-, Y- or Z-direction.
    • Allow to write the *.das fields in the down-sampled resolution if down-sampling is used. This strongly decreases the computation time.
  • Allow to choose the down-sampling method "Arithmetic Mean" additional to the laminate theory method. This is most of the time 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 and allow Mazars damage model to 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 will now correctly influence the movement of particles near walls.


  • Simplification of the FilterDict GUI: reduced number of tabs and better ordering of parameters.
  • Adding inflow and outflow to the filter geometry is now also recorded in macros.
  • FilterDict-Element:
    • Allow to choose particle start positions 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 post-processing.
  • FilterDict-Media and FilterDict-Element are now grouped under the same menu entry 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 ordering of parameters.
  • Allow to choose particle start positions 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 will lower the effective diffusivity of particles/molecules.


  • The Capillary Pressure GUI was redesigned and improved.
    • The wetting model combo box was removed.
    • A new saturation experiment tab was introduced where user can choose between drainage and imbibition.
    • A boundary condition tab was introduced with domain boundary condition options and minimal pressure of interest.
  • Added mL 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 non-connected wetting phase as being connected near the active mobile wetting front.
    • Mixed wettability is now allowed and it is possible to have wetting contact angle of <90° and >90° within the same structure.
  • Added predefined App for simulating gas trapping curves.

PoroDict & MatDict:

  • Reordering 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 integrated in *.gdr File now.
    • Allow to compute the connected components for a specific material or material IDs.
    • Allow to compute connected components properly for the solid phase and the pore space.
  • 3D Inhomogeneity:
    • Add plot for the computed distribution in the *.gdr file.
    • Computation of porosity is added.
    • Show in the report when not the complete domain was studied due to the used raster length.
  • Open and Closed Porosity:
    • Reports now open, closed and dead-end pores, which can also be marked by different material IDs in the result *.gdt structure file.
  • 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 having no pores in the structure.
  • The "Pore Size Distribution(Porosimetry)" produces a report when having no pores and when having no open pores in the structure.
  • Allow to compute a "Solid Size Distribution" in MatDict similar to the "Granulometry" in PoroDict.
  • Allow to compute the geodesic Tortuosity of a geometry 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.