Class ODEWallModelFvPatchScalarField

Inheritance Relationships

Base Type

Derived Types

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

Source files

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.