We are happy to announce the release of OpenGeoSys 6.4.1!
Links
Overview
This release features the implementation of the ThermoHydroHydroMechanical (TH2M
) fully coupled process. The process is intended for modeling twocomponent twophase flow in deformable porous media under nonisothermal conditions. Testing is in progress and development continues, so handle with care or wait a little longer until it got more refined.
Another new process, the StokesFlow process, is mainly used for simulating the lowReynoldsnumber incompressible flow in fractures. The Stokes equations are solved using the standard TaylorHood scheme. Additionally including the Darcy term in the momentum balance equations, the StokesFlow
process module is capable of modeling the fluid flow in fractured porous media.
The local assembly on inclined elements, which can be used to simulate the fluid low in fracture, are implemented. As a first application, LiquidFlow is enabled to use such local assembly.
Also work continued on new material models, e.g. the Günther Salzer model for transient and stationary rock salt creep, an improved HDF5based output file handling which allows for parallel postprocessing as well as the introduction of a first iteration of a Jupyter Notebook based user workflow. Stay tuned for more on interactive computing in future releases.
New processes
TH2M
A thermal twophase flow in deformable solid media process.

!3588 Added an infrastructure for the TH2M Process that handles different models of phase transitions.

!3550 Monolithic scheme implementation using central differences Jacobian.

!3656 Collect all constitutive variables updates in single function.

!3684 HM flowfullysaturated tests; liquid and gas formulations.

!3759 Restart; integration point data I/O.

!3763 Extract constitutive variables.

!3762 Excavation. Enable domain deactivation.

!3777 Switch to constant solid volume fraction

!3767 Implement partial analytical Jacobian, working for saturated media.

!3802 Gas and liquid phase density output directly from ip_data array.
Stokes flow

!3617 Monolithic scheme implementation.

!3658 Documentation

!3668 Extended to StokesBrinkman variant.
Process’ changes

!3583 THM and TRM process need a thermal conductivity property on the medium level

!3561 Excavation support for coupled mechanics processes and Dirichlet boundary conditions on the excavated surfaces were added.

!3580 [THM] Replaced total thermal strain with incremental thermal strain

!3742 [THM] Adding integration point output for stress and strain and a restart test.
!3706 Separate createLocalAssemblers respectively for BC/Source term and system of equations.
PhaseField

!3749 added constrained minimisation to the phasefield solution scheme.

