14#ifndef DUMUX_POROUSMEDIUMFLOW_VOLUME_VARIABLES_HH
15#define DUMUX_POROUSMEDIUMFLOW_VOLUME_VARIABLES_HH
29 using Scalar =
typename Traits::PrimaryVariables::value_type;
35 using Indices =
typename Traits::ModelTraits::Indices;
38 static constexpr int numFluidPhases() {
return Traits::ModelTraits::numFluidPhases(); }
51 template<
class ElemSol,
class Problem,
class Element,
class Scv>
53 const Problem& problem,
54 const Element& element,
57 priVars_ = elemSol[scv.localDofIndex()];
58 extrusionFactor_ = problem.spatialParams().extrusionFactor(element, scv, elemSol);
73 {
return priVars_[pvIdx]; }
85 {
return extrusionFactor_; }
89 Scalar extrusionFactor_;
The isothermal base class.
Definition: porousmediumflow/volumevariables.hh:28
static constexpr int numFluidComponents()
Return number of components considered by the model.
Definition: porousmediumflow/volumevariables.hh:40
Scalar priVar(const int pvIdx) const
Returns a component of primary variable vector.
Definition: porousmediumflow/volumevariables.hh:72
Scalar extrusionFactor() const
Returns how much the sub-control volume is extruded.
Definition: porousmediumflow/volumevariables.hh:84
const PrimaryVariables & priVars() const
Returns the vector of primary variables.
Definition: porousmediumflow/volumevariables.hh:64
static constexpr int numFluidPhases()
Return number of phases considered by the model.
Definition: porousmediumflow/volumevariables.hh:38
void update(const ElemSol &elemSol, const Problem &problem, const Element &element, const Scv &scv)
Updates all quantities for a given control volume.
Definition: porousmediumflow/volumevariables.hh:52
typename Traits::PrimaryVariables PrimaryVariables
Export the type used for the primary variables.
Definition: porousmediumflow/volumevariables.hh:33
typename Traits::ModelTraits::Indices Indices
Export the type encapsulating primary variable indices.
Definition: porousmediumflow/volumevariables.hh:35