Skip to content
Snippets Groups Projects
Forked from ogs / ogs
20325 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
To find the state of this project's repository at the time of any of these versions, check out the tags.

Release notes

6.0.5 (in preparation)

Features:

  • Added an ODE solver library that can solve transient and nonlinear processes (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
  • 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).
  • Axis aligned bounding box:
    • Is now a from the right half-open interval.
    • Removed template from class declaration.
  • 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
  • Command line argument -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
  • OGSFileConverter is now a separate library
  • Raster file to structured grid conversion can now convert pixel values in user-defined scalar arrays
  • All scalar arrays will be displayed in mesh information window in DataExplorer
  • Added generation of structured meshes to DataExplorer
  • Restructured mesh creation access in DataExplorer
  • Mesh layers can be added to existing meshes in DataExplorer
  • Rework 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.

6.0.4

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

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

  • 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.

  • Implemented OctTree for fast searching points and nodes

  • 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

| 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.1

| Released 2015/03/02, GitHub Release Link

The 6th version of OpenGeoSys (OGS) is under way. After single and coupled FORTRAN modules in ROCKFLOW 1+2, the C version 3 with dynamic data structures, the object-oriented C++ parallelized version 4, completed with data integration and visualization tools by version 5; ogs6 - as an open source project - is aimed at performing on supercomputing platforms and providing complete workflows for solving of coupled multi-field problems in real world applications. The major paradigms of ogs6 are being developer-friendly, performing, and user-friendly.

Important links:

Release notes

The first version ogs6 is dedicated for elliptic problems.

Features:

  • Basic structures of processes
  • Mathematical operations are based on Eigen3 library
  • Linear solvers: DenseMatrix with Gauss elimination, and LIS (http://www.ssisc.org/lis/)
  • XML based IO
  • Standard finite element method (FEM)
  • Available element types: lines, triangles, quads, hexahedra
  • Dirichlet boundary conditions
  • Linear elliptic solver (e.g. Groundwater flow) for scalar quantities in homogeneous media

Fixes

  • DenseMatrix Gauss algorithm pivoting
  • Fixing mem-leaks on DataExplorer start up
  • Fixing resizing and layout issues in various DataExplorer dialogs

Test examples

  • Example 1: Unit square (access)
  • Example 2: Unit cube (access): has 1000 hexahedra elements with Dirichlet boundary conditions (u=1|x=0) and (u=-1|x=1)

Next steps

In development

  • OGS#PETSc interface for parallel computing (02/2015*planned)
  • Neuman boundary conditions (03/2015*planned)

Planned

  • Parabolic solver