Merge pull request #93 from atgeirr/fix-minor-props-issues

Fix minor props issues
This commit is contained in:
Bård Skaflestad 2014-03-03 11:19:13 +01:00
commit 2239a494e8

View File

@ -97,12 +97,11 @@ namespace Opm
props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtDead(deck.getPVDO().pvdo_)); props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtDead(deck.getPVDO().pvdo_));
} }
} else if (deck.hasField("PVTO")) { } else if (deck.hasField("PVTO")) {
props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtLiveOil(deck.getPVTO().pvto_)); props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtLiveOil(deck.getPVTO().pvto_));
} else if (deck.hasField("PVCDO")) { } else if (deck.hasField("PVCDO")) {
props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtConstCompr(deck.getPVCDO().pvcdo_)); props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtConstCompr(deck.getPVCDO().pvcdo_));
} else { } else {
OPM_THROW(std::runtime_error, "Input is missing PVDO or PVTO\n"); OPM_THROW(std::runtime_error, "Input is missing PVDO, PVTO or PVCDO\n");
} }
} }
// Gas PVT // Gas PVT
@ -110,8 +109,7 @@ namespace Opm
if (deck.hasField("PVDG")) { if (deck.hasField("PVDG")) {
if (samples > 0) { if (samples > 0) {
props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtDeadSpline(deck.getPVDG().pvdg_, samples)); props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtDeadSpline(deck.getPVDG().pvdg_, samples));
} } else {
else {
props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtDead(deck.getPVDG().pvdg_)); props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtDead(deck.getPVDG().pvdg_));
} }
} else if (deck.hasField("PVTG")) { } else if (deck.hasField("PVTG")) {
@ -143,6 +141,7 @@ namespace Opm
rock_.init(newParserDeck, grid); rock_.init(newParserDeck, grid);
} }
const int samples = 0;
const int region_number = 0; const int region_number = 0;
phase_usage_ = phaseUsageFromDeck(newParserDeck); phase_usage_ = phaseUsageFromDeck(newParserDeck);
@ -171,7 +170,6 @@ namespace Opm
if (phase_usage_.phase_used[Aqua]) { if (phase_usage_.phase_used[Aqua]) {
if (newParserDeck->hasKeyword("PVTW")) { if (newParserDeck->hasKeyword("PVTW")) {
Opm::PvtwTable pvtwTable(newParserDeck->getKeyword("PVTW"), region_number); Opm::PvtwTable pvtwTable(newParserDeck->getKeyword("PVTW"), region_number);
props_[phase_usage_.phase_pos[Aqua]].reset(new SinglePvtConstCompr(pvtwTable)); props_[phase_usage_.phase_pos[Aqua]].reset(new SinglePvtConstCompr(pvtwTable));
} else { } else {
// Eclipse 100 default. // Eclipse 100 default.
@ -183,19 +181,20 @@ namespace Opm
if (phase_usage_.phase_used[Liquid]) { if (phase_usage_.phase_used[Liquid]) {
if (newParserDeck->hasKeyword("PVDO")) { if (newParserDeck->hasKeyword("PVDO")) {
Opm::PvdoTable pvdoTable(newParserDeck->getKeyword("PVDO"), region_number); Opm::PvdoTable pvdoTable(newParserDeck->getKeyword("PVDO"), region_number);
if (samples > 0) {
props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtDead(pvdoTable)); props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtDeadSpline(pvdoTable, samples));
} else {
props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtDead(pvdoTable));
}
} }
else if (newParserDeck->hasKeyword("PVTO")) { else if (newParserDeck->hasKeyword("PVTO")) {
Opm::PvtoTable pvtoTable(newParserDeck->getKeyword("PVTO"), /*tableIdx=*/0); Opm::PvtoTable pvtoTable(newParserDeck->getKeyword("PVTO"), /*tableIdx=*/0);
props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtLiveOil(pvtoTable)); props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtLiveOil(pvtoTable));
} else if (newParserDeck->hasKeyword("PVCDO")) { } else if (newParserDeck->hasKeyword("PVCDO")) {
Opm::PvdcoTable pvdcoTable(newParserDeck->getKeyword("PVDCO"), region_number); Opm::PvdcoTable pvdcoTable(newParserDeck->getKeyword("PVCDO"), region_number);
props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtConstCompr(pvdcoTable)); props_[phase_usage_.phase_pos[Liquid]].reset(new SinglePvtConstCompr(pvdcoTable));
} else { } else {
OPM_THROW(std::runtime_error, "Input is missing PVDO or PVTO\n"); OPM_THROW(std::runtime_error, "Input is missing PVDO, PVTO or PVCDO\n");
} }
} }
@ -203,11 +202,13 @@ namespace Opm
if (phase_usage_.phase_used[Vapour]) { if (phase_usage_.phase_used[Vapour]) {
if (newParserDeck->hasKeyword("PVDG")) { if (newParserDeck->hasKeyword("PVDG")) {
Opm::PvdoTable pvdgTable(newParserDeck->getKeyword("PVDG"), region_number); Opm::PvdoTable pvdgTable(newParserDeck->getKeyword("PVDG"), region_number);
if (samples > 0) {
props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtDead(pvdgTable)); props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtDeadSpline(pvdgTable, samples));
} else {
props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtDead(pvdgTable));
}
} else if (newParserDeck->hasKeyword("PVTG")) { } else if (newParserDeck->hasKeyword("PVTG")) {
Opm::PvtgTable pvtgTable(newParserDeck->getKeyword("PVTG"), /*tableIdx=*/0); Opm::PvtgTable pvtgTable(newParserDeck->getKeyword("PVTG"), /*tableIdx=*/0);
props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtLiveGas(pvtgTable)); props_[phase_usage_.phase_pos[Vapour]].reset(new SinglePvtLiveGas(pvtgTable));
} else { } else {
OPM_THROW(std::runtime_error, "Input is missing PVDG or PVTG\n"); OPM_THROW(std::runtime_error, "Input is missing PVDG or PVTG\n");