template<class TypeTag>
class Dumux::RANSProblemBase< TypeTag >
This implements some base functionality for RANS models. Especially vectors containing all wall-relevant properties, which are accessed by the volumevariables.
|
| RANSProblemBase (std::shared_ptr< const GridGeometry > gridGeometry, const std::string ¶mGroup="") |
| The constructor. More...
|
|
void | updateStaticWallProperties () |
| Update the static (solution independent) relations to the walls and neighbors. More...
|
|
template<class SolutionVector > |
void | updateDynamicWallProperties (const SolutionVector &curSol) |
| Update the dynamic (solution dependent) turbulence parameters. More...
|
|
bool | useWallFunction (const Element &element, const SubControlVolumeFace &scvf, const int &eqIdx) const |
| Returns whether a wall function should be used at a given face. More...
|
|
template<class ElementVolumeVariables , class ElementFaceVariables > |
FacePrimaryVariables | wallFunction (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf, const SubControlVolumeFace &lateralBoundaryFace) const |
| Returns an additional wall function momentum flux. More...
|
|
template<class ElementVolumeVariables , class ElementFaceVariables > |
CellCenterPrimaryVariables | wallFunction (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFaceVariables &elemFaceVars, const SubControlVolumeFace &scvf) const |
| Returns an additional wall function flux for cell-centered quantities. More...
|
|
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...
|
|