Loading...
Searching...
No Matches
Opm::Schedule Class Reference

## Public Member Functions

| Schedule (std::shared_ptr< const Python > python_handle)

Schedule (const Deck &deck, const EclipseGrid &grid, const FieldPropsManager &fp, const NumericalAquifers &numAquifers, const Runspec &runspec, const ParseContext &parseContext, ErrorGuard &errors, std::shared_ptr< const Python > python, const bool lowActionParsingStrictness=false, const bool slave_mode=false, const bool keepKeywords=true, const std::optional< int > &output_interval={}, const RestartIO::RstState *rst=nullptr, const TracerConfig *tracer_config=nullptr)

| Construct a Schedule object from a deck.
template<typename T>

Schedule (const Deck &deck, const EclipseGrid &grid, const FieldPropsManager &fp, const NumericalAquifers &numAquifers, const Runspec &runspec, const ParseContext &parseContext, T &&errors, std::shared_ptr< const Python > python, const bool lowActionParsingStrictness=false, const bool slave_mode=false, const bool keepKeywords=true, const std::optional< int > &output_interval={}, const RestartIO::RstState *rst=nullptr, const TracerConfig *tracer_config=nullptr)

Schedule (const Deck &deck, const EclipseGrid &grid, const FieldPropsManager &fp, const NumericalAquifers &numAquifers, const Runspec &runspec, std::shared_ptr< const Python > python, const bool lowActionParsingStrictness=false, const bool slave_mode=false, const bool keepKeywords=true, const std::optional< int > &output_interval={}, const RestartIO::RstState *rst=nullptr, const TracerConfig *tracer_config=nullptr)

