12#ifndef DUMUX_DISCRETIZATION_FLUXVARIABLESBASE_HH
13#define DUMUX_DISCRETIZATION_FLUXVARIABLESBASE_HH
28template<
class Problem,
29 class FVElementGeometry,
30 class ElementVolumeVariables,
31 class ElementFluxVariablesCache>
34 using GridView =
typename FVElementGeometry::GridGeometry::GridView;
35 using Element =
typename GridView::template Codim<0>::Entity;
36 using Stencil = std::vector<std::size_t>;
37 using SubControlVolumeFace =
typename FVElementGeometry::SubControlVolumeFace;
46 const SubControlVolumeFace &
scvFace,
58 {
return *problemPtr_; }
61 {
return *elementPtr_; }
63 const SubControlVolumeFace&
scvFace()
const
64 {
return *scvFacePtr_; }
67 {
return *fvGeometryPtr_; }
70 {
return *elemVolVarsPtr_; }
73 {
return *elemFluxVarsCachePtr_; }
76 const Problem* problemPtr_;
77 const Element* elementPtr_;
78 const FVElementGeometry* fvGeometryPtr_;
79 const SubControlVolumeFace* scvFacePtr_;
80 const ElementVolumeVariables* elemVolVarsPtr_;
81 const ElementFluxVariablesCache* elemFluxVarsCachePtr_;
Base class for the flux variables living on a sub control volume face.
Definition: fluxvariablesbase.hh:33
const ElementVolumeVariables & elemVolVars() const
Definition: fluxvariablesbase.hh:69
const SubControlVolumeFace & scvFace() const
Definition: fluxvariablesbase.hh:63
const ElementFluxVariablesCache & elemFluxVarsCache() const
Definition: fluxvariablesbase.hh:72
void init(const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvFace, const ElementFluxVariablesCache &elemFluxVarsCache)
Initialize the flux variables storing some temporary pointers.
Definition: fluxvariablesbase.hh:42
const FVElementGeometry & fvGeometry() const
Definition: fluxvariablesbase.hh:66
const Element & element() const
Definition: fluxvariablesbase.hh:60
const Problem & problem() const
Definition: fluxvariablesbase.hh:57