|
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.
|
|
|
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 WCYCLE | serializationTestObject () |
| Create non-defaulted object suitable for testing the serialisation operation.
|
|
◆ 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 |
- 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()
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