Class ODEWallModelFvPatchScalarField
Defined in File ODEWallModelFvPatchScalarField.H
Inheritance Relationships
Base Type
public wallModelFvPatchScalarField
(Class wallModelFvPatchScalarField)
Derived Types
public EquilibriumODEWallModelFvPatchScalarField
(Class EquilibriumODEWallModelFvPatchScalarField)public PGradODEWallModelFvPatchScalarField
(Class PGradODEWallModelFvPatchScalarField)
Class Documentation
-
class ODEWallModelFvPatchScalarField : public wallModelFvPatchScalarField
Base abstract class for ODE-based wall models.
All the models are based on the following equation
\[ \frac{\partial}{\partial y} \left[ (\nu + \nu_t)\frac{\partial U_i}{\partial y}\right] = F_i, \]where i corresponds to the two wall-parallel coordinates. If the source term F is not dependent on y this can be integrated to give
\[ \tau_{w,i} = \left( U_i|_h - F_i \int^h_0 \frac{y}{\nu + \nu_t}dy \right) \bigg / \int^h_0 \frac{dy}{\nu + \nu_t} \]The magnitude of the wall shear stress can then be expressed through the magnitude of the the wall-parallel component of velocity and the source term. Note that no ODE is actually being solved, only numerical integration.
All ODE wall models require an eddy viscosity model. All share the following parameters
maxIter, the amount of iterations in the coupling loop between the wall shear stress and the eddy viscosity values.
eps, the relative error tolerance for the convergence of the wall shear stress.
nMeshY, the amount of nodes in the 1D grid discretising the distance between 0 and h.
Contributors/Copyright: 2016-2019 Timofey Mukha 2017 Saleh Rezaeiravesh
Subclassed by EquilibriumODEWallModelFvPatchScalarField, PGradODEWallModelFvPatchScalarField
Public Functions
-
ODEWallModelFvPatchScalarField(const fvPatch&, const DimensionedField<scalar, volMesh>&)
-
ODEWallModelFvPatchScalarField(const fvPatch&, const DimensionedField<scalar, volMesh>&, const dictionary&)
-
ODEWallModelFvPatchScalarField(const ODEWallModelFvPatchScalarField&, const fvPatch&, const DimensionedField<scalar, volMesh>&, const fvPatchFieldMapper&)
-
ODEWallModelFvPatchScalarField(const ODEWallModelFvPatchScalarField&)
-
ODEWallModelFvPatchScalarField(const ODEWallModelFvPatchScalarField&, const DimensionedField<scalar, volMesh>&)
-
virtual void write(Ostream &os) const
-
virtual void updateCoeffs()
-
inline scalar eps() const
-
inline scalar maxIter() const
-
inline scalar nMeshY() const
-
inline SingleCellSampler &sampler()
-
inline const SingleCellSampler &sampler() const
Protected Functions
-
virtual void writeLocalEntries(Ostream&) const
-
virtual tmp<scalarField> calcNut() const
-
virtual tmp<scalarField> calcUTau(const scalarField &magGradU) const
-
void createMeshes()
-
scalar integrate(const scalarList &y, const scalarList &v) const
-
virtual void source(vectorField&) const = 0
Protected Attributes
-
autoPtr<EddyViscosity> eddyViscosity_
-
autoPtr<SingleCellSampler> sampler_
-
scalarListList meshes_
-
label maxIter_
-
scalar eps_
-
label nMeshY_