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: