28 #ifndef EWOMS_FV_BASE_INTENSIVE_QUANTITIES_HH
29 #define EWOMS_FV_BASE_INTENSIVE_QUANTITIES_HH
33 #include <opm/common/Valgrind.hpp>
34 #include <opm/common/Unused.hpp>
44 template <
class TypeTag>
47 typedef typename GET_PROP_TYPE(TypeTag, IntensiveQuantities) Implementation;
48 typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
49 typedef typename GET_PROP_TYPE(TypeTag, ElementContext) ElementContext;
68 void update(
const ElementContext& elemCtx,
71 { extrusionFactor_ = elemCtx.problem().extrusionFactor(elemCtx, dofIdx, timeIdx); }
83 {
return extrusionFactor_; }
93 const Implementation& asImp_()
const
94 {
return *
static_cast<const Implementation*
>(
this); }
95 Implementation& asImp_()
96 {
return *
static_cast<Implementation*
>(
this); }
98 Scalar extrusionFactor_;
static void registerParameters()
Register all run-time parameters for the intensive quantities.
Definition: fvbaseintensivequantities.hh:62
void update(const ElementContext &elemCtx, unsigned dofIdx, unsigned timeIdx)
Update all quantities for a given control volume.
Definition: fvbaseintensivequantities.hh:68
Base class for the model specific class which provides access to all intensive (i.e., volume averaged) quantities.
Definition: fvbaseintensivequantities.hh:45
Declare the properties used by the infrastructure code of the finite volume discretizations.
void checkDefined() const
If running in valgrind this makes sure that all quantities in the intensive quantities are defined...
Definition: fvbaseintensivequantities.hh:89
Scalar extrusionFactor() const
Return how much a given sub-control volume is extruded.
Definition: fvbaseintensivequantities.hh:82