Release Notes

####################################################

Notes for the GeoDict 2019 release (28077) Date: 2018-09-14 (Fri, 14 September 2018)

####################################################

Known Issues in GeoDict 2019:

  • Improved GDT format:
    • The improved gdt format (GDT2) cannot be read by older GeoDict versions (GeoDict2018 and earlier).
    • One looses the object statistics (gad-stats) when one opens a GDT2 file. This will be fixed in service pack 1.
  • Macros and Scripting:
    • Updated to Python 3.6: For this reason, some of the scripts created for older GeoDict version will not directly run with the new version. Some script modifications might be required.
  • MeshGeo / ExportCAD:
    • The creation of periodic meshes with the multi-material export does not close the surfaces at the domain boundary properly. This will be fixed in service pack 1.
  • ElastoDict:
    • The symmetric boundary conditions do not work for the MPI version of FeelMath. This will be fixed in service pack 1.
    • The run-time for the symmetric boundary conditions has to improved. This will be fixed in service pack 1.

####################################################

Base:

  • Status-Box:
    • Show all loaded .gdr-files in the status-box. The .gdr-files can be closed via the context menu. A double-click on one *.gdr-file brings this file to the foreground.
    • GUF (Volume Field) Editor:
    • Allow to load multiple files which contain volume fields.
    • Show the names of the loaded volume field files.
    • Show detailed information about loaded volume fields.
    • Allow to delete single volume fields.
    • Allow to create new volume fields in memory.
    • Allow to copy / move existing volume fields in memory.
    • Allow to interpolate volume fields to the voxel centers.
    • Allow to save (edited) volume fields to file.
    • Allow to decompress loaded compressed volume fields.
    • Allow to change names of loaded volume fields.
    • Allow to compute certain metrics of volume fields, like: min, max, mean, standard deviation, variance, auto-correlation and slice-vice mean value.
    • Particles:
    • Show total number of loaded particles in the status box.
    • Show all loaded batches and the number of particles per batch.
    • Allow to chose the visualized batch by double click with the left mouse button on entry in status box.
  • Result viewer update (*.gdr):
    • Beautifications of the viewer dialog: show GeoDict command names on top of the dialog, show GeoDict logo only once.
    • Open *.gdr files via drag and drop on the result viewer dialog.
    • Improved checks during loading of a .gdr-file and better error messages if the .gdr file is corrupt.
  • Structure file format *.gdt was updated (GDT2):
    • The *.gdt file has now a header which contains the information about the structure.
    • The writing and reading speed of *.gdt files was improved as the internal ordering was changed from XYZ to ZYX.
    • The .gdt file now also contains the zlib compressed GeoDict analytic data (gad). Saving a .gdt file this data is not lost anymore.
    • If a *.gdt file is saved in the new GDT2 format it cannot be read with older GeoDict versions. Saving in GDT1 format is still possible.
  • Allow to load .vol,.g32,.leS,.raw files, which may contain integer or float values, as volume-fields.
    • Since *.leS files don't contain info about voxel length, a dialog will appear to ask for the voxel length (default value is 1e-6 m).
  • Allow to safe float volume-fields as .vol or .guf
  • Allow to safe integer volume-fields as .leS, .raw, .guf or .g32
  • Load Particle in file menu loads also *.gpp files.
  • Loading Particles checks available main memory before loading and prevents loading of to large files.
  • Files that are moved to the "00GeoDictBackup" folder now get milliseconds as additional postfix.
  • Improved speed for object information in 2D tool-tip.
  • Improved plot functionality e.g. for the plots in the .gdr result viewer using MatPlotLib. Allow to save plots as .svg files.
    • creating a plot via python macro will use standard GeoDict color-set, defined in the \Python\gdmodules\matplotlibrc file .
  • Usability:
    • Improved and unified tree-like widget structure.
    • Added disk usage widget.
  • Improved dialog, if one tries to overwrite e.g. an existing result file (*.gdr). In this dialog one has now the option to rename the new result file.
  • Allow to automatically use as many threads as possible for e.g. flow simulations. This is now the default for our solvers (before the default was sequential).
  • GeoDict analytic data *.gad:
    • Allow to freely define the overlap material IDs.
  • The GD2019_externals.py script, which is used to call solvers and other external executables, can now detect and use InfiniBand network adapters automatically.
  • Floating licenses now support to choose individual GeoDict modules: each user may choose which of the licensed modules he wants to use. Any module, which is not chosen, remains available for other users.
  • New Starting screen:
    • view and load latest files and project folder from the tables at the bottom of the screen (also available in the main menu)
  • Allow to choose the default text-editor used in GeoDict in the "Default Options". If the specified editor is not found the system default editor is used.
  • Case Studies:
    • added "Easy Image App" which gives you the possibility to create a variety of media materials, e.g. for the website, presentations, based on given and proofed presets.

