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
Definition: baseauxiliarymodule.hh:37
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.
Scalar extrusionFactor() const
Return how much a given sub-control volume is extruded.
Definition: fvbaseintensivequantities.hh:82
void checkDefined() const
If running in valgrind this makes sure that all quantities in the intensive quantities are defined...
Definition: fvbaseintensivequantities.hh:89