opm-simulators
Opm::CompWellInterface< TypeTag > Class Template Referenceabstract
Inheritance diagram for Opm::CompWellInterface< TypeTag >:
Opm::CompWell< TypeTag >

Public Types

using Scalar = GetPropType< TypeTag, Properties::Scalar >
 
using Simulator = GetPropType< TypeTag, Properties::Simulator >
 
using Indices = GetPropType< TypeTag, Properties::Indices >
 
using FluidSystem = GetPropType< TypeTag, Properties::FluidSystem >
 
using SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter >
 
using RateVector = GetPropType< TypeTag, Properties::RateVector >
 
using VectorBlockType = Dune::FieldVector< Scalar, Indices::numEq >
 
using BVector = Dune::BlockVector< VectorBlockType >
 
using CompConnectionData = PerforationData< Scalar >
 
using SingleWellState = SingleCompWellState< FluidSystem >
 

Public Member Functions

 CompWellInterface (const Well &well, const int index_of_well, const std::vector< CompConnectionData > &well_connection_data)
 
virtual void init ()
 
const std::string & name () const
 
virtual void calculateExplicitQuantities (const Simulator &simulator, const SingleWellState &well_state)=0
 
virtual void updatePrimaryVariables (const Simulator &simulator, const SingleWellState &well_state)=0
 
virtual bool iterateWellEq (const Simulator &simulator, const Scalar dt, SingleWellState &well_state)=0
 
void addCellRates (RateVector &rates, unsigned cellIdx) const
 
const std::vector< std::size_t > & cells () const
 
virtual void apply (BVector &r) const =0
 
virtual void recoverWellSolutionAndUpdateWellState (const BVector &x, SingleWellState &well_state)=0
 using the solution x to recover the solution xw for wells and applying xw to update Well State
 
virtual bool getConvergence () const =0
 
virtual void addWellContributions (SparseMatrixAdapter &) const =0
 

Protected Attributes

const Well & well_ecl_
 
int index_of_well_ {-1}
 
int number_of_connection_ {}
 
Scalar reference_depth_ {}
 
std::vector< RateVector > connectionRates_
 
std::vector< std::size_t > well_cells_
 
std::vector< Scalar > well_index_
 
std::vector< int > saturation_table_number_
 

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