Macros and Scripting:

  • Improved variable interface:
    • Variable with type "combo" is added to the python variables. The variable is a string where all choices are displayed in a combo-box.
    • Allow to hide a variable in the dialog with the optional key-word "Hidden", which can be true or false.
    • Variable with type "folderstring" is added to the python variables. This allows to browse for a folder in a macro dialog.
  • Improvements of the Python script API:
    • gd.getNumberOfGADObjects() allows to get the number of loaded gad objects.
    • gd.getGADObject(int id) allows to get the settings of the gad object with the given index id (first object has id 1) as Python dictionary.
    • gd.getStructure() allows to get the currently loaded structure as a 3D 8-bit numpy array.
    • gd.setStructure(..) allows to set a 3D Python array as structure in GeoDict.
  • "Continue on Error" is now also available for Python macros.
  • One can record Python vary-macros with "Record Only" now.
  • The automatically stored session macro is saved in Python syntax.
  • Updated to Python 3.6. For this reason, some of the scripts created for older GeoDict version will not directly run with the new version. Some script modifications might be required.
  • Added capability to install additional python libraries (currently only after verification with a M2M expert).
  • All GeoDict macros and scripts are converted to Python syntax.
  • New Python libraries shipped with GeoDict: SciPy, XlsxWriter.

Visualization:

  • The clipping of structures and result fields can be changed to clip inside-out.
  • Integer fields can be rendered with an interpretation of index fields. This allows a better color coding, e.g. for individual grains.
  • Allow to set the number formatting and number of decimal points for the legends.
  • A local orientation field (*.gof) can be used to visualize the angle between main orientation axis and x-, y-, or z-axis by color.
  • Multiple isosurfaces can be added to the transparent scalar field rendering.
  • Improved render performance when changing view options.
  • Added more color-map presets.
  • The direction arrows in 2D are shown in white on black now.
  • Videos:
    • Added a video gallery to easily pick predefined or custom videos.
    • The video quality pattern is disabled when creating *.mp4 videos as this option has no effect in this case.
    • Improved the advanced video dialog:
    • live play and manipulation of the video inside GeoDict.
    • assistance in choosing the correct view property .
    • entering exact values for each point is possible now.
    • rectangular selection and movement of multiple points.
    • merged nominal and metric time-line.
    • improved design of the property view.
    • improved stability and performance of the dialog.
    • improved feedback communicating which properties are selected.

GeoLab:

  • Fixed bug, where GeoDict did not start from Matlab without an error message.
  • Allow reading and writing the revised *.gdt Format (GDT2).
  • Removed the "Out of Core" concept from GeoLab:
    • Much better performance at processing .gad, .guf and *.gdt files.
    • The interface is much simpler.
    • Lost some backwards compatibility:
    • Guf/Gad/Gdt class does not automatically save everything at every operation. Call *.Save(filename) when you want to save the file.
    • Guf.CreateOutOfCore(filename) was deleted and one has to replace it with Guf(filename).
    • The PartialData class was removed from GeoDict. The following functions are working on MATLAB arrays instead of PartialData now:
      • guf.LoadArray(ImageName,Start, Blocksize)
      • Introduced guf.SetArray
      • guf.LoadImage(ImageName,Nx,Ny,Nz)
      • Introduced guf.SetImage
      • guf.LoadImageAsSlice(ImageName,Number,Axis)
      • Introduced guf.SetImageAsSlice
      • guf.LoadImageAsArray(Imagename,Start, Size)
      • Introduced guf.SetImageAsArray

