Two-scheme Courant number based blending differencing scheme. More...
Public Member Functions | |
TypeName ("CoBlended") | |
Runtime type information. More... | |
CoBlended (const fvMesh &mesh, Istream &is) | |
Construct from mesh and Istream. More... | |
CoBlended (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 GeometricField< Type, fvPatchField, volMesh > &vf) const |
Return the interpolation weighting factors. More... | |
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &vf) const |
Return the face-interpolate of the given cell field. More... | |
virtual bool | corrected () const |
Return true if this scheme uses an explicit correction. More... | |
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | correction (const GeometricField< Type, fvPatchField, volMesh > &vf) const |
Return the explicit correction to the face-interpolate. More... | |
![]() | |
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 () |
Destructor. More... | |
const fvMesh & | mesh () const |
Return mesh reference. 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... | |
![]() | |
refCount () | |
Construct null with zero count. More... | |
int | count () const |
Return the reference count. More... | |
bool | okToDelete () const |
Return true if the reference count is zero. More... | |
void | resetRefCount () |
Reset the reference count to zero. More... | |
void | operator++ () |
Increment the reference count. More... | |
void | operator++ (int) |
Increment the reference count. More... | |
void | operator-- () |
Decrement the reference count. More... | |
void | operator-- (int) |
Decrement the reference count. More... | |
![]() | |
blendedSchemeBase () | |
Constructor. More... | |
virtual | ~blendedSchemeBase () |
Destructor. More... | |
Private Member Functions | |
CoBlended (const CoBlended &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const CoBlended &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
const scalar | Co1_ |
Courant number below which scheme1 is used. More... | |
tmp< surfaceInterpolationScheme< Type > > | tScheme1_ |
Scheme 1. More... | |
const scalar | Co2_ |
Courant number above which scheme2 is used. More... | |
tmp< surfaceInterpolationScheme< Type > > | tScheme2_ |
Scheme 2. More... | |
const surfaceScalarField & | faceFlux_ |
The face-flux used to compute the face Courant number. More... | |
Additional Inherited Members | |
![]() | |
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... | |
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... | |
Two-scheme Courant number based blending differencing scheme.
Similar to localBlended but uses a blending factor computed from the face-based Courant number and the lower and upper Courant number limits supplied:
where
![]() | = | Courant number below which scheme1 is used |
![]() | = | Courant number above which scheme2 is used |
The weight applies to the first scheme and 1-weight to the second scheme.
Example of the CoBlended scheme specification using LUST for Courant numbers less than 1 and linearUpwind for Courant numbers greater than 10:
divSchemes { . . div(phi,U) Gauss CoBlended 1 LUST grad(U) 10 linearUpwind grad(U); . . }
Definition at line 86 of file CoBlended.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 130 of file CoBlended.H.
References CoBlended< Type >::Co1_, CoBlended< Type >::Co2_, Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.
|
inline |
Construct from mesh, faceFlux and Istream.
Definition at line 163 of file CoBlended.H.
References CoBlended< Type >::Co1_, CoBlended< Type >::Co2_, Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.
|
private |
Disallow default bitwise assignment.
TypeName | ( | "CoBlended< Type >" | ) |
Runtime type information.
|
inlinevirtual |
Return the face-based blending factor.
Implements blendedSchemeBase< Type >.
Definition at line 196 of file CoBlended.H.
References CoBlended< Type >::Co1_, CoBlended< Type >::Co2_, surfaceInterpolation::deltaCoeffs(), TimeState::deltaT(), Foam::dimArea, Foam::dimDensity, Foam::dimVelocity, Foam::exit(), CoBlended< Type >::faceFlux_, Foam::FatalError, FatalErrorInFunction, Foam::fvc::interpolate(), Foam::mag(), fvMesh::magSf(), Foam::max(), surfaceInterpolationScheme< Type >::mesh(), Foam::min(), rho, and fvMesh::time().
Referenced by CoBlended< Type >::correction(), CoBlended< Type >::interpolate(), and CoBlended< Type >::weights().
|
inlinevirtual |
Return the interpolation weighting factors.
Implements surfaceInterpolationScheme< Type >.
Definition at line 247 of file CoBlended.H.
References CoBlended< Type >::blendingFactor(), CoBlended< Type >::tScheme1_, and CoBlended< Type >::tScheme2_.
|
inlinevirtual |
Return the face-interpolate of the given cell field.
with explicit correction
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 263 of file CoBlended.H.
References CoBlended< Type >::blendingFactor(), CoBlended< Type >::tScheme1_, and CoBlended< Type >::tScheme2_.
|
inlinevirtual |
Return true if this scheme uses an explicit correction.
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 276 of file CoBlended.H.
References CoBlended< Type >::tScheme1_, and CoBlended< Type >::tScheme2_.
Referenced by CoBlended< Type >::correction().
|
inlinevirtual |
Return the explicit correction to the face-interpolate.
for the given field
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 286 of file CoBlended.H.
References CoBlended< Type >::blendingFactor(), CoBlended< Type >::corrected(), CoBlended< Type >::tScheme1_, and CoBlended< Type >::tScheme2_.
|
private |
Courant number below which scheme1 is used.
Definition at line 94 of file CoBlended.H.
Referenced by CoBlended< Type >::blendingFactor(), and CoBlended< Type >::CoBlended().
|
private |
Scheme 1.
Definition at line 97 of file CoBlended.H.
Referenced by CoBlended< Type >::corrected(), CoBlended< Type >::correction(), CoBlended< Type >::interpolate(), and CoBlended< Type >::weights().
|
private |
Courant number above which scheme2 is used.
Definition at line 100 of file CoBlended.H.
Referenced by CoBlended< Type >::blendingFactor(), and CoBlended< Type >::CoBlended().
|
private |
Scheme 2.
Definition at line 103 of file CoBlended.H.
Referenced by CoBlended< Type >::corrected(), CoBlended< Type >::correction(), CoBlended< Type >::interpolate(), and CoBlended< Type >::weights().
|
private |
The face-flux used to compute the face Courant number.
Definition at line 106 of file CoBlended.H.
Referenced by CoBlended< Type >::blendingFactor().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.