template<class TypeTag>
class Dumux::RANSProblemImpl< TypeTag, TurbulenceModel::kepsilon >
K-epsilon turbulence problem base class.
This implements some base functionality for k-epsilon models.
|
| RANSProblemImpl (std::shared_ptr< const GridGeometry > gridGeometry, const std::string ¶mGroup="") |
| The constructor sets the gravity, if desired by the user. More...
|
|
void | updateStaticWallProperties () |
| Correct size of the static (solution independent) wall variables. More...
|
|
template<class SolutionVector > |
void | updateDynamicWallProperties (const SolutionVector &curSol) |
| Update the dynamic (solution dependent) relations to the walls. More...
|
|
bool | inNearWallRegion (unsigned int elementIdx) const |
| Returns if an element is located in the near-wall region. More...
|
|
bool | isMatchingPoint (unsigned int elementIdx) const |
| Returns if an element is the matching point. More...
|
|
const Scalar | yPlus (unsigned int elementIdx) const |
| Returns the \( y^+ \) value at an element center. More...
|
|
const Scalar | yPlusNominal (unsigned int elementIdx) const |
| Returns the nominal \( y^+ \) value at an element center. More...
|
|
const Scalar | zeroEqEddyViscosityModel (unsigned int elementIdx) const |
| Returns the kinematic eddy viscosity of a 0-Eq. model. More...
|
|
const Scalar | uStar (unsigned int elementIdx) const |
| Returns the wall shear stress velocity. More...
|
|
const Scalar | uStarNominal (unsigned int elementIdx) const |
| Returns the nominal wall shear stress velocity (accounts for poor approximation of viscous sublayer) More...
|
|
const Scalar | dissipationWallFunction (unsigned int elementIdx) const |
| Returns the dissipation calculated from the wall function consideration. More...
|
|
const Scalar | turbulentKineticEnergyWallFunction (unsigned int elementIdx) const |
| Returns the turbulentKineticEnergy calculated from the wall function consideration. More...
|
|
const Scalar | tangentialMomentumWallFunction (unsigned int elementIdx, Scalar velocity) const |
| Returns the nominal wall shear stress (accounts for poor approximation of viscous sublayer) More...
|
|
bool | useWallFunction (const Element &element, const SubControlVolumeFace &localSubFace, const int &eqIdx) const |
| Checks whether a wall function should be used. More...
|
|
FacePrimaryVariables | wallFunction (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf, const SubControlVolumeFace &localSubFace) const |
| Returns an additional wall function momentum flux (only needed for RANS models) More...
|
|
template<bool eB = enableEnergyBalance, bool compositional = isCompositional, typename std::enable_if_t< eB &&compositional, int > = 0> |
CellCenterPrimaryVariables | wallFunction (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Returns the flux for non-isothermal and compositional RANS models. More...
|
|
template<bool eB = enableEnergyBalance, bool compositional = isCompositional, typename std::enable_if_t<!eB &&compositional, int > = 0> |
CellCenterPrimaryVariables | wallFunction (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Returns the flux for isothermal and compositional RANS models. More...
|
|
template<bool eB = enableEnergyBalance, bool compositional = isCompositional, typename std::enable_if_t< eB &&!compositional, int > = 0> |
CellCenterPrimaryVariables | wallFunction (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Returns the flux for non-isothermal RANS models. More...
|
|
template<bool eB = enableEnergyBalance, bool compositional = isCompositional, typename std::enable_if_t<!eB &&!compositional, int > = 0> |
CellCenterPrimaryVariables | wallFunction (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Returns the flux for isothermal RANS models. More...
|
|
CellCenterPrimaryVariables | wallFunctionComponent (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Returns the component wall-function flux. More...
|
|
CellCenterPrimaryVariables | wallFunctionEnergy (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Returns the energy wall-function flux. More...
|
|
const Scalar | pFunction (Scalar molecularNumber, Scalar turbulentNumber) const |
| Returns the value of the P-function after Jayatilleke [75]. More...
|
|
const Scalar | cMu () const |
| Returns the \( C_{\mu} \) constant. More...
|
|
Scalar | yPlusThreshold () const |
|
bool | useStoredEddyViscosity () const |
|
Scalar | storedDissipation (const int elementIdx) const |
|
Scalar | storedTurbulentKineticEnergy (const int elementIdx) const |
|
Scalar | storedDynamicEddyViscosity (const int elementIdx) const |
|
Scalar | zeroEqDynamicEddyViscosity (const int elementIdx) const |
|
unsigned int | matchingPointIdx (const int elementIdx) const |
|
bool | isFlatWallBounded () const |
| Returns whether a given sub control volume face is on a wall. More...
|
|
const Scalar | karmanConstant () const |
| Returns the Karman constant. More...
|
|
const Scalar | betaOmega () const |
| Returns the \( \beta_{\omega} \) constant. More...
|
|
Scalar | turbulentPrandtlNumber () const |
| Return the turbulent Prandtl number \( [-] \) which is used to convert the eddy viscosity to an eddy thermal conductivity. More...
|
|
Scalar | turbulentSchmidtNumber () const |
| Return the turbulent Schmidt number \( [-] \) which is used to convert the eddy viscosity to an eddy diffusivity. More...
|
|
int | wallNormalAxis (const int elementIdx) const |
|
int | flowDirectionAxis (const int elementIdx) const |
|
unsigned int | wallElementIndex (const int elementIdx) const |
|
Scalar | wallDistance (const int elementIdx) const |
|
GlobalPosition | cellCenter (const int elementIdx) const |
|
unsigned int | neighborIndex (const int elementIdx, const int axisIdx, const int sideIdx) const |
|
DimVector | ccVelocityVector (const int elementIdx) const |
|
Scalar | ccVelocity (const int elementIdx, const int axisIdx) const |
|
DimVector | velocityMaximum (const int elementIdx) const |
|
DimVector | velocityMinimum (const int elementIdx) const |
|
DimMatrix | velocityGradientTensor (const int elementIdx) const |
|
Scalar | velocityGradient (const int elementIdx, const int i, const int j) const |
|
Scalar | stressTensorScalarProduct (const int elementIdx) const |
|
Scalar | vorticityTensorScalarProduct (const int elementIdx) const |
|
Scalar | storedViscosity (const int elementIdx) const |
|
Scalar | storedDensity (const int elementIdx) const |
|
Scalar | kinematicViscosity (const int elementIdx) const |
|
const GravityVector & | gravity () const |
| Returns the acceleration due to gravity. More...
|
|
bool | enableInertiaTerms () const |
| Returns whether interia terms should be considered. More...
|
|
template<class SolutionVector , class G = GridGeometry> |
std::enable_if< G::discMethod==DiscretizationMethods::staggered, void >::type | applyInitialFaceSolution (SolutionVector &sol, const SubControlVolumeFace &scvf, const PrimaryVariables &initSol) const |
| Applies the initial face solution (velocities on the faces). Specialization for staggered grid discretization. More...
|
|
Scalar | pseudo3DWallFriction (const Scalar velocity, const Scalar viscosity, const Scalar height, const Scalar factor=8.0) const |
| An additional drag term can be included as source term for the momentum balance to mimic 3D flow behavior in 2D: More...
|
|
template<class ElementVolumeVariables , class ElementFaceVariables , class G = GridGeometry> |
std::enable_if< G::discMethod==DiscretizationMethods::staggered, Scalar >::type | pseudo3DWallFriction (const SubControlVolumeFace &scvf, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const Scalar height, const Scalar factor=8.0) const |
| Convenience function for staggered grid implementation. More...
|
|
Scalar | permeability (const Element &element, const SubControlVolumeFace &scvf) const |
| Returns the intrinsic permeability of required as input parameter for the Beavers-Joseph-Saffman boundary condition. More...
|
|
Scalar | alphaBJ (const SubControlVolumeFace &scvf) const |
| Returns the alpha value required as input parameter for the Beavers-Joseph-Saffman boundary condition. More...
|
|
Scalar | betaBJ (const Element &element, const SubControlVolumeFace &scvf, const GlobalPosition &tangentialVector) const |
| Returns the beta value which is the alpha value divided by the square root of the (scalar-valued) interface permeability. More...
|
|
VelocityVector | porousMediumVelocity (const Element &element, const SubControlVolumeFace &scvf) const |
| Returns the velocity in the porous medium (which is 0 by default according to Saffmann). More...
|
|
const Scalar | beaversJosephVelocity (const Element &element, const SubControlVolume &scv, const SubControlVolumeFace &ownScvf, const SubControlVolumeFace &faceOnPorousBoundary, const Scalar velocitySelf, const Scalar tangentialVelocityGradient) const |
| Returns the slip velocity at a porous boundary based on the Beavers-Joseph(-Saffman) condition. More...
|
|
bool | isDirichletCell (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolume &scv, int pvIdx) const |
| Returns whether a fixed Dirichlet value shall be used at a given cell. More...
|
|
template<class ElementVolumeVariables , class ElementFaceVariables , class Entity > |
NumEqVector | source (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elementFaceVars, const Entity &e) const |
| Evaluate the source term for all phases within a given sub-control-volume (-face). More...
|
|
NumEqVector | neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Evaluate the boundary conditions for a neumann boundary segment. More...
|
|
template<class Entity > |
PrimaryVariables | initial (const Entity &entity) const |
| Evaluate the initial value for an element (for cell-centered primary variables) or face (for velocities) More...
|
|
template<class SolutionVector > |
void | applyInitialSolution (SolutionVector &sol) const |
| Applies the initial solution for all degrees of freedom of the grid. More...
|
|
template<class SolutionVector > |
void | applyInitialCellCenterSolution (SolutionVector &sol, const SubControlVolume &scv, const PrimaryVariables &initSol) const |
| Applies the initial cell center solution. More...
|
|
const SpatialParams & | spatialParams () const |
| Return a reference to the underlying spatial parameters. More...
|
|
SpatialParams & | spatialParams () |
| Return a reference to the underlying spatial parameters. More...
|
|
const std::string & | name () const |
| The problem name. More...
|
|
void | setName (const std::string &newName) |
| Set the problem name. More...
|
|
|
template<class ElementVolumeVariables > |
NumEqVector | source (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const |
| Evaluate the source term for all phases within a given sub-control-volume. More...
|
|
template<class ElementVolumeVariables , class ElementFluxVariablesCache > |
NumEqVector | neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const |
| Evaluate the boundary conditions for a neumann boundary segment. More...
|
|
auto | boundaryTypes (const Element &element, const SubControlVolume &scv) const |
| Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
|
|
auto | boundaryTypes (const Element &element, const SubControlVolumeFace &scvf) const |
| Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
|
|
BoundaryTypes | boundaryTypesAtPos (const GlobalPosition &globalPos) const |
| Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
|
|
PrimaryVariables | dirichlet (const Element &element, const SubControlVolumeFace &scvf) const |
| Evaluate the boundary conditions for a dirichlet control volume face. More...
|
|
PrimaryVariables | dirichlet (const Element &element, const SubControlVolume &scv) const |
| Evaluate the boundary conditions for a dirichlet control volume. More...
|
|
PrimaryVariables | dirichletAtPos (const GlobalPosition &globalPos) const |
| Evaluate the boundary conditions for a dirichlet control volume. More...
|
|
NumEqVector | neumannAtPos (const GlobalPosition &globalPos) const |
| Evaluate the boundary conditions for a neumann boundary segment. More...
|
|
NumEqVector | sourceAtPos (const GlobalPosition &globalPos) const |
| Evaluate the source term for all phases within a given sub-control-volume. More...
|
|
void | addPointSources (std::vector< PointSource > &pointSources) const |
| Applies a vector of point sources. The point sources are possibly solution dependent. More...
|
|
template<class ElementVolumeVariables > |
void | pointSource (PointSource &source, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const |
| Evaluate the point sources (added by addPointSources) for all phases within a given sub-control-volume. More...
|
|
void | pointSourceAtPos (PointSource &pointSource, const GlobalPosition &globalPos) const |
| Evaluate the point sources (added by addPointSources) for all phases within a given sub-control-volume. More...
|
|
template<class MatrixBlock , class VolumeVariables > |
void | addSourceDerivatives (MatrixBlock &block, const Element &element, const FVElementGeometry &fvGeometry, const VolumeVariables &volVars, const SubControlVolume &scv) const |
| Add source term derivative to the Jacobian. More...
|
|
template<class ElementVolumeVariables > |
NumEqVector | scvPointSources (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const |
| Adds contribution of point sources for a specific sub control volume to the values. Caution: Only overload this method in the implementation if you know what you are doing. More...
|
|
void | computePointSourceMap () |
| Compute the point source map, i.e. which scvs have point source contributions. More...
|
|
const PointSourceMap & | pointSourceMap () const |
| Get the point source map. It stores the point sources per scv. More...
|
|
PrimaryVariables | initialAtPos (const GlobalPosition &globalPos) const |
| Evaluate the initial value for a control volume. More...
|
|
const GridGeometry & | gridGeometry () const |
| The finite volume grid geometry. More...
|
|
const std::string & | paramGroup () const |
| The parameter group in which to retrieve runtime parameters. More...
|
|
static constexpr bool | enableInternalDirichletConstraints () |
| If internal Dirichlet constraints are enabled Enables / disables internal (non-boundary) Dirichlet constraints. If this is overloaded to return true, the assembler calls problem.hasInternalDirichletConstraint(element, scv). This means you have to implement the following member function. More...
|
|