12#ifndef DUMUX_ZEROEQ_VOLUME_VARIABLES_HH
13#define DUMUX_ZEROEQ_VOLUME_VARIABLES_HH
17#include <dune/common/exceptions.hh>
26template <
class Traits,
class NSVolumeVariables>
32 using Scalar =
typename Traits::PrimaryVariables::value_type;
36 using Indices =
typename Traits::ModelTraits::Indices;
47 template<
class ElementSolution,
class Problem,
class Element,
class SubControlVolume>
48 void update(
const ElementSolution &elemSol,
49 const Problem &problem,
50 const Element &element,
51 const SubControlVolume& scv)
65 template<
class ElementSolution,
class Problem,
class Element,
class SubControlVolume>
67 const Problem &problem,
68 const Element &element,
69 const SubControlVolume& scv)
88 template<
class ElementSolution,
class Problem,
class Element,
class SubControlVolume>
90 const Problem &problem,
91 const Element &element,
92 const SubControlVolume& scv,
93 const std::string modelName)
103 if (modelName.compare(
"none") == 0)
107 else if (modelName.compare(
"prandtl") == 0)
112 else if (modelName.compare(
"vanDriest") == 0)
119 else if (modelName.compare(
"baldwinLomax") == 0)
125 DUNE_THROW(Dune::NotImplemented,
126 "The eddy viscosity model \"" << modelName <<
"\" is not implemented.");
Volume variables for the isothermal single-phase Reynolds-Averaged Navier-Stokes models.
Definition: freeflow/rans/volumevariables.hh:30
void calculateEddyThermalConductivity(const Problem &problem)
Calculates the eddy thermal conductivity based on the kinematic eddy viscosity and the turbulent Pra...
Definition: freeflow/rans/volumevariables.hh:209
Scalar wallDistance() const
Return the wall distance of the control volume.
Definition: freeflow/rans/volumevariables.hh:138
void updateNavierStokesVolVars(const ElementSolution &elemSol, const Problem &problem, const Element &element, const SubControlVolume &scv)
Update all quantities for a given control volume.
Definition: freeflow/rans/volumevariables.hh:53
Scalar uStar() const
Return the wall friction velocity .
Definition: freeflow/rans/volumevariables.hh:150
Scalar setDynamicEddyViscosity_(Scalar value)
Sets the dynamic eddy viscosity .
Definition: freeflow/rans/volumevariables.hh:254
Scalar kinematicViscosity() const
Return the kinematic viscosity of the fluid within the control volume.
Definition: freeflow/rans/volumevariables.hh:190
void updateRANSProperties(const ElementSolution &elemSol, const Problem &problem, const Element &element, const SubControlVolume &scv)
Update all turbulent quantities for a given control volume.
Definition: freeflow/rans/volumevariables.hh:73
void calculateEddyDiffusivity(const Problem &problem)
Calculates the eddy diffusivity based on the kinematic eddy viscosity and the turbulent Schmidt numb...
Definition: freeflow/rans/volumevariables.hh:198
Scalar kinematicEddyViscosity() const
Return the kinematic eddy viscosity of the flow within the control volume.
Definition: freeflow/rans/volumevariables.hh:183
unsigned int elementIdx() const
Return the element Idx of the control volume.
Definition: freeflow/rans/volumevariables.hh:108
DimMatrix velocityGradients() const
Return the velocity gradients at the control volume center.
Definition: freeflow/rans/volumevariables.hh:132
Volume variables for the single-phase 0-Eq. model.
Definition: freeflow/rans/zeroeq/volumevariables.hh:29
void update(const ElementSolution &elemSol, const Problem &problem, const Element &element, const SubControlVolume &scv)
Update all quantities for a given control volume.
Definition: freeflow/rans/zeroeq/volumevariables.hh:48
Scalar wallDistanceRough() const
Return the wall distance including an additional roughness length.
Definition: freeflow/rans/zeroeq/volumevariables.hh:135
typename Traits::ModelTraits::Indices Indices
export the indices type
Definition: freeflow/rans/zeroeq/volumevariables.hh:36
Scalar yPlusRough() const
Return the dimensionless wall distance including an additional roughness length.
Definition: freeflow/rans/zeroeq/volumevariables.hh:141
Scalar additionalRoughnessLength_
Definition: freeflow/rans/zeroeq/volumevariables.hh:145
void updateRANSProperties(const ElementSolution &elemSol, const Problem &problem, const Element &element, const SubControlVolume &scv)
Update all turbulent quantities for a given control volume.
Definition: freeflow/rans/zeroeq/volumevariables.hh:66
Scalar calculateEddyViscosity(const ElementSolution &elemSol, const Problem &problem, const Element &element, const SubControlVolume &scv, const std::string modelName)
Calculate and set the dynamic eddy viscosity.
Definition: freeflow/rans/zeroeq/volumevariables.hh:89
Scalar yPlusRough_
Definition: freeflow/rans/zeroeq/volumevariables.hh:146
std::string density(int phaseIdx) noexcept
I/O name of density for multiphase systems.
Definition: name.hh:53