My Project
|
Class holding primary variables for StandardWell. More...
#include <StandardWellPrimaryVariables.hpp>
Public Types | |
using | Scalar = typename FluidSystem::Scalar |
using | EvalWell = DenseAd::DynamicEvaluation< Scalar, numStaticWellEq+Indices::numEq+1 > |
Evaluation for the well equations. | |
using | BVectorWell = typename StandardWellEquations< Scalar, Indices::numEq >::BVectorWell |
Public Member Functions | |
StandardWellPrimaryVariables (const WellInterfaceIndices< FluidSystem, Indices > &well) | |
Constructor initializes reference to well interface. | |
void | init () |
Initialize evaluations from values. | |
void | resize (const int numWellEq) |
Resize values and evaluations. | |
int | numWellEq () const |
Returns number of well equations. | |
void | update (const WellState< Scalar > &well_state, const bool stop_or_zero_rate_target, DeferredLogger &deferred_logger) |
Copy values from well state. | |
void | updatePolyMW (const WellState< Scalar > &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 > &well_state, DeferredLogger &deferred_logger) const |
Copy values to well state. | |
void | copyToWellStatePolyMW (WellState< Scalar > &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. | |
Class holding primary variables for StandardWell.
|
staticconstexpr |
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.
|
staticconstexpr |
Number of the well equations that will always be used.
Based on the solution strategy, there might be other well equations be introduced.