Improved hybrid convection scheme of Travin et al. for hybrid RAS/LES calculations with enhanced Grey Area Mitigation (GAM) behaviour. More...


Public Member Functions | |
| TypeName ("DEShybrid") | |
| Runtime type information. More... | |
| DEShybrid (const fvMesh &mesh, Istream &is) | |
| Construct from mesh and Istream. More... | |
| DEShybrid (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &is) | |
| Construct from mesh, faceFlux and Istream. More... | |
| virtual tmp< surfaceScalarField > | blendingFactor (const GeometricField< Type, fvPatchField, volMesh > &vf) const |
| Return the face-based blending factor. More... | |
| tmp< surfaceScalarField > | weights (const VolFieldType &vf) const |
| Return the interpolation weighting factors. More... | |
| tmp< SurfaceFieldType > | interpolate (const VolFieldType &vf) const |
| Return the face-interpolate of the given cell field with explicit correction. More... | |
| virtual bool | corrected () const |
| Return true if this scheme uses an explicit correction. More... | |
| virtual tmp< SurfaceFieldType > | correction (const VolFieldType &vf) const |
| Return the explicit correction to the face-interpolate for the given field. More... | |
Public Member Functions inherited from surfaceInterpolationScheme< Type > | |
| TypeName ("surfaceInterpolationScheme") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData)) | |
| declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, MeshFlux,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData)) | |
| surfaceInterpolationScheme (const fvMesh &mesh) | |
| Construct from mesh. More... | |
| virtual | ~surfaceInterpolationScheme ()=default |
| Destructor. More... | |
| const fvMesh & | mesh () const |
| Return mesh reference. More... | |
| virtual tmp< surfaceScalarField > | weights (const GeometricField< Type, fvPatchField, volMesh > &) const =0 |
| Return the interpolation weighting factors for the given field. More... | |
| virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | correction (const GeometricField< Type, fvPatchField, volMesh > &) const |
| Return the explicit correction to the face-interpolate. More... | |
| virtual tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > | dotInterpolate (const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf) const |
| Return the face-interpolate of the given cell field. More... | |
| tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > | dotInterpolate (const surfaceVectorField &Sf, const tmp< GeometricField< Type, fvPatchField, volMesh >> &) const |
| Return the face-interpolate of the given tmp cell field. More... | |
| virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &) const |
| Return the face-interpolate of the given cell field. More... | |
| tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh >> &) const |
| Return the face-interpolate of the given tmp cell field. More... | |
Public Member Functions inherited from refCount | |
| constexpr | refCount () noexcept |
| Default construct, initializing count to 0. More... | |
| int | use_count () const noexcept |
| Return the current reference count. More... | |
| bool | unique () const noexcept |
| Return true if the reference count is zero. More... | |
| void | operator++ () noexcept |
| Increment the reference count. More... | |
| void | operator++ (int) noexcept |
| Increment the reference count. More... | |
| void | operator-- () noexcept |
| Decrement the reference count. More... | |
| void | operator-- (int) noexcept |
| Decrement the reference count. More... | |
Public Member Functions inherited from blendedSchemeBase< Type > | |
| blendedSchemeBase ()=default | |
| Constructor. More... | |
| virtual | ~blendedSchemeBase ()=default |
| Destructor. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from surfaceInterpolationScheme< Type > | |
| static tmp< surfaceInterpolationScheme< Type > > | New (const fvMesh &mesh, Istream &schemeData) |
| Return new tmp interpolation scheme. More... | |
| static tmp< surfaceInterpolationScheme< Type > > | New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData) |
| Return new tmp interpolation scheme. More... | |
| static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const tmp< surfaceScalarField > &) |
| Return the face-interpolate of the given cell field. More... | |
| template<class SFType > | |
| static tmp< GeometricField< typename innerProduct< typename SFType::value_type, Type >::type, fvsPatchField, surfaceMesh > > | dotInterpolate (const SFType &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf, const tmp< surfaceScalarField > &tlambdas) |
| Return the face-interpolate of the given cell field. More... | |
| static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &) |
| Return the face-interpolate of the given cell field. More... | |
Improved hybrid convection scheme of Travin et al. for hybrid RAS/LES calculations with enhanced Grey Area Mitigation (GAM) behaviour.
The scheme provides a blend between two convection schemes, based on local properties including the wall distance, velocity gradient and eddy viscosity. The scheme was originally developed for DES calculations to blend a low-dissipative scheme, e.g. linear, in the vorticity-dominated, finely-resolved regions and a numerically more robust, e.g. upwind-biased, convection scheme in irrotational or coarsely-resolved regions.
The routine calculates the blending factor denoted as "sigma" in the literature reference, where 0 <= sigma <= sigmaMax, which is then employed to set the weights:
where
| = | blending factor |
| = | scheme 1 weights |
| = | scheme 2 weights |
First published in:
Travin, A., Shur, M., Strelets, M., & Spalart, P. R. (2000).
Physical and numerical upgrades in the detached-eddy
simulation of complex turbulent flows.
In LES of Complex Transitional and Turbulent Flows.
Proceedings of the Euromech Colloquium 412. Munich, GermanyOriginal publication contained a typo for C_H3 constant. Corrected version with minor changes for 2 lower limiters published in:
Spalart, P., Shur, M., Strelets, M., & Travin, A. (2012).
Sensitivity of landing-gear noise predictions by large-eddy
simulation to numerics and resolution.
In 50th AIAA Aerospace Sciences Meeting Including the
New Horizons Forum and Aerospace Exposition. Nashville, US.
DOI:10.2514/6.2012-1174Example of the DEShybrid scheme specification using linear within the LES region and linearUpwind within the RAS region:
divSchemes
{
.
.
div(phi,U) Gauss DEShybrid
linear // scheme 1
linearUpwind grad(U) // scheme 2
delta // LES delta name, e.g. 'delta', 'hmax'
0.65 // CDES coefficient
30 // Reference velocity scale
2 // Reference length scale
0 // Minimum sigma limit (0-1)
1 // Maximum sigma limit (0-1)
1.0e-03 // Limiter of B function, typically 1e-03
1.0; // nut limiter (if > 1, GAM extension is active)
.
.
}Notes
libs (turbulenceModelSchemes);
Definition at line 143 of file DEShybrid.H.
Construct from mesh and Istream.
The name of the flux field is read from the Istream and looked-up from the mesh objectRegistry
Definition at line 409 of file DEShybrid.H.
|
inline |
Construct from mesh, faceFlux and Istream.
Definition at line 434 of file DEShybrid.H.
| TypeName | ( | "DEShybrid< Type >" | ) |
Runtime type information.
|
inlinevirtual |
Return the face-based blending factor.
Implements blendedSchemeBase< Type >.
Definition at line 472 of file DEShybrid.H.
References objectRegistry::cfindObject(), delta, Foam::exit(), Foam::FatalError, FatalErrorInFunction, objectRegistry::lookupObject(), surfaceInterpolationScheme< Type >::mesh(), and turbulenceModel::propertiesName.
Referenced by DEShybrid< Type >::correction(), DEShybrid< Type >::interpolate(), and DEShybrid< Type >::weights().


|
inline |
Return the interpolation weighting factors.
Definition at line 511 of file DEShybrid.H.
References DEShybrid< Type >::blendingFactor().

|
inline |
Return the face-interpolate of the given cell field with explicit correction.
Definition at line 525 of file DEShybrid.H.
References DEShybrid< Type >::blendingFactor().

|
inlinevirtual |
Return true if this scheme uses an explicit correction.
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 538 of file DEShybrid.H.
Referenced by DEShybrid< Type >::correction().

|
inlinevirtual |
Return the explicit correction to the face-interpolate for the given field.
Definition at line 548 of file DEShybrid.H.
References DEShybrid< Type >::blendingFactor(), and DEShybrid< Type >::corrected().

Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.