This release features the implementation of the Thermo-Hydro-Hydro-Mechanical (
TH2M) fully coupled process. The process is intended for modeling two-component two-phase flow in deformable porous media under non-isothermal 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 low-Reynolds-number incompressible flow in fractures. The Stokes equations are solved using the standard Taylor-Hood 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 HDF5-based 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.
A thermal two-phase flow in deformable solid media process.
- !3588 (merged) Added an infrastructure for the TH2M Process that handles different models of phase transitions.
- !3550 (merged) Monolithic scheme implementation using central differences Jacobian.
- !3656 (merged) Collect all constitutive variables updates in single function.
- !3684 (merged) HM flow-fully-saturated tests; liquid and gas formulations.
- !3759 (merged) Restart; integration point data I/O.
- !3763 (merged) Extract constitutive variables.
- !3762 (merged) Excavation. Enable domain deactivation.
- !3777 (merged) Switch to constant solid volume fraction
- !3767 (merged) Implement partial analytical Jacobian, working for saturated media.
- !3802 (closed) Gas and liquid phase density output directly from ip_data array.
- !3617 (merged) Monolithic scheme implementation.
- !3658 (merged) Documentation
- !3668 (merged) Extended to Stokes-Brinkman variant.
- !3583 (merged) THM and TRM process need a thermal conductivity property on the medium level
- !3561 (merged) Excavation support for coupled mechanics processes and Dirichlet boundary conditions on the excavated surfaces were added.
- !3580 (merged) [THM] Replaced total thermal strain with incremental thermal strain
- !3742 (merged) [THM] Adding integration point output for stress and strain and a restart test. !3706 (merged) Separate createLocalAssemblers respectively for BC/Source term and system of equations.
- !3749 (merged) added constrained minimisation to the phase-field solution scheme.
- !3779 (merged) added AT1 regularisation of the total energy (see (https://link.springer.com/content/pdf/10.1007/s13137-019-0126-6.pdf) for details).
- !3419 (merged) added ThermoRichardsFlow process with optional corrections for solid elasticity under simplified assumptions (see Improved predictions of thermal fluid pressurization in hydro-thermal models based on consistent incorporation of thermo-mechanical effects in anisotropic porous media for details)
Component transport process / reactive transport process with coupling of Phreeqc
- !3695 (merged) Enabled to input the amount of ion exchangers in subdomains via the MaterialPropertyLib
- !3648 (merged) Added capability to model ion exchange reactions.
- !3563 (merged) Added optional functionality for chemically induced porosity change.
- !3567 (merged) Added optional functionality for irreversible equilibrium reactions to the ChemistryLib.
- !3721 (merged) Provided a simple means of considering temperature effect on the diffusive transport process.
- !3744 (merged) Allowed chemical calculations by means of the look-up table approach.
- !3781 (merged) Solved the reaction equation in the reaction stage instead of doing extrapolation from integration points onto mesh nodes.
- !3810 (merged) Incorporate the effect of change of storage capacity.
- !3793 (merged) Add server communication feature after each time step
- !3607 (merged) Simulation on a vertical slice of a 3D domain.
- !3672 (merged) Use the existing class to compute the rotation matrix in LIE, which also corrects the orientation of the displacement jump.
- !3676 (merged) Corrected the velocity and its orientation in the fracture.
- !3834 (merged) Corrected matrix sizes in velocity computation.
- !3610 (merged) Use specific body force instead of darcy_gravity. Users LiquidFlow project files has to be adapted!
- !3623 (merged) Use body force vector in the local assembler.
- !3632 (merged) Add local assembly in inclined elements for simulating flow in fracture.
Richard's component transport process
Richard's mechanics process
- !3574 (merged) Extend integration point data output to solid material state internal variables used by e.g. MFront. This makes correct restart possible.
- !3690 Local Newton-Raphson: add optional scaling for convergence tests, which is used in the computation of micro-porosity.
- !3683 (merged) Use the element wise reference temperature.
- !3738 (merged) Fixed integration point (IP) data IO for restart computation.
ThermoRichardsMechanics and ThermoHydroMechanics
- !3583 (merged) THM and TRM process need a thermal conductivity property on the medium level
- !3758 (merged) THM/TRM; Add heat flux output. Corrected HydraulicFlow.
- !3611 (merged) TRM; Include the thermal strain into total mechanical strain.
!3714 (merged) Replaced the hard coded solid density model in THM with the MPL property. With changes, the input parameter of
- !3718 (merged) Enabled integration point data I/O in THM
- !3572 (merged) IdealGasLaw now uses molar mass from VariableArray rather than from another MPL-Property.
- !3579 (merged) New saturation-capillary pressure relation, SaturationExponential, mainly for testing and prototyping purposes.
- !3546 (merged) Implementing medium level property to mix thermal conductivities from phases.
- !3599 (merged) Added orthotropic embedded fracture permeability model
- !3640 (merged) A Function type MPL property using exprtk, similar to the Function type parameter. All scalar variables from VariableArray can be used.
- !3721 (merged) Added temperature dependent model for molecular diffusion.
- !3745 (merged) New stationary creep model for rock salt.
- !3747 (merged) The damage-free version of the Günther Salzer model for transient and stationary rock salt creep.
- !3676 (merged) Dropped the rotation of the shape function gradients. These changes also correct the velocity and its orientation in the fracture.
- !3578 (merged) Elevation of station data can be mapped based on meshes or rasters
- !3586 (merged) 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 (merged) First implementation of a code coverage visualization.
- !3615 (merged) Bug fixing in EffectiveThermalConductivityPorosityMixing: Avoided the porosity calculation
- !3566 (merged) Fixed a bug in NodalSourceTerm when the Taylor-Hood elements are used.
- !3682 (merged) Fixed the output of phase compositions in TH2M process
- !3585 (merged) Use correct saturatation for swelling stress update in output of the RichardsMechanics process.
- !3652 (merged) Fixed a MFront related bug in HydroMechanics.
- !3756 (merged) Speedup Dirichlet BCs for deactivated subdomains avoiding costly reallocations.
- !3788 (merged) Use local topology information while removing global numbering dependencies in Mesh. Resolves base node id larger then higher order node id warning.
- !3797 (merged) Refactored material ID list parser, prevents some (unlikely) bugs with malformed prj files.
- !3816 (merged) Fix Brooks-Corey saturation derivative.
- !3834 (merged) Fixed an Eigen matrix size related bug in LIE, which sporadically causes LIE benchmark to fail on Mac OS.
- !3592 (merged) Added build and test presets.
- !3624 (merged) Job pools for Ninja: optimizes build parallelization (full cores for everything but processes, processes depend on available memory)
!3671 (merged) Integrate tfel with
ExternalProject_Add()instead of Conan.
- !3687 (merged) Qt is not handled by Conan anymore! Use aqt to install it on your system.
- !3698 (merged) Moved LIS dependency from Conan to ExternalProject.
- !3727 (merged) Added support for ccache on Windows, dropped clcache.
- !3707 (merged) CMake test presets, requires CMake 3.21.
- !3555 (merged) and !3835 (merged) Clang-format all of the code base. Thriving for consistency.
- !3562 (merged) Added threshold for Doxygen warnings (16).
- !3570 (merged) Enabled compiler warnings for executables.
- !3622 (merged) Correct naming of private data members using trailing underscore.
- !3671 (merged) Enabled mfront on CI mac job.
- !3712 (merged) Added library dependency reports to Doxygen documentation. Added Lizard code complexity report to Doxygen CI job as a build artifact.
- !3720 (merged) Added clang-format check in pre-commit.
!3751 (merged) OGS binaries are now in the
PATHin the container environment. Execution via
--app ogsis not required anymore.
- !3755 (merged), !3757 (merged) Initial Apple ARM (M1) support.
!3761 (merged) CI now runs with Pipelines for merged results. Also switched to
git clang-formatinstead of
- !3776 (merged) Added predefined container with Jupyter Notebook, ogs and Python tools.
- !3598 (merged) Time is additional dimension HDF5 output data - allows slicing with h5py
- !3604 (merged) HDF5 can now contain multiple meshes (boundary conditions) and an attribute "times" with time step values for each step
- !3764 (merged) HDF5 can now be written to multiple files. The number of files can be adapted to allow different I/O-patterns (1-file-per-process, single-file, 1-file-per-node).