mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-28 02:00:59 -06:00
Merge pull request #3964 from GitPaean/fixing_shut_valve
handling shut valve
This commit is contained in:
commit
756a68655d
@ -971,6 +971,12 @@ add_test_compareECLFiles(CASENAME wsegaicd
|
||||
ABS_TOL ${abs_tol}
|
||||
REL_TOL ${rel_tol})
|
||||
|
||||
add_test_compareECLFiles(CASENAME wsegvalv
|
||||
FILENAME BASE_MSW_WSEGVALV
|
||||
SIMULATOR flow
|
||||
ABS_TOL ${abs_tol}
|
||||
REL_TOL ${rel_tol})
|
||||
|
||||
add_test_compareECLFiles(CASENAME nnc
|
||||
FILENAME NNC_AND_EDITNNC
|
||||
SIMULATOR flow
|
||||
|
@ -1554,6 +1554,17 @@ assembleICDPressureEq(const int seg,
|
||||
// top segment can not be a spiral ICD device
|
||||
assert(seg != 0);
|
||||
|
||||
if (const auto& segment = this->segmentSet()[seg];
|
||||
(segment.segmentType() == Segment::SegmentType::VALVE) &&
|
||||
(segment.valve().status() == Opm::ICDStatus::SHUT) ) { // we use a zero rate equation to handle SHUT valve
|
||||
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
|
||||
// p_seg - deltaP - p_outlet = 0.
|
||||
// the major part is how to calculate the deltaP
|
||||
|
@ -154,6 +154,7 @@ tests[udq_pyaction]="flow udq_actionx PYACTION_WCONPROD"
|
||||
tests[spe1_foam]="flow spe1_foam SPE1FOAM"
|
||||
tests[wsegsicd]="flow wsegsicd TEST_WSEGSICD"
|
||||
tests[wsegaicd]="flow wsegaicd BASE_MSW_WSEGAICD"
|
||||
tests[wsegvalv]="flow wsegvalv BASE_MSW_WSEGVALV"
|
||||
tests[bc_lab]="flow bc_lab BC_LAB"
|
||||
tests[pinch_multz_all]="flow pinch PINCH_MULTZ_ALL"
|
||||
tests[pinch_multz_all_barrier]="flow pinch PINCH_MULTZ_ALL_BARRIER"
|
||||
|
Loading…
Reference in New Issue
Block a user