Ensuring that the UDA is updated every time step, not just only report step.

This commit is contained in:
Vegard Kippe
2023-12-01 19:44:09 +01:00
parent fa6697a5fa
commit 55067636f4
2 changed files with 7 additions and 7 deletions

View File

@@ -411,6 +411,7 @@ namespace Opm {
updateAndCommunicateGroupData(reportStepIdx,
ebosSimulator_.model().newtonMethod().numIterations());
this->wellState().updateWellsDefaultALQ(this->wells_ecl_, this->summaryState());
this->wellState().gliftTimeStepInit();
const double simulationTime = ebosSimulator_.time();

View File

@@ -206,6 +206,12 @@ public:
this->alq_state.reset_count();
}
// If the ALQ has changed since the previous time step,
// reset current_alq and update default_alq. ALQ is used for
// constant lift gas injection and for gas lift optimization
// (THP controlled wells).
void updateWellsDefaultALQ(const std::vector<Well>& wells_ecl, const SummaryState& summary_state);
int wellNameToGlobalIdx(const std::string &name) {
return this->global_well_info.value().well_index(name);
}
@@ -331,13 +337,6 @@ private:
const int seg_ix,
const int seg_no) const;
// If the ALQ has changed since the previous report step,
// reset current_alq and update default_alq. ALQ is used for
// constant lift gas injection and for gas lift optimization
// (THP controlled wells).
void updateWellsDefaultALQ(const std::vector<Well>& wells_ecl, const SummaryState& summary_state);
/// Allocate and initialize if wells is non-null.
/// Also tries to give useful initial values to the bhp() and