Merge pull request #389 from akva2/hide_fprops_ifaces
don't use templated get and has interface from fieldpropsmanager
This commit is contained in:
commit
31d5347d73
@ -204,14 +204,14 @@ public:
|
||||
const auto& fp = eclState.fieldProps();
|
||||
// check if we are supposed to scale the Y axis of the capillary pressure
|
||||
if (twoPhaseSystemType == EclOilWaterSystem) {
|
||||
enableKrnScaling_ = fp.has<double>("KRO");
|
||||
enableKrwScaling_ = fp.has<double>("KRW");
|
||||
enablePcScaling_ = fp.has<double>("PCW") || fp.has<double>("SWATINIT");
|
||||
enableKrnScaling_ = fp.has_double("KRO");
|
||||
enableKrwScaling_ = fp.has_double("KRW");
|
||||
enablePcScaling_ = fp.has_double("PCW") || fp.has_double("SWATINIT");
|
||||
} else {
|
||||
assert(twoPhaseSystemType == EclGasOilSystem);
|
||||
enableKrnScaling_ = fp.has<double>("KRG");
|
||||
enableKrwScaling_ = fp.has<double>("KRO");
|
||||
enablePcScaling_ = fp.has<double>("PCG");
|
||||
enableKrnScaling_ = fp.has_double("KRG");
|
||||
enableKrwScaling_ = fp.has_double("KRO");
|
||||
enablePcScaling_ = fp.has_double("PCG");
|
||||
}
|
||||
|
||||
if (enablePcScaling_ && enableLeverettScaling_)
|
||||
|
@ -74,8 +74,8 @@ std::vector<T> compressed_copy(const std::vector<T>& global_vector, const std::v
|
||||
|
||||
|
||||
std::vector<double> try_get(const FieldPropsManager& fp, const std::string& keyword, const std::vector<int>& compressedToCartesianElemIdx) {
|
||||
if (fp.has<double>(keyword))
|
||||
return compressed_copy(fp.get_global<double>(keyword), compressedToCartesianElemIdx);
|
||||
if (fp.has_double(keyword))
|
||||
return compressed_copy(fp.get_global_double(keyword), compressedToCartesianElemIdx);
|
||||
|
||||
return {};
|
||||
}
|
||||
@ -99,9 +99,9 @@ public:
|
||||
const auto& fp = eclState.fieldProps();
|
||||
|
||||
if (useImbibition)
|
||||
compressed_satnum = compressed_copy(fp.get_global<int>("IMBNUM"), compressedToCartesianElemIdx);
|
||||
compressed_satnum = compressed_copy(fp.get_global_int("IMBNUM"), compressedToCartesianElemIdx);
|
||||
else
|
||||
compressed_satnum = compressed_copy(fp.get_global<int>("SATNUM"), compressedToCartesianElemIdx);
|
||||
compressed_satnum = compressed_copy(fp.get_global_int("SATNUM"), compressedToCartesianElemIdx);
|
||||
|
||||
this->compressed_swl = try_get( fp, kwPrefix+"SWL", compressedToCartesianElemIdx);
|
||||
this->compressed_sgl = try_get( fp, kwPrefix+"SGL", compressedToCartesianElemIdx);
|
||||
@ -118,21 +118,21 @@ public:
|
||||
this->compressed_krg = try_get( fp, kwPrefix+"KRG", compressedToCartesianElemIdx);
|
||||
|
||||
// _may_ be needed to calculate the Leverett capillary pressure scaling factor
|
||||
if (fp.has<double>("PORO"))
|
||||
this->compressed_poro = compressed_copy(fp.get_global<double>("PORO"), compressedToCartesianElemIdx);
|
||||
if (fp.has_double("PORO"))
|
||||
this->compressed_poro = compressed_copy(fp.get_global_double("PORO"), compressedToCartesianElemIdx);
|
||||
|
||||
if (fp.has<double>("PERMX"))
|
||||
this->compressed_permx = compressed_copy(fp.get_global<double>("PERMX"), compressedToCartesianElemIdx);
|
||||
if (fp.has_double("PERMX"))
|
||||
this->compressed_permx = compressed_copy(fp.get_global_double("PERMX"), compressedToCartesianElemIdx);
|
||||
else
|
||||
this->compressed_permx = std::vector<double>(this->compressed_satnum.size());
|
||||
|
||||
if (fp.has<double>("PERMY"))
|
||||
this->compressed_permy= compressed_copy(fp.get_global<double>("PERMY"), compressedToCartesianElemIdx);
|
||||
if (fp.has_double("PERMY"))
|
||||
this->compressed_permy= compressed_copy(fp.get_global_double("PERMY"), compressedToCartesianElemIdx);
|
||||
else
|
||||
this->compressed_permy= this->compressed_permx;
|
||||
|
||||
if (fp.has<double>("PERMZ"))
|
||||
this->compressed_permz= compressed_copy(fp.get_global<double>("PERMZ"), compressedToCartesianElemIdx);
|
||||
if (fp.has_double("PERMZ"))
|
||||
this->compressed_permz= compressed_copy(fp.get_global_double("PERMZ"), compressedToCartesianElemIdx);
|
||||
else
|
||||
this->compressed_permz= this->compressed_permx;
|
||||
}
|
||||
|
@ -173,8 +173,8 @@ public:
|
||||
// copy the SATNUM grid property. in some cases this is not necessary, but it
|
||||
// should not require much memory anyway...
|
||||
satnumRegionArray_.resize(numCompressedElems);
|
||||
if (eclState.fieldProps().has<int>("SATNUM")) {
|
||||
const auto& satnumRawData = eclState.fieldProps().get_global<int>("SATNUM");
|
||||
if (eclState.fieldProps().has_int("SATNUM")) {
|
||||
const auto& satnumRawData = eclState.fieldProps().get_global_int("SATNUM");
|
||||
for (unsigned elemIdx = 0; elemIdx < numCompressedElems; ++elemIdx) {
|
||||
unsigned cartesianElemIdx = static_cast<unsigned>(compressedToCartesianElemIdx[elemIdx]);
|
||||
satnumRegionArray_[elemIdx] = satnumRawData[cartesianElemIdx] - 1;
|
||||
@ -186,8 +186,8 @@ public:
|
||||
// create the information for the imbibition region (IMBNUM). By default this is
|
||||
// the same as the saturation region (SATNUM)
|
||||
imbnumRegionArray_ = satnumRegionArray_;
|
||||
if (eclState.fieldProps().has<int>("IMBNUM")) {
|
||||
const auto& imbnumRawData = eclState.fieldProps().get_global<int>("IMBNUM");
|
||||
if (eclState.fieldProps().has_int("IMBNUM")) {
|
||||
const auto& imbnumRawData = eclState.fieldProps().get_global_int("IMBNUM");
|
||||
for (unsigned elemIdx = 0; elemIdx < numCompressedElems; ++elemIdx) {
|
||||
int cartesianElemIdx = compressedToCartesianElemIdx[elemIdx];
|
||||
imbnumRegionArray_[elemIdx] = imbnumRawData[cartesianElemIdx] - 1;
|
||||
|
@ -74,9 +74,9 @@ public:
|
||||
const std::vector<int>& compressedToCartesianElemIdx)
|
||||
{
|
||||
const auto& fp = eclState.fieldProps();
|
||||
bool has_heatcr = fp.has<double>("HEATCR");
|
||||
bool has_thconr = fp.has<double>("THCONR");
|
||||
bool has_thc = fp.has<double>("THCROCK") || fp.has<double>("THCOIL") || fp.has<double>("THCGAS") || fp.has<double>("THCWATER");
|
||||
bool has_heatcr = fp.has_double("HEATCR");
|
||||
bool has_thconr = fp.has_double("THCONR");
|
||||
bool has_thc = fp.has_double("THCROCK") || fp.has_double("THCOIL") || fp.has_double("THCGAS") || fp.has_double("THCWATER");
|
||||
|
||||
if (has_heatcr)
|
||||
initHeatcr_(deck, eclState, compressedToCartesianElemIdx);
|
||||
@ -149,8 +149,8 @@ private:
|
||||
HeatcrLawParams::setReferenceTemperature(FluidSystem::surfaceTemperature);
|
||||
|
||||
const auto& fp = eclState.fieldProps();
|
||||
const std::vector<double>& heatcrData = fp.get_global<double>("HEATCR");
|
||||
const std::vector<double>& heatcrtData = fp.get_global<double>("HEATCRT");
|
||||
const std::vector<double>& heatcrData = fp.get_global_double("HEATCR");
|
||||
const std::vector<double>& heatcrtData = fp.get_global_double("HEATCRT");
|
||||
unsigned numElems = compressedToCartesianElemIdx.size();
|
||||
solidEnergyLawParams_.resize(numElems);
|
||||
for (unsigned elemIdx = 0; elemIdx < numElems; ++elemIdx) {
|
||||
@ -176,7 +176,7 @@ private:
|
||||
|
||||
// initialize the element index -> SATNUM index mapping
|
||||
const auto& fp = eclState.fieldProps();
|
||||
const std::vector<int>& satnumData = fp.get_global<int>("SATNUM");
|
||||
const std::vector<int>& satnumData = fp.get_global_int("SATNUM");
|
||||
elemToSatnumIdx_.resize(compressedToCartesianElemIdx.size());
|
||||
for (unsigned elemIdx = 0; elemIdx < compressedToCartesianElemIdx.size(); ++ elemIdx) {
|
||||
unsigned cartesianElemIdx = compressedToCartesianElemIdx[elemIdx];
|
||||
@ -232,11 +232,11 @@ private:
|
||||
auto global_size = eclState.getInputGrid().getCartesianSize();
|
||||
std::vector<double> thconrData(global_size, 0);
|
||||
std::vector<double> thconsfData(global_size, 0);
|
||||
if (fp.has<double>("THCONR"))
|
||||
thconrData = fp.get_global<double>("THCONR");
|
||||
if (fp.has_double("THCONR"))
|
||||
thconrData = fp.get_global_double("THCONR");
|
||||
|
||||
if (fp.has<double>("THCONSF"))
|
||||
thconsfData = fp.get_global<double>("THCONSF");
|
||||
if (fp.has_double("THCONSF"))
|
||||
thconsfData = fp.get_global_double("THCONSF");
|
||||
|
||||
unsigned numElems = compressedToCartesianElemIdx.size();
|
||||
thermalConductionLawParams_.resize(numElems);
|
||||
@ -268,21 +268,21 @@ private:
|
||||
std::vector<double> thcrockData(global_size,0);
|
||||
std::vector<double> thcoilData(global_size,0);
|
||||
std::vector<double> thcgasData(global_size,0);
|
||||
std::vector<double> thcwaterData = fp.get_global<double>("THCWATER");
|
||||
std::vector<double> thcwaterData = fp.get_global_double("THCWATER");
|
||||
|
||||
if (fp.has<double>("THCROCK"))
|
||||
thcrockData = fp.get_global<double>("THCROCK");
|
||||
if (fp.has_double("THCROCK"))
|
||||
thcrockData = fp.get_global_double("THCROCK");
|
||||
|
||||
if (fp.has<double>("THCOIL"))
|
||||
thcoilData = fp.get_global<double>("THCOIL");
|
||||
if (fp.has_double("THCOIL"))
|
||||
thcoilData = fp.get_global_double("THCOIL");
|
||||
|
||||
if (fp.has<double>("THCGAS"))
|
||||
thcgasData = fp.get_global<double>("THCGAS");
|
||||
if (fp.has_double("THCGAS"))
|
||||
thcgasData = fp.get_global_double("THCGAS");
|
||||
|
||||
if (fp.has<double>("THCWATER"))
|
||||
thcwaterData = fp.get_global<double>("THCWATER");
|
||||
if (fp.has_double("THCWATER"))
|
||||
thcwaterData = fp.get_global_double("THCWATER");
|
||||
|
||||
const std::vector<double>& poroData = fp.get_global<double>("PORO");
|
||||
const std::vector<double>& poroData = fp.get_global_double("PORO");
|
||||
|
||||
unsigned numElems = compressedToCartesianElemIdx.size();
|
||||
thermalConductionLawParams_.resize(numElems);
|
||||
|
Loading…
Reference in New Issue
Block a user