GeoDexcel:

  • Specific import for ElastoDict results was added.

ProcessGeo:

  • Add Binder:
    • Allow an anisotropic binder distribution, where the binder is more distributed in the XY-plane.
    • Direct control of the stopping criterion and information about the reached amount of binder in a *.gdr file.

FiberGeo:

  • Allow to save and load the settings of single fiber types.
  • Allow to create fibers with a defined maximal overlap if "Remove Overlap" is used.
  • Show the absolute volume percentage of the chosen fiber types (below the relative volume percentage), when volume percentage is chosen.
  • Allow to freely define the overlap material ID of two fiber types.

PaperGeo:

  • Allow to save and load the settings of single fiber types.
  • Show the absolute volume percentage of the chosen fiber types (below the relative volume percentage), when volume percentage is chosen.
  • Allow to freely define the overlap material ID of two fiber types.

GrainGeo:

  • Allow to save and load the settings of single grain types.
  • Allow to create grains with a defined maximal overlap if "Remove Overlap" is used.
  • Show the absolute volume percentage of the chosen grain types (below the relative volume percentage), when volume percentage is chosen.
  • Allow to freely define the overlap material ID of two object types.

WeaveGeo:

  • The mesh count can be entered as meshed per centimeter.
  • The GUI and the underlying weave generator of "Free Weave" was updated:
    • to create real multi-layer weaves (multiple warp and weft layers).
    • to create more realistic weave structure by simulation the thread interaction and thread broadening.
    • allows to hide individual threads in the weave structure.
    • Some predefined examples for the new FreeWeave are added: TwillDutch-Weave, Distance Fabric HD, Distance Fabric LD, Multilayer Weave (Composite), Orthogonal Weave (Composite).

FoamGeo:

  • Corrected the command names used in macros to give the correct module name ("FoamGeo" instead of "CreateFoam").
  • Added additional checks to catch cases where the creation of a foam does not work.
  • Improved speed of the creation of random foams.
  • Fixed cases where single foam faces were missing in a closed cell foam.

GridGeo:

  • GridGeo:
    • periodic grid will now have the holes centered in the unit cells rather than on the corners.
  • Grid of Spheres:
    • Allow to specify the lattice constant of the grid and show the minimal center-distance of the spheres.
    • Allow to automatically create lattices where the spheres touch.
    • Many small improvements regarding the sphere material IDs, the sphere overlap ID and the reached solid volume fraction of the grid.

ImportGeo-VOL:

  • Accelerated mean, gauss and non-local means filter using GPU:
    • benchmark on CPU (i7-7700K@4.2 GHz, 4 cores + HT) vs. GPU (Quadro P4000), 1024^3 voxel, time in seconds: || Filter || CPU || GPU || || Mean || 225.3 || 5.44 || || Gauss || 23.22 || 2.54 || || NLM || 2307.5 || 102.3 ||
  • Allow import of 3D tiff images as integer (1-bit, 8-bit and 16-bit) and float (32-bit).
  • Show the solid volume fraction of the materials also for segmentation with multiple thresholds.
  • A GeoDict result file (*.gdr) is created after the segmentation of a gray-value image:
    • The *.gdr file contains the thresholding method and the threshold values.
    • The *.gdr file contains information about the structure.
    • The *.gdr file shows the used image filters and saves all parameters in the result-map.
    • The segmented structure is saved in the result folder.
  • Local thresholding filters:
    • The water-shed algorithm was added to the image filters.
    • The local Otsu algorithm was added to the thresholding filters.
  • The thresholding values in GeoDict macros / scripts are now the same one sees in the image processing GUI.
  • Allow to automatically import image files via macros when the image size can be read e.g. from the file header.
  • Allow to create smooth surface triangulations based on the gray-value data of 3D images. This feature is available from the image processing dialog and the status box.