| Schedule (const Deck &deck, const EclipseState &es, const ParseContext &parseContext, ErrorGuard &errors, std::shared_ptr< const Python > python, const bool lowActionParsingStrictness=false, const bool slave_mode=false, const bool keepKeywords=true, const std::optional< int > &output_interval={}, const RestartIO::RstState *rst=nullptr)
template<typename T>
| Schedule (const Deck &deck, const EclipseState &es, const ParseContext &parseContext, T &&errors, std::shared_ptr< const Python > python, const bool lowActionParsingStrictness=false, const bool slave_mode=false, const bool keepKeywords=true, const std::optional< int > &output_interval={}, const RestartIO::RstState *rst=nullptr)
| Schedule (const Deck &deck, const EclipseState &es, std::shared_ptr< const Python > python, const bool lowActionParsingStrictness=false, const bool slave_mode=false, const bool keepKeywords=true, const std::optional< int > &output_interval={}, const RestartIO::RstState *rst=nullptr)
| Schedule (const Deck &deck, const EclipseState &es, const std::optional< int > &output_interval={}, const RestartIO::RstState *rst=nullptr)
std::time_t | getStartTime () const
std::time_t | posixStartTime () const
std::time_t | posixEndTime () const
std::time_t | simTime (std::size_t timeStep) const
double | seconds (std::size_t timeStep) const
double | stepLength (std::size_t timeStep) const
std::optional< int > | exitStatus () const
const UnitSystem & | getUnits () const
const Runspec & | runspec () const
std::size_t | numWells () const
std::size_t | numWells (std::size_t timestep) const
bool | hasWell (const std::string &wellName) const
bool | hasWell (const std::string &wellName, std::size_t timeStep) const
WellMatcher | wellMatcher (std::size_t report_step) const
std::function< std::unique_ptr< SegmentMatcher >()> | segmentMatcherFactory (std::size_t report_step) const
std::vector< std::string > | wellNames (const std::string &pattern, std::size_t timeStep, const std::vector< std::string > &matching_wells={}) const
std::vector< std::string > | wellNames (const std::string &pattern) const
std::vector< std::string > | wellNames (std::size_t timeStep) const
std::vector< std::string > | wellNames () const
bool | hasGroup (const std::string &groupName, std::size_t timeStep) const
| Query for group existence at particular time.
std::vector< std::string > | groupNames (const std::string &pattern, std::size_t timeStep) const
| Retrieve names of all groups at particular time whose names match a pattern.
const std::vector< std::string > & | groupNames (std::size_t timeStep) const
| Retrieve names of all groups at a particular time.
std::vector< std::string > | groupNames (const std::string &pattern) const
| Retrieve names of all groups matching a pattern.
const std::vector< std::string > & | groupNames () const
| Retrieve names of all groups in model.
std::vector< const Group * > | restart_groups (std::size_t timeStep) const
| Retrieve collection of group objects suiteable for restart file output.
std::vector< std::string > | changed_wells (std::size_t reportStep, std::size_t initialStep=0) const
const Well & | getWell (std::size_t well_index, std::size_t timeStep) const
const Well & | getWell (const std::string &wellName, std::size_t timeStep) const
const Well & | getWellatEnd (const std::string &well_name) const
std::unordered_set< int > | getAquiferFluxSchedule () const
std::vector< Well > | getWells (std::size_t timeStep) const
std::vector< Well > | getWellsatEnd () const
std::vector< Well > | getActiveWellsAtEnd () const
std::vector< std::string > | getInactiveWellNamesAtEnd () const
const std::unordered_map< std::string, std::set< int > > & | getPossibleFutureConnections () const
void | shut_well (const std::string &well_name, std::size_t report_step)
void | shut_well (const std::string &well_name)
void | stop_well (const std::string &well_name, std::size_t report_step)
void | stop_well (const std::string &well_name)
void | open_well (const std::string &well_name, std::size_t report_step)
void | open_well (const std::string &well_name)
void | clear_event (ScheduleEvents::Events, std::size_t report_step)
void | add_event (ScheduleEvents::Events, std::size_t report_step)
void | applyWellProdIndexScaling (const std::string &well_name, const std::size_t reportStep, const double scalingFactor)
void | clearEvents (const std::size_t report_step)
| Clear out all registered events at a given report step.
WellProducerCMode | getGlobalWhistctlMmode (std::size_t timestep) const
const UDQConfig & | getUDQConfig (std::size_t timeStep) const
GTNode | groupTree (std::size_t report_step) const
GTNode | groupTree (const std::string &root_node, std::size_t report_step) const
const Group & | getGroup (const std::string &groupName, std::size_t timeStep) const
std::optional< std::size_t > | first_RFT () const
void | filterConnections (const ActiveGridCells &grid)
std::size_t | size () const
bool | write_rst_file (std::size_t report_step) const
const std::map< std::string, int > & | rst_keywords (size_t timestep) const
SimulatorUpdate | applyAction (std::size_t reportStep, const Action::ActionX &action, const Action::Result::MatchingEntities &matches, const std::unordered_map< std::string, double > &wellpi, const bool iterateSchedule)
SimulatorUpdate | applyAction (std::size_t reportStep, const Action::ActionX &action, const Action::Result::MatchingEntities &matches, const std::unordered_map< std::string, float > &wellpi, const bool iterateSchedule)
SimulatorUpdate | runPyAction (std::size_t reportStep, const Action::PyAction &pyaction, Action::State &action_state, EclipseState &ecl_state, SummaryState &summary_state)
SimulatorUpdate | runPyAction (std::size_t reportStep, const Action::PyAction &pyaction, Action::State &action_state, EclipseState &ecl_state, SummaryState &summary_state, const std::unordered_map< std::string, double > &target_wellpi)
SimulatorUpdate | runPyAction (std::size_t reportStep, const Action::PyAction &pyaction, Action::State &action_state, EclipseState &ecl_state, SummaryState &summary_state, const std::unordered_map< std::string, float > &target_wellpi)
SimulatorUpdate | modifyCompletions (const std::size_t reportStep, const std::map< std::string, std::vector< Connection > > &extraConns)
const GasLiftOpt & | glo (std::size_t report_step) const
bool | operator== (const Schedule &data) const
std::shared_ptr< const Python > | python () const
const std::optional< RPTConfig > & | initialReportConfiguration () const
| Retrieve initial report configuration object.
const ScheduleState & | back () const
const ScheduleState & | operator[] (std::size_t index) const
std::vector< ScheduleState >::const_iterator | begin () const
std::vector< ScheduleState >::const_iterator | end () const
void | create_next (const time_point &start_time, const std::optional< time_point > &end_time)
void | create_next (const ScheduleBlock &block)
void | create_first (const time_point &start_time, const std::optional< time_point > &end_time)
void | treat_critical_as_non_critical (bool value)
void | applyKeywords (std::vector< std::unique_ptr< DeckKeyword > > &keywords, std::unordered_map< std::string, double > &target_wellpi, bool action_mode, std::size_t report_step)
void | applyKeywords (std::vector< std::unique_ptr< DeckKeyword > > &keywords, std::unordered_map< std::string, double > &target_wellpi, bool action_mode)
template<class Serializer>
void | serializeOp (Serializer &serializer)
template<typename T>
std::vector< std::pair< std::size_t, T > > | unique () const
void | dump_deck (std::ostream &os) const

