Upscaling utilities: Use raw property vectors where appropriate

We need access to the raw, unconverted property vectors to use the
existing algorithm for defining (e.g.,) capillary pressure ranges.
This subtle point was missed during the initial transition to using
the opm-parser module for input handling.
This commit is contained in:
Bård Skaflestad
2014-08-19 17:59:19 +02:00
parent 06259125d4
commit e80688951d
4 changed files with 12 additions and 12 deletions

View File

@@ -350,7 +350,7 @@ try
// Calculate minimum and maximum water volume in each cell based on input pc-curves per rock type
// Create single-phase upscaling object to get poro and perm values from the grid
Opm::DeckConstPtr subdeck = ch.subDeck();
std::vector<double> perms = subdeck->getKeyword("PERMX")->getSIDoubleData();
std::vector<double> perms = subdeck->getKeyword("PERMX")->getRawDoubleData();
Opm::SinglePhaseUpscaler upscaler;
upscaler.init(subdeck, bctype, minpermSI,
residual_tolerance, linsolver_verbosity, linsolver_type, false);

View File

@@ -352,8 +352,8 @@ try
const int points = atoi(options["points"].c_str());
vector<int> satnums = deck->getKeyword("SATNUM")->getIntData();
vector<double> poros = deck->getKeyword("PORO")->getSIDoubleData();
vector<double> permxs = deck->getKeyword("PERMX")->getSIDoubleData();
vector<double> poros = deck->getKeyword("PORO")->getRawDoubleData();
vector<double> permxs = deck->getKeyword("PERMX")->getRawDoubleData();
const double minPerm = atof(options["minPerm"].c_str());
const double minPoro = atof(options["minPoro"].c_str());

View File

@@ -398,9 +398,9 @@ try
usageandexit();
}
vector<double> poros = deck->getKeyword("PORO")->getSIDoubleData();
vector<double> permxs = deck->getKeyword("PERMX")->getSIDoubleData();
vector<double> zcorns = deck->getKeyword("ZCORN")->getSIDoubleData();
vector<double> poros = deck->getKeyword("PORO")->getRawDoubleData();
vector<double> permxs = deck->getKeyword("PERMX")->getRawDoubleData();
vector<double> zcorns = deck->getKeyword("ZCORN")->getRawDoubleData();
Opm::DeckRecordConstPtr specgridRecord = deck->getKeyword("SPECGRID")->getRecord(0);
int x_res = specgridRecord->getItem("NX")->getInt(0);
@@ -412,8 +412,8 @@ try
if (deck->hasKeyword("PERMY") && deck->hasKeyword("PERMZ")) {
anisotropic_input = true;
permys = deck->getKeyword("PERMY")->getSIDoubleData();
permzs = deck->getKeyword("PERMZ")->getSIDoubleData();
permys = deck->getKeyword("PERMY")->getRawDoubleData();
permzs = deck->getKeyword("PERMZ")->getRawDoubleData();
if (isMaster) cout << "Info: PERMY and PERMZ present, going into anisotropic input mode, no J-functions\n";
if (isMaster) cout << " Options -relPermCurve and -jFunctionCurve is meaningless.\n";
}

View File

@@ -391,16 +391,16 @@ try
exit(1);
}
vector<double> poros = deck->getKeyword("PORO")->getSIDoubleData();
vector<double> permxs = deck->getKeyword("PERMX")->getSIDoubleData();
vector<double> poros = deck->getKeyword("PORO")->getRawDoubleData();
vector<double> permxs = deck->getKeyword("PERMX")->getRawDoubleData();
// Load anisotropic (only diagonal supported) input if present in grid
vector<double> permys, permzs;
if (deck->hasKeyword("PERMY") && deck->hasKeyword("PERMZ")) {
anisotropic_input = true;
permys = deck->getKeyword("PERMY")->getSIDoubleData();
permzs = deck->getKeyword("PERMZ")->getSIDoubleData();
permys = deck->getKeyword("PERMY")->getRawDoubleData();
permzs = deck->getKeyword("PERMZ")->getRawDoubleData();
if (isMaster) cout << "Info: PERMY and PERMZ present, going into anisotropic input mode, no J-functions\n";
if (isMaster) cout << " Options -relPermCurve and -jFunctionCurve is meaningless.\n";
}