OpenGeoSys 6.2 released!
Links
Changelog
Features
New processes
-
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
- Fixed the calculation of the Darcy velocity in staggered TH. #2127
Numerics
- 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
-
Use parameter for source terms. #2061
-
Volumetric source terms implementation. #2220, #2234, #2241, #2261
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,
- 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.
-
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
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.
- 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
OGS_CHECK_HEADER_COMPILATION=ON
. #2043
-
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
- Commits containing
[ci skip]
in the commit message do not trigger a Jenkins
build.
- 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
-
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,
-
Collect generic algorithms in single header file. #2161
-
Remove unused MeshSubsets class. #2135
-
Removed writing of xsd header in XML files, #2198
Infrastructure
- Migrated LFS storage from GitLab to Artifactory.
-
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,
- Migrated opengeosys.org to a static site generator (Hugo)
unifying documentation and general OGS info. #2088, #2095, #2123
CMake options changes
-
OGS_USE_PYTHON
enables Python BCs. #2170 -
OGS_BUILD_TESTS
was renamed toBUILD_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 whenconan
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