initialize all injectors with a rate to avoid singularities

This commit is contained in:
Tor Harald Sandve 2023-08-22 08:52:49 +02:00
parent 392573289f
commit 79e0b7256a

View File

@ -256,14 +256,12 @@ void SingleWellState::update_injector_targets(const Well& ecl_well, const Summar
return;
}
if (inj_controls.cmode == Well::InjectorCMode::GRUP) {
this->bhp = this->perf_data.pressure_first_connection * bhp_safety_factor;
return;
// we initialize all open wells with a rate to avoid singularities
double inj_surf_rate = 10.0 * Opm::unit::cubic(Opm::unit::meter) / Opm::unit::day;
if (inj_controls.cmode == Well::InjectorCMode::RATE) {
inj_surf_rate = inj_controls.surface_rate;
}
if (inj_controls.cmode == Well::InjectorCMode::RATE) {
auto inj_surf_rate = inj_controls.surface_rate;
switch (inj_controls.injector_type) {
case InjectorType::WATER:
assert(pu.phase_used[BlackoilPhases::Aqua]);
@ -281,7 +279,6 @@ void SingleWellState::update_injector_targets(const Well& ecl_well, const Summar
// Not currently handled, keep zero init.
break;
}
}
if (cmode_is_bhp)
this->bhp = bhp_limit;