opm-common
Loading...
Searching...
No Matches
Opm::GSatProd Class Reference

Group level satellite production. More...

#include <GSatProd.hpp>

Classes

struct  GSatProdGroup
 Satellite production rates for a single group. More...
 
struct  GSatProdGroupProp
 

Public Member Functions

void assign (const std::string &name, const UDAValue &oil_rate, const UDAValue &gas_rate, const UDAValue &water_rate, const UDAValue &resv_rate, const UDAValue &glift_rate, double udq_undefined)
 Define satellite production rates for named group.
 
bool has (const std::string &name) const
 Whether or not satellite production rates have been defined for a named group.
 
const GSatProdGroupget (const std::string &name) const
 Retrieve satellite production rates for named group.
 
const GSatProdGroupProp get (const std::string &name, const SummaryState &st) const
 Retrieve scalar satellite production rates for named group.
 
bool empty () const
 Whether or not any groups have associate satellite production rates.
 
std::size_t size () const
 Number of groups for which satellite production rates have been defined.
 
bool operator== (const GSatProd &data) const
 Equality predicate.
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 Convert between byte array and object representation.
 

Static Public Member Functions

static GSatProd serializationTestObject ()
 Create a serialisation test object.
 

Detailed Description

Group level satellite production.

Member Function Documentation

◆ assign()

void Opm::GSatProd::assign ( const std::string &  name,
const UDAValue oil_rate,
const UDAValue gas_rate,
const UDAValue water_rate,
const UDAValue resv_rate,
const UDAValue glift_rate,
double  udq_undefined 
)

Define satellite production rates for named group.

Effectively internalises items from the GSATPROD keyword.

Parameters
[in]nameGroup name.
[in]oil_rateSatellite production oil surface rate for group name.
[in]gas_rateSatellite production gas surface rate for group name.
[in]water_rateSatellite production water surface rate for group name.
[in]resv_rateSatellite production reservoir voidage rate for group name.
[in]glift_rateSatellite production gas lift rate for group name.
[in]udq_undefinedSatellite udq undefined value for group name.

◆ empty()

bool Opm::GSatProd::empty ( ) const
inline

Whether or not any groups have associate satellite production rates.

This is mostly a convenience function for certain logical statements.

Returns
True if no groups have satellite production rates and false otherwise.

◆ get() [1/2]

const GSatProd::GSatProdGroup & Opm::GSatProd::get ( const std::string &  name) const

Retrieve satellite production rates for named group.

Throws an exception of type

std::invalid_argument

if there are no satellite production rates defined for that named group. Clients should invoke the predicate has() to determine availability of satellite production rates for a particular named group.

Parameters
[in]nameGroup name.
Returns
Satellite production rates for group name.

◆ get() [2/2]

const GSatProd::GSatProdGroupProp Opm::GSatProd::get ( const std::string &  name,
const SummaryState st 
) const

Retrieve scalar satellite production rates for named group.

Parameters
[in]nameGroup name.
[in]stSummary state.
Returns
Satellite production rates for group name.

◆ has()

bool Opm::GSatProd::has ( const std::string &  name) const

Whether or not satellite production rates have been defined for a named group.

Parameters
[in]nameGroup name.
Returns
Whether or not satellite production rates have been defined for group name.

◆ operator==()

bool Opm::GSatProd::operator== ( const GSatProd data) const

Equality predicate.

Parameters
[in]dataObject against which
*this
will be tested for equality.
Returns
Whether or not
*this
is the same as data.

◆ serializeOp()

template<class Serializer >
void Opm::GSatProd::serializeOp ( Serializer serializer)
inline

Convert between byte array and object representation.

Template Parameters
SerializerByte array conversion protocol.
Parameters
[in,out]serializerByte array conversion object.

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