diff --git a/opm/simulators/wells/MultisegmentWellPrimaryVariables.cpp b/opm/simulators/wells/MultisegmentWellPrimaryVariables.cpp index f3d410b24..233d9c48c 100644 --- a/opm/simulators/wells/MultisegmentWellPrimaryVariables.cpp +++ b/opm/simulators/wells/MultisegmentWellPrimaryVariables.cpp @@ -152,6 +152,7 @@ update(const WellState& well_state, } } } + init(); } template @@ -208,6 +209,7 @@ updateNewton(const BVectorWell& dwells, if (stop_or_zero_rate_target) { value_[0][WQTotal] = 0.; } + init(); } template diff --git a/opm/simulators/wells/StandardWellPrimaryVariables.cpp b/opm/simulators/wells/StandardWellPrimaryVariables.cpp index 3f7369ef9..b6b13bf01 100644 --- a/opm/simulators/wells/StandardWellPrimaryVariables.cpp +++ b/opm/simulators/wells/StandardWellPrimaryVariables.cpp @@ -223,6 +223,7 @@ update(const WellState& well_state, // BHP value_[Bhp] = ws.bhp; + init(); } template @@ -301,6 +302,7 @@ updateNewton(const BVectorWell& dwells, // so that bhp constaint can be an active control when needed. constexpr Scalar bhp_lower_limit = 1. * unit::barsa - 1. * unit::Pascal; value_[Bhp] = std::max(value_[Bhp] - dx1_limited, bhp_lower_limit); + init(); } template @@ -320,6 +322,7 @@ updateNewtonPolyMW(const BVectorWell& dwells) value_[pskin_index] -= relaxation_factor * dx_pskin; } } + init(); } template