Class handling Action support in simulator.
More...
#include <ActionHandler.hpp>
|
using | TransFunc = std::function< void(bool)> |
| Function handle to update transmissiblities. More...
|
|
|
| ActionHandler (EclipseState &ecl_state, Schedule &schedule, Action::State &actionState, SummaryState &summaryState, BlackoilWellModelGeneric< Scalar > &wellModel, Parallel::Communication comm) |
|
void | applyActions (int reportStep, double sim_time, const TransFunc &updateTrans) |
|
void | evalUDQAssignments (const unsigned episodeIdx, UDQState &udq_state) |
| Evaluates UDQ assign statements. More...
|
|
void | applySimulatorUpdate (int report_step, const SimulatorUpdate &sim_update, const TransFunc &updateTrans, bool &commit_wellstate) |
|
template<class Scalar>
class Opm::ActionHandler< Scalar >
Class handling Action support in simulator.
◆ TransFunc
Function handle to update transmissiblities.
◆ ActionHandler()
Constructor.
- Parameters
-
[in,out] | ecl_state | Container of static properties such as permeability and transmissibility. |
[in,out] | schedule | Container of dynamic objects, such as wells. |
[in,out] | actionState | Dynamic state object for all actions. |
[in,out] | summaryState | Dynamic state object for all summary vectors. |
[in,out] | wellModel | Simulation wells on this rank. |
[in] | comm | MPI communicator object linking all simulation ranks. |
◆ applyActions()
Run all pending actions.
- Parameters
-
[in] | reportStep | Zero-based report step index. |
[in] | sim_time | Elapsed time since simulation start. |
[in] | updateTrans | Call-back for affecting transmissibility updates. Typically invoked if the action triggers a keyword like MULTZ. |
◆ applySimulatorUpdate()
template<class Scalar >
void Opm::ActionHandler< Scalar >::applySimulatorUpdate |
( |
int |
report_step, |
|
|
const SimulatorUpdate & |
sim_update, |
|
|
const TransFunc & |
updateTrans, |
|
|
bool & |
commit_wellstate |
|
) |
| |
Convey dynamic updates triggered by an action block back to the running simulator.
This function is run after applyAction has been completed in the Schedule implementation. The sim_update argument should have members & flags for the simulator properties which need to be updated. This functionality is probably not complete.
- Parameters
-
[in] | report_step | Zero-based report step index. |
[in] | sim_update | Action's resulting simulator update. |
[in] | updateTrans | Call-back for affecting transmissibility updates. Typically invoked if the action triggers a keyword like MULTZ. |
[out] | commit_wellstate | Whether or not the action affected any simulation wells which, in turn, may require rebuilding internal data structures in the simulator and therefore would require preserving the dynamic well and group states prior to doing so. |
◆ evalUDQAssignments()
template<class Scalar >
void Opm::ActionHandler< Scalar >::evalUDQAssignments |
( |
const unsigned |
episodeIdx, |
|
|
UDQState & |
udq_state |
|
) |
| |
Evaluates UDQ assign statements.
- Parameters
-
[in] | episodeIdx | Zero-based report step index. |
[in,out] | udq_state | Dynamic state of all user-defined quantities. |
The documentation for this class was generated from the following file: