67 #include "surfaceInterpolate.H" 81 public surfaceInterpolationScheme<Type>,
82 public blendedSchemeBase<Type>
144 if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
147 <<
"coefficients = " << Co1_ <<
" and " << Co2_
148 <<
" should be > 0 and Co2 > Co1" 175 if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
178 <<
"coefficients = " << Co1_ <<
" and " << Co2_
179 <<
" should be > 0 and Co2 > Co1" 201 mesh.objectRegistry::template lookupObject<volScalarField>
209 <<
"dimensions of faceFlux are not correct" 217 vf.
name() +
"BlendingFactor",
247 bf*tScheme1_().weights(vf)
248 + (scalar(1.0) - bf)*tScheme2_().weights(vf);
263 bf*tScheme1_().interpolate(vf)
264 + (scalar(1.0) - bf)*tScheme2_().interpolate(vf);
271 return tScheme1_().corrected() || tScheme2_().corrected();
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const fvMesh & mesh() const
Return mesh reference.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual tmp< surfaceScalarField > blendingFactor(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the face-based blending factor.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
A class for handling words, derived from string.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
Two-scheme Courant number based blending differencing scheme.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
TypeName("CoBlended")
Runtime type information.
const dimensionSet & dimensions() const
Return dimensions.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
const dimensionSet dimDensity
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the interpolation weighting factors.
dimensionedScalar deltaT() const
Return time step.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
const surfaceScalarField & deltaCoeffs() const
Return reference to cell-centre difference coefficients.
Mesh data needed to do the Finite Volume discretisation.
dimensioned< scalar > mag(const dimensioned< Type > &)
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Abstract base class for surface interpolation schemes.
const word & name() const
Return name.
const dimensionSet dimArea(sqr(dimLength))
const Time & time() const
Return the top-level database.
const dimensionSet dimVelocity
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the face-interpolate of the given cell field.