parsing WINJFCNC
This commit is contained in:
@@ -747,6 +747,7 @@ namespace Opm
|
||||
void handleWWPAVE (HandlerContext&);
|
||||
void handleWPIMULT (HandlerContext&);
|
||||
void handleWINJDAM (HandlerContext&);
|
||||
void handleWINJFCNC (HandlerContext&);
|
||||
void handleWINJMULT (HandlerContext&);
|
||||
void handleWPMITAB (HandlerContext&);
|
||||
void handleWPOLYMER (HandlerContext&);
|
||||
|
||||
@@ -483,6 +483,8 @@ public:
|
||||
bool handleWPIMULT(const DeckRecord& record);
|
||||
bool handleWINJDAM(const DeckRecord& record, const KeywordLocation& location);
|
||||
bool handleWINJMULT(const DeckRecord& record, const KeywordLocation& location);
|
||||
// TODO: makes it a handleWINJFCNC?
|
||||
void setFilterConc(const double conc);
|
||||
bool applyGlobalWPIMULT(double scale_factor);
|
||||
|
||||
void filterConnections(const ActiveGridCells& grid);
|
||||
@@ -551,6 +553,7 @@ public:
|
||||
serializer(well_temperature);
|
||||
serializer(inj_mult_mode);
|
||||
serializer(well_inj_mult);
|
||||
serializer(m_filter_concentration);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -599,6 +602,7 @@ private:
|
||||
double well_temperature;
|
||||
InjMultMode inj_mult_mode = InjMultMode::NONE;
|
||||
std::optional<InjMult> well_inj_mult;
|
||||
double m_filter_concentration = 0.;
|
||||
};
|
||||
|
||||
std::ostream& operator<<( std::ostream&, const Well::WellInjectionProperties& );
|
||||
|
||||
@@ -2013,6 +2013,19 @@ Well{0} entered with 'FIELD' parent group:
|
||||
}
|
||||
}
|
||||
|
||||
void Schedule::handleWINJFCNC(Schedule::HandlerContext& handlerContext) {
|
||||
for (const auto& record : handlerContext.keyword) {
|
||||
const std::string& wellNamePattern = record.getItem("WELL").getTrimmedString(0);
|
||||
const auto well_names = this->wellNames(wellNamePattern, handlerContext);
|
||||
// TODO: will check whether we should put all the filter cake related to a separate property
|
||||
for (const auto& well_name: well_names) {
|
||||
auto well = this->snapshots.back().wells(well_name);
|
||||
well.setFilterConc(record.getItem("VOL_CONCENTRATION").get<UDAValue>(0).getSI());
|
||||
this->snapshots.back().wells.update(std::move(well));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Schedule::handleWSALT(HandlerContext& handlerContext) {
|
||||
for (const auto& record : handlerContext.keyword) {
|
||||
const std::string& wellNamePattern = record.getItem("WELL").getTrimmedString(0);
|
||||
@@ -2565,6 +2578,7 @@ Well{0} entered with 'FIELD' parent group:
|
||||
{ "WWPAVE" , &Schedule::handleWWPAVE },
|
||||
{ "WPIMULT" , &Schedule::handleWPIMULT },
|
||||
{ "WINJDAM" , &Schedule::handleWINJDAM },
|
||||
{ "WINJFCNC", &Schedule::handleWINJFCNC },
|
||||
{ "WPMITAB" , &Schedule::handleWPMITAB },
|
||||
{ "WPOLYMER", &Schedule::handleWPOLYMER },
|
||||
{ "WRFT" , &Schedule::handleWRFT },
|
||||
|
||||
@@ -1742,3 +1742,6 @@ bool Opm::Well::aciveWellInjMult() const {
|
||||
}
|
||||
|
||||
|
||||
void Opm::Well::setFilterConc(const double conc) {
|
||||
this->m_filter_concentration = conc;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user