adding function iterateWellEqWithSwitching

when we do the local solve for well equations, control/status will be
updated during the iteration process, such that the converged well gets
correct control/status regarding to the current reservoir state.

various change in the other parts of the code were made to make the
function work as intended.
This commit is contained in:
Stein Krogstad
2023-08-16 12:50:06 +02:00
committed by Kai Bao
parent c657cfecc8
commit 035d216641
15 changed files with 476 additions and 31 deletions

View File

@@ -205,6 +205,15 @@ namespace Opm
const GroupState& group_state,
DeferredLogger& deferred_logger) override;
// iterate well equations including control switching
bool iterateWellEqWithSwitching(const Simulator& ebosSimulator,
const double dt,
const Well::InjectionControls& inj_controls,
const Well::ProductionControls& prod_controls,
WellState& well_state,
const GroupState& group_state,
DeferredLogger& deferred_logger) override;
/// \brief Wether the Jacobian will also have well contributions in it.
virtual bool jacobianContainsWellContributions() const override
{