Classes | |
struct | ConvergenceReport |
a struct to collect information about the convergence checking More... | |
Public Types | |
using | WellState = WellStateFullyImplicitBlackoil |
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 ¶m) | |
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 |
Protected Types | |
using | RatioCheckTuple = std::tuple< bool, bool, int, double > |
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 ModelParameters & | param_ |
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 VFPProperties * | vfp_properties_ |
double | gravity_ |
Static Protected Attributes | |
static const int | INVALIDCONNECTION = -100000 |