#################################################### Notes for the GeoDict 2022 Service Pack 3 (56689) Date: 2022-06-03 (Fri, 3 June 2022) #################################################### Base: * GDR Viewer: * Fixed saving of plots as images from *.gdr files, which did not work for all cases (e.g. fiber orientation plot in FiberFind). * When keys e.g. in a script are not used by the called command print this information into the log-file. Constituent Material Database: * Fixed crash when a material database without materials was selected. GeoDexcel: * The generic export of 2D density map results via Python is fixed. GeoLab: * Fixed writing of *.gdt files with GDT2 format from Matlab. Furthermore, the reading of GDT2 files with errors in the map images is more robust in GeoDict. Visualization & Video: * Fixed split animation in the "Easy Image" GeoApp when the material ID 0 is selected. * Fix the loading of *.gps files of older versions in the save image dialog. Macros and Scripting: * Improved scripting tutorial scripts are included in GeoDict. * Fixed re-importing of python sub modules, which did not work properly for some cases. BatteryDict: * Removed error that occurred, when one had an invalid concentration of 0 mol/m^3 in an active material that is not used in the structure. * Improved time stepping for constant potential when minimum number of time steps is set by the user. GrainGeo: * Improved piling of combined objects: in the generator the object center of mass is computed automatically and the rotations are done around this center of mass. ImportGeo-VOL: * Fixed GeoDict crash when the AI-Segmentation preview was activated without training first. * The Avizo (.am) file import is now more robust. Some files which could not be imported before can now be imported. * Fixed a crash when AI Segmentation Preview runs out of memory. * Fixed an infinite loop in kMeans for certain datasets. * Fixed custom colors in AI segmentation. ImportGeo-CAD: * When a surface triangulation like a *.stl file is loaded the import dialog remembers the unit used for the import when it is opened next time. SatuDict: * Changed default flow solver in relative permeability to LIR. * Changed default flux boundary condition for relative electrical conductivity to Dirichlet. * Fixed Bug in SatuDict Imbibition algorithm that leads to premature termination. FiberFind-AI: * Added missing curliness values in result file. FlowDict: * Fixed "_maxLicThreads not set" error message when using Maximum parallelization for cases where no ConductoDict license is available. FilterDict: * Restitution and Hamaker constant are now shown again in the size distribution table for pores and porous materials (Bug was introduced in Service Pack 2). * Fixed "_maxLicThreads not set" error message when using Maximum parallelization for cases where no ConductoDict license is available. PoroDict & MatDict: * Fixed computed "Geodesic Tortuosity" in x-direction and y-direction for structures where the path is blocked. * Fixed the material info for "Closed Pores" in the result structure file of "Open and Closed Porosity". ElastoDict: * Fixed a bug where the strain in the result could differ from the strain defined in the experiment settings with mixed boundary conditions. * Fixed a bug where restarting a simulation with a porous structure could lead to wrong strain values. * Added the paper "Mixed strain/stress gradient loadings for FFT-based computational homogenization methods; M. Kabel; Computational Mechanics (2022)" to the ElastoDict references (https://doi.org/10.1007/s00466-022-02168-9). #################################################### Notes for the GeoDict 2022 Service Pack 2 (55614) Date: 2022-03-21 (Mon, 21 March 2022) #################################################### Base: * Fixed the broken layout of the voxel selection dialog after it was un-docked and closed. * Fixed gd.runCmdFromGPS: units will now be read correctly from *.gps files. * Fixed bug in MouseHandling3D which had obstructed the selection of most voxels. This bug was observed after creating a video from a grain-identification result (see GrainFind). * With this service pack GeoDict2022 can laod *.gad and *.gdt files created with GeoDict2023 where the material information in the maps was changed. If one tries to load geometry files with material IDs larger than 15 (in GeoDict2023 one can have up to 255 material IDs) one will get an error message. * GDR Viewer: * The changes made to plots with "Edit Graph Styles" and "Edit Axis Settings" are saved now to the *.gdr file also when the dialog is closed by the X-button in the top right of the corresponding dialog. Constituent Material Database: * The material "Helium" was added to the material database. * Improved error-handling when writing and reading material database files. * Fixed the naming and the thermal conductivity of the electrolyte materials shipped with the material database. * Improved conductivity properties for Graphite materials shipped with the material database. Visualization: * Fixed saving of 3D images when the 3D view was set as start-up setting. * Fixed switching of discrete to continuous color maps. Video: * Fixed video generation in *.mkv format. * Fixed fps and video quality elements in the GUI. Macros and Scripting: * Some small fixes to the "3D Image Report" GeoApp. * The variable types "boolgroup", "combogroup", "labelgroup" and "float" work now also if one uses vary for a corresponding macro. * Macro progress-bars work now also when the corresponding Python script is stepped. GeoLab: * The given file-name in "Gad.CreateNew('C:\Test\NewGAD.gad')" is working properly now. GeoDexcel: * Fixed the export of some complex plots e.g. in "GrainFind" results to Excel via the Python option. ImportGeo-CAD: * Improved representation of AI-paint brush. ImportGeo-CAD: * The CAD import dialog remembers now the unit of the last imported file when a second file is imported (before it the unit jumped back to "m"). * Improved import for cases where empty objects are contained in a file. GadGeo: * Improved "Resolve Overlap" and "Mark Contacts" algorithm for all analytic objects (GAD). This improves the results for complicated cases (e.g. more than three objects overlap in one point). FiberGeo: * Fixed a bug for strongly curved fibers using "Without (Remove) Fiber Overlap" in non-periodic domains, which could cause fibers to vanish. FiberFind: * Fixed crash if current structure is empty. GrainGeo: * If one loads the results of a GrainFind run the overlap solid volume percentage is read correctly from the result. * If GrainFind results are loaded the ellipsoid diameter order is fixed. GrainFind: * Fixed obstructed voxel selection after creating a video from a grain-identification result. * Improved speed of "Identify Grains" when the analysis is done based on a *.g32 file. * Improved plot of the re-connection indicator in the "Identify Grains" *.gdr file. BatteryDict: * Corrected rounding of times for the table in the report of ChargeBattery. * Added missing unit to "FoundParameters:Width" of the result map of "ChargeBattery". * Improved geometry check before a charging simulation is done: check for unconnected Anode / Cathode materials inside the Cathode / Anode. * Fixed reported transferred charge for BESTmicro simulations with constant potential. Reactive Flow GeoApp: * Corrected calculations of the geochemical model "reaction rate". DiffuDict: * The number of used processes is now shown in the report of the result *.gdr file. ConductoDict: * The number of used processes is now shown in the report of the result *.gdr file. * Computing the electrical conductivity now properly uses the ConductDict-Processes license when the LIR solver is selected. FlowDict: * The number of used processes is now shown in the report of the result *.gdr file. * Improved labels and tool-tips in the "Forchheimer Approximation" dialog. ElastoDict: * Fixed the usage of UMAT materials for fluids. EditGeo: * The "straight line" mode draws a dot when only one point is given instead of raising an error message. ExportGeo: * Fixed the orientation of rectangular fibers exported as Abaqus beam elements. SatuDict: * Changed y-axis label in the "Resistivity Index" plots from "Relative" to "Effective". MatDict & PoroDict: * Show error message if one tries to run the "Bubble Point" computation with high resolution and with detailed pore throat analysis at the same time. * Fixed loading of the pore throat geometry *.stl file for the "Bubble Point" computation. MeshGeo: * Improved error message when the voxelization of a mesh fails. AcoustoDict: * The result for the viscous characteristic length is fixed for the Allard-Johnson model. #################################################### Notes for the GeoDict 2022 Service Pack 1 (54078) Date: 2021-12-17 (Fri, 17 December 2021) #################################################### Base: * GDR Viewer: * Speed-up for plotting of graphs in the result viewer. * The font "Noto Sans CJK SC" is added to the MatPlotlib. If one changes the plot font in a GDR-file to this font one can have plot legends with e.g. Japanese or Korean letters. * It is now possible to copy (Strg-C) the complete list entries from the map-view widgets (e.g. the result map) in the GDR result viewer. * Fixed: the usage of undo leads to the error message "The file "Structure.gdt" does not exist.". * Fixed structure voxel selection in 3D when an additional index image (*.g32) is in memory. * A newer version of Nodepad++ (8.1.5) was added to the tools installer. Visualization: * For the visualization of surface meshes: setting the color mode to "Object ID" works properly now. * Fixed macro compatibility for the color interpolation for GeoDict2019 macros in GeoDict2022. * Improve rendering performance for the 2D view. * Properly update the view of a loaded volume field e.g. in the "Deposited Dust" video script in FilterDict. Video: * The *.mpeg encoder does not open a separate console anymore and it uses the prescribed quality pattern (before it used always the high quality in Windows). * The 2D slice preset videos take now the visualization settings from the GUI, especially the attached or overlay mode. Constituent Material Database: * GeoDict now remembers the used material law e.g. for mechanics simulations when a structure file is loaded or a FlowDict simulation is done. * Allow to save materials as "Inclusion" in the material database for battery simulations. * The alias defined for materials is now also shown in the database dialog. CHanging and saving a material now also saves the material alias, which was lost before. Macros and Scripting: * to allow more flexible builtin defaults the the following function can now be used inside the variables dictionary: * gd.getInstallationFolder(), gd.getMacroFileFolder(), gd.getSettingsFolder(), gd.getHostName(), gd.getVersion(). * "Extract" will now correctly convert input maps to current version. * Python Dialog API (see builtin Python API help for details): * The run() method of dialog objects can now take a GPS file path with initial settings to load. * After calling run, save() can be called on the dialog object to save the settings as a GPS file. * Added a new GeoApp called "KaleidoScript" in the GeoApp menu section: * This script is capable of preparing and zipping simulation script and data together. * The generated zip files can directly be used within the KaleidoSim/GeoDict cloud solution. * The script can also handle case studies where variable in a simulation script are varied. * In macros and scripts gd.getProgress() works now together with the live update. * Small improvements of the Identify Fractures DRP GeoApp: * Added the possibility to restart from previous runs. * Tool-tips and labels are improved. Installation and Licensing: * In Windows, the GeoDict installer now asks if the open source GeoDict-Tools installer should also be downloaded and installed automatically. * Fixed silent mode installation via Windows software distribution systems. * The error messages that appear when no license is available now state how many licenses are currently in use and differentiate more clearly to a server connection error. GeoDexcel: * Some small bugs are fixed in the specific GeoDExcel export (e.g. some units in the exported FilterDict results). * Fix bug foe Excel export of 2D histograms. THese histograms are not shown, but all the other plots are created (have been missing before). GeoDict-AI: * "Create Training Data" is now shipped with a default example script. * Running "Design of Experiment" deletes now properly the variables from previous scripts. * Some small GUI improvements in GeoDict-AI. GrainFind: * "Identify Grains" works now also for 2D cases with periodic boundary conditions. FiberFind: * Fixed the result-viewer post-processing for the analytic mode of "Identify Fibers". * The *.gof orientation file is now written for all cases. GadGeo: * The "Edit GAD Objects" dialog works now also for infinite and short arbitrary fibers. * Make general curved strut fibers (from FoamGeo) work in "Create /Add GAD Objects" and in "Edit GAD Objects". An image for this fiber type was added. * Fixed bug that would cause some voxels to have wrong material IDs in certain instances when using multiple material IDs for combined objects. ImportGeo-VOL: * Small fixes in the GUI and the tool-tips. * Fixed the histogram ROI in the "Gradient Brightness Correction", which was ignored before. * Fixed the result-name for the export of 2D images stacks with a given prefix. GrainGeo: * Make "Remove Overlap" with isolation distance or defined overlap work for "Convex Polyhedron" GAD objects. FilterDict: * Updated the Progress Plots selection and fixed the plot shown while the filter life time computation runs. * Fixed that multiplicity was reported as "nan" when no particles of a type were simulated in a batch. * Fixed a bug in the "Cross-Flow Filtration" predefined script where a user defined GPS could not be properly used and where the pressure values for more than two outlets with constant flow-rate at the inlet was not properly considered. * Fixed a bug in the solution based grid refinement during LIR simulation that caused a small pressure drop after the first few batches. MatDict & PoroDict: * Fixed some issues with the post-processing of "1D Statistics": * Removed the geometry file "geometry.gdt", which is not needed anymore. * Write inlet and outlet *.gdt and plot thickness only for methods which compute thickness, inlet and outlet. * Save inlet-outlet *.gdt dependent on direction and method (allow to load all saved files from the result viewer). * Fixed the reported thickness for the "1D Statistics" and improved the corresponding plots. * For the percolation path the reported path length is "nan" now when no through path was found. * Changed misleading name "Min Path Length" used inside of the Geodesic Tortuosity result field. ElastoDict: * Do not write nonphysical values into the fields in *.das files for the pore space (e.g. strain values unequal zero). * Fixed the volume fields when the "Geometry Update" is set to "Size Control". * Fixed wrong mean strain values in the gdr-report for some deformation simulations with mixed boundary conditions. * In the example, the simulation shows wrong strains in the load direction with mixed boundary conditions. The simulation is a path controlled compression. * Fixed bug which resulted in to stiff material responses for shear loads over a thin soft interface material. WeaveGeo: * The option "Add Periodic Copies" does now work properly for all cases. * The exported surface triangulation of the GAD threads is fixed for the regions where the threads are nearly vertical. * Plot of the segment length was added to the result file of the FreeWeave solver. FlowDict: * The off-diagonal entries of the permeability tensor are now exactly zero for symmetric of no-slip tangential boundary conditions. * Added missing units in the "Air Permeability Test (Forchheimer)" report. DiffuDict: * Fixed bug in LIR where the estimated and real memory consumption differed significantly. Now the LIR needs less memory and estimated and real memory consumption agree. BatteryDict: * Closing the battery charging dialog with "Cancel" does not change the constituent materials. * Closing the battery charging dialog with "OK" does not change the selected material laws (e.g. for the mechanics properties). * The electrolytes from the material database are shown only once in the corresponding selector. * Fixed a bug in the periodic boundary conditions of the LIR solver which lead to divergent behavior * Fixed crash when clicking "Edit ..."-button of "Charge Battery" on a Linux operating system. * Fixed that only the first and last CAP file were saved when running a discharging simulation with BLIR. * For constant potential simulation, added missing setting to set the cut-off current. * Fixed some small bugs in the BatteryDict GUI, the result viewer and the video creation. * Enabled changing the electrode type for current collector materials from the material data base. * Improved error message for incorrect material at the obligatory current collector layers. * Fixed bug in the computation of Over-Potentials in the BESTmicro solver where the sum of individual Over-Potentials did not match with the total Over-Potential. * Fixed bug in the computation of Over-Potentials in the LIR solver. * Fixed bug in BatteryDict with periodic boundary conditions where the wrong boundary condition was written into the CAP files. * For batteries without electrolyte, fixed that the ionic conductivity was set to 1 S/m. * Fixed problems of LIR for discharge with constant potential boundary conditions. * Improved checks and report of the new charge half-cell option. * Show proper warning message when a geometry does not contain an electrolyte for the half-cell simulation. * For charging simulations with a complex charging profile the stop button in the progress-dialog stops the simulation now. * Disable the input options for charging simulation, when the checkbox for the "Continue Interrupted Simulation" is checked. #################################################### Notes for the GeoDict 2022 Release (52500) Date: 2021-09-30 (Thu, 30 September 2021) #################################################### ######### Major Improvements ################### * 6 times faster and 30 times more memory efficient simulations of battery charging including porous CBD. * DegraDict GeoApp: Coupling of electro-chemical simulation (BatteryDict) with mechanical simulation (ElastoDict) during battery cycling. * Two more ways of calculating Tortuosity, totaling 15 ways in the Compute Tortuosity GeoApp. * Easy and reliable segmentation of non-infiltrated FIB-SEM images using AI. * New easy access in the GUI to simulate a charging process of a half cell. * Extended two-phase flow capabilities to mixed wettability in SatuDict. * Extended two-phase flow capabilities to the entire contact angle range (0-180°) in SatuDict. * Reduced runtime of permeability computation for complex low permeable digital rocks in FlowDict. * Treatment of coalescence of droplets in fibrous filter media in FilterDict. * Simulation of air purifiers e.g., for classrooms and meeting rooms with FilterDict and AddiDict. * Up to 20 times faster Navier-Stokes flow simulations also for complete filters with housing in FilterDict and FlowDict. * Modeling of bi-component fibers to model varying electrical charges and varying contact angles, e.g. with application for coalescer filter media. * Faster simulation of plasticity and damage in ElastoDict. * Simulation of three-point bending experiments with ElastoDict. * New strut based lattices and triply periodic minimal surfaces in GridGeo. * Model foams with triangular struts and using density as input parameter in FoamGeo. * Improved damage modeling accuracy for composites in ElastoDict. * Statistics of more fiber properties and segmentation by fiber property in FiberFind-AI. * Statistics of more fiber properties and segmentation by fiber property in FiberFind-AI. * Improved AI image segmentation using "Deep Learning". * New GeoDict-AI module to allow easy yet powerful training of customized neural networks. * Easier handling and combination of multiple STL or OBJ files in ImportGeo-CAD. * Fast and robust Excel export via Python. * Free post-processing of all graphs in the result files. * Measure multiple angles and distances in the 2D view. #################################################### ######### Complete List of Changes ############# Base: * The GeoDict installer automatically downloads and installs the GeoDict tools if an internet connection is available. * Main GUI: * Opening GeoDict on a specific screen and moving the GUI to a second screen the font scaling is now correct on the second screen. * The usage of the mouse modes (GAD and voxel selection, drawing, measure) is unified. If selected all modes are available via the left mouse button. * The mouse mode properties are shown in a dog-widget on right side of the GUI. * Added button to dialog to raise the GeoDict main window. * The left-side of the main GUI (status section and modules GUI) is now also retractable. It extends automatically when a new module is selected. * Added options to rotate the structure about its coordinate axis. Camera motion (translation, global and local rotation) can be steered by clicking on the labels in the GUI. * The main GUI remembers now the last module used during the last GeoDict session and shows this module in the module GUI at the next GeoDict start. * GAD Selection: * Allow to directly edit selected GAD objects in the GAD selection dialog. * Voxel Selection: * The selected voxels are recorded into macros with values starting from 1 as it was already shown in the GUI. * Added context menu for the 2D and 3D visualization area: * it allows to easily select and edit voxels, voxel components and GAD objects. * it allows to easily change the domain e.g. use embed and crop. * it allows e.g. to specify what you see in the structure tool-tip. * GDR Viewer: * Added button to GDR result viewer to directly open result files from this dialog. * Add information of the original file name of the structure to the parameter map of the GDR file. * More Plot and Graph Settings. The following settings can now be changed: * Axis Labels * Axis Units with corresponding Unit Factors * Appearance of each Graph in the Plot * Plot Settings now also have preview icons in all menus * Fixed images in HTML report page not showing up. * If one loads the result input-map and the result file contains expert settings the user is warned, that he might not get the same results when he does not set the according expert settings manually. * All memory units in the GDR reports are changed to MiB (Mebibyte): 1 MiB = 1024 KiB = 1024*1024 bytes. * The base units of the plots are SI units now and the scaling is done automatically by the plot widget. * unit suggestions are given in the axis settings dialog * Plots from older result files will be automatically converted to SI base units if changes are made * Also using the CombineGDR will convert all incoming plots to have SI base units * Added the maximal memory usage and total run-time automatically to the end of each report. * Post-processing improvements in the result viewer: * a combo-box with all plot-titles was added to all existing post-processing widgets to allow to directly change their plot settings. * it is possible now to change the settings of the same plot of the same command for multiple loaded *.gdr files at the same time. * some post-processing options regarding the plot settings are removed. This can be done directly with the plots now. * Allow to export a GDR input-map as Python script. * If one does post-processing on multiple GDR files at the same time the post-processing is done on all remaining file even when one file does not work. In this case a warning message is shown at the end. * The GDR files contain now also the information about the structure solid volume fraction in the geometry-map. * The GDR viewer should now be able to read GDRs with very long lines reliably * GUF Editor: * If a structure is cropped: allow to crop all loaded volume fields together with the structure. * Added a template to create empty *.cap files in GeoDict (right-click on Volume Fields). * Allow to change the unit of a volume field via the right-click menu. * With threshold to structure one can now also define two thresholds. * "Compute Metrics": * one can compute now the slice-mean also dependent on material or material ID information. * the spacial correlation length and the field value histogram was added. * Allow to save single volume fields as legacy VTK (*.vtk) per right-click context menu in the status section. * Status-Box: * Add information of the file-name of the currently loaded structure. * GAD-File: * Allow to save a description, similar to GDT files, also in GAD files. This description is displayed in the status box. * All solver GDR result-files and result-folders are allowed to contain special characters like "µ" or "ä" now. * For some modules references are shown in the GUI in the "Equations & References" tab. The references may be links which open the external reference source. * Measurements: * Improved measuring in 2d view. Measurements have a GUI now. Multiple and different measurement are possible at the same time. * The solver MPI parallelization options can now be changed in the GeoDict GUI via the "Parallelization"-tab in the "Settings" dialog. * Process priority for solvers can be set to "below normal" in the "Parallelization"-tab in the "Settings" dialog * This can improve usability on machines with multiple users working working at the same time * The command parameters in the log files are now written as Python dictionaries. * The structure size is now shown in the log file when loading structures or volume fields. It is also shown when using ProcessGeo or LayerGeo commands. * The Qt library was updated to version 5.15 and the long file path manifest was added in Windows. If the support of long path is enabled in Windows this feature is supported now by GeoDict. Licensing: * Removed the geodict_licenses.ini file. A system administrator can now simply place a license in the 'License' sub-folder of the installation folder. * Improved license command-line message and added a description how to install a GeoDict license in command-line mode without graphical user interface. * A user can now release unused floaters while a computation runs. Constituent Material Database: * The option "Edit Material Database ..." is now also available via the GeoDict tool-bar. * The fitting of nonlinear mechanical material laws to measurements is now much faster, because it is now implemented with analytic functions. * Allow to copy an existing material database entry and save it with a new name in the current database. This makes the creation of new materials in the database much easier. * If a material from a loaded structure file does not match the currently loaded material database ask the user if he wants to set the material to Manual or to use the definition in the material database. * Improved handling of "Porous" materials: * The order of the solid and fluid selection is changed in regards to 2021 (one selects the solid part first). * If one selects a "Porous" material the fluid is set automatically to be the chosen fluid. * Allow to show a material specific report of all chosen material properties in the Physics tab with a tool-button behind the material name. It is also possible to show a description text. * The version of the material database file is now shown in the database dialog. If a material database file is saved and converted to a newer version syntax the user is warned and asked if he really wants to convert the file. * If a material database file is updated and saved a back-up of the old file is saved in the database folder (e.g. Air.backup1). * Added command to easily change the temperature for the constituent materials. This command can be used via the context menu of the constituent materials in the status section. Macros and Scripting: * The volume field C++ object is only deleted when no Python memory view onto this field exists, thus a field accessed with gd.getVolumeField(..) still exists. * The RAM usage of every command is now measured and reported in the Log Map. * The option "Convert Macro to Current Version" was removed, because this worked only for *.gmc macros which we do not longer actively support. * A user can define local GeoApps or module predefined scripts. To do this the corresponding script has to be placed in the "GeoApp" folder or a folder with the module name in the users GeoDict settings folder. Such a script will appear in the GeoApp menu. * One can place scripts in the user GeoDict settings folder under GeoApp" or the module name and the scripts will appear as local predefined or GeoApps. * Improved layout of the session macro dialog. * The installed Python packages folders are now handled properly for service packs. The user installed packages are kept and the shipped packages are replaced. * Gray-out cross dependencies when one varies multiple variables in the macro execution dialog. GeoApp: * The script "2D View as Plot" was added to "Easy Image" which allows to save a 2D plot of the loaded structure with Matplotlib (Python library). * More post-processing options for NMR. * A new GeoApp "Identify Fractures" in the "Digital Rock Physics" section is available. This macro analyses the pore morphology and segments the chosen phase into fractures, small and large pores. GeoDexcel: * Redesign the resulting sheet from the generic Excel export. * Add option to export *.gdr result files to Excel via Python, where the result looks similar to the Excel based generic export. With this option the Excel export works also on Linux. * Polar plots are now also shown in the generic Excel export for example the angle dependent stiffness in ElastoDict. Visualization: * New color interpolation modes for 3D volume fields. Interpolation can be restricted to the visible area only or even per material ID. * Color and visibility of text in 3D view mode improved. * White/Black text according to selected background color. * Customizable text now also available in 3D view. * Grid now colored gray, to make it possible to see the paint mode preview. * All GeoDict Logos (2D/3D view) now in better quality and resolution. * The hover tool-tip in the 2D/3D visualization can now be changed from 2 seconds duration to infinite duration. * Allow to save the partial view-status color-bar settings. * Added buttons in the visualization tree to record the current view-status / partial view-status to the current session macro. * The partial view status syntax is now easier: it simply accepts a part-map of the complete view-status. * Added option to visualize arrow fields with normalized arrow size, which means that all arrows have the same size. * Particle visualization: * allow to set the color of the visualized particles according to their batch ID (color is interpolated between blue and red). * it is possible now to reduce the number of selections in the custom particles dialog. * Particles are rendered using the global light position. * Improved smooth structure renderer threshold value so that planes with a thickness of 1 voxel do not vanish in the visualization. * Streamlines have a deterministic order also for exporting in ExportGeo-CAD. Video: * The key-frame video generation will now produce a *.gdr result file. * Refactoring and improvements of the key-frame video dialog: * all video parameters are available in one dialog now (has been two before). * the x-axis has now also time in seconds instead of simply the frame number. * the preview plays with the given frames per seconds. * all important features in the dialog are available with one click and the dialog is more intuitive to use. * an auto-save option was added to directly save all changes as start-up settings. * the time is now visible in the time-line not only the number of frames. * 'unroll to python' will now produce two python macro files to make it easier to read * one contains the list of view status changes, also using partialViewStatus makes the file much shorter * the other file contains the main loop and macro execution * Improved key-frame video interpolation: * improved smooth interpolation with cubic splines. A spin-box was added to adjust the spline slope. * interpolate selected properties was added to the dialog context menu. GeoLab: * The GeoLab examples are cleaned up. * GMC macros in GeoLab have been replaced by python macros * GMC usage in GeoLab is not recommended any more and has been marked 'deprecated' * Fixed GeoLab help not working correctly on some systems ProcessGeo: * Crop allows now to automatically crop all the slices around a structure which contain only pore voxels. * Improved permutation option for GeoDict structures: * It is possible now to also rotate the geometry 90° clockwise and anticlockwise about all three coordinate axis. * All operations keep the analytic object data GAD now. * Speedup of about 50-60% for cleanse filter. EditGeo: * Allow to directly draw straight lines. GadGeo: * The new grain type "Superquadric Particles" was added as GAD object. * The single GAD objects can now have more than one material ID. The available material ID models at the moment are "Constant", "Stripes", "Spherical Stripes", "Radial Stripes", "General Stripes" and "Sub-Object Mapping". * The object material ID models can be changed with the option "Change Material ID Model". * One can e.g. create combined objects where each sub-object has a different material ID. FiberGeo: * A stop button was added to "Create" and "Pile" of fibers. If one stops the structure generation the desired stopping criterion is probably not reached. * If the maximal run-time is reached for the creation of fibers this is shown in the result file report. PaperGeo: * Use the material database density in "Add Filler" when possible. * A stop button was added to "Create Cellulose Fibers". If one stops the structure generation the desired stopping criterion is probably not reached. * If the maximal run-time is reached for the creation of fibers this is shown in the result file report. GrainGeo: * "Roughen Surface" allows now to preserve the solid volume percentage when "Stochastic Roughness" is used. * The new grain type "Superquadric Particles" was added as GAD object. * The object type convex polyhedron has now the option to match the volume of the enclosing object. * A stop button was added to "Create" and "Pile" of grains. If one stops the structure generation the desired stopping criterion is probably not reached. * The archived orientation for convex polyhedra, spheres and hollow spheres is reported in the result file report. * If the maximal run-time is reached for the creation of objects this is shown in the result file report. WeaveGeo: * Allow to enter the lateral deformation as percentage of pitch for the standard one layer weaves. * FreeWeave: * Allow to copy / paste the binding tables to and from the clip-board (so e.g. tables edited with Excel can be copied into GeoDict). * Added +1/-1 button to quickly in/decrease all binding matrix values at once. FoamGeo: * Report the total solid volume percentage (SVP), the strut SVP, the cell wall SVP and the cell walls / struts SVP ratio in the result file. * Allow to specify the SVP (SVP and cell wall / struts SVP ratio) of the final foam structure as stopping criterion. * Reduce the runtime for the foam creation by running the first creation steps with a coarser resolution when possible. * Allow to create foams with triangular struts to model more realistic foam structures. * Allow to model strut thinning based on the strut length. * The strut length distribution table and histogram plot is added to the result file. * The faces area distribution table and histogram plot is added to the result file. GridGeo: * Added 20 strut-based lattices to the predefined section (from article "Architected cellular materials: A review on their mechanical properties towards fatigue-tolerant design and fabrication"). * Added predefined script to create "Triply Periodic Minimal Surfaces" in Cartesian and cylinder coordinates. GadGeo: * Images for short fibers in "Create / Add GAD Objects ..." are updated to better explain the geometry parameter. PleatGeo: * Option to save *.gad files and *.gof files was removed from the PleatGeo command as this can be done using separate commands in GadGeo. ImportGeo-VOL: * All the global thresholding methods are available as separate entries in the image processing dialog under "Image Segmentation". * Multi-Phase Segmentation: * improved estimation of ranges using the k-means algorithm. * improved range selection for the "Multi-Phase Segmentation". Now it is clear to which range a selected value belongs. * AI Segmentation: * show information about labels in an additional plot. * allow to continue training of an existing neuronal net. * added button to clear existing labels. ImportGeo-CAD: * Improved macro syntax which allows now to automatically import based on a voxel length or number of voxels. * Added an option to import a mesh and add it to the already loaded mesh. * Allowed to choose material IDs and materials independently. * The constituent material information is read from imported *.obj files if they are included in the files. FiberFind: * Identify Fibers: * Added possibility to segment fibers depending on a range of fiber properties and get statistics for each of the resulting classes * Added layer plots of fiber properties to analyze variations or gradients through layered media * Improved post-processing with number of of bins for all histogram. * Improved fiber re-connection only if center-lines are connected by solid material (option can be disabled via expert setting). GeoDict-AI: * Added object-type pre-processing method selection to "Train Neural Network" command * For identifying fibers, the user-provided structure generation script becomes much simpler * Script only needs to generate a single fiber structure * Added "Design of Experiments" sub-command to GeoDict-AI * Allows to select a user-defined structure generation script * Specify a range and method of variation for script parameters (random or pseudo-uniform) * Produces CSV file with parameter table which can be easily edited * Also produces a report showing histograms to verify uniformity of parameter value distribution * Made "Generate training data" take the CSV file from "Design of experiments" * One structure is generated for each row in CSV file * GeoDict-AI is delivered with a default neural net which can be used in "Apply Neural Network". MeshGeo & ExportGeo-CAD: * Use of smoothing groups in the exported *.obj files to allow for better visualization of the meshes. * Allow to repair a loaded mesh: at first fix folded triangles. * Allow to create a 3D voxel image from a loaded surface mesh via right-click in the status section and via the MeshGeo GUI. * The constituent material information was added to the exported *.obj files. * A basic mesh editor for loaded meshes was added (context menu of "Surface Triangulation" in the status section): * allows to delete selected meshes. * allows to reassign the material ID of selected meshes. * allows to shift selected meshes. * allows to scale selected meshes. BatteryDict: * It is now possible to compute battery properties with porous binder also with the fast and memory efficient Battery-LIR solver. * Now the plot of the different contributions to the overpotential is always created. Therefore, the respective expert setting "CalcOverpotContributions" from GeoDict2021 is not functional any more. * The convergence speed of the Battery-LIR solver is improved and is now around 50% faster compared to the GeoDict2021 version of the solver. * Charging/Discharging simulations can start now from not-equilibrium state solution, for example created by a former Discharging/Charging simulation. * The Battery-LIR solver is now able to charge or discharge batteries with a constant potential difference and this boundary condition is applied when the cut-off voltage feature is used. * Added cut-off voltage to the Battery-LIR solver. * It is now possible to directly perform half-cell battery charging simulations on a geometry created e.g. with GrainGeo. For such a simulation it is not required to design a complete battery cell. * The following plots are added to the *.gdr result file of a charging simulation: * "Cell Potential over Cell Capacity Density". * "Cell Capacity Density over Time". * Allow to specify complex multi-step "Charging Profiles" in a battery charging simulation. The single steps can be charging or discharging with different boundary conditions. * The diffusive and ohmic overpotentials in the electrolyte and in the electrodes are computed and added as plots to the charge battery result files. * The Battery-LIR solver now writes meaningful values for unconnected materials into the CAP files DiffuDict: * The information about the maximal memory usage for each direction is added to the *.gdr file report. * Show relevant references in the corresponding tab in the DiffuDict dialog. * Show relevant equations in the corresponding tab in the DiffuDict dialog also for Knudsen diffusion. * The layered average diffusion flux and its standard deviation is now shown as plot in the result file. * Fixed Bug in percolation path check for structures with more than 65535 per direction. * Mirroring is not needed any more for EJ with symmetric boundary condition in computational direction so that the runtime and memory are reduced. * Added predefined script to perform concentration-dependent diffusion simulations. ConductoDict: * EJ uses GufLib to read G32 file * Solver automatically adjusts to sequential if parallel solver not preferable. * Show relevant references in the corresponding tab in the ConductoDict dialog. * The layered average heat flux or current density and its standard deviation is now shown as plot in the result file. * The reference material for the formation resistivity factor can now be changed in the post-processing to any material ID (was always material ID 0 before) * Mirroring is not needed any more for EJ with symmetric boundary condition in computational direction so that the runtime and memory are reduced. FlowDict: * The solver choice of LIR, SimpleFFT, or EJ is moved from the FlowDict module GUI to the solver options dialog into the solver tab. * The number of FlowDict menu entries is reduced from seven to four entries (Stokes(-Brinkman), Navier-Stokes(-Brinkman), Forchheimer Approximation, Predefined). * The solver is chosen in the solver tab similar to ConductoDict, DiffuDict, or SatuDict. * The LIR solver can now be used the the BiCGstab solution (Krylov) method that was already available in BatteryDict and ConductoDict. * The new solver method is used automatically but can also be explicitly enabled or disabled under the option "Use Krylov Method" in the solver tab. * The new method is very fast for structures with porous materials with large voxel lengths and small permeabilities. * It is also very fast for VinPout boundary conditions when solving Navier-Stokes. * The Krylov method needs about two to three times more memory compared to the standard solver method. * It can be combined with Multigrid methods. * Forchheimer Approximation: * Post-processing option to change the pressure unit from Pa to bar is available. * The pressure of interest is highlighted. * FilterDict-Efficiency flow result can be used as restart file for FlowDict. * Show relevant references in the corresponding tab in the FlowDict dialog. * The layered average velocity and its standard deviation is now shown as plot in the result file. ElastoDict: * Simulate nonlinear mechanical problems with the CG method ("Fletcher Reeves" method). This strongly reduces the run-time for nonlinear simulations, but needs more memory than the "Neumann Series" method. * The new Option "Flexural Test (FeelMath-LD)" is available: * Simulate a three-point flexural test for the chosen material. * Compute the flexural deflection for a given flexural force, or vice versa. * Compute the maximal strain and stress at the surface of the sample. * COmpute the flexural modulus of the chosen material. * Allow to specify anisotropic thermal expansion for any anisotropic UMAT. * Allow to write down-sampled fields also for the LD case. This option does not work for "Deformed Solution Files". * Provide formulas and parameter descriptions in the "Equations"-tab in the ElatoDict dialog. * The fitting of nonlinear mechanical material laws to measurements is now much faster, because it is now implemented with analytic functions. * UMATs for small deformations (without geometric non-linearity) work now also for large deformations (with geometric non-linearity). In this case the Hencky strain is used. * Add the references in the "Equations & References" tab. * Allow to choose the down-sampling factor. In GUI the values 2 and 4 are allowed. * In cases where only linear isotropic constituent materials are used the doubly fine material grid is automatically used. In this way one gets better local solutions (e.g. better symmetry). * Material law fitting to experiment improvements: * it is now also possible to fit a linear elastic material law to a measurement. * additional checks for the measurement-curve before the fitting is done (e.g. for a shift of the first point). * it is now allowed to restrict the strain-range of a measurement which is used in the material law fit. * the plot of the fitted material law is now added to the GDR of the fit CMD. * Deformations (FeelMath-LD): * Allows now to track object sharp deformations during e.g. a compression simulation. The object information is provided by GAD data or a *.g32 file. In this way one can track how single objects are deformed and if new contacts between objects occur. * Allow now to keep the gray-value geometry information during the deformation with "On Deformed Geometry" to get a better results for the updated geometries. * All the geometry related options are moved to a separate tab in the ElastoDict dialog. * The deformed geometry and fields are now saved as boxel *.das , *.gdt and *.g32. When they are loaded in GeoDict they are converted to a voxel image. In this way the FeelMath solver writes more accurate results. * With the boxel *.das and *.gdt the restart is now also possible with "On Deformed Geometry". * If one saves the deformed geometry one can additionally save the volume fraction information per material ID into the *.das file. In this way one gets a more accurate information about the deformation. * Effective Stiffness (FeelMath-VOX): * Allow to use symmetric boundary conditions for shear load cases and the thermal load case. AddiDict + FilterDict: * Added more post-processing options for FilterDict: * Layered volume fractions plot. * Deposition zone analysis. * Copy&Paste work for particle distribution table. * Particle distribution is now denoted via diameter rather than radius in all input maps. FilterDict: * Can select multipass experiments also for Filter Element and Complete Filter simulations. * Allow more options for saving Output files, such as "Keep none" for volume field files and "Keep every nth" for trajectories. * Equations and References table added to solver dialog. * Show extra plot during simulation: * pressure drop / velocity vs. deposited dust. * efficiency plot (for filter media). * The particles color of a filtration simulation can be set according to the batch ID (color is interpolated between blue and red). * Fixed a bug in filter media life time simulations that appeared when using the Pass Through model: voxels are now treated as solids when completely filled by a large particle. AddiDict: * Show relevant equations and references in the corresponding tab in the AddiDict dialog. * Additional choices of the flow boundary conditions e.g. "symmetric". SatuDict: * Three new predefined script are available in SatuDict for forced imbibition: * Forced Imbibition - Capillary Pressure.py: This script predicts a capillary pressure hysteresis cycle with primary drainage simulation, spontaneous and forced imbibition, and spontaneous and forced drainage simulation. * Forced Imbibition - Relative Permeability.py: This script performs relative permeability computations for mixed wettability imbibition results obtained via Forced Imbibition macro. * Forced Imbibition - Load Structure.py: This script adjusts material IDs and material colors to ForcedImbibition script defaults upon loading geometries (*.gdt). * Speedup of about 20-30% for SatuDict, depending on mode/structure (for the whole SatuDict execution). * The pore radius shown in the capillary pressure report is now changed to diameter. * The Thomeer fit model can now be computed on mercury intrusion capillary pressure simulations (or drainage experiment without residual phase). * The Thomeer fit consists of three model parameters: unresolved (or hidden) porosity, displacement pressure, and the pore geometrical shape factor. * The fit parameters are shown in the capillary pressure report as table and the curve is shown in the plot section in addition to the computed capillary pressure curve. * The capillary pressure post-processing now has an invert check-box that allows to invert the saturation axis in the plots PoroDict & MatDict: * In "MatDict" for "2D Density Map" the resulting 2D map is also saved in the *.gdr file result map (before it was only saved in the plot). * Allow to compute a more accurate "Geodesic Tortuosity" with the option "Optimize Paths". This adds a post-processing step removing the stair-case pattern artifacts in the paths and thus leads to more accurate results. * Allow to compute a more accurate "Percolation Path" with the option "Optimize Path". This adds a post-processing step removing the stair-case pattern artifacts in the paths and thus leads to more accurate results. * Improved the algorithm for 1D Statistics. The post-processing allows now the re-computation with different methods. AcoustoDict * In the database, "Predict Compression" only works correctly for materials within a ceratin permeability range. This range has now been enlarged by two orders of magnitude. ####################################################