My Project
Loading...
Searching...
No Matches
Opm::MultisegmentWellEval< FluidSystem, Indices > Class Template Reference
Inheritance diagram for Opm::MultisegmentWellEval< FluidSystem, Indices >:
Opm::MultisegmentWellGeneric< FluidSystem::Scalar >

Public Member Functions

const EquationslinSys () const
 Returns a const reference to equation system.
 
- Public Member Functions inherited from Opm::MultisegmentWellGeneric< FluidSystem::Scalar >
const WellSegments & segmentSet () const
 
int segmentNumberToIndex (const int segment_number) const
 
int numberOfSegments () const
 number of segments for this well
 

Protected Types

using Scalar = typename FluidSystem::Scalar
 
using PrimaryVariables = MultisegmentWellPrimaryVariables< FluidSystem, Indices >
 
using Equations = MultisegmentWellEquations< Scalar, numWellEq, Indices::numEq >
 
using MSWSegments = MultisegmentWellSegments< FluidSystem, Indices >
 
using BVector = typename Equations::BVector
 
using BVectorWell = typename Equations::BVectorWell
 
using EvalWell = typename PrimaryVariables::EvalWell
 
using Eval = DenseAd::Evaluation< Scalar, Indices::numEq >
 

Protected Member Functions

 MultisegmentWellEval (WellInterfaceIndices< FluidSystem, Indices > &baseif)
 
void initMatrixAndVectors ()
 
void assembleDefaultPressureEq (const int seg, WellState< Scalar > &well_state, const bool use_average_density)
 
void assembleICDPressureEq (const int seg, const UnitSystem &unit_system, WellState< Scalar > &well_state, const SummaryState &summary_state, const bool use_average_density, DeferredLogger &deferred_logger)
 
void assembleAccelerationAndHydroPressureLosses (const int seg, WellState< Scalar > &well_state, const bool use_average_density)
 
void assemblePressureEq (const int seg, const UnitSystem &unit_system, WellState< Scalar > &well_state, const SummaryState &summary_state, const bool use_average_density, DeferredLogger &deferred_logger)
 
ConvergenceReport getWellConvergence (const WellState< Scalar > &well_state, const std::vector< Scalar > &B_avg, DeferredLogger &deferred_logger, const Scalar max_residual_allowed, const Scalar tolerance_wells, const Scalar relaxed_inner_tolerance_flow_ms_well, const Scalar tolerance_pressure_ms_wells, const Scalar relaxed_inner_tolerance_pressure_ms_well, const bool relax_tolerance, const bool well_is_stopped) const
 check whether the well equations get converged for this well
 
std::pair< bool, std::vector< Scalar > > getFiniteWellResiduals (const std::vector< Scalar > &B_avg, DeferredLogger &deferred_logger) const
 
Scalar getControlTolerance (const WellState< Scalar > &well_state, const Scalar tolerance_wells, const Scalar tolerance_pressure_ms_wells, DeferredLogger &deferred_logger) const
 
Scalar getResidualMeasureValue (const WellState< Scalar > &well_state, const std::vector< Scalar > &residuals, const Scalar tolerance_wells, const Scalar tolerance_pressure_ms_wells, DeferredLogger &deferred_logger) const
 
void assembleAccelerationPressureLoss (const int seg, WellState< Scalar > &well_state)
 
EvalWell pressureDropAutoICD (const int seg, const UnitSystem &unit_system) const
 
EvalWell extendEval (const Eval &in) const
 
- Protected Member Functions inherited from Opm::MultisegmentWellGeneric< FluidSystem::Scalar >
 MultisegmentWellGeneric (WellInterfaceGeneric< FluidSystem::Scalar > &baseif)
 
void scaleSegmentRatesWithWellRates (const std::vector< std::vector< int > > &segment_inlets, const std::vector< std::vector< int > > &segment_perforations, WellState< FluidSystem::Scalar > &well_state) const
 
void scaleSegmentPressuresWithBhp (WellState< FluidSystem::Scalar > &well_state) const
 
WellSegmentCompPressureDrop compPressureDrop () const
 
void detectOscillations (const std::vector< FluidSystem::Scalar > &measure_history, bool &oscillate, bool &stagnate) const
 Detect oscillation or stagnation based on the residual measure history.
 
bool accelerationalPressureLossConsidered () const
 
bool frictionalPressureLossConsidered () const
 
FluidSystem::Scalar getSegmentDp (const int seg, const FluidSystem::Scalar density, const std::vector< FluidSystem::Scalar > &seg_dp) const
 

Protected Attributes

const WellInterfaceIndices< FluidSystem, Indices > & baseif_
 
Equations linSys_
 The equation system.
 
PrimaryVariables primary_variables_
 The primary variables.
 
MSWSegments segments_
 Segment properties.
 
std::vector< Scalar > cell_perforation_depth_diffs_
 
std::vector< Scalar > cell_perforation_pressure_diffs_
 
- Protected Attributes inherited from Opm::MultisegmentWellGeneric< FluidSystem::Scalar >
const WellInterfaceGeneric< FluidSystem::Scalar > & baseif_
 

Static Protected Attributes

static constexpr int numWellEq = PrimaryVariables::numWellEq
 
static constexpr int SPres = PrimaryVariables::SPres
 
static constexpr int WQTotal = PrimaryVariables::WQTotal
 

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