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
236 (sumPhi/
mesh.
V().primitiveField())
243 vf.
name() +
"BlendingFactor",
268 bf*tScheme1_().weights(vf)
269 + (scalar(1) - bf)*tScheme2_().weights(vf);
284 bf*tScheme1_().interpolate(vf)
285 + (scalar(1) - bf)*tScheme2_().interpolate(vf);
292 return tScheme1_().corrected() || tScheme2_().corrected();
const dimensionSet & dimensions() const
Return dimensions.
Generic GeometricField class.
Internal::FieldType & primitiveFieldRef()
Return a reference to the primitive field.
void correctBoundaryConditions()
Correct boundary field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const word & name() const
Return name.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
scalar deltaTValue() const
Return time step value.
Base class for blended schemes to provide access to the blending factor surface field.
Two-scheme cell-based Courant number based blending interpolation scheme.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
tmp< SurfaceField< Type > > interpolate(const VolField< Type > &vf) const
Return the face-interpolate of the given cell field.
tmp< surfaceScalarField > weights(const VolField< Type > &vf) const
Return the interpolation weighting factors.
virtual tmp< surfaceScalarField > blendingFactor(const VolField< Type > &vf) const
Return the face-based blending factor.
cellCoBlended(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
void operator=(const cellCoBlended &)=delete
Disallow default bitwise assignment.
virtual tmp< SurfaceField< Type > > correction(const VolField< Type > &vf) const
Return the explicit correction to the face-interpolate.
TypeName("cellCoBlended")
Runtime type information.
const word & name() const
Return const reference to name.
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
const DimensionedField< scalar, volMesh > & V() const
Return cell volumes.
Abstract base class for surface interpolation schemes.
const fvMesh & mesh() const
Return mesh reference.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
A class for managing temporary objects.
A class for handling words, derived from string.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField.
tmp< VolField< Type > > surfaceSum(const SurfaceField< Type > &ssf)
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const dimensionSet dimMassFlux
const dimensionSet dimVolumetricFlux
const dimensionSet dimless
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.
dimensioned< scalar > mag(const dimensioned< Type > &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)