ImportGeo-CAD:

  • ImportGeo-CAD can now import .obj files. For each mesh in the obj file a individual MaterialID can be assigned.
  • For STL files it is possible to assign a Material ID to voxelized import.

FiberFind (FiberGuess):

  • The FiberGuess module was renamed to FiberFind.
  • Identify Fibers:
    • This option allows now to identify single fibers in non-woven materials with artificial intelligence (not finished).
  • Identify Binder:
    • This option allows to identify binder in non-woven materials with artificial intelligence (not finished).
  • Estimate Fiber Diameter:
    • Improved algorithm to get even better diameter estimations with an error around 0.25 voxel length.
    • Save the inner diameter of the fibers into a GeoDict size distribution file (*.gsd).
    • Allow to segment the structure into different diameter classes in the post-processing. The segmentation is done automatically using the KMeans or the Otsu algorithm.

GrainFind:

  • New module to estimate grain diameters and to identify grains from micro CT-scans.
  • Identify Grains:
    • Allows to fit ellipsoids, boxes or elliptical cylinders to the identified grains.
    • Compute Krumbein and Sheppard sphericities for each identified grain.
    • Plot and post-process the estimated grain size distribution.
    • Save the equivalent and inner diameter of each grain in a GeoDict size distribution file (*.gsd).
    • Compute the orientation of each grain and the overall orientation tensor.
    • Save the voxel-wise orientation per grain in a GeoDict orientation file (*.gof).
  • Estimate Grain Diameter:
    • Save the inner diameter of the grains into a GeoDict size distribution file (*.gsd).
    • Allow to segment the structure into different diameter classes in the post-processing. The segmentation is done automatically using the KMeans or the Otsu algorithm.

MeshGeo:

  • The memory used for the creation of a surface mesh was reduced.
  • Accelerated smoothing and coarsening for single surface meshes.
  • MeshGeo can now be used to create surface meshes of streamlines, particles and particles trajectories.
  • It is possible now to use the smoothing and coarsening filters for meshes created with "Rounded" or "Smooth" mode.
  • In the renderer, individual meshes can now be hidden, depending on their material ID.
  • Allows to create periodic surface meshes.

ExportGeo-CAD:

  • The memory used for the export of a surface mesh was reduced.
  • A result file (*.gdr) is now written, when a surface triangulation is exported, containing statistics about the created mesh.

ExportGeo-Abaqus:

  • A *.gdr file is written for "Export Stiffness Simulation" and "Export Fibers as Beam Elements".
  • The Abaqus export can be recorded to a macro without running it.

ExportGeo-Fluent:

  • A *.gdr file is written for "Export Flow Simulation" and "Export Heat Simulation".
  • The Fluent export can be recorded to a macro without running it.

ExportGeo-MicroMacro:

  • New module to use accurate micro-structure simulations and process simulations e.g. by Moldflow for macroscopic simulations with Abaqus.
  • Computes accurate material maps for short fiber reinforced composites dependent on the fiber orientation.
  • Sets-up Abaqus jobs for macroscopic simulations using process simulation results e.g. from Moldflow and accurate material maps.

