Simulator programs and utilities for automatic differentiation.
Go to file
Bård Skaflestad 68cc5d917e Output CNV Histogram to INFOITER File
This commit tracks the number of cells and their associate fraction
of the model's "eligible" pore volume (total pore volume in
numerical aquifers subtracted from the model's total pore volume) in
three distinct categories as a function of the non-linear iteration
number:

  - 0: MAX_p { CNV_p } <= strict CNV tolerance
  - 1: MAX_p { CNV_p } \in (strict, relaxed]
  - 2: MAX_p { CNV_p } > relaxed CNV tolerance

We then output these cell counts and pore volume fractions as new
items in the INFOITER file to enable more targeted analysis of the
non-linear convergence behaviour.

To this end, introduce a type alias CnvPvSplit in the
ConvergenceReport and aggregate these across the MPI ranks before we
collect them in the ConvergenceReport objects.

While here, also reduce the amount of repeated logic in
gatherConvergenceReport.cpp through a few local lambdas.
2024-08-27 10:50:06 +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
doc Update manpage for release 2023-11-09 15:34:20 +01:00
examples Move opm/core/props to opm/simulators/utils 2024-06-25 12:22:09 +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 adjust jenkins script and buildsystem 2022-12-01 14:10:43 +01:00
opm/simulators Output CNV Histogram to INFOITER File 2024-08-27 10:50:06 +02:00
python relax python tests slightly 2024-08-16 10:18:50 +02:00
tests Merge pull request #5559 from akva2/janitoring 2024-08-26 10:34:36 +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 refactor cusparsematrixoperations 2024-08-23 11:15:18 +02:00
CMakeLists.txt fix cmake for gpuvector 2024-08-23 13:02:09 +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 Version bump to 2024.10-pre 2024-04-25 12:59:19 +02:00
LICENSE Add LICENSE File 2021-03-30 10:41:18 +02:00
opencl-source-provider.cmake openclKernels: optionally instantiate for float 2024-08-21 09:23:31 +02:00
opm-simulators-prereqs.cmake added: build system option to instantiate for float scalar 2024-08-19 13:09:41 +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 Merge pull request #5531 from lisajulia/small-fixes-COMPDAT-tests 2024-08-16 08:26:10 +02:00
parallelUnitTests.cmake changed: put parallel unit tests in separate .cmake file 2024-08-08 12:21:22 +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 restore all flags for alugrid test 2024-08-20 09:15:27 +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.