38#ifndef Foam_fvSurfaceMapper_H
39#define Foam_fvSurfaceMapper_H
72 mutable std::unique_ptr<labelList> directAddrPtr_;
75 mutable std::unique_ptr<labelListList> interpAddrPtr_;
78 mutable std::unique_ptr<scalarListList> weightsPtr_;
81 mutable std::unique_ptr<labelList> insertedObjectsPtr_;
88 fvSurfaceMapper(
const fvSurfaceMapper&) =
delete;
91 void operator=(
const fvSurfaceMapper&) =
delete;
95 void calcAddressing()
const;
117 virtual label
size()
const
119 return mesh_.nInternalFaces();
125 return faceMap_.internalSizeBeforeMapping();
129 virtual bool direct()
const
131 return faceMap_.direct();
152 return faceMap_.insertedObjects();
161 return faceMap_.flipFaceFlux();
This object provides mapping and fill-in information for face data between the two meshes after the t...
Mesh data needed to do the Finite Volume discretisation.
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
Has unmapped elements.
virtual const labelUList & directAddressing() const
Return direct addressing.
const labelHashSet & flipFaceFlux() const
Return flux flip map.
virtual const labelList & insertedObjectLabels() const
Return list of inserted faces.
virtual ~fvSurfaceMapper()
Destructor.
virtual bool insertedObjects() const
Are there any inserted faces.
virtual bool direct() const
Is the mapping direct.
morphFieldMapper()=default
Default construct.
List< scalarList > scalarListList
List of scalarList.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
UList< label > labelUList
A UList of labels.