move UDQ evaluation to EclActionHandler

thus we can avoid include of WellMatcher.hpp in eclproblem.hh
This commit is contained in:
Arne Morten Kvarving 2023-01-10 11:13:58 +01:00
parent a920699e1a
commit b320716b17
3 changed files with 14 additions and 6 deletions

View File

@ -245,4 +245,12 @@ EclActionHandler::fetchWellPI(const int reportStep,
return wellpi;
}
void EclActionHandler::evalUDQAssignments(const unsigned episodeIdx,
UDQState& udq_state)
{
const auto& udq = schedule_[episodeIdx].udq();
const auto& well_matcher = schedule_.wellMatcher(episodeIdx);
udq.eval_assign(episodeIdx, well_matcher, summaryState_, udq_state);
}
} // namespace Opm

View File

@ -43,6 +43,7 @@ class EclipseState;
class Schedule;
struct SimulatorUpdate;
class SummaryState;
class UDQState;
//! \brief Class handling Action support in simulator
class EclActionHandler
@ -62,6 +63,10 @@ public:
double sim_time,
const TransFunc& updateTrans);
//! \brief Evaluates UDQ assign statements.
void evalUDQAssignments(const unsigned episodeIdx,
UDQState& udq_state);
private:
/*
This function is run after applyAction has been completed in the Schedule

View File

@ -78,7 +78,6 @@
#include <opm/material/common/Valgrind.hpp>
#include <opm/input/eclipse/EclipseState/EclipseState.hpp>
#include <opm/input/eclipse/Schedule/Schedule.hpp>
#include <opm/input/eclipse/Schedule/Well/WellMatcher.hpp>
#include <opm/common/utility/TimeService.hpp>
#include <opm/utility/CopyablePtr.hpp>
#include <opm/material/common/ConditionalStorage.hpp>
@ -1028,11 +1027,7 @@ public:
// Evaluate UDQ assign statements to make sure the settings are
// available as UDA controls for the current report step.
const auto& udq = schedule[episodeIdx].udq();
const auto& well_matcher = schedule.wellMatcher(episodeIdx);
auto& summary_state = simulator.vanguard().summaryState();
auto& udq_state = simulator.vanguard().udqState();
udq.eval_assign(episodeIdx, well_matcher, summary_state, udq_state);
actionHandler_.evalUDQAssignments(episodeIdx, simulator.vanguard().udqState());
}
/*!