We are happy to announce the release of OpenGeoSys 6.4.4!
Links
Highlights
Some notable additions in this release include the output of residuum vectors on submeshes (now for the TRM and TH2M processes only), restart for parallel simulations were made possible as well as CI coverage for the PETSc configuration was increased and the infrastructure for Jupyter notebooks was extended.
There were also some substantial efforts to enhance the documentation especially for the project file, specific process configurations and tools documentation.
Further CI improvements include the possibility to select subsets of test jobs via merge request labels to shorten feedback cycles and we added performance tracing of benchmarks via our CDash-platform.
We thank the following people who contributed to this release (in alphabetical order):
Aqeel Chaudhry, Boyan Meng, Christian Silbermann, Christoph Lehmann, Dmitri Naumov, Falko Vehling, Feliks K. Kiszkurno, Florian Zill, Haibing Shao, Tao You, Jan Thiedau, Jörg Buchwald, Julian Heinze, Karsten Rink, Kata Kurgyis, Keita Yoshioka, Lars Bilke, Linda Günther, Matthes Kantzenbach, Mostafa Mollaali, Norbert Grunwald, Olaf Kolditz, Renchao Lu, Thomas Fischer, Thomas Nagel, Tobias Meisel, Tymofiy Gerasimov, Vahid Ziaei Rad, Wenqing Wang
Process’ changes
LiquidFlow
-
!4203 Make process per default non-linear. One can enforce linear treatment in project file as follows:
<process> <!-- usual process specification --> <linear>true</linear> </process>
TH2M
- !4362 Added a Jupyter notebook version of the Bourgeat test case
- !4392 Function-type parameters can be used for MPL property and constituitive relation parameters. Fixes the “coordinates not set for spatial position”-error.
- !4485 Enabled output of extrapolated node wise intrinsic permeability.
PhaseField
- !4299 Added a variational phase-field hydraulic fracture model in toughness dominated regime (K-regime).
Component transport process / reactive transport process with coupling of Phreeqc
- !4451 Added flow rates output for all components.
- !4228 Use inclined elements in ComponentTransport.
ThermoHydroMechanics
- !4386 Implemented freezing terms for the energy equation.
ThermoRichardsMechanics and ThermoHydroMechanics
- !4363 Added a constitutive setting to the TRM process to make it possible to use either the existing mechanical material models or mechanical material models that use the new extended OGS-MFront interface.
- !4410 Kelvin Vectors can now be formed from matrices, allowing the use of arbitrarily rotated anisotropic thermal expansivities if read in as a parameter property.
Constitutive relations (material models)
- !4296 Extended the OGS-MFront interface beyond passing only stresses, strains and temperatures.
- !4304 All saturation dependent thermal conductivity models have been merged into one (
SaturationWeightedThermalConductivity
) and can be accessed by specifying the mean type:arithmetic_linear
,arithmetic_squareroot
and geometric. - !4378 IAPWS density and viscosity as well as Vogels viscosity model were added to MPL.
- !4391 Upgraded TFEL / MGIS to 4.0 branch.
Generic features
- !4393 Added support to assemble and output residuum vectors on submeshes for the TRM and TH2M processes.
Tools
- !4327 Added a tool writing integration point data from OGS output meshes to a new point cloud mesh whose nodes are the integration points of the input mesh.
- !4360 Fixed issue where elevation information wasn’t added for [OUTFALLS]- and [STORAGE]-entities.
- !4452 Added a tool for converting any ascii raster formats OGS can read into *.asc-format.
- !4264 Added integration point data partitioning in partmesh.
- !4294 Added a new tool to convert pvtu-files to vtu-files: pvtu2vtu.
- !4352 Added partitioning and reading of non-IP field data.
- !4492 Extended
checkMesh
- andeditMaterialID
-tools to optionally output all existing MaterialIDs for a mesh (previously it was just displaying the range). - !4513 [partmesh] Renumbered the bulk node IDs of the bulk mesh.
Data Explorer
- !4430 Reader for XYZ raster files added.
Python & Jupyter
- !4285 Adds a simple wrapper around OGS CLI tools such that they can be easily used from Python. Available in the OGS wheels/via pip.
- !4300 Enables Python BCs and STs in the OGS Python wheels.
- !4502, !4512 Added support for markdown-based notebooks via jupytext.
Testing
- !4408 Refactored PyVista in notebooks testing logic: no more special treatment for headless systems. User is responsible for providing a window environment, e.g. via
xvfb-run
, which is shortly documented. Added documentation on how to shorten pipeline run times by modifying the corresponding files. Added pipeline variableCTEST_INCLUDE_REGEX
which corresponds to the-R
ctest argument. - !4421 [ci] New job include-what-you-use.
- !4437 Enabled large tests on PETSc configs in CI. Also added a CI variable
CTEST_ARGS
for temporarily selecting benchmarks in CI.
Bug fixes
- !4281 Fixed IP data access to Kelvin vector valued data. The error was introduced in !4222.
- !4302 Reimplement Robin-BCs which were incorrect for 2D and 3D setups.
- !4369 Fixed the restart feature of the TRM process, which was broken since !4316.
- !4397 Fixed PhaseField’s BC for parallel simulations.
- !4453 Corrected initial residuum computations when start time is negative.
CMake
- !4306 Enabled MSVCs Multi-ToolTask scheduler for build parallelism and better multi-platform ccache setup.
- !4408 Test properties can now directly be set. Simplifies CMake logic a bit and is potentially more powerful.
- !4417 Don’t include GKlibSystem.cmake (it defined
NDEBUG
on Debug configs!) from METIS and fixed some compile errors in asserts. - !4423 Moved VTK from CPM to external dependencies.
- !4473 fmt-library is now used as a regular library. Before it was used as a spdlog-bundled library.
- !4494, !4497 [cmake] Cache external dependencies in
$CPM_SOURCE_CACHE
. - !4365 Simplified CMake test infrastructure (replaced
MeshTest()
with regulardAddTest()
and newTESTER vtkdiff-mesh
).
Infrastructure
- !4266 Enabled precompiled headers using CMake
target_precompile_headers
feature. Some improvement for release builds and around 30% improvement for debug builds. - !4329 Refactored notebook testing.
- !4370 Added uploading OGS Python wheels to the GitLab registry.
- !4401 Better web site and report previews on merge requests.
- !4443 Run ctests serially on ubuntu1 for performance metrics collected via CDash.
- !4464 [ci] Pipeline refactoring:
- Added scheduled pipeline for wheel build.
ci::web only
pipeline: just add this label to the MR to limit CI to Jupyter notebook runs and web site creation.- Changed
ci skip
-label toci::skip
. - !4465
ci::linux only
andci::mac only
andci::win only
labels for running platform specific builds only.
- !4491 [ci] Introduced MR label
ci_large
for enabling large tests. - !4502 Added a “Launch in BinderHub”-button to notebooks on the website: launches Jupyter Lab instance pre-configured with ogs via wheel, clones the current ogs repo in it and opens the respective notebook ready to run. Please note that startup times may be several minutes and the computing resource are limited (1 core, 2GB RAM). For improved performance we would need to setup own infrastructure. Also currently only works for serial ogs configs.
- !4515 Updated Juwels modules for new 2023 stage.
File I/O
- !4375 [ogs] Added
-s
parameter used for locating Python BC scripts. - !4430 Reader for XYZ raster files added.
- !4431 Geometrical sets can be defined in the output section of the project file.
Material Property Library (MPL)
- !4445 Added IAPWS thermal conductivity model for water.
Documentation
- !4487,!4498,!4496 Added and extended documentation for many preprocessing- and mesh generation-tools.
- !4442 Added a new ogs beginner user guide.
- !4438, !4450 More process documentation.