## Static Public Member Functions

static Schedule | serializationTestObject ()
static bool | cmp (const Schedule &sched1, const Schedule &sched2, std::size_t report_step)

## Friends

class | HandlerContext
std::ostream & | operator<< (std::ostream &os, const Schedule &sched)

## Constructor & Destructor Documentation

## Schedule()

Opm::Schedule::Schedule | ( | const Deck & | deck,
|  | const EclipseGrid & | grid,
|  | const FieldPropsManager & | fp,
|  | const NumericalAquifers & | numAquifers,
|  | const Runspec & | runspec,
|  | const ParseContext & | parseContext,
|  | ErrorGuard & | errors,
|  | std::shared_ptr< const Python > | python,
|  | const bool | lowActionParsingStrictness = false,
|  | const bool | slave_mode = false,
|  | const bool | keepKeywords = true,
|  | const std::optional< int > & | output_interval = {},
|  | const RestartIO::RstState * | rst = nullptr,
|  | const TracerConfig * | tracer_config = nullptr )

Construct a Schedule object from a deck.

Parameters

  deck | Deck to construct Schedule from
  grid | Eclipse grid description
  fp | Field property manager
  numAquifers | Numerical aquifers to use
  runspec | Run specification parameters to use
  parseContext | Parsing context
  errors | Error configuration
  python | Python interpreter to use
  lowActionParsingStrictness | Reduce parsing strictness for actions
  slave_mode | Slave mode flag
  keepKeywords | Keep the schdule keywords even if there are no actions
  output_interval | Output interval to use
  rst | Restart state to use
  tracer_config | Tracer configuration to use

## Member Function Documentation

## groupNames() [1/4]

const std::vector< std::string > & Opm::Schedule::groupNames | ( |  | ) | const

Retrieve names of all groups in model.

Includes FIELD group.

## groupNames() [2/4]

std::vector< std::string > Opm::Schedule::groupNames | ( | const std::string & | pattern | ) | const

Retrieve names of all groups matching a pattern.

Parameters

  [in] | pattern | Group name pattern. Expected to be a group name root such as 'PR*' or a fully specified group name such as 'PROD'.

Returns
  Names of all groups in simulation run matching the `pattern`.

## groupNames() [3/4]

std::vector< std::string > Opm::Schedule::groupNames | ( | const std::string & | pattern,
|  | std::size_t | timeStep ) const

Retrieve names of all groups at particular time whose names match a pattern.

Parameters

  [in] | pattern | Group name pattern. Expected to be a group name root such as 'PR*' or a fully specified group name such as 'PROD'.
  [in] | timeStep | Zero-based report step index.

Returns
  Names of all groups at `timeStep` whose names match the `pattern`.

## groupNames() [4/4]

const std::vector< std::string > & Opm::Schedule::groupNames | ( | std::size_t | timeStep | ) | const

Retrieve names of all groups at a particular time.

Parameters

  [in] | timeStep | Zero-based report step index.

Returns
  Names of all groups in simulation which are active at time `timeStep`.

## hasGroup()

bool Opm::Schedule::hasGroup | ( | const std::string & | groupName,
|  | std::size_t | timeStep ) const

Query for group existence at particular time.

Parameters

  [in] | groupName | Fully specified group name.
  [in] | timeStep | Zero-based report step index.

Returns
  Whether or not group `groupName` exists at time `timeStep`.

## initialReportConfiguration()

const std::optional< RPTConfig > & Opm::Schedule::initialReportConfiguration | ( |  | ) | const

Retrieve initial report configuration object.

Populated by RPTSOL keyword in the SOLUTION section.

Returns
  Initial configuration object. Nullopt if there is no RPTSOL information in the SOLUTION section.

## restart_groups()

std::vector< const Group * > Opm::Schedule::restart_groups | ( | std::size_t | timeStep | ) | const

Retrieve collection of group objects suiteable for restart file output.

The collection is sized and ordered as follows

1. The number of elements is WELLDIMS::MAXGROUPS + 1
2. The elements are sorted according to group.insert_index().
3. Nullptr represents an unused slot.
4. The very last element corresponds to the FIELD group.

Parameters

  [in] | timeStep | Zero-based report step index.

The documentation for this class was generated from the following files:

- opm/input/eclipse/Schedule/Schedule.hpp
- opm/input/eclipse/Schedule/Schedule.cpp