Loading...
Searching...
No Matches
Opm::SingleWellState< Scalar, IndexTraits > Class Template Reference

## 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< Scalar > &pinfo, const PhaseUsageInfo< IndexTraits > &pu, bool is_producer, Scalar presssure_first_connection, const std::vector< PerforationData< Scalar > > &perf_input, Scalar temp)
template<class Serializer>
void | serializeOp (Serializer &serializer)
bool | operator== (const SingleWellState &) const
void | reset_connection_factors (const std::vector< PerforationData< Scalar > > &new_perf_data)
| Special purpose method to support dynamically rescaling a well's CTFs through WELPI.
void | update_producer_targets (const Well &ecl_well, const SummaryState &st)
void | update_injector_targets (const Well &ecl_well, const SummaryState &st)
void | update_type_and_targets (const Well &ecl_well, const SummaryState &st)
| update the type of the well and the targets.
bool | 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_microbial_rates () const
Scalar | sum_oxygen_rates () const
Scalar | sum_urea_rates () const
Scalar | sum_wat_mass_rates () const
Scalar | sum_filtrate_rate () const
Scalar | sum_filtrate_total () const

## Static Public Member Functions

static SingleWellState | serializationTestObject (const ParallelWellInfo< Scalar > &pinfo)

## Public Attributes

std::string | name
std::reference_wrapper< const ParallelWellInfo< Scalar > > | parallel_info
WellStatus | status {WellStatus::OPEN}
bool | producer
PhaseUsageInfo< IndexTraits > | pu
Scalar | bhp {0}
Scalar | thp {0}
Scalar | temperature {0}
Scalar | efficiency_scaling_factor {1.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_group_target
std::optional< Scalar > | group_target
SegmentState< Scalar > | segments
Events | events
WellInjectorCMode | injection_cmode {WellInjectorCMode::CMODE_UNDEFINED}
WellProducerCMode | production_cmode {WellProducerCMode::CMODE_UNDEFINED}
std::vector< Scalar > | primaryvar
ALQState< Scalar > | alq_state

## Static Public Attributes

static const int | waterPhaseIdx = PhaseUsageInfo<IndexTraits>::waterPhaseIdx
static const int | oilPhaseIdx = PhaseUsageInfo<IndexTraits>::oilPhaseIdx
static const int | gasPhaseIdx = PhaseUsageInfo<IndexTraits>::gasPhaseIdx

## Member Function Documentation

## reset_connection_factors()

template<typename Scalar, typename IndexTraits>

void Opm::SingleWellState< Scalar, IndexTraits >::reset_connection_factors | ( | const std::vector< PerforationData< Scalar > > & | new_perf_data | ) |

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

Parameters

  [in] | new_perf_data | New perforation data. Only PerforationData::connection_transmissibility_factor actually used (overwrites existing internal values).

## update_type_and_targets()

template<typename Scalar, typename IndexTraits>

void Opm::SingleWellState< Scalar, IndexTraits >::update_type_and_targets | ( | const Well & | ecl_well,
|  | const SummaryState & | st )

update the type of the well and the targets.

This called after ACTIONX is executed to update well rates. The new status is in ecl_well and st.

Returns
  whether well was switched to a producer

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

- opm/simulators/wells/BlackoilWellModelRestart.hpp
- opm/simulators/wells/SingleWellState.hpp
- opm/simulators/wells/SingleWellState.cpp