My Project
|
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 |
Class handling assemble of the equation system for MultisegmentWell.