mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-01-04 13:36:57 -06:00
handling well_efficiency_factor_ in WellInterface.
This commit is contained in:
parent
358d4c2a00
commit
369ccfef52
@ -285,12 +285,6 @@ enum WellVariablePositions {
|
||||
double gravity_;
|
||||
const RateConverterType& rate_converter_;
|
||||
|
||||
// The efficiency factor for each connection. It is specified based on wells and groups,
|
||||
// We calculate the factor for each connection for the computation of contributions to the mass balance equations.
|
||||
// By default, they should all be one.
|
||||
std::vector<double> well_perforation_efficiency_factors_;
|
||||
// the depth of the all the cell centers
|
||||
// for standard Wells, it the same with the perforation depth
|
||||
std::vector<double> pv_;
|
||||
|
||||
std::vector<double> wells_rep_radius_;
|
||||
|
@ -958,15 +958,12 @@ namespace Opm {
|
||||
const int nw = wells().number_of_wells;
|
||||
|
||||
for (int w = 0; w < nw; ++w) {
|
||||
const std::string well_name = wells().name[w];
|
||||
const std::string well_name = well_container_[w]->name();
|
||||
const WellNode& well_node = wellCollection()->findWellNode(well_name);
|
||||
|
||||
const double well_efficiency_factor = well_node.getAccumulativeEfficiencyFactor();
|
||||
|
||||
// assign the efficiency factor to each perforation related.
|
||||
for (int perf = wells().well_connpos[w]; perf < wells().well_connpos[w + 1]; ++perf) {
|
||||
well_perforation_efficiency_factors_[perf] = well_efficiency_factor;
|
||||
}
|
||||
well_container_[w]->setWellEfficiencyFactor(well_efficiency_factor);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -204,6 +204,8 @@ namespace Opm
|
||||
const WellState& well_state,
|
||||
std::vector<double>& well_potentials) const = 0;
|
||||
|
||||
void setWellEfficiencyFactor(const double efficiency_factor);
|
||||
|
||||
protected:
|
||||
|
||||
const Well* well_ecl_;
|
||||
|
@ -98,7 +98,6 @@ namespace Opm
|
||||
}
|
||||
|
||||
well_efficiency_factor_ = 1.0;
|
||||
// TODO: need to calculate based on wellCollections, or it should happen in the Well Model side.
|
||||
}
|
||||
|
||||
|
||||
@ -281,6 +280,18 @@ namespace Opm
|
||||
|
||||
|
||||
|
||||
template<typename TypeTag>
|
||||
void
|
||||
WellInterface<TypeTag>::
|
||||
setWellEfficiencyFactor(const double efficiency_factor)
|
||||
{
|
||||
well_efficiency_factor_ = efficiency_factor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
template<typename TypeTag>
|
||||
const PhaseUsage&
|
||||
WellInterface<TypeTag>::
|
||||
|
Loading…
Reference in New Issue
Block a user