BatteryDict:

  • Allow (inactive) binder and a second active material for anode and cathode, respectively.
  • The BatteryDict results contain now the following plots of the slice-average along the battery:
    • Ion concentration for electrolyte and active material.
    • Potential for electrolyte and solid materials.
    • Porosity / volume fraction of electrolyte, active material, inactive material and separator.
  • BESTmicro:
    • Allow to specify the effective diffusivity and conductivity for the separator.
  • Added formulas of the system of coupled partial differential equations solved in BatteryDict to the dialog.
  • The separator size restriction was removed from the GUI and the user is warned if the separator is larger than 25% of the whole structure.
  • Solver can now be stopped without being canceled. When a solver is stopped a result file is created.
  • Give a preview of the anode and cathode structure also for the Anode-IDs and Cathode-IDs tabs.
  • Allow to create battery charging videos from the *.gdr-file of the simulation.
  • Added battery specific materials to GeoDicts constituent material data-base (LCO, LMO, NMC, LFP, NCA, LTO).

DiffuDict:

  • The LIR solver with adaptive grids is available as additional solver to compute the diffusivity.
  • It is now possible to stop the computation of the Knudsen diffusivity by tolerance. The number of random walks and the travel distance is automatically increased until the given tolerance is reached.
  • The computation of the Knudsen diffusivity is now parallelized.
  • The solver can now be stopped without being canceled. When a solver is stopped, the concentration field is written and a result file is created but remaining load directions are not computed.
  • Added "Analyze Geometry" option to enable/disable the checking for a diffusion path.
  • Layered concentration plotted in physical length locations.

ConductoDict:

  • The LIR solver with adaptive grids is available as additional solver to compute the thermal and electrical conductivity.
    • The LIR solver supports anisotropic constituent materials.
    • The LIR solver supports contact resistance between different constituent materials.
  • For electrical conductivity, both current density and electric flux can be written.
  • The solver can now be stopped without being canceled. When a solver is stopped, the temperature field is written and a result file is created but remaining load directions are not computed.
  • Added "Analyze Geometry" option to enable/disable the checking for a conducting path.
  • Layered temperature/potential plotted in physical length locations.
  • EJ solver solves contact resistance between different constituent materials.

FlowDict:

  • "Do not analyze Geometry" changed to "Analyze geometry".
  • The solver can now be stopped without being canceled. When a solver is stopped, the flow field is written and a result file is created but remaining flow directions are not computed.
  • Added additional option in *.gdr result dialog where the unit of the shown permeability tensor can be changed to m^2, mDarcy, and Darcy.
  • Improved stopping criteria message in *.gdr report.
  • Adaptive Grid:
    • The characteristic length that is used for the Reynolds number computation does now support the same modes in LIR as supported in SimpleFFT.
    • The LIR solver has a new acceleration feature called "Multigrid":
    • This new method is available for Stokes and Stokes-Brinkman and is enabled by default ("Use Multigrid" solver option).
    • The runtime can be reduced by up to 50% with "Multigrid" acceleration while 60% more memory is needed.
  • Second order of non-slip boundary condition like EJ2 is available with SimpleFFT and LIR via Expert Settings.
  • The layered pressure is plotted over the physical length.
  • SimpleFFT can be restarted with LIR results with compressed data format.
  • Forchheimer Approximation:
    • updated of the GUI for more intuitive usage.
    • output always the air permeability for ISO and for ASTM standard.

ElastoDict:

  • New memory efficient CG-method for linear problems: 40% less memory, but 20% - 30% slower than standard CG-method if run sequentially.
  • Improved Stopping Criterion: It is now possible to disable "Maximal Iterations" and "Maximal Run Time".
  • Reference papers are added to the report in the *.gdr-files of VOX and LD.
  • Non-linear material laws in FeelMath:
    • The hyperelastic material laws like Neo-Hook are now part of e.g. the isotropic material law. They are used automatically when large deformations are chosen.
    • FeelMath directly supports now models for plastic deformation, viscous effects and damage. These new models can be used via the ElastoDict GUI without the use of UMATs.
  • Deformations (FeelMath-LD):
    • Allow to specify more uniaxial experiments. The choices are: "Tensile", "Compression" and "Shear".
    • Von Mises strain, von Mises stress and hydrostatic pressure are included in the plots of the ElastoDict-LD result files (*.gdr).
    • Allow to create large deformation videos with an additional strain-stress plot from the *.gdr-file of the simulation.
    • If FeelMath is ended in an unusual way, e.g. in a nonlinear simulation, or is stopped a gdr-file with the intermediate results is created.
    • Enable the down-sampling feature with laminate theory for deformations (before it was only available in VOX).
  • Effective Stiffness (FeelMath-VOX):
    • Allow to do homogenization only with the strain equivalence. With this option no large temporary files are written to the hard disk during the solver run. This is now the new default setting.
    • The direction dependent stiffness is shown in a polar-plot.
  • Effective Stiffness (FeelMath-AF):
    • The direction dependent stiffness is shown in a polar-plot.

