Loading...
Searching...
No Matches
Opm::ActionHandler< Scalar, IndexTraits > Class Template Reference

Class handling Action support in simulator. More...

`#include <ActionHandler.hpp>`

## Public Types

using | TransFunc = std::function<void(bool)>
| Function handle to update transmissiblities.

## Public Member Functions

| ActionHandler (EclipseState &ecl_state, Schedule &schedule, Action::State &actionState, SummaryState &summaryState, BlackoilWellModelGeneric< Scalar, IndexTraits > &wellModel, Parallel::Communication comm)
| Constructor.
void | applyActions (int reportStep, double sim_time, const TransFunc &updateTrans)
| Run all pending actions.
void | evalUDQAssignments (const unsigned episodeIdx, UDQState &udq_state)
| Evaluates UDQ assign statements.
void | 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.

## Detailed Description

template<typename Scalar, typename IndexTraits>
class Opm::ActionHandler< Scalar, IndexTraits >

Class handling Action support in simulator.

## Constructor & Destructor Documentation

## ActionHandler()

template<typename Scalar, typename IndexTraits>

Opm::ActionHandler< Scalar, IndexTraits >::ActionHandler | ( | EclipseState & | ecl_state,
|  | Schedule & | schedule,
|  | Action::State & | actionState,
|  | SummaryState & | summaryState,
|  | BlackoilWellModelGeneric< Scalar, IndexTraits > & | wellModel,
|  | Parallel::Communication | comm )

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.

## Member Function Documentation

## applyActions()

template<typename Scalar, typename IndexTraits>

void Opm::ActionHandler< Scalar, IndexTraits >::applyActions | ( | int | reportStep,
|  | double | sim_time,
|  | const TransFunc & | updateTrans )

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<typename Scalar, typename IndexTraits>

void Opm::ActionHandler< Scalar, IndexTraits >::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<typename Scalar, typename IndexTraits>

void Opm::ActionHandler< Scalar, IndexTraits >::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 files:

- opm/simulators/flow/ActionHandler.hpp
- opm/simulators/flow/ActionHandler.cpp