OpenGeoSys

Open-source multi-physics

OpenGeoSys (OGS) is a scientific open source project for the development of numerical methods for the simulation of thermo-hydro-mechanical-chemical (THMC) processes in porous and fractured media. Current version is OpenGeoSys-6 which is documented on this page. For information about OpenGeoSys-5, see its dedicated section. OGS been successfully applied in the fields of contaminant hydrology, water resources and waste management, geotechnical applications, geothermal energy systems and energy storage.

Process Coupling

A coupled system of equations can be either solved in a fully coupled way of the monolithic method, or in the sequential manner of the staggered scheme. The monolithic scheme is applied for all coupled processes, while the staggered scheme are available for the coupled processes of themo-hydraulic, hydro-mechanical, and phase field mechanical problems.

Data integration

Integrate and visualize data sets for OpenGeoSys by using the OpenGeoSys Data Explorer. It provides functionality to visually assess the data and see possible artefacts, inconsistencies between data sets or missing information.

Visualize results

By using VTK data formats visualizing simulation result data sets becomes an easy task. The de-facto standard software for scientific visualtions ParaView can be used to explore and analyze complex data in a visual way.

High performance computing

High performance computing (HPC) has became a necessity in the modelling of environmental and geotechnical problems for better characterization of the complexity of geo-systems as well as predicting their evolution in time. Parallel computing is the most efficient method in the high performance computing. In OGS, the parallalization of the finite element (FE) computation is based on the domain decomposition method (DDC).

Decomposed global matricies and vectors are handled by PETSc and the system of linear equations are solved by the performant PETSc solver. PETSc builds upon the Message Passing Interface (MPI) suitable for a wide variety of parallel computing architectures.

Parallelization is implemented for single processes as well problems with coupled processes which are using the same order of element for each process.

Transparent development workflows

Write front-end code with Jekyll or Hugo and push to your Git repo. Forestry will pull in your commits and update the CMS.

Invite your team to create content in a rich UI. Their updates get committed back without merge conflicts.

Setup a development environment

Learn how to obtain the source code, how to install required other software (e.g. compilers, code libraries), how to configure the software and how to generate the application binary.

Contribute code

Implement your new feature and let the CI system run sophisticated tests automatically for you incorporating multiple computing platforms, a magnitude of software configurations and a whole array of CPU intensive complex test simulation runs.

Get help from core developers

Once your feature is ready the code review process starts. A helpful core developer checks the proposed change for general acceptance and may give hints for improvement (of e.g. the computational performance or the code structure). Once the iterative feedback loop between you, code reviewer(s) and the automated test system satisfies all aspects the proposed change is merged into the main development line.