38 void Foam::faPatchMapper::calcAddressing()
const 43 <<
"Addressing already calculated" 57 Map<label> edgeIndexLookup;
61 forAll(oldEdgeFaces_, oefI)
63 if (reverseFaceMap[oldEdgeFaces_[oefI]] > -1)
66 edgeIndexLookup.insert(reverseFaceMap[oldEdgeFaces_[oefI]], oefI);
75 if (edgeIndexLookup.found(ef[efI]))
77 addr[efI] = edgeIndexLookup[ef[efI]];
91 void Foam::faPatchMapper::clearOut()
100 Foam::faPatchMapper::faPatchMapper
108 sizeBeforeMapping_(
patch.size()),
109 oldEdgeFaces_(
patch.edgeFaces()),
111 directAddrPtr_(nullptr)
132 return *directAddrPtr_;
139 <<
"Requested interpolative addressing for a direct mapper." 149 <<
"Requested interpolative weights for a direct mapper."
virtual ~faPatchMapper()
Destructor.
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.
virtual label size() const
Patch size is the number of edge labels, but can be overloaded.
static const List< labelList > & null()
Return a null List.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
#define forAll(list, i)
Loop across all elements in list.
virtual const labelUList & directAddressing() const
Return direct addressing.
const labelUList & edgeFaces() const
Return edge-face addressing.
errorManip< error > abort(error &err)
Finite area patch class. Used for 2-D non-Euclidian finite area method.
Template functions to aid in the implementation of demand driven data.
const std::string patch
OpenFOAM patch number as a std::string.
List< label > labelList
A List of labels.
void deleteDemandDrivenData(DataPtr &dataPtr)
virtual const scalarListList & weights() const
Return interpolation weights.
virtual const labelListList & addressing() const
Return interpolated addressing.
const labelList & reverseFaceMap() const
Reverse face map.
static constexpr const zero Zero
Global zero (0)