opm-simulators
Loading...
Searching...
No Matches
Opm::MultisegmentWellEval< FluidSystem, Indices > Class Template Reference
Inheritance diagram for Opm::MultisegmentWellEval< FluidSystem, Indices >:
Opm::MultisegmentWellGeneric< FluidSystem::Scalar, FluidSystem::IndexTraitsType >

Public Member Functions

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

Public Attributes

const ParallelWellInfo< Scalar > & pw_info_

Protected Types

using Scalar = typename FluidSystem::Scalar
using IndexTraits = typename FluidSystem::IndexTraitsType
using PrimaryVariables = MultisegmentWellPrimaryVariables<FluidSystem,Indices>
using Equations = MultisegmentWellEquations<Scalar, IndexTraits, 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, const ParallelWellInfo< Scalar > &pw_info)
void initMatrixAndVectors ()
void assembleDefaultPressureEq (const int seg, WellState< Scalar, IndexTraits > &well_state, const bool use_average_density)
void assembleICDPressureEq (const int seg, const UnitSystem &unit_system, WellState< Scalar, IndexTraits > &well_state, const SummaryState &summary_state, const bool use_average_density, DeferredLogger &deferred_logger)
void assembleAccelerationAndHydroPressureLosses (const int seg, WellState< Scalar, IndexTraits > &well_state, const bool use_average_density)
void assemblePressureEq (const int seg, const UnitSystem &unit_system, WellState< Scalar, IndexTraits > &well_state, const SummaryState &summary_state, const bool use_average_density, DeferredLogger &deferred_logger)
ConvergenceReport getWellConvergence (const WellState< Scalar, IndexTraits > &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, IndexTraits > &well_state, const Scalar tolerance_wells, const Scalar tolerance_pressure_ms_wells, DeferredLogger &deferred_logger) const
Scalar getResidualMeasureValue (const WellState< Scalar, IndexTraits > &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, IndexTraits > &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, FluidSystem::IndexTraitsType >
 MultisegmentWellGeneric (WellInterfaceGeneric< Scalar, FluidSystem::IndexTraitsType > &baseif)
void scaleSegmentRatesWithWellRates (const std::vector< std::vector< int > > &segment_inlets, const std::vector< std::vector< int > > &segment_perforations, WellState< Scalar, FluidSystem::IndexTraitsType > &well_state) const
void scaleSegmentPressuresWithBhp (WellState< Scalar, FluidSystem::IndexTraitsType > &well_state) const
WellSegmentCompPressureDrop compPressureDrop () const
bool update_relaxation_factor (const std::vector< Scalar > &measure_history, Scalar &relaxation_factor, bool &regularize, DeferredLogger &deferred_logger) const
 Detect oscillation or stagnation based on the residual measure history.
bool repeatedStagnation (const std::vector< Scalar > &measure_history, bool &regularize, DeferredLogger &deferred_logger) const
bool accelerationalPressureLossConsidered () const
bool frictionalPressureLossConsidered () const
Scalar getSegmentDp (const int seg, const Scalar density, const std::vector< 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, FluidSystem::IndexTraitsType >
const WellInterfaceGeneric< Scalar, FluidSystem::IndexTraitsType > & 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: