Opm::BlackoilWellModel< TypeTag > Class Template Reference

Class for handling the blackoil well model. More...

#include <BlackoilWellModel.hpp>

List of all members.

Public Types

typedef
WellStateFullyImplicitBlackoil 
WellState
typedef BlackoilModelParameters ModelParameters
typedef Dune::FieldVector
< Scalar, numEq > 
VectorBlockType
typedef Dune::BlockVector
< VectorBlockType > 
BVector
typedef
Ewoms::BlackOilPolymerModule
< TypeTag > 
PolymerModule
typedef FluidSystems::BlackOil
< double > 
FluidSystem

Public Member Functions

typedef GET_PROP_TYPE (TypeTag, Grid) Grid
typedef GET_PROP_TYPE (TypeTag, FluidSystem) FluidSystem
typedef GET_PROP_TYPE (TypeTag, ElementContext) ElementContext
typedef GET_PROP_TYPE (TypeTag, Indices) BlackoilIndices
typedef GET_PROP_TYPE (TypeTag, Simulator) Simulator
typedef GET_PROP_TYPE (TypeTag, Scalar) Scalar
 BlackoilWellModel (const Wells *wells_arg, WellCollection *well_collection, const std::vector< const Well * > &wells_ecl, const ModelParameters &param, const RateConverterType &rate_converter, const bool terminal_output, const int current_index, const std::vector< int > &pvt_region_idx)
void init (const PhaseUsage phase_usage_arg, const std::vector< bool > &active_arg, const double gravity_arg, const std::vector< double > &depth_arg, long int global_nc, const Grid &grid)
void setVFPProperties (const VFPProperties *vfp_properties_arg)
SimulatorReport assemble (Simulator &ebosSimulator, const int iterationIdx, const double dt, WellState &well_state)
void apply (BVector &r) const
void apply (const BVector &x, BVector &Ax) const
void applyScaleAdd (const Scalar alpha, const BVector &x, BVector &Ax) const
void recoverWellSolutionAndUpdateWellState (const BVector &x, WellState &well_state) const
int numWells () const
bool wellsActive () const
 return true if wells are available in the reservoir
void setWellsActive (const bool wells_active)
bool localWellsActive () const
 return true if wells are available on this process
bool getWellConvergence (const Simulator &ebosSimulator, const std::vector< Scalar > &B_avg) const
void updateListEconLimited (const Schedule &schedule, const int current_step, const Wells *wells_struct, const WellState &well_state, DynamicListEconLimited &list_econ_limited) const
 upate the dynamic lists related to economic limits
WellCollection * wellCollection () const

Static Public Attributes

static const int numEq = BlackoilIndices::numEq
static const int solventSaturationIdx = BlackoilIndices::solventSaturationIdx

Protected Member Functions

void updateWellControls (WellState &xw) const
void updateGroupControls (WellState &well_state) const
void updatePrimaryVariables (const WellState &well_state) const
void setupCompressedToCartesian (const int *global_cell, int number_of_cells, std::map< int, int > &cartesian_to_compressed) const
void computeRepRadiusPerfLength (const Grid &grid)
void computeAverageFormationFactor (const Simulator &ebosSimulator, std::vector< double > &B_avg) const
void applyVREPGroupControl (WellState &well_state) const
void computeWellVoidageRates (const WellState &well_state, std::vector< double > &well_voidage_rates, std::vector< double > &voidage_conversion_coeffs) const
void computeWellPotentials (const Simulator &ebosSimulator, const WellState &well_state, std::vector< double > &well_potentials) const
const std::vector< double > & wellPerfEfficiencyFactors () const
void calculateEfficiencyFactors ()
void calculateExplicitQuantities (const Simulator &ebosSimulator, const WellState &xw) const
 Calculating the explict quantities used in the well calculation.
SimulatorReport solveWellEq (Simulator &ebosSimulator, const double dt, WellState &well_state) const
void initPrimaryVariablesEvaluation () const
int numComponents () const
int numPhases () const
int flowPhaseToEbosPhaseIdx (const int phaseIdx) const
void resetWellControlFromState (const WellState &xw) const
void assembleWellEq (Simulator &ebosSimulator, const double dt, WellState &well_state, bool only_wells) const
void prepareTimeStep (const Simulator &ebos_simulator, WellState &well_state) const
void prepareGroupControl (const Simulator &ebos_simulator, WellState &well_state) const

Static Protected Member Functions

static std::vector
< WellInterfacePtr > 
createWellContainer (const Wells *wells, const std::vector< const Well * > &wells_ecl, const bool use_multisegment_well, const int time_step, const ModelParameters &param)

Protected Attributes

bool wells_active_
const Wells * wells_
const std::vector< const Well * > wells_ecl_
const int number_of_wells_
const int number_of_phases_
const ModelParametersparam_
std::vector< WellInterfacePtr > well_container_
WellCollection * well_collection_
bool terminal_output_
bool has_solvent_
bool has_polymer_
int current_timeIdx_
PhaseUsage phase_usage_
std::vector< bool > active_
const RateConverterType & rate_converter_
const std::vector< int > & pvt_region_idx_
int number_of_cells_
long int global_nc_
BVector scaleAddRes_

Detailed Description

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

Class for handling the blackoil well model.


Member Function Documentation

template<typename TypeTag >
void Opm::BlackoilWellModel< TypeTag >::calculateExplicitQuantities ( const Simulator &  ebosSimulator,
const WellState xw 
) const [inline, protected]

Calculating the explict quantities used in the well calculation.

By explicit, we mean they are cacluated at the beginning of the time step and no derivatives are included in these quantities


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

Generated on 26 Mar 2018 by  doxygen 1.6.1