Verified Commit 5a6913ec authored by Lars Bilke's avatar Lars Bilke
Browse files

[release] 6.4.0

parent 7410f5e4
# Unreleased
[Please see the wiki-page](
[Please see the wiki-page](
# 6.4.0
[Changelog for OpenGeoSys 6.4.0](
# 6.3.3
[Changelog for OpenGeoSys 6.3.3](
......@@ -21,6 +21,7 @@
* The documentation for OGS releases can be found here:
* -
* -
* \section useful_links Useful links
......@@ -29,5 +29,5 @@ OpenGeoSys is distributed under the Modified BSD License. See the
/v6.3.3 301
/v6.3.3/* 200!
/v6.4.0 301
/v6.4.0/* 200!
date = "2020-12-18T14:30:13+01:00"
title = "OpenGeoSys 6.4.0"
tag = "6.4.0"
author = "Lars Bilke"
release_date = "2020-04-01"
binary = [
container = [
note = """
**Note:** When using Python bindings make sure to have Python installed on your system:
- Windows: [Python 3.7.2](
The current release forms the basis for the upcoming TH2M process and further extension of the newly implemented non-isothermal Richards mechanics.
The highlights of this release are collected in the overview with details below.
## Overview
The reactive transport process and its Phreeqc interface were enhanced: extended the porosity interface and provide two ways of calculating solid/liquid ratio.
Many new material models were implemented including the Clausius-Clapeyron vapor pressure, the Somerton's thermal conductivity, the FEBEX and PMQ type vapour diffusion, a water vapour density property, and a linear latent heat of water property.
A new process – the non-isothermal Richards mechanics – was implemented and extends our ability for complex thermo-hydro-mechanical interaction simulations further.
The simpler Richards mechanics process was enhanced by a double structure porosity model, which has been used for simulations with Bentonite. And finally, modelling of the excavations got a fine-grained time control over the excavation progress.
The development and continuous integration environment was enhanced with automated spell-checking of code and documentation and a collection of code coverage metrics for the merge requests. Code has be become more consistent in formatting by using the clang-format and cmake-format tools. Most of the third-party libraries, which are required for certain OGS configurations, are now managed by a more integrated approach using CPM – the CMake Package Manager – instead of git submodules and Conan packages. We may phase out Conan for package management in the future but at the moment there are still Conan packages in use, most notably Qt and PETSc.
We implemented a release branch with bug fixes workflow, see [#3093]( and the [Discourse announcement](
## Features
- [!3549]( Adapted license wording to fully conform to BSD 3-clause license.
### New processes
- [!3166]( Non-isothermal Richards mechanics (monolithic scheme).
### Process' changes
#### Component transport process / reactive transport process with coupling of Phreeqc
- [!3326]( Hide chemical solver interface inside the ComponentTransportProcess.
- [!3358]( Utilize MPL for the setup of chemical system.
- [!3362]( Update porosity accessing interface in support of incremental model type in ComponentTransportProcess.
- [!3467]( Replaced molecular diffusion with pore diffusion in ComponentTransportProcess.
- [!3364]( Rename reactant amount as molality.
- [!3372]( [!3490]( [!3507]( Set solid/liquid ratio according to solid volume fraction, porosity and fluid density.
#### Common process' changes
- [!3325]( Include swelling stress into total strain. Fixing effective stress usage.
- [!3355]( Improve generic interface for setting initial conditions.
- [!3538]( Time dependent excavation. Extending time intervals to time curves.
#### Hydro mechanical processes
- [!3405]( [!3441]( Add double structure model to RichardsMechanics process using micro-saturation model and compatible with swelling.
- [!3429]( Use MPL in ThermoMechanics.
- [!3459]( Changed the strain and stress output in HydroMechanics.
- [!3477]( [!3503]( Fix a bug in RichardsMechanics where the initial stress was ignored when using central differences Jacobian.
- [!3498]( Permeability, porosity, storage, and transport porosity are now medium properties in RichardsMechanics.
- [!3114]( Permeability, storage, Biot coefficient, and porosity are now medium properties in ThermoHydroMechanics, HydroMechanics and RichardsFlow.
#### Boundary condition
- [!3531]( Separate time dependent Dirichlet boundary conditions and subdomain deactivation boundary conditions.
#### Numerics
- [!3422]( Improving numerical stability in RM and TRM by using secant derivative of dS_L_dp_cap in local assembler.
- [!3431]( Local Newton-Raphson methods supports increment tolerance additionally to the residuum tolerance now. Previously used `error_tolerance` tag is deprecated.
- [!3468]( Update PETSc SNES solver and add interface for constraint variables.
#### Parameter
- [!3342]( New parameter type "RandomFieldMeshElementParameter".
#### Time stepping
- [!3411]( Fixed a bug in IterationNumberBasedTimeStepping.
- [!3416]( Fixed a bug that skips output after a rejected time step followed by successful time step.
### Material models
- [!3316]( A vapour pressure model 'Clausius-Clapeyron'.
- [!3356]( 'Modified Cam clay' model for cohesion-less soil materials.
- [!3423]( Split the relative permeability property by phase.
- [!3439]( Gas pressure permeability model.
- [!3449]( Added a function of formKelvinVectorFromThermalExpansivity.
- [!3450]( Somerton's thermal conductivity model for soil.
- [!3498]( PermeabilityOrthotropicPowerLaw, PorosityFromMassBalance and TransportPorosityFromMassBalance are now defined on the medium level.
- [!3491]( Added vapour diffusion type and the FEBEX type vapour diffusion property.
- [!3527]( A vapour diffusion property of VapourDiffusionPMQ .
- [!3489]( A water vapour density property.
- [!3519]( A linear latent heat of water property.
- [!3542]( Add a notion of fluid phase to MPL allowing HM process to use Gas or AqueousLiquid for fluid phase.
### Bug fixes
- [!3361]( [!3400]( CMake fixes when using the MKL library.
- [!3397]( Skip secondary variables evaluation if the nonlinear-solver failed, *e.g.* for MFront material model.
### File I/O
- [!3383]( Add iteration number output option to file names.
- [!3307]( New HDF5 writer based on collective MPI IO
- [!3371]( Node partitioned mesh reader handles all available element types.
- [!3532]( Remove unused XmlNumInterface.
- [!3533]( Sort and cleanup XML interfaces.
### Code base changes
- [!3502]( Using `std::optional` through all of the code base replacing `boost::optional`.
- [!3517]( Using `std::any` replacing the `boost::any`.
Replacing the old implementations on small vectors and matrices with Eigen equivalents:
- [!3354]( Change signatures of compute{2,3}DRotationMatrixToX
- [!3319]( [!3320]( [!3346]( [GeoLib] Substitute Vector3 by Eigen
- [!3345]( [GL] Change interface of computeRotationMatrixToXY.
- [!3359]( Final removal of MaL::DenseMatrix and MaL::Vector3
- [!3512]( Replace scalarProduct() with Eigen::VectorXX::dot().
### Testing and documentation
- [!3377]( Added gmldiff tool.
- [!3351]( xdmfdiff enabled for testing
- [!3446]( Removed Parsl test. We will focus on Snakemake for workflow management instead.
- [!3448]( Revived code coverage.
- [!3486]( Doxygen will now generate full docs (suitable for all configurations).
- [!3505]( [web] Updated development workflow and Conan usage.
- [!3552]( Full-text search for Doxygen.
### Tools and utilities
- [!3534]( Adjusted reviseMesh command line utility to handle all mesh properties instead of just MaterialIDs
#### New tools
- [!3433]( Creating a 3D voxel grid out of a list of 2D mesh layers
- [!3433]( Marking all elements in a 3D voxel grid intersected by a 2D mesh (e.g. a fault)
#### Updates
- [!3482]( GMSH2OGS can now extract boundary/subdomain meshes consisting of line elements.
## CI & Infrastructure
- [!3343]( Enable C++20 support.
- [!3381]( Serial container is build with Python support.
- [!3385]( Container have virtualenv installed to create custom Python environments.
- [!3401]( Website provides binaries for release branch with bug fixes.
- [!3448]( Code coverage reports for merge requests.
- [!3472]( Automatic spell checker ([codespell]( as pre-commit check.
- [!3508]( Serial container includes MFront support.
- [!3539]( Fixed Doxygen warnings output.
### CMake
- [!3428]( Introduction of [CMake presets]( for [common build configurations](
- [!3435]( Removed option `OGS_USE_EIGEN`. Eigen is used through all of the code for long time already.
- [!3437]( Replaced git submodules with [CPM]( See [docs](
- [!3466]( Reverted back to out-of-source builds in presets.
- [!3494]( More Conan packages moved to CPM. Renamed CMake option `BUILD_TESTING` to `OGS_BUILD_TESTING`.
- [!3496]( Preparation of code formatting with clang-format and cmake-format.
- [!3504]( Replaced Conan VTK module with CPM.
- [!3505]( Enabled build configuration with sources from tar/zip archive (previously full git repo was required).
- [!3509]( Added [cmake-lint]( as a pre-commit check.
- [!3518]( Added [cmake-format]( as a pre-commit check and formatted all CMake files except of Third-party and `Tests.cmake`.
- [!3535]( Simplified ccache setup, added third-party license info into installed ogs packages, simplified MSVC folder setup.
### Version info
- [!3343]( MSVC compiler 19.24
- ~~[!3343]( Boost 1.67.0~~
- [!3508]( Boost 1.69.0
- [!3343]( Eigen 3.3.9
- ~~[!3374]( Conan 1.32.1~~
- [!3473]( Conan 1.33.0
- [!3428]( CMake 3.19 (only when using CMake presets)
- [!3504]( VTK 8.2.0
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment