Common components for OPM, in particular build system (cmake).
This commit expands the private member function Tables::addOilPVTTables(const EclipseState&) to create structurally correct TAB vector entries from the PVTO (live oil) input table data when oil is an active phase in a simulation run. Specifically, the main result array has the columns [ Po, 1/Bo, 1/(Bo*mu_o), d(1/Bo)/dPo, d(1/(Bo*mu_o))/dPo ] and the ancillary table (base pointer JBPVTO) holds the composition nodes. Note that while we do create structurally correct output tables, we do not fill in undersaturated states that have been defaulted in the input table. The number of table rows in the main table is equal to number of PVT regions times the number of declared composition nodes (TABDIMS item 6, NRPVT) times the number of declared pressure nodes (TABDIMS item 4, NPPVT). In other words, the main result array is expanded to fill NPPVT rows per Rs node per PVT region. Fill value +2.0e+20. We have verified the results with ECLIPSE 100. The ancillary table is expanded to number of declared composition nodes for each PVT region. Fill value +2.0e+20. As an OPM extension, we will use the maximum number of active pressure and composition nodes across all PVTO tables if the declared maximum pressure nodes in TABDIMS is too small. This will create a TAB vector representations that are not compatible with ECLIPSE, but which will nevertheless be useful in the context of ResInsight's flux calculation. Add unit tests for all supported oil-related PVT tables. |
||
---|---|---|
cmake | ||
debian | ||
docs | ||
etc | ||
examples | ||
external/cjson | ||
jenkins | ||
msim | ||
opm | ||
redhat | ||
src/opm | ||
tests | ||
.gitignore | ||
changelog.md | ||
CMakeLists_files.cmake | ||
CMakeLists.txt | ||
CopyHeaders.cmake | ||
dune.module | ||
ExtraTests.cmake | ||
GenerateKeywords.cmake | ||
LICENSE | ||
opm-common-prereqs.cmake | ||
README.md |
opm-common
Contains common components used throughout all of OPM, in particular CMake modules for the build system.