!3779 added AT1 regularisation of the total energy (see (https://link.springer.com/content/pdf/10.1007/s1313701901266.pdf) for details).
ThermoRichardsFlow
 !3419 added ThermoRichardsFlow process with optional corrections for solid elasticity under simplified assumptions (see Improved predictions of thermal fluid pressurization in hydrothermal models based on consistent incorporation of thermomechanical effects in anisotropic porous media for details)
Component transport process / reactive transport process with coupling of Phreeqc

!3695 Enabled to input the amount of ion exchangers in subdomains via the MaterialPropertyLib

!3648 Added capability to model ion exchange reactions.

!3563 Added optional functionality for chemically induced porosity change.

!3567 Added optional functionality for irreversible equilibrium reactions to the ChemistryLib.

!3721 Provided a simple means of considering temperature effect on the diffusive transport process.

!3744 Allowed chemical calculations by means of the lookup table approach.

!3781 Solved the reaction equation in the reaction stage instead of doing extrapolation from integration points onto mesh nodes.

!3810 Incorporate the effect of change of storage capacity.
HeatTransportBHE
 !3793 Add server communication feature after each time step
HydroMechanics
 !3607 Simulation on a vertical slice of a 3D domain.
LIE

!3672 Use the existing class to compute the rotation matrix in LIE, which also corrects the orientation of the displacement jump.

!3676 Corrected the velocity and its orientation in the fracture.

!3834 Corrected matrix sizes in velocity computation.
LiquidFlow process

!3610 Use specific body force instead of darcy_gravity. Users LiquidFlow project files has to be adapted!

!3623 Use body force vector in the local assembler.

!3632 Add local assembly in inclined elements for simulating flow in fracture.
Richard’s component transport process
Richard’s mechanics process

!3574 Extend integration point data output to solid material state internal variables used by e.g. MFront. This makes correct restart possible.

!3690 Local NewtonRaphson: add optional scaling for convergence tests, which is used in the computation of microporosity.
SmallDeformation
 !3683 Use the element wise reference temperature.
ThermoMechanics
 3738 Fixed integration point (IP) data IO for restart computation.
ThermoRichardsMechanics and ThermoHydroMechanics

!3583 THM and TRM process need a thermal conductivity property on the medium level

!3758 THM/TRM; Add heat flux output. Corrected HydraulicFlow.

!3611 TRM; Include the thermal strain into total mechanical strain.

!3714 Replaced the hard coded solid density model in THM with the MPL property. With changes, the input parameter of
reference_temperature
is removed.
Enabled integration point data I/O in THM
Material models

!3572 IdealGasLaw now uses molar mass from VariableArray rather than from another MPLProperty.

!3579 New saturationcapillary pressure relation, SaturationExponential, mainly for testing and prototyping purposes.

!3546 Implementing medium level property to mix thermal conductivities from phases.

!3599 Added orthotropic embedded fracture permeability model

!3640 A Function type MPL property using exprtk, similar to the Function type parameter. All scalar variables from VariableArray can be used.

!3721 Added temperature dependent model for molecular diffusion.

!3745 New stationary creep model for rock salt.

!3747 The damagefree version of the Günther Salzer model for transient and stationary rock salt creep.
Numerics
 !3676 Dropped the rotation of the shape function gradients. These changes also correct the velocity and its orientation in the fracture.
Data Explorer
 !3578 Elevation of station data can be mapped based on meshes or rasters
Testing

!3586 Modular project files by patching a base project file with multiple patch files with syntax for adding, removing and modifying parts of the base. The selection is done via XPath expressions.

!3664 First implementation of a code coverage visualization.
Bug fixes

!3615 Bug fixing in EffectiveThermalConductivityPorosityMixing: Avoided the porosity calculation

!3566 Fixed a bug in NodalSourceTerm when the TaylorHood elements are used.

!3682 Fixed the output of phase compositions in TH2M process

!3585 Use correct saturatation for swelling stress update in output of the RichardsMechanics process.

!3652 Fixed a MFront related bug in HydroMechanics.

!3756 Speedup Dirichlet BCs for deactivated subdomains avoiding costly reallocations.

!3788 Use local topology information while removing global numbering dependencies in Mesh. Resolves base node id larger then higher order node id warning.

!3797 Refactored material ID list parser, prevents some (unlikely) bugs with malformed prj files.

!3816 Fix BrooksCorey saturation derivative.

!3834 Fixed an Eigen matrix size related bug in LIE, which sporadically causes LIE benchmark failed on Mac OS.
CMake

!3592 Added build and test presets.

!3624 Job pools for Ninja: optimizes build parallelization (full cores for everything but processes, processes depend on available memory)

!3671 Integrate tfel with
ExternalProject_Add()
instead of Conan. 
!3687 Qt is not handled by Conan anymore! Use aqt to install it on your system.

!3698 Moved LIS dependency from Conan to ExternalProject.

!3727 Added support for ccache on Windows, dropped clcache.

!3707 CMake test presets, requires CMake 3.21.
Infrastructure

!3555 and !3835 Clangformat all of the code base. Thriving for consistency.

!3562 Added threshold for Doxygen warnings (16).

!3570 Enabled compiler warnings for executables.

!3622 Correct naming of private data members using trailing underscore.

!3671 Enabled mfront on CI mac job.

!3712 Added library dependency reports to Doxygen documentation. Added Lizard code complexity report to Doxygen CI job as a build artifact.

!3720 Added clangformat check in precommit.

!3751 OGS binaries are now in the
PATH
in the container environment. Execution viaapp ogs
is not required anymore. 
!3761 CI now runs with Pipelines for merged results. Also switched to
git clangformat
instead ofclangformat
. 
!3776 Added predefined container with Jupyter Notebook, ogs and Python tools.
File I/O

!3598 Time is additional dimension HDF5 output data  allows slicing with h5py

!3604 HDF5 can now contain multiple meshes (boundary conditions) and an attribute “times” with time step values for each step

!3764 HDF5 can now be written to multiple files. The number of files can be adapted to allow different I/Opatterns (1fileperprocess, singlefile, 1filepernode).
Version info

!3647 MFront based on TFEL branch rliv3.4

!3757 Conan 1.34.0 (optional)

!3707 CMake presets require CMake 3.21.