38#ifndef skewCorrectedEdgeInterpolation_H
39#define skewCorrectedEdgeInterpolation_H
115 return tScheme_().weights(vf);
122 tScheme_().corrected() || (this->
mesh()).
skew();
141 "skewCorrected::skewCorrection(" + vf.
name() +
')',
152 for (
direction cmpt=0; cmpt<pTraits<Type>::nComponents; ++cmpt)
193 return tScheme_().correction(vf);
const dimensionSet & dimensions() const
Return dimensions.
void replace(const direction d, const GeometricField< cmptType, PatchField, GeoMesh > &gcf)
Replace specified field component with content from another field.
tmp< GeometricField< cmptType, PatchField, GeoMesh > > component(const direction) const
Return a component of the field.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & name() const noexcept
Return the object name.
const objectRegistry & db() const noexcept
Return the local objectRegistry.
const fileName & instance() const noexcept
Read access to instance path component.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Generic dimensioned Type class.
Abstract base class for edge interpolation schemes.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &, const tmp< edgeScalarField > &)
Return the face-interpolate of the given cell field.
static tmp< edgeInterpolationScheme< Type > > New(const faMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
const faMesh & mesh() const
Return mesh reference.
const edgeVectorField & skewCorrectionVectors() const
Return reference to skew vectors array.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
Basic second-order gradient scheme using face-interpolation and Gauss' theorem.
Central-differencing interpolation scheme class.
Linear/upwind blended differencing scheme.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
tmp< GeometricField< Type, faePatchField, edgeMesh > > skewCorrection(const GeometricField< Type, faPatchField, areaMesh > &vf) const
void operator=(const skewCorrectedEdgeInterpolation &)=delete
No copy assignment.
skewCorrectedEdgeInterpolation(const faMesh &mesh, Istream &is)
Construct from Istream.
skewCorrectedEdgeInterpolation(const faMesh &mesh, const edgeScalarField &faceFlux, Istream &is)
Construct from mesh, faceFlux and blendingFactor.
TypeName("skewCorrected")
Runtime type information.
virtual tmp< edgeScalarField > weights(const GeometricField< Type, faPatchField, areaMesh > &vf) const
Return the interpolation weighting factors.
skewCorrectedEdgeInterpolation(const skewCorrectedEdgeInterpolation &)=delete
No copy construct.
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > correction(const GeometricField< Type, faPatchField, areaMesh > &vf) const
Return the explicit correction to the face-interpolate.
A class for managing temporary objects.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
static constexpr const zero Zero
Global zero (0)
dimensionedTensor skew(const dimensionedTensor &dt)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.