Overview
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.
New processes
TH2M
A thermal two-phase 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 flow-fully-saturated 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 Stokes-Brinkman 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
ThermoRichardsFlow
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 look-up 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
- !3606
!3614
Employ MPL in 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 Newton-Raphson: add optional scaling for convergence tests, which is used in the computation of micro-porosity.
- !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.
- !3718
Enabled integration point data I/O in THM
Material models
- !3572
IdealGasLaw now uses molar mass from VariableArray rather than from another MPL-Property.
- !3579
New saturation-capillary 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 damage-free 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 Taylor-Hood 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 Brooks-Corey 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
Clang-format 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 clang-format check in pre-commit.
- !3751
OGS binaries are now in the
PATH in the container environment. Execution via --app ogs is not required anymore.
- !3755
, !3757
Initial Apple ARM (M1) support.
- !3761
CI now runs with Pipelines for merged results
. Also switched to
git clang-format instead of clang-format.
- !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/O-patterns (1-file-per-process, single-file, 1-file-per-node).
Version info