Opm::SingleWellState< Scalar > Class Template Reference

#include <SingleWellState.hpp>

Inheritance diagram for Opm::SingleWellState< Scalar >:
Inheritance graph

Public Types

enum  RateIndices { dissolved_gas = 0 , dissolved_gas_in_water = 1 , vaporized_oil = 2 , vaporized_water = 3 }
 

Public Member Functions

 SingleWellState (const std::string &name, const ParallelWellInfo &pinfo, bool is_producer, Scalar presssure_first_connection, const std::vector< PerforationData > &perf_input, const PhaseUsage &pu, Scalar temp)
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
bool operator== (const SingleWellState &) const
 
void reset_connection_factors (const std::vector< PerforationData > &new_perf_data)
 
void update_producer_targets (const Well &ecl_well, const SummaryState &st)
 
void update_injector_targets (const Well &ecl_well, const SummaryState &st)
 
void update_targets (const Well &ecl_well, const SummaryState &st)
 
void updateStatus (WellStatus status)
 
void init_timestep (const SingleWellState &other)
 
void shut ()
 
void stop ()
 
void open ()
 
Scalar sum_solvent_rates () const
 
Scalar sum_polymer_rates () const
 
Scalar sum_brine_rates () const
 
Scalar sum_filtrate_rate () const
 
Scalar sum_filtrate_total () const
 

Static Public Member Functions

static SingleWellState serializationTestObject (const ParallelWellInfo &pinfo)
 

Public Attributes

std::string name
 
std::reference_wrapper< const ParallelWellInfoparallel_info
 
WellStatus status {WellStatus::OPEN}
 
bool producer
 
PhaseUsage pu
 
Scalar bhp {0}
 
Scalar thp {0}
 
Scalar temperature {0}
 
Scalar filtrate_conc {0}
 
std::array< Scalar, 4 > phase_mixing_rates {}
 
std::vector< Scalar > well_potentials
 
std::vector< Scalar > productivity_index
 
std::vector< Scalar > implicit_ipr_a
 
std::vector< Scalar > implicit_ipr_b
 
std::vector< Scalar > surface_rates
 
std::vector< Scalar > reservoir_rates
 
std::vector< Scalar > prev_surface_rates
 
PerfData< Scalar > perf_data
 
bool trivial_target
 
SegmentState< Scalar > segments
 
Events events
 
WellInjectorCMode injection_cmode {WellInjectorCMode::CMODE_UNDEFINED}
 
WellProducerCMode production_cmode {WellProducerCMode::CMODE_UNDEFINED}
 

Member Enumeration Documentation

◆ RateIndices

template<class Scalar >
enum Opm::SingleWellState::RateIndices
Enumerator
dissolved_gas 
dissolved_gas_in_water 
vaporized_oil 
vaporized_water 

Constructor & Destructor Documentation

◆ SingleWellState()

template<class Scalar >
Opm::SingleWellState< Scalar >::SingleWellState ( const std::string &  name,
const ParallelWellInfo pinfo,
bool  is_producer,
Scalar  presssure_first_connection,
const std::vector< PerforationData > &  perf_input,
const PhaseUsage pu,
Scalar  temp 
)

Member Function Documentation

◆ init_timestep()

template<class Scalar >
void Opm::SingleWellState< Scalar >::init_timestep ( const SingleWellState< Scalar > &  other)

◆ open()

template<class Scalar >
void Opm::SingleWellState< Scalar >::open ( )

◆ operator==()

template<class Scalar >
bool Opm::SingleWellState< Scalar >::operator== ( const SingleWellState< Scalar > &  ) const

◆ reset_connection_factors()

template<class Scalar >
void Opm::SingleWellState< Scalar >::reset_connection_factors ( const std::vector< PerforationData > &  new_perf_data)

Special purpose method to support dynamically rescaling a well's CTFs through WELPI.

Parameters
[in]new_perf_dataNew perforation data. Only PerforationData::connection_transmissibility_factor actually used (overwrites existing internal values).

◆ serializationTestObject()

