Simulator programs and utilities for automatic differentiation.
Go to file
Bård Skaflestad c03f794f9c Remove Dashed Lines Between Records in PRT File Reports
This commit splits the production, injection, and cumulative
*Report_() functions into three logically distinct parts, one for
outputting the report header (begin*Report_()), one for outputting a
single report record (output*ReportRecord_()), and one for ending
the report (end*Report_()).  This simplifies the logic of the
*Record_() member functions since they no longer need to infer the
context which is already available in the caller and can perform a
more narrow task than before.

With this separation we're also able to remove the dashed lines
which would previously separate each report record, thereby creating
PRT file report sheets which have a more expected layout.

Moreover, as an aid to future maintenance, we also factor out common
code for the well and group cases in each *Record_() function.

Finally, fix a unit conversion problem in the report values for
cumulative gas quantities.  The sheet header states that we should
be outputting values in 'MM' prefixed units, but we were only
scaling the gas values by a factor of 1000 instead of 1000*1000.  In
other words, the injection and production gas values in the
cumulative sheet were off by a factor of 1000.
2023-12-11 10:01:22 +01:00
doc Update manpage for release 2023-11-09 15:34:20 +01:00
ebos adjust to data::CellData changes 2023-12-08 18:41:35 +01:00
examples fixed: these fields are ROOT_ONLY 2023-04-24 09:57:40 +02:00
flow Support for mechanical dispersion 2023-11-16 16:55:01 +01:00
jenkins adjust jenkins script and buildsystem 2022-12-01 14:10:43 +01:00
opm Remove Dashed Lines Between Records in PRT File Reports 2023-12-11 10:01:22 +01:00
python changed: vendor pybind11 using FetchContent 2023-11-16 10:02:04 +01:00
tests Remove Dashed Lines Between Records in PRT File Reports 2023-12-11 10:01:22 +01:00
.clang-format removing the duplicated AlignAfterOpenBracket entries in .clang-format 2023-08-08 13:18:51 +02:00
.gitignore Add build/ to .gitignore 2020-04-22 13:22:54 +02:00
CHANGELOG.md Added entries to changelog concerning 2019.10 release 2019-10-29 13:27:07 +01:00
CMakeLists_files.cmake changed: move simulator serialization to separate class 2023-12-05 11:20:22 +01:00
CMakeLists.txt fixed: also add dependency with ninja generator 2023-11-22 12:27:31 +01:00
compareECLFiles.cmake Added testcase for TUNING/TSINIT and NEXTSTEP - depends on https://github.com/OPM/opm-tests/pull/1028 2023-08-25 14:01:51 +02:00
CTestConfig.cmake cdash: update dropsite 2015-11-11 16:50:25 +01:00
dune.module Bump version to 2024.04 2023-10-11 21:27:29 +02:00
LICENSE Add LICENSE File 2021-03-30 10:41:18 +02:00
opencl-source-provider.cmake Move opencl files to separate folder 2022-02-01 16:51:32 +01:00
opm-simulators-prereqs.cmake Update to the opm-flow internal Damaris XML to support the HDF5 select writing option so that local variable data is written to global variable position in HDF5 output 2023-09-01 12:02:04 +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 Reduce Timestep for Certain Sensitive Tests 2023-11-22 16:53:48 +01:00
README.md Remove obsolete information from the README 2020-03-13 11:23:35 +01:00
regressionTests.cmake Add GPMAINT-11 to regression test 2023-11-28 08:08:58 +01:00
restartTests.cmake Adding tests 2023-11-01 15:25:44 +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.