Opm::WellInterface< TypeTag > Class Template Reference

Inheritance diagram for Opm::WellInterface< TypeTag >:
Opm::MultisegmentWell< TypeTag > Opm::StandardWell< TypeTag >

List of all members.

Classes

struct  ConvergenceReport
 a struct to collect information about the convergence checking More...

Public Types

typedef BlackoilModelParameters ModelParameters
typedef double Scalar
typedef Dune::FieldVector
< Scalar, numEq > 
VectorBlockType
typedef Dune::FieldMatrix
< Scalar, numEq, numEq > 
MatrixBlockType
typedef Dune::BCRSMatrix
< MatrixBlockType > 
Mat
typedef Dune::BlockVector
< VectorBlockType > 
BVector
typedef DenseAd::Evaluation
< double, numEq > 
Eval
typedef
Ewoms::BlackOilPolymerModule
< TypeTag > 
PolymerModule

Public Member Functions

typedef GET_PROP_TYPE (TypeTag, Grid) Grid
typedef GET_PROP_TYPE (TypeTag, Simulator) Simulator
typedef GET_PROP_TYPE (TypeTag, FluidSystem) FluidSystem
typedef GET_PROP_TYPE (TypeTag, Indices) BlackoilIndices
typedef GET_PROP_TYPE (TypeTag, IntensiveQuantities) IntensiveQuantities
typedef GET_PROP_TYPE (TypeTag, MaterialLaw) MaterialLaw
 WellInterface (const Well *well, const int time_step, const Wells *wells, const ModelParameters &param)
 Constructor.
virtual ~WellInterface ()
 Virutal destructor.
const std::string & name () const
 Well name.
const std::vector< int > & cells ()
 Well cells.
WellType wellType () const
 Well type, INJECTOR or PRODUCER.
WellControls * wellControls () const
 Well controls.
void setVFPProperties (const VFPProperties *vfp_properties_arg)
virtual void init (const PhaseUsage *phase_usage_arg, const std::vector< bool > *active_arg, const std::vector< double > &depth_arg, const double gravity_arg, const int num_cells)
virtual void initPrimaryVariablesEvaluation () const =0
virtual ConvergenceReport getWellConvergence (const std::vector< double > &B_avg) const =0
virtual void solveEqAndUpdateWellState (WellState &well_state)=0
virtual void assembleWellEq (Simulator &ebosSimulator, const double dt, WellState &well_state, bool only_wells)=0
void updateListEconLimited (const WellState &well_state, DynamicListEconLimited &list_econ_limited) const
void setWellEfficiencyFactor (const double efficiency_factor)
void computeRepRadiusPerfLength (const Grid &grid, const std::map< int, int > &cartesian_to_compressed)
virtual void recoverWellSolutionAndUpdateWellState (const BVector &x, WellState &well_state) const =0
 using the solution x to recover the solution xw for wells and applying xw to update Well State
virtual void apply (const BVector &x, BVector &Ax) const =0
 Ax = Ax - C D^-1 B x.
virtual void apply (BVector &r) const =0
 r = r - C D^-1 Rw
virtual void computeWellPotentials (const Simulator &ebosSimulator, const WellState &well_state, std::vector< double > &well_potentials)=0
virtual void updateWellStateWithTarget (const int current, WellState &xw) const =0
void updateWellControl (WellState &xw, wellhelpers::WellSwitchingLogger &logger) const
virtual void updatePrimaryVariables (const WellState &well_state) const =0
virtual void calculateExplicitQuantities (const Simulator &ebosSimulator, const WellState &xw)=0

Static Public Attributes

static const int numEq = BlackoilIndices::numEq
static const bool has_solvent = GET_PROP_VALUE(TypeTag, EnableSolvent)
static const bool has_polymer = GET_PROP_VALUE(TypeTag, EnablePolymer)

Protected Member Functions

bool getAllowCrossFlow () const
const std::vector< bool > & active () const
const PhaseUsage & phaseUsage () const
int flowPhaseToEbosCompIdx (const int phaseIdx) const
int flowPhaseToEbosPhaseIdx (const int phaseIdx) const
int numComponents () const
double wsolvent () const
double wpolymer () const
bool checkRateEconLimits (const WellEconProductionLimits &econ_production_limits, const WellState &well_state) const
bool wellHasTHPConstraints () const
const std::vector< double > & compFrac () const
double mostStrictBhpFromBhpLimits () const
RatioCheckTuple checkMaxWaterCutLimit (const WellEconProductionLimits &econ_production_limits, const WellState &well_state) const
RatioCheckTuple checkRatioEconLimits (const WellEconProductionLimits &econ_production_limits, const WellState &well_state) const

Protected Attributes

const Well * well_ecl_
const int current_step_
int index_of_well_
const ModelParametersparam_
enum WellType well_type_
int number_of_phases_
std::vector< double > comp_frac_
struct WellControls * well_controls_
int number_of_perforations_
int first_perf_
std::vector< double > well_index_
std::vector< double > perf_depth_
double ref_depth_
double well_efficiency_factor_
std::vector< int > well_cells_
std::vector< int > saturation_table_number_
std::vector< double > perf_rep_radius_
std::vector< double > perf_length_
std::vector< double > bore_diameters_
const PhaseUsage * phase_usage_
const std::vector< bool > * active_
const VFPPropertiesvfp_properties_
double gravity_

Static Protected Attributes

static const int INVALIDCONNECTION = -100000

template<typename TypeTag>
class Opm::WellInterface< TypeTag >


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

Generated on 26 Mar 2018 by  doxygen 1.6.1