Homepage Books Releases Docs Discourse

OpenGeoSys 6.2 released!

:beers: OpenGeoSys 6.2 released! :beers:





New processes

  • HeatTransportBHE process supporting 1U, CXA, and CXC BHE types. #2221, #2332,

#2271, #2275

  • Staggered implementation of a thermo-mechanical with phasefield process. #2102

  • Richards mechanics process. #2189

  • Small deformation process with non-local integration of damage. #2294

  • Staggered implementation of phasefield process. #2052

  • ComponentTransport process in revised formulation. #2200

  • Multi-component transport process. #2304

Other process’ changes

  • A Jacobian tester: a process’s Jacobian assembly can be compared to a

numerical Jacobian (mostly for development. #2238

  • Add setInitialConditions() call to processes and local assemblers. #2334

  • Several bug fixes for LIE/HM process including "fracture into matrix

leak-off", Darcy velocity output in the fracture. #2129

  • Support for intersecting fractures (x-crossing and t-junction) in LIE/SD

process. #2235, #2293

  • Fixed the calculation of the Darcy velocity in staggered TH. #2127


  • Staggered scheme for coupled processes with different orders of elements.


  • Subdomain deactivation within time intervals. #2297

  • Add a driver for an iteration based time stepping algorithm. #2318

Boundary condition

  • Implementation of Python boundary conditions. #2170

  • Implementation of constraint boundary conditions. #2145

  • Dirichlet boundary condition within a time interval. #2272

  • BoundaryElementSearch: Return bulk element id and bulk element face id. #2125

  • Removed Neumann boundary condition for displacement jumps in LIE processes.


Source term

Input and output

  • Writing and reading of integration point data. Implemented sigma and epsilon

output for some processes. #2071, #2203, #2324

  • Add input of vtu-meshes for boundary conditions additionally to the gml input.

This is later used by the heterogeneous parameters and source terms. #2140,

#2141, #2156

  • Parameters may now be explicitly defined on arbitrary subdomains. This merges

the Heterogeneous Dirichlet and Neumann boundary conditions with their,

previously only homogeneous, counterparts. #2376

  • Parameters now support space-dependent function input via exprtk library.

#2325, #2339

  • Output of primary variables on arbitrary subdomains. #2372, #2299

  • Output is possible at specific times for adaptive time stepping and

evolutionaryPIDController. #2079

  • Calculate and output specific flux. #2411

  • Enable surface flux calculation for component transport process. #2168

  • Interpolated pressure (on higher order elements’ nodes) output for

Richards-mechanics and hydro-mechanics processes. #2228

  • Improve output of nodal aperture and aperture vector in LIE/HM. #2050

  • Add output of nodal forces and hydraulic flow in mechanics and coupled

mechanics processes, SD, HM, LIE/SD, LIE/HM. #2118

  • Enable surface flux calculation for HT process. #2132

  • Fixed pvd output. #2036

Material models

  • BGRa creep model. #2167

  • New cohesive zone mode I fracture model for LIE processes. #2142, #2157

  • Add MFront/TFEL solid constitutive relation support via.

MFrontGenericInterfaceSupport library. CMake option OGS_USE_MFRONT. #2259

  • Infrastructure for multi-phase, multi-component material properties library.



  • Anisotropic tensors may now be given in given local coordinate system. #2370

  • Non-constant density model implementation in HC process. #2200

  • Add second derivatives of permeability functions in Richards flow. #2188

  • Different solid material models can now be defined on different materialIDs.

#2216, #2262, #2270

  • Move solid constitutive relation creation in single place. #2160

Testing and documentation

  • Migrated Appveyor tests to [Azure

Pipelines](https://dev.azure.com/ogsci/ogs/_build). #2342

  • Added cppcheck, clang-tidy and include-what-you-use. #2078, #2328, #2377

  • Added check for header standalone compilation, can be enabled with


  • Jenkins shows nice summaries of compiler warnings. #2206

  • Large tests are fixed and run on Jenkins upon master merge. #2056, #2155

  • Re-enabled code coverage reports (for the testrunner only) with

Codecov. #2333, #2336

  • Commits containing [ci skip] in the commit message do not trigger a Jenkins


  • Add vtkdiff test configuration to project files, s.t. the vtkdiff tests are

performed after successful run comparing output to reference files. This

possibility is also reflected in a new CMake function OgsTest as an

alternative to the AddTest. #2255, #2257

New tools

  • TecPlotTools: splitting files containing multiple zones into seperate

TecPlot files. #2114

  • TecPlot-Reader: converting TecPlot rasters into OGS meshes (one file per

zone, containing all variables as scalar arrays). #2114

Construction of boundary meshes from bulk mesh and gml files. #2144

Identification of boundary meshes (or any subdomains in general) in the bulk

mesh. Performs geometrical tests and creates and verifies necessary

bulk_node_ids and bulk_element_ids maps. #2227, #2252

  • Mesh2Raster: converts 2D OGS meshes into raster files of arbitrary pixel

size, where node elevation is represented by pixel value. #2367

  • GocadSGridReader tool reading the Gocad/SKUA stratigraphic grid format and

writing the data in the vtu format. #2316

New tools and CLI usage

  • ogs --help shows the given CMake options. #2210

  • Unify command line version info output. #2194

  • Rewrite partmesh tool and add partitioning of boundary meshes (or subdomains

in general) according to the partition of the bulk mesh. #2159, #2178, #2195

  • Add new features to ExtractSurface tool. #2387, #2401

  • updated utility moveMeshNodes: algorithm for mesh on mesh mapping now

calculates exact node elevation instead of using interpolation. #2390

Data Explorer

  • Listing of source terms and boundary conditions in Data Explorer DataView (no

visualisation yet). #2110

  • Mesh element removal can now remove elements based on value ranges of

arbitrary scalar arrays (currently only int- and double arrays are supported).


  • added custom VTK filter to represent raster data as point clouds. #2121

  • geometrical points can now be converted into station points. #2369

  • fixed issue with geometrical surfaces not being loaded correctly. #2388

  • Replace deprecated QVTKWidget with QVTKOpenGLWidget #2432

Other notable code changes

  • C++17 standard is enabled and is allowed in the production code (given the

compiler support). #2298

  • Separate monolithic ProcessLib into individual processes. Now it is possible

to build ogs with selected processes only. This also improves linking times.


  • Parameters are extracted in own library. #2413

  • Port secondary variable extrapolation and output for PETSc builds. #2082

  • Extend Kelvin mapping functions and move implementation to MathLib. #2060,

#2075, #2044

  • Collect generic algorithms in single header file. #2161

  • Remove unused MeshSubsets class. #2135

  • Removed writing of xsd header in XML files, #2198



  • Optimized ctest runtime by starting long-running benchmarks first. #2310

  • Proper RPATH handling for shared library installations. #2208

  • [Package OGS inside

container](https://www.opengeosys.org/docs/userguide/basics/container/) with

Singularity; [more

docs](https://www.opengeosys.org/docs/devguide/advanced/singularity/). #2193,


unifying documentation and general OGS info. #2088, #2095, #2123

CMake options changes

  • OGS_USE_PYTHON enables Python BCs. #2170

  • OGS_BUILD_TESTS was renamed to BUILD_TESTING. #2350

  • Added OGS_USE_CVODE. #2344

  • Added OGS_BUILD_PROCESSES for ;-separated list of processes to build.


  • OGS_USE_CONAN=ON is now the default when conan was found. #2207

Version info

  • CMake minimum version 3.10

  • Visual Studio minimum (and tested) version 2017

  • GCC minimum version 6.2 (tested: 6.4)

  • Clang minimum version 3.5 (tested: 7.0)

  • Boost minimum version 1.66.0

  • VTK minimum version 8.1. #2158

  • Qt tested version 5.11.2

  • Python tested version 3.7.2