All Classes Namespaces Files Functions Variables Typedefs Enumerator Pages
Opm::WellStateFullyImplicitBlackoil Class Reference

The state of a set of wells, tailored for use by the fully implicit blackoil simulator. More...

#include <WellStateFullyImplicitBlackoil.hpp>

Inheritance diagram for Opm::WellStateFullyImplicitBlackoil:
Opm::WellStateFullyImplicitBlackoilPolymer Opm::WellStateFullyImplicitBlackoilSolvent Opm::WellStateMultiSegment

Public Types

typedef BaseType::WellMapType WellMapType
 

Public Member Functions

template<class State , class PrevWellState >
void init (const Wells *wells, const State &state, const PrevWellState &prevState, const PhaseUsage &pu)
 
template<class PrevWellState >
void init (const Wells *wells, const std::vector< double > &cellPressures, const PrevWellState &prevState, const PhaseUsage &pu)
 Allocate and initialize if wells is non-null. More...
 
template<class State >
void resize (const Wells *wells, const State &state, const PhaseUsage &pu)
 
std::vector< double > & perfPhaseRates ()
 One rate per phase and well connection.
 
const std::vector< double > & perfPhaseRates () const
 
std::vector< int > & currentControls ()
 One current control per well.
 
const std::vector< int > & currentControls () const
 
data::Wells report (const PhaseUsage &pu) const override
 
template<typename PrevWellState >
void initWellStateMSWell (const Wells *wells, const std::vector< const Well * > &wells_ecl, const int time_step, const PhaseUsage &pu, const PrevWellState &prev_well_state)
 init the MS well related.
 
bool isNewWell (const int w) const
 
void setNewWell (const int w, const bool is_new_well)
 
std::vector< double > & perfRateSolvent ()
 One rate pr well connection.
 
const std::vector< double > & perfRateSolvent () const
 
double solventWellRate (const int w) const
 One rate pr well.
 
const std::vector< double > & segRates () const
 
std::vector< double > & segRates ()
 
const std::vector< double > & segPress () const
 
std::vector< double > & segPress ()
 
int numSegment () const
 
int topSegmentIndex (const int w) const
 

Static Public Member Functions

static void calculateSegmentRates (const std::vector< std::vector< int >> &segment_inlets, const std::vector< std::vector< int >> &segment_perforations, const std::vector< double > &perforation_rates, const int np, const int segment, std::vector< double > &segment_rates)
 

Detailed Description

The state of a set of wells, tailored for use by the fully implicit blackoil simulator.

Member Function Documentation

template<class PrevWellState >
void Opm::WellStateFullyImplicitBlackoil::init ( const Wells *  wells,
const std::vector< double > &  cellPressures,
const PrevWellState &  prevState,
const PhaseUsage &  pu 
)
inline

Allocate and initialize if wells is non-null.

Also tries to give useful initial values to the bhp(), wellRates() and perfPhaseRates() fields, depending on controls


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