mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-11 13:55:34 -06:00
bring setWSolvent closer to original code
by introducing a getter for generic wells
This commit is contained in:
parent
60e7c90b1e
commit
c5fae280f3
@ -391,7 +391,6 @@ namespace Opm {
|
||||
|
||||
void wellTesting(const int timeStepIdx, const double simulationTime, DeferredLogger& deferred_logger);
|
||||
|
||||
void setWellWsolvent(const std::string& name, double wsolvent) override;
|
||||
void calcRates(const int fipnum,
|
||||
const int pvtreg,
|
||||
std::vector<double>& resv_coeff) override;
|
||||
|
@ -1124,7 +1124,7 @@ setWsolvent(const Group& group,
|
||||
if (wellTmp.getStatus() == Well::Status::SHUT)
|
||||
continue;
|
||||
|
||||
this->setWellWsolvent(wellName, wsolvent);
|
||||
getGenWell(wellName)->setWsolvent(wsolvent);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1621,4 +1621,20 @@ calculateEfficiencyFactors(const int reportStepIdx)
|
||||
}
|
||||
}
|
||||
|
||||
WellInterfaceGeneric*
|
||||
BlackoilWellModelGeneric::
|
||||
getGenWell(const std::string& well_name)
|
||||
{
|
||||
// finding the iterator of the well in wells_ecl
|
||||
auto well = std::find_if(well_container_generic_.begin(),
|
||||
well_container_generic_.end(),
|
||||
[&well_name](const WellInterfaceGeneric* elem)->bool {
|
||||
return elem->name() == well_name;
|
||||
});
|
||||
|
||||
assert(well != well_container_generic_.end());
|
||||
|
||||
return *well;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -243,7 +243,6 @@ protected:
|
||||
void setWsolvent(const Group& group,
|
||||
const int reportStepIdx,
|
||||
double wsolvent);
|
||||
virtual void setWellWsolvent(const std::string& name, double wsolvent) = 0;
|
||||
virtual void calcRates(const int fipnum,
|
||||
const int pvtreg,
|
||||
std::vector<double>& resv_coeff) = 0;
|
||||
@ -369,6 +368,9 @@ protected:
|
||||
WGState active_wgstate_;
|
||||
WGState last_valid_wgstate_;
|
||||
WGState nupcol_wgstate_;
|
||||
|
||||
private:
|
||||
WellInterfaceGeneric* getGenWell(const std::string& well_name);
|
||||
};
|
||||
|
||||
|
||||
|
@ -1587,16 +1587,6 @@ namespace Opm {
|
||||
|
||||
|
||||
|
||||
template<typename TypeTag>
|
||||
void
|
||||
BlackoilWellModel<TypeTag>::
|
||||
setWellWsolvent(const std::string& wellName, double wsolvent) {
|
||||
auto well = getWell(wellName);
|
||||
well->setWsolvent(wsolvent);
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<typename TypeTag>
|
||||
void
|
||||
BlackoilWellModel<TypeTag>::
|
||||
|
Loading…
Reference in New Issue
Block a user