# OpenGeoSys 6.4.3 released!

**URL:** <https://discourse.opengeosys.org/t/opengeosys-6-4-3-released/1063>\
**Category:** Announcements\
**Created:** [September 21, 2022, 7:22am UTC](https://discourse.opengeosys.org/t/opengeosys-6-4-3-released/1063 "2022-09-21T07:22:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bilke](https://discourse.opengeosys.org/user_avatar/discourse.opengeosys.org/bilke/32/868_2.png) [@bilke](https://discourse.opengeosys.org/u/bilke)\
**Post date:** [September 21, 2022, 7:22am UTC](https://discourse.opengeosys.org/t/opengeosys-6-4-3-released/1063/1 "2022-09-21T07:22:39Z")

</div>

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7092676.svg)](https://doi.org/10.5281/zenodo.7092676) [![SWH](https://archive.softwareheritage.org/badge/swh:1:rel:d93bdae957d4f236ffdaaac66b773e4f3c4eddb6/)](https://archive.softwareheritage.org/swh:1:rel:d93bdae957d4f236ffdaaac66b773e4f3c4eddb6;origin=https://gitlab.opengeosys.org/ogs/ogs.git;visit=swh:1:snp:f521c49ab17ef7db6ec70b2430e1ed203f50383f)

We are happy to announce the release of **OpenGeoSys 6.4.3**!

## Links

- [Release page on www.opengeosys.org](https://www.opengeosys.org/releases/6.4.3/)
- [GitLab Release](https://gitlab.opengeosys.org/ogs/ogs/-/releases/6.4.3)
- [Zenodo Release](https://zenodo.org/record/7092676)
- [Archived on Software Heritage](https://archive.softwareheritage.org/swh:1:rel:d93bdae957d4f236ffdaaac66b773e4f3c4eddb6;origin=https://gitlab.opengeosys.org/ogs/ogs.git;visit=swh:1:snp:f521c49ab17ef7db6ec70b2430e1ed203f50383f)
- [PyPI Release](https://pypi.org/project/ogs/6.4.3/)

# Highlights

- We are happy to announce that the TH2M-process is now feature complete and has evaporation and dissolution implemented.

- Python bindings were extended in two ways: OGS got python wheels and can now be [installed with pip](https://www.opengeosys.org/docs/userguide/basics/introduction/#installation) (simply run `pip install ogs`), and has got a basic python interface to run a simulation from within python.

- For developers the biggest improvement is the inclusion of the Eric Niebler’s ranges library. Already used in few places in OGS it greatly improves code readability through easier composition.

* * *

The following people contributed to this release (ordered by number of commits): Lars Bilke, Thomas Fischer, Dmitri Naumov, Christoph Lehmann, Wenqing Wang, Renchao Lu, Boyan Meng, Karsten Rink, Norbert Grunwald, Jörg Buchwald, Christian Silbermann, Robert Habel, Linda Günther, Mostafa Mollaali, Tobias Meisel, Jakob Randow, Sophia Einspänner, Haibing Shao, Kata Kurgyis, Olaf Kolditz, and Jaime Garibay.

* * *

# Process’ changes

- [!4087](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4087 "Forward differences Jacobian assembler") Adding forward differences numerical Jacobian computation. It is less expensive then central differences, but not necessarily slower overall, and sometimes even faster.
- [!4161](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4161 "Refactoring of domain deactivation.") Refactoring of domain deactivation.
- [!4204](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4204 "Removed IntegrationMethod template paramater from local assemblers that use Taylor-Hood FEs") Removes the IntegrationMethod template parameter from local assemblers that use Taylor-Hood elements.
- [!4217](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4217 "Remove integration method template parameter from BCs and remaining processes") Removes the IntegrationMethod template parameter from the remaining local assemblers (processes, STs, BCs).
- [!4233](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4233 "[PL/THM+TR+TRM] Set coordinates in SpatialPosition") Parameter type Function can be used for MPL property and constituitive relation parameters in THM, TRM and TR.
- [!4210](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4210 "[PL/TH2M] Add/correct residuum output") [PL/TH2M] Add/correct residuum output.
- [!4247](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4247 "MPL: Reimplement VariableArray as own class") MPL: Reimplement VariableArray as own class. Less memory and a little faster. Easier usage.

## TH2M

The TH2M process describes a two-phase, two-component approach, which is fully coupled with thermodynamic and geomechanical processes. Due to the complex process couplings, many different processes (e.g. in repository systems) can be investigated numerically, including media dry-out and resaturation, consolidation, stress- or deformation-dependent permeabilities, thermal expansion and heat-induced stresses, gas transport processes in fully or partially saturated media and others. The two-component approach also enables the description of phase transition processes (evaporation, solution) under an equilibrium condition. To validate the TH2M model, a benchmark suite was created that provides a hierarchical classification of different coupling combinations of the individual processes. This proves the validity and correct implementation of all terms of the model equations.

- [!4131](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4131 "TH2M Dissolution of gas components in liquid phase") Dissolution of gas into the liquid phase, completing the phase transition feature in TH2M
- [!4131](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4131 "TH2M Dissolution of gas components in liquid phase") Two tests validate the dissolution process and the diffusive transport of the dissolved gas in the water phase

## PhaseField

- Spectral decomposition for energy split has been added.

## ThermoRichardsFlow

- [!4100](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4100 "Thermo osmosis and thermo-filtration for THM/TR/TRM") Adding thermo-osmotic and thermo-filtration effects

## ThermalTwoPhaseFlowPP

- [!4136](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4136 "Adding a third component to ThermalTwoPhaseFlowPP") Adding a third component with equilibrium partitioning between liquid and gas phases.
- [!4194](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4194 "Correct the energy equation of ThermalTwoPhaseFlowPP and related benchmark results") Correct the energy equation and heat pipe benchmark results.

## Component transport process / reactive transport process with coupling of Phreeqc

- [!4106](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4106 "[PL/CT] chemical speciation parallelization") Enable chemical speciation parallelization on CPU.
- [!4130](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4130 "Update documentation for ComponentTransport process") Update the description of governing equations in the documentation of the process.
- [!4207](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4207 "[CL] add a new type of chemical solver "self-contained chemical solver"") Enable a new type of chemical solver “self-contained chemical solver”.

## HeatTransportBHE

- [!4102](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4102 "Server Communication (Python Interface) pre and post timestep") `Server Communication (Python Interface) pre and post timestep`: Enabling the server communication (python interface) before (pre) and after (post) time step.
- [!4208](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4208 "[HeatTransportBHE] PowerCurveFlowCurve function") `PowerCurveFlowCurve`-function: Adding PowerCurveFlowCurve function to flow\_and\_temperature\_control options in HeatTransportBHE process.

## LiquidFlow process

- [!4201](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4201 "[LiquidFlow] Aperture size for inclined element") Aperture size for inclined element.

## ThermoRichardsMechanics and ThermoHydroMechanics

- [!4100](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4100 "Thermo osmosis and thermo-filtration for THM/TR/TRM") Adding thermo-osmotic and thermo-filtration effects / fixing contributions in THM.
- [!4153](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4153 "TRM: Separate constitutive setting and shape matrix computations") Separates the constitutive setting of the TRM process from computations involving shape matrices .
- [!4198](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4198 "Restructuring of the TRM process: Split constitutive setting") Splits the constitutive setting of the TRM process into modular pieces.
- [!4236](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4236 "TRM: Re-enable pressure dependent density.") Re-enables pressure and temperature dependent density models in TRM.

# Constitutive relations (material models)

## Thermal models

- [!4162](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4162 "MPL Freezing for Heat conduction with phase change") Adding temperature-dependent thermal properties due to first order phase change of pore fluid making `HeatConduction` process nonlinear for capturing soil freezing phenomena

# Numerics

- [!4178](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4178 "Isotropic diffusion stabilization: part I, HT") Isotropic diffusion stabilization for solving the advection-diffusion equation.
- [!4185](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4185 "Apply the isotropic diffusion stabilization to ThermoHydroMechanics process.") Apply the isotropic diffusion stabilization to ThermoHydroMechanics process.
- [!4165](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4165 "Full upwinding scheme for HT") Full up winding scheme for HT.
- [!4196](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4196 "Applied the full upwind stabilization to THM process") Applied the full upwind stabilization to THM process.

# Tools

- [!4176](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4176 "[OGS Tools] Add MPI\_Init() and MPI\_Finalize()") Most of the tools should now also work when OGS was built with PETSc.
- [!4252](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4252 "Allow removal of point elements from mesh") Allow the removal of point-elements from meshes via the `removeMeshElements`-tool.
- [!4270](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4270 "Mesh mapping CLI") Added “MeshMapping”-tool for handling all options for 2D mesh mapping, i.e. mapping based on a raster or another mesh, or to a static value.

# Data Explorer

- [!4250](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4250 "Adding support for 2dm files") Adding support for \*.2dm triangle meshes via GMS Import.
- [!4252](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4252 "Allow removal of point elements from mesh") Allow the removal of point-elements from meshes.
- [!4265](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4265 "[DE] Added resolution aware scaling for GUI elements") Added resolution aware scaling for GUI elements

# Python / Jupyter

- [!4135](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4135 "[jupyter] Restored ipyvtklink and static PyVista rendering backend.") Restored ipyvtklink and static PyVista rendering backend. Also added [msh2vtu](https://github.com/dominik-kern/msh2vtu).
- [!4049](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4049 "Very first version of an python - OGS interface.") First basic implementation (init, exec, finalize) of a Python interface to drive OGS from Python.
- [!4263](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4263 "Python wheels for module and ogs binaries") Python wheels for module (see [!4049](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4049 "Very first version of an python - OGS interface.")) and ogs binaries.
- [!4242](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4242) A jupyter notebook for Theis solution is added.

# Testing

- [!4086](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4086 "Use vtk wheels from pyvista on Python 3.10") Use VTK wheels from PyVista on Python 3.10 (when using the auto-generated Python virtual environment by setting `OGS_USE_PIP=ON`).
- [!4199](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4199 "[ci] Trigger project-specific downstream pipeline") [ci] Trigger project-specific downstream pipeline.
- [!4221](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4221 "[AppL] Fixed / re-enabled OGS\_USE\_INSITU") [ci] Added new manual job ‘advanced container’ which builds and tests ogs with `OGS_USE_INSITU=ON`.

# Bug fixes

- [!4089](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4089 "[checkMesh] Fixed -p parameter (had no effect).") `checkMesh`: Fixed -p parameter. Properties were always printed even if the `-p`-parameter was not given.
- [!4093](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4093 "[utils] adjusting vertitical slice tool to construct meshes from bottom to top") `VerticalSliceFromLayers`: Fixed mesh generation to be consistent with 3D mesh generation (i.e. meshes are built from bottom and top). This may require a fairly up-to-date GMSH version (GMSH 4.9.5 was working in our tests).
- [!4115](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4115 "Test surface normals"):
  - Fixes one wrongly oriented edge in Quad8 elements. Also affects Quad9 elements. Corrects the surface normal computation, in particular.
  - Provides a corrected surface normal implementation for line elements.
  - Corrects the determination whether a point is inside a line segment.

- [!4164](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4164 "Fix pvtu output when VTK is build via CPM") Fix pvtu output when VTK is build via CPM.
- [!4195](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4195 "Excavation of neighbouring subdomains.") Excavation of neighbouring subdomains now produce expected results along the common boundary.
- [!4226](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4226 "Fixed setting the previous temperature value in the OGS MFront interface") Fixes setting the previous temperature value in the OGS MFront interface.
- [!4243](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4243 "Two fixes") Fixed a run time error when Python BC is used in the code built with PETSc.
- [!4246](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4246 "Fixed a bug in Python source term with PETSc") Fixed a bug in Python source term with PETSc.

# CMake

- [!4081](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4081 "Bump CMake to 3.16"), [!4101](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4101 "CMake cleanup and improvements") Some CMake cleanup and renovations. Better Python finding logic.
- [!4129](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4129 "[cpm] Removed MPI dependencies in vtk.") [cpm] Removed MPI dependencies in VTK.
- [!4132](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4132 "Use only MKLs OpenMP implementation") Use only MKLs OpenMP implementation.
- [!4167](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4167/diffs#d5f2fae1b360d92dfe1ded194e022d310209477b "Some RPATH fixes for lib64-based systems") Some RPATH fixes for lib64-based systems. Also removed option `OGS_INSTALL_EXTERNAL_DEPENDENCIES`, use `OGS_INSTALL_DEPENDENCIES` instead!. Proper `RPATH` both for the build tree as well as the install tree.
- [!4221](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4221 "[AppL] Fixed / re-enabled OGS\_USE\_INSITU") Re-enabled insitu functionality. Renamed CMake variable `OGS_INSITU` to `OGS_USE_INSITU`.

# Infrastructure

- [!4137](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4137 "Refactored cpm offline cache handling") Refactored cpm offline cache handling.
- [!4145](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4145 "[cmake] Refactored MetisSetup.cmake.") Refactored `MetisSetup.cmake` and `partmesh` now uses 64 bit indices (was 32 bit before).
- [!4094](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4094 "Introducing cdash.opengeosys.org") Introducing [cdash.opengeosys.org](http://cdash.opengeosys.org), a test report dashboard.

# File I/O

- [!4082](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4082 "Output 'VolumetricFlowRate' also in sub meshes.") Copy bulk mesh node property values to sub-meshes specified for output.
- [!4126](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4126 "[jupyter] gmsh and msh2vtu") [jupyter] Added gmsh and msh2vtu to Jupyter image.
- [!4121](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4121 "PVD to XDMF (VTK to HDF) converter") PVD to XDMF (VTK to HDF5) conversion tool added.
- [!4176](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4176 "[OGS Tools] Add MPI\_Init() and MPI\_Finalize()") Single threaded PETSc simulations now also writes `.vtu` instead of `.pvtu` files.
- [!4192](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4192 "Output of active/inactive elements for deactivated subdomains") Added output of active/inactive elements for subdomain deactivation.
- [!4188](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4188 "Refactoring / restructuring the Output class.") Refactoring / restructuring the Output class; enabled XDMF / HDF5 output for staggered scheme.

# Documentation

- [!4193](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4193 "[web] Added docs on jupyter notebook generated web pages.") Added docs on jupyter notebook generated web pages.
- [!4190](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4190 "VS Code development container") VS Code development container. See docs at [Develop with VS Code Remote – Containers](https://www.opengeosys.org/docs/devguide/advanced/vscode-devcontainer/).
- [!4197](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4197 "[web] Added mermaid diagrams") [web] Added mermaid diagrams.
- [!4205](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4205 "Added a Citation File Format for citation metadata.") Added a Citation File Format for citation metadata.
- [!4239](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4239 "Jupyter notebook: 1D decay-chain problem") [web] Added a 1-D decay-chain benchmark in section `Reactive Transport`.
- [!4140](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4140 "[web] Added an instruction for how to conduct parallel computing with PETSc") Added an instruction for how to conduct parallel computing with PETSc.

# Version info

- [!4081](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4081 "Bump CMake to 3.16"), [!4049](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4049 "Very first version of an python - OGS interface.") CMake ~~3.16~~ 3.22
- [!4108](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4108 "Bump gcc minimum to 10.2.0 and VTK to 9.1.0.") GCC 10.2.0
- [!4108](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4108 "Bump gcc minimum to 10.2.0 and VTK to 9.1.0.") VTK 9.1.0
- [!4108](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4108 "Bump gcc minimum to 10.2.0 and VTK to 9.1.0.") Ubuntu 22.04
- [!4189](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4189 "Use values for domain deactivation structs") Apple clang 13.1.6
- [!4189](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4189 "Use values for domain deactivation structs") Clang 13
- [!4189](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4189 "Use values for domain deactivation structs") New [range-v3 library](https://github.com/ericniebler/range-v3) version 0.12.0
- [!4227](https://gitlab.opengeosys.org/ogs/ogs/-/merge_requests/4227 "[cmake] Spdlog update") spdlog 1.10.0

---

<div class="post-metadata">

**Author:** ![sebastian.mueller](https://discourse.opengeosys.org/user_avatar/discourse.opengeosys.org/sebastian.mueller/32/420_2.png) [@sebastian.mueller](https://discourse.opengeosys.org/u/sebastian.mueller)\
**Post date:** [November 18, 2022, 2:10pm UTC](https://discourse.opengeosys.org/t/opengeosys-6-4-3-released/1063/2 "2022-11-18T14:10:02Z")

</div>

The Python wheel is awesome! ❤
