38#ifndef Foam_fvPatchMapper_H
39#define Foam_fvPatchMapper_H
72 const label sizeBeforeMapping_;
77 mutable bool hasUnmapped_;
80 mutable std::unique_ptr<labelList> directAddrPtr_;
83 mutable std::unique_ptr<labelListList> interpAddrPtr_;
86 mutable std::unique_ptr<scalarListList> weightsPtr_;
92 fvPatchMapper(
const fvPatchMapper&) =
delete;
95 void operator=(
const fvPatchMapper&) =
delete;
99 void calcAddressing()
const;
121 virtual label
size()
const
123 return patch_.size();
129 return sizeBeforeMapping_;
133 virtual bool direct()
const
135 return faceMap_.direct();
This object provides mapping and fill-in information for face data between the two meshes after the t...
fvPatchFieldMapper()=default
Default construct.
virtual label size() const
Return size.
virtual label sizeBeforeMapping() const
Return size of field before mapping.
virtual const labelListList & addressing() const
Return interpolated addressing.
virtual const scalarListList & weights() const
Return interpolation weights.
virtual bool hasUnmapped() const
Any unmapped values?
virtual const labelUList & directAddressing() const
Return direct addressing.
virtual bool direct() const
Is the mapping direct.
virtual ~fvPatchMapper()
Destructor.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
List< scalarList > scalarListList
List of scalarList.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< labelList > labelListList
List of labelList.
UList< label > labelUList
A UList of labels.
Specialisations of Field<T> for scalar, vector and tensor.