Simulator programs and utilities for automatic differentiation.
Go to file
Bård Skaflestad 2e70fc407e Add Oil Phase Saturation Function Consistency Checks
This commit introduces a set of consistency checks for the oil phase
saturation functions.  These plug into the framework introduced in
commit c3939c544 (PR #5438).  We implement the following four checks
for the gas/oil two-phase system

  - 0 <= SOGCR < 1
  - SWL + SGU <= 1
  - SOGCR < 1 - SWL - SGL
  - SOGCR < 1 - SWL - SGCR

which all guarantee a non-negative (mobile) oil saturation in the
gas/oil system.  Similarly, we implement the following four checks
for the oil/water two-phase system

  - 0 <= SOWCR < 1
  - SGL + SWU <= 1
  - SOWCR < 1 - SWL - SGL
  - SOWCR < 1 - SWCR - SGL

which provide the same guarantees as outlined above, but for the
oil/water system.

We add a base class, PhaseCheckBase<Scalar>, which provides a common
representation of the violated/critical predicates and implement the
specific checks as derived types of this base class.
2024-09-03 12:35:44 +02:00
.github/workflows Only notify opm-python-documentation when the file docstrings_simulators.json gets changed on master, not for a PR 2024-07-29 08:41:29 +02:00
bin refactor cuistl folder names 2024-08-22 15:32:21 +02:00
cmake/test Don't Require Floating Point from_chars() Function 2024-09-03 10:49:49 +02:00
doc Import opm-models 2024-09-02 10:55:19 +02:00
examples Import opm-models 2024-09-02 10:55:19 +02:00
flow Merge pull request #5226 from akva2/avoid_alu_poly 2024-03-11 12:35:26 +01:00
flowexperimental BlackoilModelParameters: introduce translation unit 2024-08-16 17:15:53 +02:00
jenkins add imported opm-models code to buildsystem 2024-09-03 10:49:49 +02:00
opm Add Oil Phase Saturation Function Consistency Checks 2024-09-03 12:35:44 +02:00
python fixed: make python simulator object depend on copy_python 2024-09-02 08:21:36 +02:00
tests Add Oil Phase Saturation Function Consistency Checks 2024-09-03 12:35:44 +02:00
.clang-format removing the duplicated AlignAfterOpenBracket entries in .clang-format 2023-08-08 13:18:51 +02:00
.gitignore Added sphinx documentation for Python bindings 2024-05-14 09:00:52 +02:00
CHANGELOG.md Added entries to changelog concerning 2019.10 release 2019-10-29 13:27:07 +01:00
CMakeLists_files.cmake Add Oil Phase Saturation Function Consistency Checks 2024-09-03 12:35:44 +02:00
CMakeLists.txt add imported opm-models code to buildsystem 2024-09-03 10:49:49 +02:00
compareECLFiles.cmake Add option to compare two parallel runs 2024-07-25 16:26:20 +02:00
CTestConfig.cmake cdash: update dropsite 2015-11-11 16:50:25 +01:00
dune.module add imported opm-models code to buildsystem 2024-09-03 10:49:49 +02:00
LICENSE Add LICENSE File 2021-03-30 10:41:18 +02:00
modelTests.cmake add imported opm-models code to buildsystem 2024-09-03 10:49:49 +02:00
opencl-source-provider.cmake openclKernels: optionally instantiate for float 2024-08-21 09:23:31 +02:00
opm-simulators-prereqs.cmake add imported opm-models code to buildsystem 2024-09-03 10:49:49 +02:00
parallelRestartTests.cmake Merge pull request #4667 from akva2/no_adap_timestep_flag_in_driver 2023-05-31 21:37:51 +02:00
parallelTests.cmake changed references 2024-08-29 11:19:29 +02:00
parallelUnitTests.cmake add imported opm-models code to buildsystem 2024-09-03 10:49:49 +02:00
pyactionComparisons.cmake fix typo in test name 2024-07-04 09:32:17 +02:00
README.md Remove obsolete information from the README 2020-03-13 11:23:35 +01:00
regressionTests.cmake adding --tolerance-cnv-relaxed for H2STORE regression 2024-08-28 15:10:00 +02:00
restartTests.cmake rename EclEnableDriftCompensation parameter to EnableDriftCompensation 2024-03-05 20:36:41 +01:00

Open Porous Media Simulators and Automatic Differentiation Library

CONTENT

opm-simulators contains simulator programs for porous media flow. The most important (and tested) part is the Flow reservoir simulator, which is a fully implicit black-oil simulator that also supports solvent and polymer options. It is built using automatic differentiation, using the local AD class Evaluation from opm-material.

LICENSE

The library is distributed under the GNU General Public License, version 3 or later (GPLv3+).

PLATFORMS

The opm-simulators module is designed to run on Linux platforms. It is also regularly run on Mac OS X. No efforts have been made to ensure that the code will compile and run on windows platforms.

REQUIREMENTS

opm-simulators requires several other OPM modules, see http://opm-project.org/?page_id=274. In addition, opm-simulators requires Dune and some other software to be available, for details see https://opm-project.org/?page_id=239.

DOWNLOADING

For a read-only download: git clone git://github.com/OPM/opm-simulators.git

If you want to contribute, fork OPM/opm-simulators on github.

BUILDING

See build instructions at http://opm-project.org/?page_id=36

DOCUMENTATION

Efforts have been made to document the code with Doxygen. In order to build the documentation, enter the command

make doc

in the topmost directory.

REPORTING ISSUES

Issues can be reported in the Git issue tracker online at:

https://github.com/OPM/opm-simulators/issues

To help diagnose build errors, please provide a link to a build log together with the issue description.

You can capture such a log from the build using the `script' utility, e.g.:

LOGFILE=$(date +%Y%m%d-%H%M-)build.log ;
cmake -E cmake_echo_color --cyan --bold "Log file: $LOGFILE" ;
script -q $LOGFILE -c 'cmake ../opm-core -DCMAKE_BUILD_TYPE=Debug' &&
script -q $LOGFILE -a -c 'ionice nice make -j 4 -l 3' ||
cat CMakeCache.txt CMakeFiles/CMake*.log >> $LOGFILE

The resulting file can be uploaded to for instance gist.github.com.