My Project
Loading...
Searching...
No Matches
Opm::MultisegmentWellAssemble< FluidSystem, Indices > Class Template Reference

Class handling assemble of the equation system for MultisegmentWell. More...

#include <MultisegmentWellAssemble.hpp>

Public Types

using Scalar = typename FluidSystem::Scalar
 
using Equations = MultisegmentWellEquations< Scalar, numWellEq, Indices::numEq >
 
using PrimaryVariables = MultisegmentWellPrimaryVariables< FluidSystem, Indices >
 
using EvalWell = DenseAd::Evaluation< Scalar, numWellEq+Indices::numEq >
 

Public Member Functions

 MultisegmentWellAssemble (const WellInterfaceIndices< FluidSystem, Indices > &well)
 Constructor initializes reference to well.
 
void assembleControlEq (const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, const Well::InjectionControls &inj_controls, const Well::ProductionControls &prod_controls, const Scalar rho, const PrimaryVariables &primary_variables, Equations &eqns, const bool stopped_or_zero_target, DeferredLogger &deferred_logger) const
 Assemble control equation.
 
void assembleAccelerationTerm (const int seg_target, const int seg, const int seg_upwing, const EvalWell &accelerationTerm, Equations &eqns1) const
 Assemble piece of the acceleration term.
 
void assembleHydroPressureLoss (const int seg, const int seg_density, const EvalWell &hydro_pressure_drop_seg, Equations &eqns1) const
 Assemble hydraulic pressure term.
 
void assemblePressureEqExtraDerivatives (const int seg, const int seg_upwind, const EvalWell &extra_derivatives, Equations &eqns1) const
 Assemble additional derivatives due to reverse flow.
 
void assemblePressureEq (const int seg, const int seg_upwind, const int outlet_segment_index, const EvalWell &pressure_equation, const EvalWell &outlet_pressure, Equations &eqns) const
 Assemble pressure terms.
 
void assembleTrivialEq (const int seg, const Scalar value, Equations &eqns) const
 Assembles a trivial equation.
 
void assembleAccumulationTerm (const int seg, const int comp_idx, const EvalWell &accumulation_term, Equations &eqns1) const
 Assemble accumulation term.
 
void assembleOutflowTerm (const int seg, const int seg_upwind, const int comp_idx, const EvalWell &segment_rate, Equations &eqns1) const
 Assemble outflow term.
 
void assembleInflowTerm (const int seg, const int inlet, const int inlet_upwind, const int comp_idx, const EvalWell &inlet_rate, Equations &eqns) const
 Assemble inflow term.
 
void assemblePerforationEq (const int seg, const int local_perf_index, const int comp_idx, const EvalWell &cq_s_effective, Equations &eqns) const
 Assemble equation for a perforation.
 

Static Public Attributes

static constexpr int numWellEq = Indices::numPhases+1
 

Detailed Description

template<class FluidSystem, class Indices>
class Opm::MultisegmentWellAssemble< FluidSystem, Indices >

Class handling assemble of the equation system for MultisegmentWell.


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