Two-scheme cell-based Courant number based blending differencing scheme. More...
Additional Inherited Members | |
![]() | |
static tmp< surfaceInterpolationScheme< Type > > | New (const fvMesh &mesh, Istream &schemeData) |
static tmp< surfaceInterpolationScheme< Type > > | New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData) |
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const tmp< surfaceScalarField > &) |
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) |
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &) |
Two-scheme cell-based Courant number based blending differencing scheme.
This scheme is equivalent to the CoBlended scheme except that the Courant number is evaluated for cells using the same approach as use in the finite-volume solvers and then interpolated to the faces rather than being estimated directly at the faces based on the flux. This is a more consistent method for evaluating the Courant number but suffers from the need to interpolate which introduces a degree of freedom. However, the interpolation scheme for "Co" is run-time selected and may be specified in "interpolationSchemes" and "localMax" might be most appropriate.
Example of the cellCoBlended scheme specification using LUST for Courant numbers less than 1 and linearUpwind for Courant numbers greater than 10:
divSchemes { . . div(phi,U) Gauss cellCoBlended 1 LUST grad(U) 10 linearUpwind grad(U); . . } interpolationSchemes { . . interpolate(Co) localMax; . . }
Definition at line 89 of file cellCoBlended.H.
|
inline |
Definition at line 133 of file cellCoBlended.H.
References Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.
|
inline |
Definition at line 166 of file cellCoBlended.H.
References Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.
TypeName | ( | "cellCoBlended< Type >" | ) |
|
inlinevirtual |
Implements blendedSchemeBase< Type >.
Definition at line 199 of file cellCoBlended.H.
References GeometricField::correctBoundaryConditions(), TimeState::deltaTValue(), Foam::dimArea, Foam::dimDensity, Foam::dimless, Foam::dimVelocity, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::fvc::interpolate(), Foam::mag(), Foam::max(), surfaceInterpolationScheme< Type >::mesh(), Foam::min(), GeometricField::primitiveFieldRef(), rho, Foam::fvc::surfaceSum(), fvMesh::time(), Time::timeName(), fvMesh::V(), and Foam::Zero.
Referenced by cellCoBlended< Type >::correction(), cellCoBlended< Type >::interpolate(), and cellCoBlended< Type >::weights().
|
inlinevirtual |
Implements surfaceInterpolationScheme< Type >.
Definition at line 268 of file cellCoBlended.H.
References cellCoBlended< Type >::blendingFactor().
|
inlinevirtual |
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 284 of file cellCoBlended.H.
References cellCoBlended< Type >::blendingFactor().
|
inlinevirtual |
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 297 of file cellCoBlended.H.
Referenced by cellCoBlended< Type >::correction().
|
inlinevirtual |
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 307 of file cellCoBlended.H.
References cellCoBlended< Type >::blendingFactor(), and cellCoBlended< Type >::corrected().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.