Opm::StandardWellAssemble< FluidSystem, Indices > Class Template Reference

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

#include <StandardWellAssemble.hpp>

Public Types

using Scalar = typename FluidSystem::Scalar
 
using PrimaryVariables = StandardWellPrimaryVariables< FluidSystem, Indices >
 
using EvalWell = typename PrimaryVariables::EvalWell
 
using IndexTraits = typename FluidSystem::IndexTraitsType
 
using StandardWellEquationsType = StandardWellEquations< Scalar, IndexTraits, Indices::numEq >
 
using GroupStateHelperType = GroupStateHelper< Scalar, IndexTraits >
 

Public Member Functions

 StandardWellAssemble (const WellInterfaceFluidSystem< FluidSystem > &well)
 Constructor initializes reference to well. More...
 
void assembleControlEq (const GroupStateHelperType &groupStateHelper, const Well::InjectionControls &inj_controls, const Well::ProductionControls &prod_controls, const PrimaryVariables &primary_variables, const Scalar rho, StandardWellEquationsType &eqns, const bool stopped_or_zero_target) const
 Assemble control equation. More...
 
void assembleInjectivityEq (const EvalWell &eq_pskin, const EvalWell &eq_wat_vel, const int pskin_index, const int wat_vel_index, const int cell_idx, const int numWellEq, StandardWellEquationsType &eqns) const
 Assemble injectivity equation. More...
 
void assemblePerforationEq (const EvalWell &cq_s_effective, const int componentIdx, const int reservoirEqIdx, const int cell_idx, const int numWellEq, StandardWellEquationsType &eqns) const
 Assemble equation for a perforation. More...
 
void assembleZFracEq (const EvalWell &cq_s_zfrac_effective, const int cell_idx, const int numWellEq, StandardWellEquationsType &eqns) const
 Assemble equation for Z fraction. More...
 
void assembleSourceEq (const EvalWell &resWell_loc, const int componentIdx, const int numWellEq, StandardWellEquationsType &eqns) const
 Assemble a source term. More...
 

Detailed Description

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

Class handling assemble of the equation system for StandardWell.

Member Typedef Documentation

◆ EvalWell

template<class FluidSystem , class Indices >
using Opm::StandardWellAssemble< FluidSystem, Indices >::EvalWell = typename PrimaryVariables::EvalWell

◆ GroupStateHelperType

template<class FluidSystem , class Indices >
using Opm::StandardWellAssemble< FluidSystem, Indices >::GroupStateHelperType = GroupStateHelper<Scalar, IndexTraits>

◆ IndexTraits

template<class FluidSystem , class Indices >
using Opm::StandardWellAssemble< FluidSystem, Indices >::IndexTraits = typename FluidSystem::IndexTraitsType

◆ PrimaryVariables

template<class FluidSystem , class Indices >
using Opm::StandardWellAssemble< FluidSystem, Indices >::PrimaryVariables = StandardWellPrimaryVariables<FluidSystem,Indices>

◆ Scalar

template<class FluidSystem , class Indices >
using Opm::StandardWellAssemble< FluidSystem, Indices >::Scalar = typename FluidSystem::Scalar

◆ StandardWellEquationsType

template<class FluidSystem , class Indices >
using Opm::StandardWellAssemble< FluidSystem, Indices >::StandardWellEquationsType = StandardWellEquations<Scalar, IndexTraits, Indices::numEq>

Constructor & Destructor Documentation

◆ StandardWellAssemble()

template<class FluidSystem , class Indices >
Opm::StandardWellAssemble< FluidSystem, Indices >::StandardWellAssemble ( const WellInterfaceFluidSystem< FluidSystem > &  well)
inlineexplicit

Constructor initializes reference to well.

Member Function Documentation

◆ assembleControlEq()

template<class FluidSystem , class Indices >
void Opm::StandardWellAssemble< FluidSystem, Indices >::assembleControlEq ( const GroupStateHelperType &  groupStateHelper,
const Well::InjectionControls &  inj_controls,
const Well::ProductionControls &  prod_controls,
const PrimaryVariables &  primary_variables,
const Scalar  rho,
StandardWellEquationsType &  eqns,
const bool  stopped_or_zero_target 
) const

Assemble control equation.

◆ assembleInjectivityEq()

template<class FluidSystem , class Indices >
void Opm::StandardWellAssemble< FluidSystem, Indices >::assembleInjectivityEq ( const EvalWell &  eq_pskin,
const EvalWell &  eq_wat_vel,
const int  pskin_index,
const int  wat_vel_index,
const int  cell_idx,
const int  numWellEq,
StandardWellEquationsType &  eqns 
) const

Assemble injectivity equation.

◆ assemblePerforationEq()

template<class FluidSystem , class Indices >
void Opm::StandardWellAssemble< FluidSystem, Indices >::assemblePerforationEq ( const EvalWell &  cq_s_effective,
const int  componentIdx,
const int  reservoirEqIdx,
const int  cell_idx,
const int  numWellEq,
StandardWellEquationsType &  eqns 
) const

Assemble equation for a perforation.

componentIdx is the index of the well equation, while reservoirEqIdx is the index of the corresponding reservoir equation (for the coupling matrix C). They coincide for the mass conservation equations, but can differ for the energy equation.

◆ assembleSourceEq()

template<class FluidSystem , class Indices >
void Opm::StandardWellAssemble< FluidSystem, Indices >::assembleSourceEq ( const EvalWell &  resWell_loc,
const int  componentIdx,
const int  numWellEq,
StandardWellEquationsType &  eqns 
) const

Assemble a source term.

◆ assembleZFracEq()

template<class FluidSystem , class Indices >
void Opm::StandardWellAssemble< FluidSystem, Indices >::assembleZFracEq ( const EvalWell &  cq_s_zfrac_effective,
const int  cell_idx,
const int  numWellEq,
StandardWellEquationsType &  eqns 
) const

Assemble equation for Z fraction.


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