Common components for OPM, in particular build system (cmake).
This commit creates a new helper structure, Opm::Connection::CTFProperties that holds all of the individual items which go into calculating the final connection transmissibility factor (CTF). These include the 'Kh' product, the pressure equivalent radius ('r0'), the well-bore radius ('rw'), and the skin factor. We reimplement the Connection constructor in terms of this new helper structure and this changes the API of the constructor. As an additional helper for the implementation, and with a view towards simulation restart support, we also store the value of the Peaceman formula denominator in CTFProperties as double CTFProperties::peaceman_denom This, in turn, simplifies the implementation of CSKIN. It also fixes a latent problem in the current CSKIN implementation which would ignore any explicitly input CTF values in favour of the pressure equivalent radius. By updating the explicit denominator with a new skin factor instead we do not need to recompute the logarithmic term involving 'r0' as part of CSKIN handling. |
||
---|---|---|
bin | ||
cmake | ||
docs | ||
etc | ||
examples | ||
external/resinsight | ||
jenkins | ||
msim | ||
opm | ||
python | ||
src/opm | ||
test_util | ||
tests | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
changelog.md | ||
CMakeLists_files.cmake | ||
CMakeLists.txt | ||
CopyHeaders.cmake | ||
dune.module | ||
ExtraTests.cmake | ||
GenerateKeywords.cmake | ||
LICENSE | ||
opm-common-prereqs.cmake | ||
README.md |
opm-common: Tools for Eclipse reservoir simulation files
The Open Porous Media (OPM) software suite provides libraries and tools for modeling and simulation of porous media processes, especially for simulating CO2 sequestration and improved and enhanced oil recovery. The Eclipse file format is widely used in the reservoir simulation community. This package provides a library containing code for processing files in Eclipse format, Python binding for accessing Eclipse files and utility code used by other OPM modules (e.g. CMake modules used).
License
The library is distributed under the GNU General Public License, version 3 or later (GPLv3+).
Requirements
- C++17 compatible compiler
- CMake >= 3.10
- Posix compatibility