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 integration is performed using an adaptive quadrature.
The friction velocity 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.
Contributors/Copyright: 2016-2026 Timofey Mukha 2017 Saleh Rezaeiravesh
Subclassed by EquilibriumODEWallModelFvPatchScalarField, PGradODEWallModelFvPatchScalarField
Public Functions
-
ODEWallModelFvPatchScalarField(const fvPatch&, const DimensionedField<scalar, volMesh>&)
Construct from patch and internal field.
-
ODEWallModelFvPatchScalarField(const fvPatch&, const DimensionedField<scalar, volMesh>&, const dictionary&)
Construct from patch, internal field and dictionary.
-
ODEWallModelFvPatchScalarField(const ODEWallModelFvPatchScalarField&, const fvPatch&, const DimensionedField<scalar, volMesh>&, const fvPatchFieldMapper&)
Construct by mapping given ODEWallModelFvPatchScalarField.
onto a new patch
-
ODEWallModelFvPatchScalarField(const ODEWallModelFvPatchScalarField&)
Construct as copy.
-
ODEWallModelFvPatchScalarField(const ODEWallModelFvPatchScalarField&, const DimensionedField<scalar, volMesh>&)
Construct as copy setting internal field reference.
-
virtual void write(Ostream &os) const
Write.
-
virtual void updateCoeffs()
Update the boundary values.
-
inline scalar eps() const
Return the error tolerance.
-
inline scalar maxIter() const
Return the max number of coupling iterations.
-
inline SingleCellSampler &sampler()
-
inline const SingleCellSampler &sampler() const
Protected Functions
-
virtual void writeLocalEntries(Ostream&) const
Write model properties to stream.
-
virtual tmp<scalarField> calcNut() const
Calculate the turbulence viscosity at the wall.
-
virtual tmp<scalarField> calcUTau(const scalarField &magGradU) const
Calculate the friction velocity.
-
virtual void source(vectorField&) const = 0
Source term defining the type of ODE model.
Protected Attributes
-
autoPtr<EddyViscosity> eddyViscosity_
Pointer to an eddy viscosity model.
-
autoPtr<SingleCellSampler> sampler_
The sampler.
-
label maxIter_
Maximum amount of iterations for coupling between uTau and nut.
-
scalar eps_
Error for exiting the uTau and nut coupling loop.