Multi-faceZone based blending differencing scheme. More...
#include <zoneBlended.H>


Public Member Functions | |
| TypeName ("zoneBlended") | |
| Runtime type information. | |
| zoneBlended (const fvMesh &mesh, Istream &is) | |
| Construct from mesh and Istream. | |
| zoneBlended (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &is) | |
| Construct from mesh, faceFlux and Istream. | |
| virtual tmp< surfaceScalarField > | blendingFactor (const VolumeField &vf) const |
| Return the face-based blending factor. | |
| tmp< surfaceScalarField > | weights (const VolumeField &vf) const |
| Return the interpolation weighting factors. | |
| tmp< SurfaceField > | interpolate (const VolumeField &vf) const |
| Return the face-interpolate of the given cell field. | |
| virtual bool | corrected () const |
| Return true if this scheme uses an explicit correction. | |
| virtual tmp< SurfaceField > | correction (const VolumeField &vf) const |
| Return the explicit correction to the face-interpolate for the given field. | |
| Public Member Functions inherited from surfaceInterpolationScheme< Type > | |
| TypeName ("surfaceInterpolationScheme") | |
| Runtime type information. | |
| 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. | |
| virtual | ~surfaceInterpolationScheme ()=default |
| Destructor. | |
| const fvMesh & | mesh () const |
| Return mesh reference. | |
| virtual tmp< surfaceScalarField > | weights (const GeometricField< Type, fvPatchField, volMesh > &) const =0 |
| Return the interpolation weighting factors for the given field. | |
| virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | correction (const GeometricField< Type, fvPatchField, volMesh > &) const |
| Return the explicit correction to the face-interpolate. | |
| 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. | |
| 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. | |
| virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &) const |
| Return the face-interpolate of the given cell field. | |
| tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const |
| Return the face-interpolate of the given tmp cell field. | |
| template<class SFType> | |
| Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< typename SFType::value_type, Type >::type, Foam::fvsPatchField, Foam::surfaceMesh > > | dotInterpolate (const SFType &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf, const tmp< surfaceScalarField > &tlambdas) |
| tmp< GeometricField< typename innerProduct< vector, scalar >::type, fvsPatchField, surfaceMesh > > | dotInterpolate (const surfaceVectorField &Sf, const GeometricField< scalar, fvPatchField, volMesh > &) const |
| Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< Foam::vector, Foam::scalar >::type, Foam::fvsPatchField, Foam::surfaceMesh > > | dotInterpolate (const surfaceVectorField &Sf, const GeometricField< scalar, fvPatchField, volMesh > &) const |
| Public Member Functions inherited from refCount | |
| constexpr | refCount () noexcept |
| Default construct, initializing count to 0. | |
| int | use_count () const noexcept |
| Return the current reference count. | |
| bool | unique () const noexcept |
| Return true if the reference count is zero. | |
| void | operator++ () noexcept |
| Increment the reference count. | |
| void | operator++ (int) noexcept |
| Increment the reference count. | |
| void | operator-- () noexcept |
| Decrement the reference count. | |
| void | operator-- (int) noexcept |
| Decrement the reference count. | |
| Public Member Functions inherited from blendedSchemeBase< Type > | |
| blendedSchemeBase ()=default | |
| Constructor. | |
| virtual | ~blendedSchemeBase ()=default |
| Destructor. | |
| virtual tmp< surfaceScalarField > | blendingFactor (const GeometricField< Type, fvPatchField, volMesh > &vf) const =0 |
| Return the face-based blending factor. | |
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. | |
| static tmp< surfaceInterpolationScheme< Type > > | New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData) |
| Return new tmp interpolation scheme. | |
| 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. | |
| 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. | |
| static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &) |
| Return the face-interpolate of the given cell field. | |
Multi-faceZone based blending differencing scheme.
Schemes are set in dictonary format according to:
divSchemes
{
.
.
div(phi,U) Gauss zoneBlended
{
default defaultScheme;
faceZone1 scheme1;
faceZone2 scheme2;
...
faceZoneN schemeN;
}
.
.
}
The default entry specifies the background scheme; additional schemes can be set per faceZone, e.g. scheme1 is applied to facZone1, scheme2 is applied to facZone2 etc.
zoneBlended scheme to use linearUpwind as the background scheme and upwind in faceZone1: divSchemes
{
.
.
div(phi,U) Gauss zoneBlended
{
default linearUpwind grad(U);
faceZone1 upwind;
};
.
.
}
Definition at line 97 of file zoneBlended.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 197 of file zoneBlended.H.
References dict, and surfaceInterpolationScheme< Type >::mesh().

|
inline |
Construct from mesh, faceFlux and Istream.
Definition at line 213 of file zoneBlended.H.
References dict, and surfaceInterpolationScheme< Type >::mesh().

| TypeName | ( | "zoneBlended< Type >" | ) |
Runtime type information.
|
inlinevirtual |
Return the face-based blending factor.
Definition at line 236 of file zoneBlended.H.
References Foam::dimless, Pair< T >::first(), DimensionedField< Type, GeoMesh >::mesh(), surfaceInterpolationScheme< Type >::mesh(), Foam::name(), GeometricField< scalar, fvsPatchField, surfaceMesh >::New(), pbm, and Pair< T >::second().

|
inline |
Return the interpolation weighting factors.
Definition at line 281 of file zoneBlended.H.
References Foam::dimless, DimensionedField< Type, GeoMesh >::mesh(), surfaceInterpolationScheme< Type >::mesh(), GeometricField< scalar, fvsPatchField, surfaceMesh >::New(), and weights().
Referenced by interpolate(), and weights().


|
inline |
Return the face-interpolate of the given cell field.
with explicit correction
Definition at line 314 of file zoneBlended.H.
References surfaceInterpolationScheme< Type >::interpolate(), and weights().

|
inlinevirtual |
Return true if this scheme uses an explicit correction.
Reimplemented from surfaceInterpolationScheme< Type >.
Definition at line 328 of file zoneBlended.H.
|
inlinevirtual |
Return the explicit correction to the face-interpolate for the given field.
Definition at line 338 of file zoneBlended.H.
References DimensionedField< Type, GeoMesh >::dimensions(), DimensionedField< Type, GeoMesh >::mesh(), surfaceInterpolationScheme< Type >::mesh(), GeometricField< Type, fvsPatchField, surfaceMesh >::New(), and Foam::Zero.
