70 #ifndef cellCoBlended_H 71 #define cellCoBlended_H 75 #include "surfaceInterpolate.H" 145 if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
148 <<
"coefficients = " << Co1_ <<
" and " << Co2_
149 <<
" should be > 0 and Co2 > Co1" 176 if (Co1_ < 0 || Co2_ < 0 || Co1_ >= Co2_)
179 <<
"coefficients = " << Co1_ <<
" and " << Co2_
180 <<
" should be > 0 and Co2 > Co1" 205 mesh.objectRegistry::template lookupObject<volScalarField>
213 <<
"dimensions of faceFlux are not correct" 227 extrapolatedCalculatedFvPatchScalarField::typeName
235 Co.primitiveFieldRef() =
237 Co.correctBoundaryConditions();
241 vf.
name() +
"BlendingFactor",
266 bf*tScheme1_().weights(vf)
267 + (scalar(1) - bf)*tScheme2_().weights(vf);
282 bf*tScheme1_().interpolate(vf)
283 + (scalar(1) - bf)*tScheme2_().interpolate(vf);
290 return tScheme1_().corrected() || tScheme2_().corrected();
Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField...
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
const word & name() const
Return name.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#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.
TypeName("cellCoBlended")
Runtime type information.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
static tmp< GeometricField< scalar, fvsPatchField, surfaceMesh > > New(const word &name, const Internal &, const PtrList< fvsPatchField< scalar >> &)
Return a temporary field constructed from name,.
const dimensionSet dimless
const fvMesh & mesh() const
Return mesh reference.
const Time & time() const
Return the top-level database.
const DimensionedField< scalar, volMesh > & V() const
Return cell volumes.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
const dimensionSet & dimensions() const
Return dimensions.
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the interpolation weighting factors.
static word timeName(const scalar, const int precision=curPrecision_)
Return time name of given scalar time.
A class for handling words, derived from string.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
const dimensionSet dimFlux
scalar deltaTValue() const
Return time step value.
Base class for blended schemes to provide access to the blending factor surface field.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
void operator=(const cellCoBlended &)=delete
Disallow default bitwise assignment.
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.
cellCoBlended(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
const dimensionSet dimMassFlux
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Mesh data needed to do the Finite Volume discretisation.
dimensioned< scalar > mag(const dimensioned< Type > &)
tmp< GeometricField< Type, fvPatchField, volMesh > > surfaceSum(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
A class for managing temporary objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Abstract base class for surface interpolation schemes.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the face-interpolate of the given cell field.
Two-scheme cell-based Courant number based blending interpolation scheme.