36void Foam::pointPatchMapper::calcAddressing()
const
46 <<
"Addressing already calculated"
55 directAddrPtr_ = std::make_unique<labelList>
57 mpm_.patchPointMap()[patch_.index()]
59 auto& addr = *directAddrPtr_;
79 interpAddrPtr_ = std::make_unique<labelListList>(
size());
80 auto& addr = *interpAddrPtr_;
82 weightsPtr_ = std::make_unique<scalarListList>(addr.size());
83 auto& wght = *weightsPtr_;
85 const labelList& ppm = mpm_.patchPointMap()[patch_.index()];
91 addr[i].resize(1, ppm[i]);
92 wght[i].resize(1, 1.0);
118Foam::pointPatchMapper::pointPatchMapper
127 pointMapper_(pointMap),
131 patch_.index() < mpm_.oldPatchNMeshPoints().
size()
132 ? mpm_.oldPatchNMeshPoints()[patch_.index()]
152 <<
"Requested direct addressing for an interpolative mapper."
161 return *directAddrPtr_;
170 <<
"Requested interpolative addressing for a direct mapper."
179 return *interpAddrPtr_;
188 <<
"Requested interpolative weights for a direct mapper."
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
This object provides mapping and fill-in information for point data between the two meshes after the ...
pointPatchFieldMapper()=default
Default construct.
virtual label size() const
Return size.
virtual const labelListList & addressing() const
Return interpolated addressing.
virtual const scalarListList & weights() const
Return interpolaion weights.
virtual const labelUList & directAddressing() const
Return direct addressing.
virtual ~pointPatchMapper()
Destructor.
virtual bool direct() const
Is the mapping direct.
Basic pointPatch represents a set of points from the mesh.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
List< scalarList > scalarListList
List of scalarList.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
errorManip< error > abort(error &err)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
UList< label > labelUList
A UList of labels.
#define forAll(list, i)
Loop across all elements in list.