Merge pull request #3964 from GitPaean/fixing_shut_valve

handling shut valve
This commit is contained in:
Tor Harald Sandve 2022-06-29 14:46:48 +02:00 committed by GitHub
commit 756a68655d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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"