Changed EclipseGridParser and CornerpointChopper to handle NTG
This commit is contained in:
@@ -53,6 +53,16 @@ namespace Opm
|
||||
|
||||
std::cout << "Parsed grdecl file with dimensions ("
|
||||
<< dims_[0] << ", " << dims_[1] << ", " << dims_[2] << ")" << std::endl;
|
||||
|
||||
// Set NTG=1 if this is missing in file
|
||||
if (!parser_.hasField("NTG")) {
|
||||
std::vector<double> NTG_dummy(dims_[0]*dims_[1]*dims_[2],1.0);
|
||||
parser_.setFloatingPointField("NTG", NTG_dummy);
|
||||
has_NTG_ = false;
|
||||
}
|
||||
else {
|
||||
has_NTG_ = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -235,6 +245,7 @@ namespace Opm
|
||||
|
||||
filterIntegerField("ACTNUM", new_ACTNUM_);
|
||||
filterDoubleField("PORO", new_PORO_);
|
||||
filterDoubleField("NTG", new_NTG_);
|
||||
filterDoubleField("PERMX", new_PERMX_);
|
||||
filterDoubleField("PERMY", new_PERMY_);
|
||||
filterDoubleField("PERMZ", new_PERMZ_);
|
||||
@@ -262,6 +273,7 @@ namespace Opm
|
||||
sp.setFloatingPointField("ZCORN", new_ZCORN_);
|
||||
if (!new_ACTNUM_.empty()) sp.setIntegerField("ACTNUM", new_ACTNUM_);
|
||||
if (!new_PORO_.empty()) sp.setFloatingPointField("PORO", new_PORO_);
|
||||
if (!new_NTG_.empty()) sp.setFloatingPointField("NTG", new_NTG_);
|
||||
if (!new_PERMX_.empty()) sp.setFloatingPointField("PERMX", new_PERMX_);
|
||||
if (!new_PERMY_.empty()) sp.setFloatingPointField("PERMY", new_PERMY_);
|
||||
if (!new_PERMZ_.empty()) sp.setFloatingPointField("PERMZ", new_PERMZ_);
|
||||
@@ -305,12 +317,17 @@ namespace Opm
|
||||
|
||||
outputField(out, new_ACTNUM_, "ACTNUM");
|
||||
outputField(out, new_PORO_, "PORO");
|
||||
outputField(out, new_NTG_, "NTG");
|
||||
outputField(out, new_PERMX_, "PERMX");
|
||||
outputField(out, new_PERMY_, "PERMY");
|
||||
outputField(out, new_PERMZ_, "PERMZ");
|
||||
outputField(out, new_SATNUM_, "SATNUM");
|
||||
}
|
||||
|
||||
bool hasNTG() {
|
||||
return has_NTG_;
|
||||
}
|
||||
|
||||
private:
|
||||
EclipseGridParser parser_;
|
||||
double botmax_;
|
||||
@@ -321,6 +338,8 @@ namespace Opm
|
||||
std::vector<double> new_ZCORN_;
|
||||
std::vector<int> new_ACTNUM_;
|
||||
std::vector<double> new_PORO_;
|
||||
std::vector<double> new_NTG_;
|
||||
bool has_NTG_;
|
||||
std::vector<double> new_PERMX_;
|
||||
std::vector<double> new_PERMY_;
|
||||
std::vector<double> new_PERMZ_;
|
||||
|
||||
@@ -101,7 +101,7 @@ namespace EclipseKeywords
|
||||
string("DEPTHZ"), string("TOPS"), string("MAPAXES"),
|
||||
string("SWCR"), string("SWL"), string("SWU"),
|
||||
string("SOWCR"), string("KRW"), string("KRWR"),
|
||||
string("KRO"), string("KRORW")
|
||||
string("KRO"), string("KRORW"), string("NTG")
|
||||
};
|
||||
const int num_floating_fields = sizeof(floating_fields) / sizeof(floating_fields[0]);
|
||||
|
||||
@@ -131,7 +131,7 @@ namespace EclipseKeywords
|
||||
|
||||
string ignore_with_data[] =
|
||||
{ string("MAPUNITS"), string("GRIDUNIT"),
|
||||
string("NTG"), string("REGDIMS"), string("WELLDIMS"),
|
||||
string("REGDIMS"), string("WELLDIMS"),
|
||||
string("NSTACK"), string("SATNUM"),
|
||||
string("RPTRST"), string("ROIP"), string("RWIP"),
|
||||
string("RWSAT"), string("RPR"), string("WBHP"),
|
||||
@@ -559,7 +559,7 @@ void EclipseGridParser::convertToSI()
|
||||
key == "LAMEMOD" || key == "SHEARMOD" || key == "POISSONMOD" ||
|
||||
key == "PWAVEMOD" || key == "MULTPV" || key == "PWAVEMOD" ||
|
||||
key == "SGAS" || key == "SWAT" || key == "SOIL" ||
|
||||
key == "SWCR" || key == "SWL" ||
|
||||
key == "NTG" || key == "SWCR" || key == "SWL" ||
|
||||
key == "SWU" || key == "SOWCR" || key == "KRW" ||
|
||||
key == "KRWR" || key == "KRORW" || key == "KRO") {
|
||||
unit = 1.0;
|
||||
|
||||
Reference in New Issue
Block a user