template<class Scalar >
static SingleWellState Opm::SingleWellState< Scalar >::serializationTestObject ( const ParallelWellInfo pinfo)
static

◆ serializeOp()

◆ shut()

template<class Scalar >
void Opm::SingleWellState< Scalar >::shut ( )

◆ stop()

template<class Scalar >
void Opm::SingleWellState< Scalar >::stop ( )

◆ sum_brine_rates()

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::sum_brine_rates ( ) const

◆ sum_filtrate_rate()

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::sum_filtrate_rate ( ) const

◆ sum_filtrate_total()

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::sum_filtrate_total ( ) const

◆ sum_polymer_rates()

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::sum_polymer_rates ( ) const

◆ sum_solvent_rates()

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::sum_solvent_rates ( ) const

◆ update_injector_targets()

template<class Scalar >
void Opm::SingleWellState< Scalar >::update_injector_targets ( const Well &  ecl_well,
const SummaryState &  st 
)

◆ update_producer_targets()

template<class Scalar >
void Opm::SingleWellState< Scalar >::update_producer_targets ( const Well &  ecl_well,
const SummaryState &  st 
)

◆ update_targets()

template<class Scalar >
void Opm::SingleWellState< Scalar >::update_targets ( const Well &  ecl_well,
const SummaryState &  st 
)

◆ updateStatus()

template<class Scalar >
void Opm::SingleWellState< Scalar >::updateStatus ( WellStatus  status)

Member Data Documentation

◆ bhp

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::bhp {0}

◆ events

template<class Scalar >
Events Opm::SingleWellState< Scalar >::events

◆ filtrate_conc

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::filtrate_conc {0}

◆ implicit_ipr_a

template<class Scalar >
std::vector<Scalar> Opm::SingleWellState< Scalar >::implicit_ipr_a

◆ implicit_ipr_b

template<class Scalar >
std::vector<Scalar> Opm::SingleWellState< Scalar >::implicit_ipr_b

◆ injection_cmode

template<class Scalar >
WellInjectorCMode Opm::SingleWellState< Scalar >::injection_cmode {WellInjectorCMode::CMODE_UNDEFINED}

◆ name

template<class Scalar >
std::string Opm::SingleWellState< Scalar >::name

◆ parallel_info

template<class Scalar >
std::reference_wrapper<const ParallelWellInfo> Opm::SingleWellState< Scalar >::parallel_info

◆ perf_data

◆ phase_mixing_rates

template<class Scalar >
std::array<Scalar,4> Opm::SingleWellState< Scalar >::phase_mixing_rates {}

◆ prev_surface_rates

template<class Scalar >
std::vector<Scalar> Opm::SingleWellState< Scalar >::prev_surface_rates

◆ producer

template<class Scalar >
bool Opm::SingleWellState< Scalar >::producer

◆ production_cmode

template<class Scalar >
WellProducerCMode Opm::SingleWellState< Scalar >::production_cmode {WellProducerCMode::CMODE_UNDEFINED}

◆ productivity_index

template<class Scalar >
std::vector<Scalar> Opm::SingleWellState< Scalar >::productivity_index

◆ pu

template<class Scalar >
PhaseUsage Opm::SingleWellState< Scalar >::pu

◆ reservoir_rates

template<class Scalar >
std::vector<Scalar> Opm::SingleWellState< Scalar >::reservoir_rates

◆ segments

template<class Scalar >
SegmentState<Scalar> Opm::SingleWellState< Scalar >::segments

◆ status

template<class Scalar >
WellStatus Opm::SingleWellState< Scalar >::status {WellStatus::OPEN}

◆ surface_rates

template<class Scalar >
std::vector<Scalar> Opm::SingleWellState< Scalar >::surface_rates

◆ temperature

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::temperature {0}

◆ thp

template<class Scalar >
Scalar Opm::SingleWellState< Scalar >::thp {0}

◆ trivial_target

template<class Scalar >
bool Opm::SingleWellState< Scalar >::trivial_target

◆ well_potentials

template<class Scalar >
std::vector<Scalar> Opm::SingleWellState< Scalar >::well_potentials

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