FilterDict-Media and FilterDict-Element:

  • Compressed *.vap flow fields in the LIR-format can be loaded and used for the simulation.
  • Added an (optional) check that a through path exists before starting the flow computations.
  • Plotting the overall fractional filter efficiency after a certain batch (time) is added to the result post-processing.
  • Outflow and inflow length are suggested when needed for the simulation.
  • The "Write Compressed Flow Field" feature, which was only available in FlowDict, is now also available in FilterDict.
  • Allow to visualize only each n-th simulated particle.
  • The particle start position can be chosen from "Inflow Plane", "Box" or "Sphere".
  • It is now possible to start a multipass simulation with a non-clean test reservoir.
  • The computed results for filter life time and dust holding capacity are now included in the result map.
  • Allow to create videos of a filter life-time simulation from the *.gdr file of a FilterDict run:
    • Deposited Particles Video: animates the flow velocity in the filter with plot of pressure drop vs. deposited dust.
    • Pressure Drop Video: animates the particle distribution in 3D with a plot of the distribution per z-slice (depth).
  • Any material ID can now be used for pore or solid materials.
  • It is now possible to assign different material IDs for different areas of the pore space. With this option, different clogging and flow resistivity models can be set for depth and cake filtration areas.
  • For the users convenience, an explicit choice between 'Resolved' and 'Unresolved' particles was added to the GUI.
  • The 'Local Clogging and Flow Resistivity' model has been removed from the Model tab. The maximal particle packing density can now be given on the Particles tab, the flow resistivity model can be set on the Constituent Materials tab.

FilterDict-Element:

  • For different porous materials, it is now possible to set different clogging and flow resistivity models.
  • The deposition location for particles captured with the pass-through model has been slightly adjusted. Previously they were deposited at the end of the considered interval, now they are placed in the middle of the interval.

AddiDict:

  • Compressed *.vap flow fields in the LIR-format can be loaded and used for the simulation.
  • The computed pressure drop is now shown in the report and included in the result map.
  • Added an (optional) check that a through path exists before starting the flow computations.
  • Improved the AddiDict dialog: "Simulate Advection" and "Simulate Diffusion" was added as explicit choices on the first tab. Depending on the choices made here, the other input boxes are disabled if not needed.
  • Renamed "Concentration field" to "Spatial particle distribution" in all dialogs, because the corresponding file contains the number of particles per voxel.
  • Allow to visualize only each n-th simulated particle.
  • Any material ID can now be used for pore or solid materials.

SatuDict:

  • Solution files are now deleted after each relative property computation in SatuDict if "Discard Temporary Files" is enabled.
  • Fluid properties like density and dynamic viscosity can be entered and they are considered in relative permeability computations.
  • The cementation exponent and saturation exponent is now computed with the resistivity index.

PoroDict:

  • Identify Pores:
    • Allows to fit ellipsoids to the identified pores.
    • Compute Krumbein and Sheppard sphericities for each identified pore.
    • Plot and post-process the estimated pore size distribution.
    • Save the equivalent and inner diameter of each pore in a GeoDict size distribution file (*.gsd).
    • Compute the orientation of each pore and the overall orientation tensor.
  • Running "Estimate Surface Area" shows now a progress-bar.