12#ifndef DUMUX_IO_VELOCITYOUTPUT_HH
13#define DUMUX_IO_VELOCITYOUTPUT_HH
17#include <dune/common/fvector.hh>
18#include <dumux/common/concepts/variables_.hh>
26template<
class Gr
idVariables>
29template<Concept::FVGr
idVariables Gr
idVariables>
32 using Scalar =
typename GridVariables::Scalar;
33 using GridGeometry =
typename GridVariables::GridGeometry;
34 static constexpr int dimWorld = GridGeometry::GridView::dimensionworld;
35 using ElementVolumeVariables =
typename GridVariables::GridVolumeVariables::LocalView;
36 using ElementFluxVarsCache =
typename GridVariables::GridFluxVariablesCache::LocalView;
37 using FVElementGeometry =
typename GridGeometry::LocalView;
38 using Element =
typename GridGeometry::GridView::template Codim<0>::Entity;
63 virtual std::string
phaseName(
int phaseIdx)
const {
return "none"; }
74 const Element& element,
75 const FVElementGeometry& fvGeometry,
76 const ElementVolumeVariables& elemVolVars,
77 const ElementFluxVarsCache& elemFluxVarsCache,
82template<Concept::Gr
idVariables Gr
idVariables>
83class VelocityOutput<GridVariables>
85 using Scalar =
typename GridVariables::Scalar;
86 using GridDiscretization =
typename GridVariables::GridDiscretization;
87 static constexpr int dimWorld = GridDiscretization::GridView::dimensionworld;
88 using GridVariablesCache =
typename GridVariables::GridVariablesCache;
89 using ElementVariables =
typename GridVariablesCache::LocalView;
90 using ElementDiscretization =
typename GridDiscretization::LocalView;
91 using Element =
typename GridDiscretization::GridView::template Codim<0>::Entity;
107 virtual std::string
phaseName(
int phaseIdx)
const {
return "none"; }
114 const Element& element,
115 const ElementDiscretization& elemDisc,
116 const ElementVariables& elemVars,
virtual FieldType fieldType() const
returns the field type
Definition io/velocityoutput.hh:66
FieldType
A container for possible velocity data types.
Definition io/velocityoutput.hh:47
@ automatic
Definition io/velocityoutput.hh:48
virtual std::string phaseName(int phaseIdx) const
returns the phase name of a given phase index
Definition io/velocityoutput.hh:63
VelocityOutput()=default
Default constructor.
virtual bool enableOutput() const
returns whether or not velocity output is enabled
Definition io/velocityoutput.hh:60
virtual int numFluidPhases() const
returns the number of phases
Definition io/velocityoutput.hh:69
virtual void calculateVelocity(VelocityVector &velocity, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVarsCache &elemFluxVarsCache, int phaseIdx) const
Definition io/velocityoutput.hh:73
virtual ~VelocityOutput()
virtual destructor
Definition io/velocityoutput.hh:57
virtual void calculateVelocity(VelocityVector &velocity, const Element &element, const ElementDiscretization &elemDisc, const ElementVariables &elemVars, int phaseIdx) const
Definition io/velocityoutput.hh:113
std::vector< Dune::FieldVector< Scalar, dimWorld > > VelocityVector
Definition io/velocityoutput.hh:41
Velocity output for implicit (porous media) models.
Definition io/velocityoutput.hh:27
@ automatic
Definition diffmethod.hh:26