|
| enum class | MessageTag : int {
CoupledNetworkActiveStatus
, InjectionGroupTargets
, MasterGroupNames
, MasterGroupNamesSize
,
MasterGroupNodePressures
, MasterInitStatus
, MasterStartOfReportStep
, NumMasterGroupNodePressures
,
NumSlaveGroupConstraints
, ProductionGroupConstraints
, SlaveActivationDate
, SlaveActivationHandshake
,
SlaveInjectionData
, SlaveProcessTermination
, SlaveName
, SlaveNameSize
,
SlaveNextReportDate
, SlaveNextTimeStep
, SlaveProductionData
, SlaveSimulationStartDate
,
SlaveStartOfReportStep
, SlaveStatus
} |
| |
| enum class | Phase : std::size_t { Oil = 0
, Gas
, Water
, Count
} |
| | Phase indices for reservoir coupling, we currently only support black-oil phases (oil, gas, and water). More...
|
| |
| enum class | RateKind {
InjectionSurface
, InjectionReservoir
, ProductionSurface
, ProductionNetworkSurface
,
ProductionReservoir
} |
| | Selects which kind of rate to retrieve from slave group data. More...
|
| |
|
| bool | isSlaveEndOfRunSentinel (double next_report_time_offset) |
| | Whether a next-report-date offset received from a slave is the end-of-run sentinel. More...
|
| |
| Phase | convertPhaseToReservoirCouplingPhase (::Opm::Phase phase) |
| |
| ::Opm::Phase | convertToOpmPhase (const Phase phase) |
| |
| void | customErrorHandler_ (MPI_Comm *comm, int *err, const std::string &msg) |
| |
| void | customErrorHandlerSlave_ (MPI_Comm *comm, int *err,...) |
| |
| void | customErrorHandlerMaster_ (MPI_Comm *comm, int *err,...) |
| |
| void | setErrhandler (MPI_Comm comm, bool is_master) |
| |
| std::pair< std::vector< char >, std::size_t > | serializeStrings (const std::vector< std::string > &data) |
| |
| std::string | formatDays (double seconds) |
| | Format seconds as a human-readable string showing both seconds and days. More...
|
| |
| template<class Scalar > |
| FlowChangeLimit< Scalar > | flowChangeTimeStepLimit (Scalar limiting_fraction, Scalar step_length, Scalar min_step, const std::vector< Scalar > &start_flows, const std::vector< Scalar > &end_flows) |
| | Limit the next sync step from the flow change of a master group (GRUPMAST item 4) More...
|
| |
◆ MessageTag
| Enumerator |
|---|
| CoupledNetworkActiveStatus | |
| InjectionGroupTargets | |
| MasterGroupNames | |
| MasterGroupNamesSize | |
| MasterGroupNodePressures | |
| MasterInitStatus | |
| MasterStartOfReportStep | |
| NumMasterGroupNodePressures | |
| NumSlaveGroupConstraints | |
| ProductionGroupConstraints | |
| SlaveActivationDate | |
| SlaveActivationHandshake | |
| SlaveInjectionData | |
| SlaveProcessTermination | |
| SlaveName | |
| SlaveNameSize | |
| SlaveNextReportDate | |
| SlaveNextTimeStep | |
| SlaveProductionData | |
| SlaveSimulationStartDate | |
| SlaveStartOfReportStep | |
| SlaveStatus | |
◆ Phase
Phase indices for reservoir coupling, we currently only support black-oil phases (oil, gas, and water).
| Enumerator |
|---|
| Oil | |
| Gas | |
| Water | |
| Count | |
◆ RateKind
Selects which kind of rate to retrieve from slave group data.
Replaces multiple bool parameters (res_rates, is_injection, network) with a single enum that names the 5 valid rate categories directly. Only these 5 combinations of the bools are meaningful; the enum prevents callers from constructing invalid states.
| Enumerator |
|---|
| InjectionSurface | |
| InjectionReservoir | |
| ProductionSurface | |
| ProductionNetworkSurface | |
| ProductionReservoir | |
◆ convertPhaseToReservoirCouplingPhase()
| Phase Opm::ReservoirCoupling::convertPhaseToReservoirCouplingPhase |
( |
::Opm::Phase |
phase | ) |
|
◆ convertToOpmPhase()
| ::Opm::Phase Opm::ReservoirCoupling::convertToOpmPhase |
( |
const Phase |
phase | ) |
|
◆ customErrorHandler_()
| void Opm::ReservoirCoupling::customErrorHandler_ |
( |
MPI_Comm * |
comm, |
|
|
int * |
err, |
|
|
const std::string & |
msg |
|
) |
| |
◆ customErrorHandlerMaster_()
| void Opm::ReservoirCoupling::customErrorHandlerMaster_ |
( |
MPI_Comm * |
comm, |
|
|
int * |
err, |
|
|
|
... |
|
) |
| |
◆ customErrorHandlerSlave_()
| void Opm::ReservoirCoupling::customErrorHandlerSlave_ |
( |
MPI_Comm * |
comm, |
|
|
int * |
err, |
|
|
|
... |
|
) |
| |
◆ flowChangeTimeStepLimit()
template<class Scalar >
| FlowChangeLimit< Scalar > Opm::ReservoirCoupling::flowChangeTimeStepLimit |
( |
Scalar |
limiting_fraction, |
|
|
Scalar |
step_length, |
|
|
Scalar |
min_step, |
|
|
const std::vector< Scalar > & |
start_flows, |
|
|
const std::vector< Scalar > & |
end_flows |
|
) |
| |
Limit the next sync step from the flow change of a master group (GRUPMAST item 4)
The limit is the step length times the limiting fraction divided by the largest fractional change of the flows between the start and the end of the step. It is rounded to whole seconds, see Seconds, and never below the minimum step.
- Parameters
-
| limiting_fraction | GRUPMAST item 4. The default value means no limit. |
| step_length | Length of the sync step taken |
| min_step | Smallest limit that is returned |
| start_flows | Flow rates at the start of the step |
| end_flows | Flow rates at the end of the step, in the same order as start_flows |
◆ formatDays()
| std::string Opm::ReservoirCoupling::formatDays |
( |
double |
seconds | ) |
|
|
inline |
Format seconds as a human-readable string showing both seconds and days.
- Parameters
-
| seconds | The time value in seconds. |
- Returns
- A string like "864000s (10.00 days)".
◆ isSlaveEndOfRunSentinel()
| bool Opm::ReservoirCoupling::isSlaveEndOfRunSentinel |
( |
double |
next_report_time_offset | ) |
|
|
inline |
Whether a next-report-date offset received from a slave is the end-of-run sentinel.
◆ serializeStrings()
| std::pair< std::vector< char >, std::size_t > Opm::ReservoirCoupling::serializeStrings |
( |
const std::vector< std::string > & |
data | ) |
|
◆ setErrhandler()
| void Opm::ReservoirCoupling::setErrhandler |
( |
MPI_Comm |
comm, |
|
|
bool |
is_master |
|
) |
| |
◆ slave_end_of_run_sentinel
| constexpr double Opm::ReservoirCoupling::slave_end_of_run_sentinel = -1.0 |
|
inlineconstexpr |
|