- Axis aligned bounding box:
- Is now a from the right half-open interval.
- Removed template from class declaration.
- 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.
- Minimum Boost version: 1.56.0, #943
- Boost requirement is now header-only, #940
- 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.
- 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.
- Fix all ogs-internal warnings on all OS.
- Move eigen solver compute call to solve(); different fix for 0237275
-
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
- 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
- Replace quickcheck with autocheck. See https://github.com/thejohnfreeman/autocheck.git for more details on autocheck
- Added support for cross-compiling with MXE: build native Windows binaries on Linux and Mac OS, see Cross-Compiling help page and #767
- Migrated to new Travis infrastructure (faster build times), see #775
- Simplified CMake library linking, see #769
- 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
The next big step will be the implementation of a parallelization scheme using PETSc library
- OGS#PETSc interface for parallel computing
- Solving of time dependent problems
- Implementation of a linear parabolic pde solver
- Extending the linear elliptic solver to non-linear problems
| Released on 2015/06/15, GitHub Release Link
The second release of ogs6 introduces Neumann boundary conditions and VTK result output.
- Neumann boundary conditions
- Implement mesh properties for storage of data fields. This also includes mapped values (e.g. based on material id) PR #542, PR #644,
- Refactored mesh property classes to enable VTK output
- Extended the available elements to quadratic (e.g. Quad8) based on generalized "element rules". #572, PR #656, PR #657,
- Extend computation of shape matrices to lower dimensional elements embedded in higher dimensional space #655
- Builds with MinGW (GCC) on Windows, see Developer Guide and the new MinGW platform instructions
- Cross-compiling for Windows with MXE on Mac OS
- Support for new cross-platform IDE CLion
- Add gradual refinement to the structured mesh generator PR #539
- Add a command line tool "queryMesh" to search mesh information PR #665
- Add a command line tool "AddTopLayer" to add an additional top layer (for example a soil layer, see also the documentation) PR #649
- 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
- Test runtime is monitored at Jenkins for normal and nightly large tests
- Utilities are build by separate Jenkins Jobs, e.g. Win_Utils
- Heterogeneous fields (for e.g. hydraulic conductivity parameters)
- Octree data structures for fast searches
- OGS#PETSc interface for parallel computing
- Parallelization scheme using PETSc library
- Extending the linear elliptic solver to non-linear problems
| 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.
-
Getting started tutorial: http://docs.opengeosys.org/docs/quickstart
-
Descriptions of selected benchmarks: http://docs.opengeosys.org/docs/benchmarks
-
Source code access: https://github.com/ufz/ogs
-
Developer guide: http://docs.opengeosys.org/docs/devguide
The first version ogs6 is dedicated for elliptic problems.
- 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
- DenseMatrix Gauss algorithm pivoting
- 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)
- OGS#PETSc interface for parallel computing (02/2015*planned)
- Neuman boundary conditions (03/2015*planned)
- Parabolic solver