42#ifndef Foam_edgeInterpolation_H
43#define Foam_edgeInterpolation_H
71 mutable std::unique_ptr<edgeScalarField> lPNptr_;
74 mutable std::unique_ptr<edgeScalarField> weightingFactorsPtr_;
77 mutable std::unique_ptr<edgeScalarField> differenceFactorsPtr_;
80 mutable std::unique_ptr<edgeVectorField> correctionVectorsPtr_;
83 mutable std::unique_ptr<edgeVectorField> skewCorrectionVectorsPtr_;
86 mutable bool orthogonal_;
95 const vector& skewCorr(
const label edgeI)
const;
101 void makeWeights()
const;
104 void makeDeltaCoeffs()
const;
107 void makeCorrectionVectors()
const;
110 void makeSkewCorrectionVectors()
const;
Forwards and collection of common area field types.
bool movePoints() const
Do what is necessary if the mesh has moved.
~edgeInterpolation()=default
Destructor.
edgeInterpolation(const edgeInterpolation &)=delete
No copy construct.
const faMesh & mesh() const noexcept
Return mesh reference.
const edgeScalarField & deltaCoeffs() const
Return reference to difference factors array.
void operator=(const edgeInterpolation &)=delete
No copy assignment.
const edgeVectorField & correctionVectors() const
Return reference to non-orthogonality correction vectors array.
bool orthogonal() const
Return whether mesh is orthogonal or not.
const edgeScalarField & lPN() const
Return reference to PN geodesic distance.
ClassName("edgeInterpolation")
const edgeScalarField & weights() const
Return reference to weighting factors array.
bool skew() const
Return whether mesh is skew or not.
bool hasWeights() const noexcept
True if weights exist.
const edgeVectorField & skewCorrectionVectors() const
Return reference to skew vectors array.
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
Mesh consisting of general polyhedral cells.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Forwards for edge field types.
GeometricField< vector, faePatchField, edgeMesh > edgeVectorField
GeometricField< scalar, faePatchField, edgeMesh > edgeScalarField