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. |
||
---|---|---|
doc | ||
ebos | ||
examples | ||
flow | ||
jenkins | ||
opm | ||
python | ||
tests | ||
.clang-format | ||
.gitignore | ||
CHANGELOG.md | ||
CMakeLists_files.cmake | ||
CMakeLists.txt | ||
compareECLFiles.cmake | ||
CTestConfig.cmake | ||
dune.module | ||
LICENSE | ||
opencl-source-provider.cmake | ||
opm-simulators-prereqs.cmake | ||
parallelRestartTests.cmake | ||
parallelTests.cmake | ||
README.md | ||
regressionTests.cmake | ||
restartTests.cmake |
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.