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>
210 "CoBlended::blendingFactor()" 211 ) <<
"dimensions of faceFlux are not correct" 219 vf.
name() +
"BlendingFactor",
249 bf*tScheme1_().weights(vf)
250 + (scalar(1.0) - bf)*tScheme2_().weights(vf);
265 bf*tScheme1_().interpolate(vf)
266 + (scalar(1.0) - bf)*tScheme2_().interpolate(vf);
273 return tScheme1_().corrected() || tScheme2_().corrected();
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &vf, const surfaceScalarField &faceFlux, Istream &schemeData)
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
Mesh data needed to do the Finite Volume discretisation.
dimensioned< scalar > mag(const dimensioned< Type > &)
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)...
const dimensionSet dimArea(sqr(dimLength))
A class for handling words, derived from string.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const surfaceScalarField & deltaCoeffs() const
Return reference to cell-centre difference coefficients.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the face-interpolate of the given cell field.
const dimensionSet dimDensity
Two-scheme Courant number based blending differencing scheme.
TypeName("CoBlended")
Runtime type information.
const Time & time() const
Return the top-level database.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
Abstract base class for surface interpolation schemes.
const fvMesh & mesh() const
Return mesh reference.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
const dimensionSet & dimensions() const
Return dimensions.
const word & name() const
Return name.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
dimensionedScalar deltaT() const
Return time step.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
const dimensionSet dimVelocity
#define FatalIOErrorIn(functionName, ios)
Report an error message using Foam::FatalIOError.
A class for managing temporary objects.
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the interpolation weighting factors.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.