mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
when a valve is shut, the rate and pressure drop will be zero
This commit is contained in:
parent
5b2d1ca5ec
commit
64143cd417
@ -1554,6 +1554,18 @@ assembleICDPressureEq(const int seg,
|
|||||||
// top segment can not be a spiral ICD device
|
// top segment can not be a spiral ICD device
|
||||||
assert(seg != 0);
|
assert(seg != 0);
|
||||||
|
|
||||||
|
if(this->segmentSet()[seg].segmentType() == Segment::SegmentType::VALVE) {
|
||||||
|
const Valve& valve = this->segmentSet()[seg].valve();
|
||||||
|
if (valve.status() == Opm::ICDStatus::SHUT) { // we switch here to be a zero rate equation
|
||||||
|
resWell_[seg][SPres] = this->primary_variables_evaluation_[seg][GTotal].value();
|
||||||
|
duneD_[seg][seg][SPres][GTotal] = 1.;
|
||||||
|
|
||||||
|
auto& ws = well_state.well(baseif_.indexOfWell());
|
||||||
|
ws.segments.pressure_drop_friction[seg] = 0.;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// the pressure equation is something like
|
// the pressure equation is something like
|
||||||
// p_seg - deltaP - p_outlet = 0.
|
// p_seg - deltaP - p_outlet = 0.
|
||||||
// the major part is how to calculate the deltaP
|
// the major part is how to calculate the deltaP
|
||||||
|
Loading…
Reference in New Issue
Block a user