opm-common
Loading...
Searching...
No Matches
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 class  DelayedIteration { Off , Possible , 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.
 
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.
 
bool tran_update {false}
 Whether or not a transmissibility multiplier keyword was invoked in an ACTIONX block.
 
bool well_structure_changed {false}
 Whether or not well structure changed in processing an ACTIONX block.
 
DelayedIteration delayed_iteration {DelayedIteration::Off}
 Whether or not to do schedule iteration after update has been applied.
 

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

◆ 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.


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