Tags give the ability to mark specific points in history as being important
  • 6.3.2   OpenGeoSys Release 6.3.2
    Release 6.3.2

    Overview

    We have migrated to GitLab (issue 2947 on GitHub)! See GitLab migration guide.

    The source code license was slightly modified, PR 2977 on GitHub!

    Features

    Process' changes

    • Reactive transport process: perform chemical calculation on the integration points !3017, !3018, !3019
    • HeatConduction; Add Newton assembly and mass lumping. Results of the mass-lumping are discussed on the benchmarks web page. !3045

    Numerics

    • Implementation of primary variable constraint Dirichlet-type boundary condition !3014
    • Add the PETSc-SNES non-linear solver to possible list of solvers. This is still experimental feature. !3049

    New tools

    • Rename AddTopLayer to AddLayer (tool can also add bottom layer) !3015

    Infrastructure

    Version info

    • tfel-3.3.0
  • 6.3.1
    dcfa23e7 · Changelog for 6.3.1 ·
    Release 6.3.1

    Overview

    This is the last release before the announced license change (see #2973 pull request), and we are moving to GitLab! GitHub has served us well in the past years but we would like to employ the more powerful feature set of GitLab. See the announcement for more details.

    Features

    Process' changes

    • LiquidFlow move porosity/storage from MPL solid phase to medium scale. #2872
    • Reactive transport process: enrich Phreeqc interface using direct memory access approach for equilibrium-controlled reactions. #2883
    • Rename Groundwater flow to SteadyStateDiffusion. #2860
    • ThermoHydroMechanics now accepts linear shape functions for displacement. #2885
    • Output intgration point data in RichardsMechanics process for proper restart option. #2911
    • RichardsMechanics now uses the alternative mass balance formulation. #2914, #2921
    • Computation of all secondary variables for output and restart in RichardsMechanics process is now consistent with the latest solution. #2936
    • RichardsMechanics now relies on the solid's bulk modulus and Biot coefficient to compute grain compressibility. #2955

    Numerics

    • Add bulk element mappings for triangles. #2901
    • Add mapping from points of a pyramid face to points in the pyramid element. #2913
    • Remove unused time discretization schemes. Only backward Euler is being used now. This simplifies certain upcoming refactorings. #2908

    Input and output

    • Fixed bug of fixed time output not being written in case of repeated time step. #3000

    Material models

    • New MPL property:

      • CurveProperty. #2857
      • van Genuchten capillary pressure model. #2919
      • Regularized van Genuchten capillary pressure model. #2959
      • PermeabilityMohrCoulombFailureIndexModel. #2989
    • Added back names of properties for better error messages. #2958

    • Store properties' definition scale for each property. #2958

    • Improve error handling in MPL when accessing a property of wrong type. #2941

    • Add computation of bulk modulus for MFront solid material models. #2955

    • Add solid pressure. Used by RichardsMechanics for solid density update. #2999

    • Generalize exponential property, which now has an additive offset. #3008

    File I/O

    • Write PVD files for each subdomain output. #2949.

    Testing and documentation

    • Refactored FileTools.cpp to use std::filesystem. #2918
    • Added documentation on how to use windows subsystem for linux (WSL). #2946
    • Test definitions in the project files now support regular expressions. #2945

    New tools

    • Tool to convert PVTU-meshes into regular, non-partishioned meshes and remove ghost information. #2876
    • Add prism element type to structured mesh generator tool. #2903
    • Create regular mesh consisting of pyramid elements. #2909
    • Correct reordering for pyramid elements in NodeReorder tool. #2937

    Data Explorer

    • Adding an array to a 2D mesh based on a raster file is now possible. #2984

    Infrastructure

    • Serial container image is built with Python enabled. #2765
    • Added CMake-function ogs_add_library() as a drop-in replacement for the add_library()-function. #2881
    • Bumped minimum compiler and use std::filesystem for temporary file creation. #2827
    • Replace logog logger with a modern and type safe spdlog logger. It also includes the formatting library fmt, which is a great alternative to the iostreams. #2875, #2873, #2891, #2882
    • Add GMRES restart to linear solver options. #2910
    • More flexible algorithm to specify the file names of the output in the project file. #2927
    • Now x_dot and dt are being passed to the computeSecondaryVariables() function allowing rate dependent secondary variable evaluation. #2935
    • The order of postTimeStep() and computeSecondaryVariables() has been changed, s.t. all quantities computed in the secondary variables computation are available before the post time-step call. #2936
    • Added GitLab CI config. #2968

    CMake options changes

    • Removed option OGS_USE_PCH, added option OGS_USE_UNITY_BUILDS to speed up compilation by using Unity builds. #2906

    Version info

    New compiler minima (#2827):

    • gcc: 9.0, see also #3006
    • clang: 9
    • msvc: 2019
  • 6.3.0   OpenGeoSys Release 6.3.0
    c1d15ccd · Release notes 6.3.0 ·
    Release 6.3.0

    In this release the Material Property Library is significantly enriched with new constitutive relations and gets wide use in the processes.

    Other significant changes are:

    Features

    Process' changes

    • Richards mechanics process now correctly computes porosity changes in presence of swelling. #2825
    • HydroMechanics process has now the option to use mass lumping. #2826
    • HydroMechanics process now uses permeability in tensor form with corresponding output. #2848
    • Reactive transport process has a mesh tag for restricting the place where chemical reactions take place within a specified subdomain. #2851

    Numerics

    • Pass x_dot to processes' assemble functions. Used by rate-dependent material models. #2795
    • triangular elements with 7 integration points (order 4). #2798

    Input and output

    • Output of surface fluxes (for 2D and 3D bulk domains) for balance computations is now available for LiquidFlow process. #2760
    • Compute and output element-average porosity in RichardsMechanics process. #2803
    • Output of fixed time when using IterationBasedTimeStepping is now available. #2831

    Material models

    • Enable orthotropy in MFront solid material model interface. #2774
    • Enable shared medium definition for multiple materials. #2786
    • Implement van Genuchten saturation and relative permeability models in MPL. #2788
    • Convert processes to use MPL for the fluid and porous media models:
      • Hydro-mechanics. #2779
      • Richards-mechanics. #2787
      • LiquidFlow. #2807
      • GroundwaterFlow. #2820
    • Pass time increment dt to the material models. #2801
    • Add initialValue(x, t) for material properties. #2804
    • Implement mass balance porosity, used in RichardsMechanics. #2804, #2829
    • Orthotropic permeability power law, used in RichardsMechanics. #2813
    • Implement saturation dependent swelling, used in RichardsMechanics. #2819, #2832
    • Bishop's effective stress models; power law and saturation cutoff, used in RichardsMechanics. #2823

    File I/O

    Testing and documentation

    • A new test verifies the correct conversion from PropertyType enum to string and back. #2770

    New tools

    • ExtractEntireSurface: The tool extracts either lines in case of a 2D bulk mesh as input or quads/triangles in case of a 3D bulk mesh as input. #2764

    Infrastructure

    • Added a Code of Conduct. #2834

    Fixes

    • Fixed bugs in the element deactivation #2753, #2789.

    CMake options changes

    • Added version requirements file in json-format to have a single source used by CMake and the web site generator. #2783

    Version info

  • 6.2.2
    Release

    Features

    Other process' changes

    • Surface sorption / desorption process implemented. #2658
    • Tag to fix amount of a KineticReactant in ChemistryLib. #2638
    • Replaced the material parameters of ThermoHydroMechanicsProcess with MPL. #2614
    • Explicit tag to set initial stresses in SmallDeformation, ThermoMechancis, HydroMechanics, and RichardsMechanics processes. #2635
    • Invoke material parameters that are associated with component transport process from MPL. #2646
    • Integrated another Phreeqc interface using direct memory access approach for reactive transport modeling. #2640
    • Replaced the specific material properties of TwoPhaseFlowWithPP with generalized MPL. #2644
    • Pass dt through interfaces instead of storage in process' data or coupled solutions. #2673

    Numerics

    • Generalized implementation for specification of the non-equilibrium initial states. #2633
    • Bulk element point mapping for tetrahedrons added. #2662
    • Repeat time step if assembly failed. Specifically for MFront material models if the integration fails, the time step will be repeated given adaptive time stepping scheme. #2730

    Boundary condition

    • Add possibility to specify 'lower' dimensional Robin/Neumann boundary conditions. #2710

    Source term

    • Line source terms are available. #2685

    Input and output

    • [HT] Test if all the needed material properties read from project file. #2727
    • Extend internal state variables (MFront) output to TM, RM, and HM. #2732

    Material models

    • New ParameterProperty can be used for heterogeneous spatial distributed MPL properties. #2616, #2683
    • Include MFrontGenericInterface as submodule and update to version tfel-3.2.1. #2631
    • Add Mohr-Coulomb-Abbo-Sloan (and its orthotropic version) to MFront material models. #2634
    • Extend LinearProperty for linear dependency upon multiple dependent variables. #2649
    • New IdealGasLaw MPL property for pure phases consisting of ideal gases. #2651
    • New MPL property Saturation based on the Brooks and Corey material model. #2652
    • New MPL property Relative Permeability based on the Brooks and Corey material model. #2656
    • New MPL properties Saturation and Relative Permeability according to the original Liakopoulos multiphase flow experiment. #2657

    File I/O

    • A no longer used RapidStnInterface for stn files is dropped. The used XmlStnInterface remains. #2609

    New tools

    • command line utility to interpolate equidistant raster files between two boundary rasters (for vertical refinement of subsurface layers). #2621
    • command line utility to convert 2D meshes into ESRI shape files. #2627
    • command line utility to conver netCDF-files into OGS meshes. #2654
    • command line utility for for 3D mesh to grid conversion. #2704

    Other notable code changes

    • Split BuildInfo from BaseLib into separate libs to reduce re-linking after changes in the info variables. #2625
    • Remove almost unused "named functions". #2708

    Infrastructure

    • Update tetgen to version 1.5.1 released on 18. of August 2018. #2618
    • Add options to enable gcc sanitizer flags. #2706

    Jenkins

    • Builds Singularity container with OGS compiled for different MPI versions on master, #2628
    • Run benchmarks in Singularity container, #2648

    CMake options changes

    • Added option to set OGS_BUILD_PROCESSES=OFF to disable building of all processes. #2752

    Web / Docs

    • Added links to latest benchmark pages to homepage, added sticky navigation. #2620
    • Website is now fully built (including generation of CSS and JS files) by Netlify, #2731

    Version info

    • Hugo 0.60.1 (for website generation). #2731
    • Conan 1.21.0, #2654, #2756
  • 6.2.1   OpenGeoSys Release 6.2.1
    Release 6.2.1

    Features

    New processes

    • A thermo-hydro-mechanical (THM) process, monolithic implementation for Newton non-linear solver. #2446

    Other process' changes

    • Non-equilibrium initial state in the small deformation, HM, and TM processes. #2501, #2561, and #2544
    • A reactive transport process, integrated IPhreeqc Module 3.5.0 for reactive transport modeling. #2494, #2512
    • Fix velocity output in HM. #2507
    • Store process' names in the Process class instead of an outside map. #2534
    • Generalize permeability models for the fracture flow in LIE/HM:
      • CubicLaw (just generalization). #2542
      • ConstantPermeability. #2543
    • Add simple mass lumping to the RichardsMechanics. #2590

    Numerics

    Parameter

    • new TimeDependentHeterogeneousParameter. #2588 Feature can be used for time dependent heterogeneous boundary condition or source term specification.

    Boundary condition

    Source term

    Input and output

    • HT process: Use MaterialPropertyLibrary for solid phase properties, too. This makes it necessary to changed the project files. #2487
    • Reactive transport process: Output time-series amounts of kinetic reactants and equilibrium phases defined under the subtree of chemical system. #2564

    Material models

    • Orthotropic elasticity model. #2428
    • Dupuit permeability relation. #2330

    File I/O

    • Gocad TSurface reader has been added #2547
    • Gocad PLine reader has been added #2586

    Testing and documentation

    New tools

    • GocadTSurfaceReader command line utility #2547/#2586

    New tools and CLI usage

    • Add switch multiple-nodes-allowed to tool constructMeshesFromGeometry, #2459
    • Add option to vtkdiff tool to compare meshes using absolute tolerances and connectivity, #2485
    • Scalar arrays are copied when using the ExtractSurface-tool, #2492

    Data Explorer

    • Mesh to shape export is now writing all cell-based scalar arrays to the DBF-file, #2436
    • Added support of world files to georeference arbitrary raster files, #2460
    • Scalar arrays are copied when extracting mesh surfaces, #2492
    • Gocad TSurfaces can be imported into Data Explorer #2547
    • Gocad PLines can be imported into Data Explorer #2586

    Other notable code changes

    • Conversion to linear mesh is now independent of node numbering. #2519

    Development workflows

    Infrastructure

    Jenkins

    • Added web link checker, #2572
    • Reordered Jenkins pipeline for better concurrency, #2560
    • Updated Docker base images to Ubuntu 18.04, #2493
    • Migrated from envinf1 to frontend2, #2440
    • Conan: Use lower-case package names for qt, vtk and shapelib, #2450, #2573

    CMake options changes

    • Bumbed miniumum CMake version to 3.12, #2597
    • Added option OGS_CONAN_BUILD_TYPE to overwrite Conan build type, #2577

    Web / Docs

    Version info

    • CMake minimum 3.12
    • VTK minimum 8.2
  • 6.2.0   OpenGeoSys 6.2.0
    Release 6.2.0

    Changelog

    Features

    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

    Numerics

    • Staggered scheme for coupled processes with different orders of elements. #2016
    • 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. #2153

    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. #2303, #2415
    • 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. #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 Codecov. #2333, #2336
    • 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
    • constructMeshesFromGeometry: Construction of boundary meshes from bulk mesh and gml files. #2144
    • identifySubdomains: 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). #2115
    • 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. #2017
    • 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

    Infrastructure

    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. #2233
    • 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
  • 6.2.0-rc1
  • 6.1.0
    Release 6.1.0

    Overview of changes since 6.0.8 release.

    The changes since the prerelease 6.1.0-rc1 contain few bug fixes and improvements of the CI.

    Features:

    New processes:

    Other process' changes:

    Material model changes

    Testing and documentation:

    • Insitu visualization with ParaView Catalyst. See presentation. #1744, #1732. As a consequence VTK 7.1 is now required.
    • Benchmark docs are now part of the code (in web/content) and can contain interactive 3D visualizations via vtk.js. #1706, #1714, #1723, #1729.
    • Migrated handling of test data files from git-submodule to git-lfs, see docs. #1964, #1982, #1984, #2010, #2012. Now git-lfs is required. Check the installation instructions.

    Infrastructure:

    • Fully moved to Conan for automatic third-party library handling. Can be enabled with OGS_USE_CONAN=ON, see docs. #1907
    • Conan version 1.0 is now required.
    • Dropped travis CI environment and added few new tests on Jenkins because of simpler maintenance.

    CMake options changes:

    • OGS_EIGEN_DYNAMIC_SHAPE_MATRICES defaults to OFF on Release config, ON otherwise. Can be overridden by explicitly setting the option. #1673
    • New OGS_EIGEN_INITIALIZE_MATRICES_BY_NAN defaults to ON for easier spotting of non-initialized matrices. When OFF, the Eigen's default initialization to 0 is skipped resulting in slightly faster execution. https://github.com/ufz/ogs/pull/1917
    • Set default Eigen's cmake flag disabling vectorization since this lead to several problems in different environments. https://github.com/ufz/ogs/pull/1919 and the issue linked there https://github.com/ufz/ogs/issues/1881

    Other

    • PETSc config is tested on Jenkins (envinf1)
    • OGS binaries are provided as eve / envinf1 modules. See docs for details. #1753
    • Migrated Data Explorer to Qt5. #1622, #1625
    • Windows builds are tested on MSVC 2017 on own hardware and on MSVC 2015 on AppVeyor. #1802
    • Minimum GCC version is 4.9 (tested on Travis and Docker builds), 6.2 is tested on UFZ cluster system (envinf1). #1810
    • Removed Windows 32-bit builds from testing --> no Windows XP binaries are provided anymore. #1988
    • Migrated Jenkins Pipeline scripts to new syntax called Declarative Pipeline. #1976
    • Tests to check the gradient of shape function by comparing the given and the computed element volumes (https://github.com/ufz/ogs/pull/1873).
  • 6.1.0-rc1
    Release 2017

    Features:

    New processes:

    Other process' changes:

    Material model changes

    Testing and documentation:

    • Insitu visualization with ParaView Catalyst. See presentation. #1744, #1732. As a consequence VTK 7.1 is now required.
    • Benchmark docs are now part of the code (in web/content) and can contain interactive 3D visualizations via vtk.js. #1706, #1714, #1723, #1729.
    • Migrated handling of test data files from git-submodule to git-lfs, see docs. #1964, #1982, #1984, #2010, #2012. Now git-lfs is required. Check the installation instructions.

    Infrastructure:

    • Fully moved to Conan for automatic third-party library handling. Can be enabled with OGS_USE_CONAN=ON, see docs. #1907

    CMake options changes:

    • OGS_EIGEN_DYNAMIC_SHAPE_MATRICES defaults to OFF on Release config, ON otherwise. Can be overridden by explicitly setting the option. #1673
    • New OGS_EIGEN_INITIALIZE_MATRICES_BY_NAN defaults to ON for easier spotting of non-initialized matrices. When OFF, the Eigen's default initialization to 0 is skipped resulting in slightly faster execution. https://github.com/ufz/ogs/pull/1917
    • Set default Eigen's cmake flag disabling vectorization since this lead to several problems in different environments. https://github.com/ufz/ogs/pull/1919 and the issue linked there https://github.com/ufz/ogs/issues/1881

    Other

    • PETSc config is tested on Jenkins (envinf1)
    • OGS binaries are provided as eve / envinf1 modules. See docs for details. #1753
    • Migrated Data Explorer to Qt5. #1622, #1625
    • Windows builds are tested on MSVC 2017 on own hardware and on MSVC 2015 on AppVeyor. #1802
    • Minimum GCC version is 4.9 (tested on Travis and Docker builds), 6.2 is tested on UFZ cluster system (envinf1). #1810
    • Removed Windows 32-bit builds from testing --> no Windows XP binaries are provided anymore. #1988
    • Migrated Jenkins Pipeline scripts to new syntax called Declarative Pipeline. #1976
    • Tests to check the gradient of shape function by comparing the given and the computed element volumes (https://github.com/ufz/ogs/pull/1873).
  • 6.0.8-insitu   Added tag for insitu PR.

    See #1744. Just used this release for DOI generation.

  • 6.0.8   OpenGeoSys Release 6.0.8

    The highlight of the release is the implementation of the Lower-Interface Elements for both the small deformation process (M) and hydro-mechanics process (HM) allowing fractures to be incorporated in the solution domain. For the liquid flow and two-phase flow processes several material models for the fluids pressure, density, permeability, and viscosity were added.

    Features:

    • Implementation of hydro-mechanics (HM) with LIE. #1537-#1541
    • Implementation of small deformation (M) with LIE. #1452
    • Fracture constitutive models. #1434
    • Hydro-Mechanics process. #1508
    • First version of monolithic hydro-thermal process implementation with Boussinesq approximation using constant viscosity. #1534
    • Two phase flow process with pp model implementation. #1530
    • Richards flow process implementation. #1473
    • Liquid process. #1468
    • Classes for relative permeability models. #1531
    • Classes for capillary models. #1517, #1578
    • Ehlers single-surface yield function constitutive relation model. #1556
    • Support scaling, GMRES, and Pardiso in Eigen linear solvers. #1509 #1510
    • Piecewise linear Monotonic curve and a generic curve parser. #1529
    • Support searching boundary nodes in MeshLib::NodeSearch. #1459
    • Support specifying the shape function order in process variables. #1503
    • Command line option --unbuffered-std-out to deactivate buffer for standard output. #1514
    • CMake option OGS_FATAL_ABORT for debugging. #1432
    • Set the default OGS_LOG_LEVEL to debug in release builds. #1522
    • Add integration order in input files. #1464

    Utilities

    New utilities:

    • createQuadraticMesh #1500
    • convertToLinearMesh #1554
    • postLIE #1555

    New features:

    • extend NodeReordering to correct ordering of nonlinear nodes #1519

    Infrastructure:

    • Ctest now works on Windows too by removing time-wrappers. #1480
    • Moved to public Jenkins instance at jenkins.opengeosys.org. #1505
    • Doxygen warnings parser in Jenkins will mark a build as unstable if there are Doxygen warnings. #1585
    • Benchmarking on Jenkins now saves the standard output into a file for each test. #1528

    Fixes:

    • Fix LocalToGlobalIndexMap with mutliple variables and with multiple componets. #1433 #1440
    • Fix PropertyVector<T*> for multi-component case. #1441
    • Fix checking IDs of nonlinear nodes. #1495
    • Fix incorrect use of getNumberOfBaseNodes(). #1515
    • Fix computing sparsity pattern for mixed shape function order cases. #1548
    • Fix that iterations and residuals were not printed when Eigen linear solver fails. #1499
    • Fix all of the Doxygen warnings in the code. #1569 #1573
    • Fix all of the input file/keyword documentation and its generation.
  • 6.0.7

    Features

    The main features of this release is the implementation of two new processes, the small deformation, and the heat conduction. Some extensions were done to the DOF table to be able to manage multi-component/multi-variable processes. Also, during implementation of the Robin boundary conditions, the base classes for the boundary conditions were generalized.

    • Add small deformation process with linear elastic material model. The implementation is based on the Kelvin mapping. #1340
    • Added B-Matrices and Kelvin mapping tools for deformation processes. #1359
    • Heat conduction process implementation. #1328
    • Finalize support for multicomponent boundary conditions adding configuration parser. #1343
    • Added uniform Robin boundary condition. #1336
    • Added a generic natural boundary condition class. #1337
    • Added Robin boundary condition. #1336
    • Reworked the Parameter class. It now serves as a basis for BCs and ICs. #1357, #1356
    • Added time-dependent Dirichlet BCs. #1380
    • Add calculation of surface flux, tests for groundwater flow. #1429
    • Implemented numerical Jacobian assembly for Newton-Raphson solver. #1352
    • Added the new parameter type "Group" which can be used for setting material ID dependent values. #1426
    • Added fluid property class and several fluid density and viscosity models based on it. #1398, #1435
    • Enabled solving of axially symmetric problems on 2D meshes for all currently implemented processes. #1443
    • Added time measurement for assembly and solvers. #1322
    • Added named functions, out of which expressions can be built up at run-time from the prj file, which can be used to output additional nodal quantities. #1314, #1315
    • Added component-wise norms, and flexible convergence criteria for nonlinear solvers. #1349, #1342
    • Restructured the time loop. #1364

    Utilities

    New utilities:

    • createNeumannBc: The tool integrates the given element property and writes the computed data as a PropertyVector with the name node_aggregated_gwn into the mesh. The tool also outputs an OGS-5 direct source term (Neumann boundary condition) data file. #1346
    • scaleProperty for simple rescaling of mesh properties. #1347
    • convertGEO for geometric file conversion, e.g. gli to glm. #1360
    • swapNodeCoordinateAxes to swap node coordinate values, e.g. XY to XZ plane. #1361 New feature:
    • Support tetrahedra types in generateStructuredMesh. #1353

    Infrastructure

    • Migrated all important Jenkins jobs to script-based Jenkins Pipeline functionality. For an introduction see docs.opengeosys.org - Continuous Integration. #1392, #1396, #1404, #1411, #1424, #1428, #1436
    • Moved CMake logic for packaging executable dependencies (such as shared libs) to the install and package targets instead of running after each executable gets build. #1458
    • Increase minimum clang compiler version to 3.5 in course of updating travis build enviroment to Ubuntu LTS 14.04. #1448
    • Added a script that generates crosslinked Doxygen pages out of ctest input files #1348

    Fixes:

    • Fix an issue that a shape vector was defined as a column vector. Corrected to a row vector . #1288
    • Fix usage of boost::optional<T const&>, which has changed in version 1.61. #1385
    • Fix Grid (enlarge bounding box to fit all points). #1369
    • Fix mapping of geometries to mesh surfaces. #1327. #1368
    • Fix transmitting raster data to element properties. #1347
    • Fixed missing XSD files in packages. #1410
    • Fix a shape vector to a row vector. #1288
    • Fix FEFLOW import. #1397
    • Fix NodeReordering to check ordering of each element. #1425
    • Fix builds linking shared VTK library. #1431
    • Fix global Newton iteration counter. #1341
    • Correct few loops over mesh nodes, which should run over the mesh subsets. #1437
    • Fix shape function computation for 2D elements lying in the x-y-plane #1318
    • Fix AddTest, s.t. ctest now really checks results. #1325
    • Made Eigen preconditioner configurable. #1367
  • 6.0.6
    Release

    Features:

    • Transferred the TES process, a monolithically coupled THC model for simulating thermochemical energy storag devices, from OGS5. #1181
    • Add external ode-solver interface with Sundials CVODE library. #1109
    • Introduced a general scheme for documenting OGS6 input file settings. #978
    • Add piecewise linear curves parser to the project files. The curves are specified by two vectors, the coordinates and values. They can be used for example to map temporal dependencies (time-dependent boundary conditions) or as approximations of coefficient dependencies (e.g. pressure-saturation curves). #1149
    • Extend the LocalAssemblerInterface by adding default implementations of pre/postTimestep and assembleJacobian functions. The current time and time step size are passed in the preTimestep call to the particular processes. #1214
    • Add support multi-variable/multi-component in the DOF table interface and extend the initial conditions to multi-components. #1224
    • Major rework of the general process interface. That also affects the interface of concrete processes and local assemblers. least squares optimization. #1145
    • Added functionality for the output of secondary variables. #1171
    • Added material properties for zeolite adsorption and Calcium oxide/hydroxide reactions. #1178
    • Added copy constructor for the class Surface, minor improvements in GeoLib. #1237
    • Added classes GeoLib::LineSegment and GeoLib::Polyline::SegmentIterator. #1139
    • GMSHInterface can handle stations as constraints. #1212
    • Added functionality to duplicate geometric data. #1229
    • Station names can be modified in Data Explorer #1273

    Infrastructure

    • Fix circular dependencies on library level. This allows for dynamic linking which is faster than static and can be used in debug builds, where the compilation time is more important than the runtime.
      • Enable shared linking of ogs libraries. #1133
      • Break FileIO on ApplicationsLib dependency. #1138
      • Remove MeshLib on FileIO dependency. #1143, #1153
      • Cleanup some of AssemblerLib dependencies. #1166
      • Split AssemblerLib and move to MathLib and NumLib #1208
      • Move InsituLib to MeshLib #1208
      • Remove MathLib depends on NumLib #1208
      • Remove dependency of FileIO on Data Explorer #1302
    • Introduced Conan package manager for automatic fetching of build dependencies, #1141
    • Inconsistent formatting of tabs and spaces was finally resolved: now all formatting, indentation and alignment, are done with four spaces. #1201
    • Windows 32-bit builds are disallowed because they are not supported. Can be forced by setting OGS_32_BIT=ON. #1230
    • Simplified FindEigen.cmake, #1209
    • git diff --check is run in its own Travis job, #1207
    • Moved some IO implementations from FileIO to BaseLib/IO, GeoLib/IO, MeshLib/IO, #1182, #1235
    • Eigen is not optional anymore #1218
    • Removed OGS_USE_EIGENLIS CMake option. Use OGS_USE_LIS instead #1251

    Fixes:

    • Fix linking of Metis in MathLib. #1147
    • Fix memory leaks in GMSHInterface. #1212
    • Fix build with Lis #1267
    • Fixing several small issues with NetCDF import #1169
    • Restructure Applications related modules
      • Move DataHolderLib and FileIO under Applications #1279
    • Remove calling std::abort within libraries. Exeptions are thrown instead. #1245
    • Fix finding Boost with BOOST_ROOT CMake argument #1287
    • Fix linking of Sundials CVODE library #1197
    • Fixed issue where geometry names would be missing after merging geometries #1295
  • tes-works-again
  • 6.0.5
    Release 6.0.5

    Release notes

    Implementation of several time integration methods and non-linear solver schemes is the major advance in this release. We have chosen to implement a first order implicit quasi-linear system solver for the equations in the form of $M\dot{x} + Kx + b = 0$, where M, K, and b depend on t and x.

    The explicit and the implicit Euler, the Crank-Nicholson, and the BDF (second to sixth order) time integration methods are provided. For the non-linear systems, the Picard and Newton methods are available. See implementation details in the doxygen documentation.

    Overall stability of the code was improved with recent usage of clang's address and undefined behaviour sanitizers.

    Features:

    • Added an ODE solver library that can solve transient and nonlinear problems (see http://doxygen.opengeosys.org/df/d35/group__ODESolver.html).
    • Move up common Process parts from particular GroundwaterFlow process implementation. #951, #982
    • Separate Dirichlet boundary condition class implementation. #963
    • Split process output and post timestep. #998
    • Added pre- and postTimestep and -Iteration hooks to processes. #1094, #1100, #1101
    • Added a new configuration tree parser
      • Checks configuration parameters more strictly, automatically prints error/warning messages.
      • Requires Boost >= 1.56 because of boost::optional with move semantics.
      • Command line argument --config-warnings-nonfatal that keeps OGS from terminating on warnings during configuration file parsing (errors still makes it terminate).
    • Improved axis aligned bounding box:
      • Is now a from the right half-open interval.
      • Removed template from class declaration.
    • Improved MeshLib: Class MeshElementGrid implements a grid data structure supporting search operations.
    • Added cmake option OGS_EIGEN_DYNAMIC_SHAPE_MATRICES that makes OGS use dynamically. allocated shape matrices.
    • Added several cmake options for selecting which element types, dimensions and orders to be built. Selecting only few element types speeds up compilation significantly. #1092
    • Added a command line argument of -l for OGS cli and testrunner to specify verbosity of logging. #1056
    • Added possibility to specify after which timesteps there shiuld be output.
    • Added possibility to specify timesteps of different size for use with transient processes.

    DataExplorer and utilities

    • Added command line tool for creating layered meshes from raster files
    • Made OGSFileConverter as a separate library
    • Add a new functionality to the raster file to structured grid conversion, which can now convert pixel values in user-defined scalar arrays
    • Improved DataExplorer, which now enables the possibility to display all scalar arrays in mesh information window.
    • Added generation of structured meshes to DataExplorer
    • Restructured mesh creation access in DataExplorer
    • Added a new functionality to add mesh layers to existing meshes in DataExplorer
    • Reworked tools:
      • CreateBoundaryConditionsAlongPolyline
      • AddTopLayer
      • ResetPropertyInPolygonalRegion
      • removeMeshElements

    Infrastructure

    • Minimum Boost version: 1.56.0. #943
    • Boost requirement is now header-only. #940
    • Optional support for VTK 7. #1083
    • Test data is now a git submodule. #1000
    • In-code defined Jenkins jobs. #970
    • Use clang's address and undefined behaviour sanitizers on Jenkins now. #958

    Documentation

    Fixes

    • Fix bugs in GeoLib:
      • lineSegmentIntersects.
      • Polygon::splitPolygonAtIntersection.
      • Grid.
    • GeoMapper: Refactoring few methods, c++11. #977
    • Rework FileIO::GMSH interface
      • Process geometries located other than in the x-y-plane.
      • Respect the scaling factor for Stations.
      • Fix memory leaks.
      • Added/modified tests for GML-, GMS- and TetGen-files.
  • ode-pre-review
    6eefabc2 · [NL] added a remark ·
  • 6.0.4
    05a8cda4 · Update changelog. ·
    Release 6.0.4

    Release notes

    | Released on 2015/01/05, GitHub Release Link

    Features:

    • Parallel computing framework for FEM by using PETSc, which also includes
      • Parallel input of partitioned mesh data.
      • Parallel output of solutions by using pvtu data format.
    • New data structures for mesh properties are used everywhere replacing Element's value member.
    • The penalty method to impose first-type boundary conditions was substituted with a non-penalty method for LIS and Eigen linear solvers.
    • Support for multiple nodal variables is extended to the boundary conditions, the sparsity pattern.
    • Passing of linear solver options from the project files is now possible.
    • The global matrix and global vector type of indices is consistent with the linear solver library being used.

    Infrastructure

    • Added CMake option OGS_CPU_ARCHITECTURE, #858, downloadable binaries build by Jenkins should now run on more CPUs
    • Added CMake options for Boost, VTK and Eigen (OGS_LIB_BOOST, ...) to specify if libs are searched on the system first, then build them locally (Default), or you can specify to just use system libs (System) or force a local build (Local)
    • Added CMake options for enabling Clang sanitizer:
      • OGS_ADDRESS_SANITIZER
      • OGS_UNDEFINED_BEHAVIOR_SANITIZER
    • The zlib library is removed from ThirdParty directory.
    • A LIS solver interface using Eigen's sparse matrices is now available through CMake option OGS_USE_EIGENLIS.
    • CMake configuration uses ccache if available.

    Documentation

    Fixes

    • Fix all ogs-internal warnings on all OS.
    • Move eigen solver compute call to solve(); different fix for 0237275a
  • 6.0.3
    da7959f7 · Update .clang-format. ·
    Release 6.0.3

    | Released on 2015/09/21, GitHub Release Link

    Release notes

    Features:

    • Mesh properties are now used for:
      • heterogeneous "initial conditions" (actually a start solution vector for the elliptic problem).
      • spatially heterogeneous hydraulic conductivity values in the groundwater flow process.
    • First steps towards time dependent problems: Time loop integration for processes is provided.
    • Interpolation of nodal quantities on elements using shape functions.
    • Mesh generator can create surface meshes according to a given function

    ? - DataExplorer extensions:

    • Utilities:
      • MoveGeometry
    • The DOF table handles now all of the provided element types: Hex 8 and 20, Line 2 and 3, Prism 6 and 15, Pyramid 5 and 13, Quad 4, 8, and 9, Tet 4 and 10, Triangle 3 and 6.
    • Eigen linear solver library can be used for solution of the linear systems of equations.
    • Octree data structures for fast searches
      • Volumetric and surface grid
      • ElementSearcher NodeSearcher improvements
    • Generalized the computation of rotation matrix to xy

    Fixes

    • FEFLOW interface supports element sets now.
    • Reduce compilation times by using forward declarations and removing unnecessary includes and using explicit template instantiation for often required classes.
    • GMSH2OGS: fixed bug in cases GMSH mesh does not contain line elements
    • CreateBoundaryConditionsAlongPolylines: fixed bug concerning the GeoLib and point ids.
    • PointVec corrected point id map
    • Shape interface creates polylines in a consistent state

    Infrastructure

    Test examples

    • Test case: groundwater flow in the Unstrut catchment (model consists approximately of 9e6 hexahedral cells)
      • Simulations using homogeneous and heterogeneous hydraulic conductivity
      • Integrated rivers as Dirichlet type boundary conditions
      • Integrated groundwater recharge (spatialy homogeneous) as Neumann boundary condition

    unstrut_heterogeneous_rivers_top_layer_diff_recharge-no_recharge

    Next steps

    The next big step will be the implementation of a parallelization scheme using PETSc library

    In development

    • OGS#PETSc interface for parallel computing
    • Solving of time dependent problems

    Planned

    • Implementation of a linear parabolic pde solver
    • Extending the linear elliptic solver to non-linear problems
  • 6.0.2-doi

    | Released on 2015/06/15, GitHub Release Link

    Release notes

    The second release of ogs6 introduces Neumann boundary conditions and VTK result output.

    Features:

    Fixes

    • Performance optimizations in VTK mesh conversion, PR #695
    • Improve layered prism mesh construction
    • Fix a lot of warnings on gcc/clang/msvc compilers improving the code

    Infrastructure

    Test examples

    Next steps

    In development

    • Heterogeneous fields (for e.g. hydraulic conductivity parameters)
    • Octree data structures for fast searches
    • OGS#PETSc interface for parallel computing

    Planned

    • Parallelization scheme using PETSc library
    • Extending the linear elliptic solver to non-linear problems
  • 6.0.2
    Release 6.0.2

    | Released on 2015/06/15, GitHub Release Link

    Release notes

    The second release of ogs6 introduces Neumann boundary conditions and VTK result output.

    Features:

    Fixes

    • Performance optimizations in VTK mesh conversion, PR #695
    • Improve layered prism mesh construction
    • Fix a lot of warnings on gcc/clang/msvc compilers improving the code

    Infrastructure

    Test examples

    Next steps

    In development

    • Heterogeneous fields (for e.g. hydraulic conductivity parameters)
    • Octree data structures for fast searches
    • OGS#PETSc interface for parallel computing

    Planned

    • Parallelization scheme using PETSc library
    • Extending the linear elliptic solver to non-linear problems