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

## Classes

struct | Entry
| Represents a single record in a WCYCLE keyword. More...

## Public Types

using | WellEfficiencyVec = std::vector<std::pair<std::string, double>>
| A vector of wells and efficiency factor scalings to apply.
using | WellTimeMap = std::map<std::string, double>
| A map from well name to a time stamp.
using | WellIsOpenMap = std::map<std::string, bool>
| A vector of wells and their open status.

## Public Member Functions

void | addRecord (const DeckRecord &record)
| Parse a record for a WCYCLE keyword.
template<class Serializer>
void | serializeOp (Serializer &serializer)
| Convert between byte array and object representation.
bool | empty () const
| Returns true if \this has no entries.
auto | begin () const
| Returns an iterator to first entry.
auto | end () const
| Returns an iterator to one past the last entry.
double | nextTimeStep (const double current_time, const double dt, const WellMatcher &wmatch, const WellTimeMap &open_times, const WellTimeMap &close_times, std::function< bool(const std::string &)> opens_this_step) const
| Returns a time step adjusted according to cycling wells.
WellIsOpenMap | wellStatus (const double current_time, const WellMatcher &wmatch, WellTimeMap &open_times, WellTimeMap &close_times) const
| Returns status (open/shut) for cycling wells.
WellEfficiencyVec | efficiencyScale (const double current_time, const double dt, const WellMatcher &wmatch, const WellTimeMap &open_times, std::function< bool(const std::string &)> schedule_open) const
| Returns efficiency factor scaling factors for cycling wells.
bool | operator== (const WCYCLE &that) const
| Equality predicate.

## Static Public Member Functions

static WCYCLE | serializationTestObject ()
| Create non-defaulted object suitable for testing the serialisation operation.

## Member Function Documentation

## addRecord()

void Opm::WCYCLE::addRecord | ( | const DeckRecord & | record | ) |

Parse a record for a WCYCLE keyword.

Parameters

  [in] | record | Record to parse

## efficiencyScale()

WCYCLE::WellEfficiencyVec Opm::WCYCLE::efficiencyScale | ( | const double | current_time,
|  | const double | dt,
|  | const WellMatcher & | wmatch,
|  | const WellTimeMap & | open_times,
|  | std::function< bool(const std::string &)> | schedule_open ) const

Returns efficiency factor scaling factors for cycling wells.

Parameters

  [in] | current_time | Current time level of simulator
  [in] | dt | Current time step for simulator
  [in] | wmatch | Well matcher handling WLIST resolution
  [in] | open_times | Times at which cycling wells were opened
  [in] | schedule_open | Callback to check if well is opened by the schedule

Returns
  Vector of efficiency scaling factors for cycling wells

## nextTimeStep()

double Opm::WCYCLE::nextTimeStep | ( | const double | current_time,
|  | const double | dt,
|  | const WellMatcher & | wmatch,
|  | const WellTimeMap & | open_times,
|  | const WellTimeMap & | close_times,
|  | std::function< bool(const std::string &)> | opens_this_step ) const

Returns a time step adjusted according to cycling wells.

Parameters

  [in] | current_time | Current time level of simulator
  [in] | dt | Currently suggested time step for simulator
  [in] | wmatch | Well matcher handling WLIST resolution
  [in] | open_times | Times at which cycling wells were opened
  [in] | close_times | Times at which cycling wells were closed
  [in] | opens_this_step | Callback to check if a well will open at at current time step.

Returns
  Adjusted time step

The callback is required to handle the situation where we are doing the first time step of a new report step, and the well opens at the current report step. The time step has to be chosen before the new opening time is registered, and we end up cycling a well that should not be cycled.

## wellStatus()

WCYCLE::WellIsOpenMap Opm::WCYCLE::wellStatus | ( | const double | current_time,
|  | const WellMatcher & | wmatch,
|  | WellTimeMap & | open_times,
|  | WellTimeMap & | close_times ) const

Returns status (open/shut) for cycling wells.

Parameters

  [in] | current_time | Current time level of simulator
  [in] | wmatch | Well matcher handling WLIST resolution
  [in] | open_times | Times at which cycling wells were opened
  [in] | close_times | Times at which cycling wells were closed

Returns
  Map of open/closed status of cycling wells

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

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