41 #ifndef Foam_PatchToPatchInterpolation_H 42 #define Foam_PatchToPatchInterpolation_H 113 template<
class FromPatch,
class ToPatch>
114 class PatchToPatchInterpolation
116 public PatchToPatchInterpolationBase
121 const FromPatch& fromPatch_;
124 const ToPatch& toPatch_;
136 mutable std::unique_ptr<labelList> pointAddressingPtr_;
139 mutable std::unique_ptr<FieldField<Field, scalar>> pointWeightsPtr_;
142 mutable std::unique_ptr<scalarField> pointDistancePtr_;
148 mutable std::unique_ptr<labelList> faceAddressingPtr_;
151 mutable std::unique_ptr<FieldField<Field, scalar>> faceWeightsPtr_;
154 mutable std::unique_ptr<scalarField> faceDistancePtr_;
166 void calcPointAddressing()
const;
169 void calcFaceAddressing()
const;
195 const FromPatch& fromPatch,
196 const ToPatch& toPatch,
static const scalar directHitTol
Direct hit tolerance.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
ClassName("PatchToPatchInterpolation")
Runtime type information.
const scalarField & faceDistanceToIntersection() const
Return distance to intersection for patch face centres.
const scalarField & pointDistanceToIntersection() const
Return distance to intersection for patch points.
tmp< Field< Type > > pointInterpolate(const Field< Type > &pf) const
Interpolate point field.
A field of fields is a PtrList of fields with reference counting.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
~PatchToPatchInterpolation()
Destructor.
errorManip< error > abort(error &err)
intersection::direction projectionDir() const
Return direction projection to use in projection.
intersection::algorithm projectionAlgo() const
Return ype of intersection algorithm to use in projection.
static scalar setProjectionTol(const scalar tol)
Change propagation tolerance, return previous value.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
bool movePoints()
Correct weighting factors for moving mesh.
static scalar projectionTol_
Relative merge tolerance for projected points missing the target.
tmp< Field< Type > > faceInterpolate(const Field< Type > &pf) const
Interpolate face field.
static scalar projectionTol() noexcept
Access to projection tolerance.
Interpolation class dealing with transfer of data between two primitivePatches.
PatchToPatchInterpolationBase() noexcept=default
Default construct.