Opm::StandardWell< TypeTag > Class Template Reference

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

List of all members.

Public Types

typedef WellInterface< TypeTag > Base
typedef Dune::FieldVector
< Scalar, numWellEq > 
VectorBlockWellType
typedef Dune::BlockVector
< VectorBlockWellType > 
BVectorWell
typedef Dune::FieldMatrix
< Scalar, numWellEq, numWellEq > 
DiagMatrixBlockWellType
typedef Dune::BCRSMatrix
< DiagMatrixBlockWellType > 
DiagMatWell
typedef Dune::FieldMatrix
< Scalar, numWellEq, numEq > 
OffDiagMatrixBlockWellType
typedef Dune::BCRSMatrix
< OffDiagMatrixBlockWellType > 
OffDiagMatWell
typedef DenseAd::Evaluation
< double, numEq+numWellEq > 
EvalWell
typedef BlackoilModelParameters ModelParameters
typedef
Ewoms::BlackOilPolymerModule
< TypeTag > 
PolymerModule
typedef double Scalar
typedef Dune::BCRSMatrix
< MatrixBlockType > 
Mat
typedef Dune::BlockVector
< VectorBlockType > 
BVector
typedef DenseAd::Evaluation
< double, numEq > 
Eval

Public Member Functions

 StandardWell (const Well *well, const int time_step, const Wells *wells, const ModelParameters &param)
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
virtual void assembleWellEq (Simulator &ebosSimulator, const double dt, WellState &well_state, bool only_wells)
virtual void updateWellStateWithTarget (const int current, WellState &xw) const
 updating the well state based the control mode specified with current
virtual ConvergenceReport getWellConvergence (const std::vector< double > &B_avg) const
 check whether the well equations get converged for this well
virtual void apply (const BVector &x, BVector &Ax) const
 Ax = Ax - C D^-1 B x.
virtual void apply (BVector &r) const
 r = r - C D^-1 Rw
virtual void recoverWellSolutionAndUpdateWellState (const BVector &x, WellState &well_state) const
 using the solution x to recover the solution xw for wells and applying xw to update Well State
virtual void computeWellPotentials (const Simulator &ebosSimulator, const WellState &well_state, std::vector< double > &well_potentials)
 computing the well potentials for group control
virtual void updatePrimaryVariables (const WellState &well_state) const
virtual void solveEqAndUpdateWellState (WellState &well_state)
virtual void calculateExplicitQuantities (const Simulator &ebosSimulator, const WellState &well_state)

Static Public Attributes

static const bool gasoil = numEq == 2 && (BlackoilIndices::compositionSwitchIdx >= 0)
static const int XvarWell = 0
static const int WFrac = gasoil? -1000: 1
static const int GFrac = gasoil? 1: 2
static const int SFrac = 3
static const int numWellEq = GET_PROP_VALUE(TypeTag, EnablePolymer)? numEq-1 : numEq
static const int contiSolventEqIdx = BlackoilIndices::contiSolventEqIdx
static const int contiPolymerEqIdx = BlackoilIndices::contiPolymerEqIdx
static const int solventSaturationIdx = BlackoilIndices::solventSaturationIdx
static const int polymerConcentrationIdx = BlackoilIndices::polymerConcentrationIdx

Protected Member Functions

EvalWell getBhp () const
EvalWell getQs (const int comp_idx) const
EvalWell wellVolumeFractionScaled (const int phase) const
EvalWell wellVolumeFraction (const int phase) const
EvalWell wellSurfaceVolumeFraction (const int phase) const
EvalWell extendEval (const Eval &in) const
bool crossFlowAllowed (const Simulator &ebosSimulator) const
void recoverSolutionWell (const BVector &x, BVectorWell &xw) const
void updateWellState (const BVectorWell &dwells, WellState &well_state) const
void computePropertiesForWellConnectionPressures (const Simulator &ebosSimulator, const WellState &xw, std::vector< double > &b_perf, std::vector< double > &rsmax_perf, std::vector< double > &rvmax_perf, std::vector< double > &surf_dens_perf) const
void computeConnectionDensities (const std::vector< double > &perfComponentRates, const std::vector< double > &b_perf, const std::vector< double > &rsmax_perf, const std::vector< double > &rvmax_perf, const std::vector< double > &surf_dens_perf)
void computeConnectionPressureDelta ()
void computeWellConnectionDensitesPressures (const WellState &xw, const std::vector< double > &b_perf, const std::vector< double > &rsmax_perf, const std::vector< double > &rvmax_perf, const std::vector< double > &surf_dens_perf)
void computeAccumWell ()
void computeWellConnectionPressures (const Simulator &ebosSimulator, const WellState &xw)
void computePerfRate (const IntensiveQuantities &intQuants, const std::vector< EvalWell > &mob_perfcells_dense, const double Tw, const EvalWell &bhp, const double &cdp, const bool &allow_cf, std::vector< EvalWell > &cq_s) const
void computeWellRatesWithBhp (const Simulator &ebosSimulator, const EvalWell &bhp, std::vector< double > &well_flux) const
std::vector< double > computeWellPotentialWithTHP (const Simulator &ebosSimulator, const double initial_bhp, const std::vector< double > &initial_potential) const
template<class ValueType >
ValueType calculateBhpFromThp (const std::vector< ValueType > &rates, const int control_index) const
double calculateThpFromBhp (const std::vector< double > &rates, const int control_index, const double bhp) const
void getMobility (const Simulator &ebosSimulator, const int perf, std::vector< EvalWell > &mob) const
double scalingFactor (const int comp_idx) const

Protected Attributes

std::vector< double > perf_densities_
std::vector< double > perf_pressure_diffs_
BVectorWell resWell_
OffDiagMatWell duneB_
OffDiagMatWell duneC_
DiagMatWell invDuneD_
BVectorWell Bx_
BVectorWell invDrw_
std::vector< double > primary_variables_
std::vector< EvalWell > primary_variables_evaluation_
std::vector< double > F0_

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


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

Generated on 26 Mar 2018 by  doxygen 1.6.1