Loading...
Searching...
No Matches
Opm::StandardWellPrimaryVariables< FluidSystem, Indices > Class Template Reference

Class holding primary variables for StandardWell. More...

`#include <StandardWellPrimaryVariables.hpp>`

## Public Types

using | Scalar = typename FluidSystem::Scalar
using | IndexTraits = typename FluidSystem::IndexTraitsType
using | EvalWell = DenseAd::DynamicEvaluation<Scalar, numStaticWellEq + Indices::numEq + 1>
| Evaluation for the well equations.
using | BVectorWell = typename StandardWellEquations<Scalar, IndexTraits, Indices::numEq>::BVectorWell

## Public Member Functions

| StandardWellPrimaryVariables (const WellInterfaceIndices< FluidSystem, Indices > &well)
| Constructor initializes reference to well interface.
void | resize (const int numWellEq)
| Resize values and evaluations.
int | numWellEq () const
| Returns number of well equations.
void | update (const WellState< Scalar, IndexTraits > &well_state, const bool stop_or_zero_rate_target, DeferredLogger &deferred_logger)
| Copy values from well state.
void | updatePolyMW (const WellState< Scalar, IndexTraits > &well_state)
| Copy polymer molecular weigt values from well state.
void | updateNewton (const BVectorWell &dwells, const bool stop_or_zero_rate_target, const Scalar dFLimit, const Scalar dBHPLimit, DeferredLogger &deferred_logger)
| Update values from newton update vector.
void | updateNewtonPolyMW (const BVectorWell &dwells)
| Update polymer molecular weight values from newton update vector.
void | checkFinite (DeferredLogger &deferred_logger) const
| Check that all values are finite.
void | copyToWellState (WellState< Scalar, IndexTraits > &well_state, DeferredLogger &deferred_logger) const
| Copy values to well state.
void | copyToWellStatePolyMW (WellState< Scalar, IndexTraits > &well_state) const
| Copy polymer molecular weight values to well state.
EvalWell | volumeFractionScaled (const int compIdx) const
| Returns scaled volume fraction for a component.
EvalWell | surfaceVolumeFraction (const int compIdx) const
| Returns surface volume fraction for a component.
EvalWell | getQs (const int compIdx) const
| Returns scaled rate for a component.
Scalar | value (const int idx) const
| Returns a value.
const EvalWell & | eval (const int idx) const
| Returns a const ref to an evaluation.
void | setValue (const int idx, const Scalar val)
| Set a value. Note that this does not also set the corresponding evaluation.

## Static Public Attributes

static constexpr int | numWellConservationEq = Indices::numPhases + Indices::numSolvents
| Number of the conservation equations.
static constexpr int | numStaticWellEq = numWellConservationEq + numWellControlEq
| Number of the well equations that will always be used.
static constexpr int | WQTotal = 0
| The index for the weighted total rate.
static constexpr int | Bhp = numStaticWellEq - numWellControlEq
| The index for Bhp in primary variables and the index of well control equation.
static constexpr bool | has_wfrac_variable = Indices::waterEnabled && Indices::oilEnabled
static constexpr bool | has_gfrac_variable = Indices::gasEnabled && Indices::numPhases > 1
static constexpr int | WFrac = has_wfrac_variable ? 1 : -1000
static constexpr int | GFrac = has_gfrac_variable ? has_wfrac_variable + 1 : -1000
static constexpr int | SFrac = !Indices::enableSolvent ? -1000 : has_wfrac_variable+has_gfrac_variable+1

## Static Protected Attributes

static constexpr int | numWellControlEq = 1
| Number of the well control equations.

## Detailed Description

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

Class holding primary variables for StandardWell.

## Member Data Documentation

## Bhp

template<class FluidSystem, class Indices>

int Opm::StandardWellPrimaryVariables< FluidSystem, Indices >::Bhp = numStaticWellEq - numWellControlEq

static constexpr

The index for Bhp in primary variables and the index of well control equation.

They both will be the last one in their respective system.

Todo
  : We should have indices for the well equations and well primary variables separately.

## numStaticWellEq

template<class FluidSystem, class Indices>

int Opm::StandardWellPrimaryVariables< FluidSystem, Indices >::numStaticWellEq = numWellConservationEq + numWellControlEq

static constexpr

Number of the well equations that will always be used.

Based on the solution strategy, there might be other well equations be introduced.

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

- opm/simulators/wells/StandardWellAssemble.hpp
- opm/simulators/wells/StandardWellPrimaryVariables.hpp
- opm/simulators/wells/StandardWellPrimaryVariables.cpp