Skip to content


Choose a tag to compare
@bilke bilke released this 01 Apr 10:51
· 5456 commits to master since this release

See for binary downloads.


Some of the highlights of this release are: the extension of the TH2M process to handle phase transitions, more processes can be run in parallel with PETSc and Taylor-Hood Elements, the new HDF5-based input/output routines, and the introduction of Jupyter Notebook based benchmarks (see an example).

Process' changes

  • !3963 Enabled equation wise flexibility in the use of compensate_non_equilibrium_initial_residuum.


  • !3839 Extend Jacobian with Laplacian's derivatives.
  • !3942 Thermal conductivity of the medium can now be defined in the input file.
  • !4034 Phase transition was revised and some errors were fixed. Energy transport now includes diffusion processes, diffusion in the mass balance is now dependent on capillary pressure. Tests have been added, including the revised heatpipe with analytical solution.

Component transport process / reactive transport process with coupling of Phreeqc

  • !3796 Extend the input of surface complexation sites in moles via the MaterialPropertyLib for HC-Phreeqc coupling.
  • !3903 Enable to use cation exchange and surface complexation models simultaneously for HC-Phreeqc coupling.
  • !3918 Add a "fixing pe" option.
  • !3931 Support the use of PETSc nonlinear solver.
  • !4004 Add Newton's method based linearization scheme for solving non-conservative formulation.
  • !4006 Output total mass flux and residual mass flux by node-wise.


  • !3980 Added liquid density and viscosity output.
  • !3547
    Implementation of the vapour diffusion and the latent heat terms of TRM.


  • !3972 Assembly in inclined elements.


  • !3848 Use permeability strain derivative in the jacobian for HM (for embedded fracture permeability model).

Heat Transport BHE

  • !4007 Changed python based Server Communication process (e.g. with SimulationX) from postTimestep to preTimestep.


  • !3924, !4014 Employ MPL in ThermalTwoPhaseFlowWithPP process.

Material models

  • !3929 Add the Verma-Pruess porosity-permeability model.
  • !3941 Modify the "EffectiveThermalConductivityPorosityMixing" property to allow for two- and three phase media.
  • !3945 New property IdealGasLawBinaryMixture.
  • !3923
    [MPL/RelPermNonWettingPhaseVanGenuchtenMualem] replace the Newton-Raphson method with the Regula–Falsi Method.
  • !3992 Enabled fracture normal rotation with the EmbeddedFracturePermeability model.


  • !3871 Integration order 4 implemented for Tetrahedrals. For an overview over OGS's integration methods see also !4021.
  • !3907 Added new Eigen iterative solvers: BiCGSTABL, IDRS and IDRSTABL.
  • !3882 Adds support for Taylor-Hood elements to Python boundary conditions and Python source terms.
  • !3963 Enabled equation wise flexibility in the use of compensate_non_equilibrium_initial_residuum.
  • !3991 Enable to use 13 node pyramid and 15 node prism.

Parallel computing

  • !3805 [partmesh] Removed the option of -q or --lh_elements for the implementation of parallel computing with Taylor Hood elements.
  • !3866 Parallel computing with Taylor-Hood elements: implementation and tests with HydroMechanics process.
  • !3920 Enable parallel computing in TRM with Taylor-Hood elements.
  • !3919
    Enable node search function work under MPI.
  • !4047 Enable parallel computing in TH2M with Taylor-Hood elements.

File I/O

  • !3857 VTK mesh converter: safely convert all integer types.
  • !3915 HDF output option: Fast file I/O and data integrity
  • !4033 Rename HydraulicFlow and HeatFlux to VolumetricFlowRate (for volumetric formulations (mass balance divided by density) / MassFlowRate and HeatFlowRate.


  • !3863 Added the conversion of quadratic quadrilateral elements in GMSH2OGS


  • !3935 Change TemplateVec::getVector() return value from vector<T*> const* to vector<T*> const&

Project file syntax

  • !3962 Apply patches marked with after_includes="true"-attribute after <include>s are evaluatetd, docs.


  • !3976 Added parameter -m for specifying a mesh input directory.


  • !3930 Notebooks are now tested as part of ctest. See docs for more info.
  • !3901 [TRM] Added a benchmark of point heat source for TRM.
  • !4001 Added a simple MKL benchmark.
  • !4005 Run TaskCDECOVALEX2023 with parallel computing.
  • !4021 Adds extensive unit tests for OGS's quadrature schemes. Now for each supported integration method and integration on each mesh element type we test, which polynomial order we can integrate exactly.
  • !4012
    Added parallel computing benchmarks for ThermoRichardsFlow.

Bug fixes

  • !3932 Fixed several memory leaks and access bugs.
  • !3956 THM: Fix temperature equation for case w/o thermal osmosis.
  • !3978 Fix access of transport porosity as medium property in TRM.
  • !3919
    Enable node search function work under MPI.
  • !4021 Fixes pyramid integration for integration order 1. Note, the location of the single integration point was changed! If you have any restart data with integration order 1, the respective location will silently change. However, that seems acceptable since before the pyramid order 1 integration was just wrong.
  • !4051 Changes the input storage order of tensorial properties of MPL. Now it is row major, before it was column major. The new row major storage order is the storage order that naturally arises in prj files. The old behavior was not a bug per se, but could very likely lead to subtle errors with asymmetric tensorial properties.
  • !4055 Fixing a bug in Process::setInitialConditions under PETSc.


  • !3910 Updated Conan CMake integration.
  • !3940 Select lld over GNU gold over regular linker. Speeds up link times.
  • !3950, !4030 Added option OGS_INSTALL_PETSC OGS_INSTALL_EXTERNAL_DEPENDENCIES to install (locally build) PETSc or MFront / TFEL into CMAKE_INSTALL_PREFIX.
  • !3951 Removed std::filesystem hacks for older compilers.
  • !3983 [cmake] Refactored (and fixed) processes setup logic.
  • !3989, !3995 Offline build with cpm and external dependencies cache. See docs.
  • !3999 Added option OGS_DEPENDENCY_VERSIONS to overwrite entries in versions.json.
  • !4001, !4056 Use a better FindMKL.cmake which includes also linker flags.
  • !4027 Configure VTK modules and CMake options in versions.json.
  • !4041 Replaced poetry by simple python / pip calls:
    • Poetry is not required anymore for automatic Python package installation. Only a Python interpreter is required (nowadays they already include venv and pip).
    • Renamed CMake option OGS_USE_POETRY to OGS_USE_PIP (which now defaults to OFF!). Before poetry was used per default when it was found, now this behavior is reversed (needs to explicitly switched to ON).
  • !4059 Added --download-hypre to local CPM build.


  • !3874 Allow utils build on PETSc config.
  • !3876 Added Jupyter image with PETSc support, image name:
  • !3597 Added CI linux build with debug checks, address and undefined behaviour sanitizers.
  • !3994 [ci] Added msvc-code-analysis.yml for GitHub Actions.
  • !4067 [web] Restructuring to use Hugo page bundles.
  • !4069 [ci] Deploy CLI on Windows GUI downloads.

Version info

  • !3844 Update gtest to version 1.11.0
  • !3910 Minimum Conan version 1.36.0
  • !3951 Minimum gcc version 9.1
  • !3968 Update exprtk to newest version Dec. 2021.
  • !4018 Update minimum PETSc version to 3.16.3.