33void Foam::faPatchMapper::calcAddressing()
const
38 <<
"Addressing already calculated"
45 directAddrPtr_ = std::make_unique<labelList>(patch_.size(), Foam::zero{});
46 auto& addr = *directAddrPtr_;
52 Map<label> edgeIndexLookup;
54 const labelList& reverseFaceMap = mpm_.reverseFaceMap();
56 forAll(oldEdgeFaces_, oefI)
58 if (reverseFaceMap[oldEdgeFaces_[oefI]] > -1)
61 edgeIndexLookup.insert(reverseFaceMap[oldEdgeFaces_[oefI]], oefI);
70 const auto iter = edgeIndexLookup.cfind(ef[efI]);
74 addr[efI] = iter.val();
105 sizeBeforeMapping_(patch.
size()),
106 oldEdgeFaces_(patch.edgeFaces()),
126 return *directAddrPtr_;
133 <<
"Requested interpolative addressing for a direct mapper."
143 <<
"Requested interpolative weights for a direct mapper."
static const List< labelList > & null() noexcept
virtual label size() const
Return size.
virtual const labelListList & addressing() const
Return interpolated addressing.
virtual const scalarListList & weights() const
Return interpolation weights.
faPatchMapper(const faPatchMapper &)=delete
No copy construct.
virtual const labelUList & directAddressing() const
Return direct addressing.
virtual ~faPatchMapper()
Destructor.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
#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.