opm-common
Opm::SimulatorUpdate Struct Reference

This struct is used to communicate back from the Schedule::applyAction() what needs to be updated in the simulator when execution is returned to the simulator code. More...

#include <SimulatorUpdate.hpp>

Public Types

enum  DelayedIteration { DelayedIteration::Off, DelayedIteration::Possible, DelayedIteration::On }
 Enumeration of how to handled delayed schedule iteration. More...
 

Public Member Functions

template<class Serializer >
void serializeOp (Serializer &serializer)
 
void append (const SimulatorUpdate &otherSimUpdate)
 
void reset ()
 
bool operator== (const SimulatorUpdate &that) const
 

Static Public Member Functions

static SimulatorUpdate serializationTestObject ()
 

Public Attributes

std::unordered_set< std::string > affected_wells {}
 Wells affected by ACTIONX and for which the simulator needs to reapply rates and state from the newly updated Schedule object. More...
 
std::unordered_set< std::string > welpi_wells {}
 Wells affected only by WELPI for which the simulator needs to update its internal notion of the connection transmissibility factors. More...
 
bool tran_update {false}
 Whether or not a transmissibility multiplier keyword was invoked in an ACTIONX block. More...
 
bool well_structure_changed {false}
 Whether or not well structure changed in processing an ACTIONX block. More...
 
DelayedIteration delayed_iteration {DelayedIteration::Off}
 Whether or not to do schedule iteration after update has been applied. More...
 

Detailed Description

This struct is used to communicate back from the Schedule::applyAction() what needs to be updated in the simulator when execution is returned to the simulator code.

Member Enumeration Documentation

◆ DelayedIteration

Enumeration of how to handled delayed schedule iteration.

Enumerator
Off 

Force delayed iteration off.

Possible 

No current status.

On 

Delayed iteration enabled.

Member Data Documentation

◆ affected_wells

std::unordered_set<std::string> Opm::SimulatorUpdate::affected_wells {}

Wells affected by ACTIONX and for which the simulator needs to reapply rates and state from the newly updated Schedule object.

◆ delayed_iteration

DelayedIteration Opm::SimulatorUpdate::delayed_iteration {DelayedIteration::Off}

Whether or not to do schedule iteration after update has been applied.

Used to batch iteration for well open/close kws generated by a PYACTION.

◆ tran_update

bool Opm::SimulatorUpdate::tran_update {false}

Whether or not a transmissibility multiplier keyword was invoked in an ACTIONX block.

If so, the simulator needs to recalculate the transmissibilities.

◆ well_structure_changed

bool Opm::SimulatorUpdate::well_structure_changed {false}

Whether or not well structure changed in processing an ACTIONX block.

Typically because of a keyword like WELSPECS, COMPDAT, and/or WELOPEN.

◆ welpi_wells

std::unordered_set<std::string> Opm::SimulatorUpdate::welpi_wells {}

Wells affected only by WELPI for which the simulator needs to update its internal notion of the connection transmissibility factors.


The documentation for this struct was generated from the following file: