96 #ifndef lduAddressing_H
97 #define lduAddressing_H
135 void calcLosort()
const;
138 void calcOwnerStart()
const;
141 void calcLosortStart()
const;
152 ownerStartPtr_(nullptr),
153 losortStartPtr_(nullptr)
A 2-tuple for storing two objects of different types.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
const labelUList & ownerStartAddr() const
Return owner start addressing.
lduAddressing(const label nEqns)
virtual ~lduAddressing()
Destructor.
virtual const lduSchedule & patchSchedule() const =0
const labelUList & losortStartAddr() const
Return losort start addressing.
void operator=(const lduAddressing &)=delete
Disallow default bitwise assignment.
Tuple2< label, scalar > band() const
Calculate bandwidth and profile of addressing.
label size() const
Return number of equations.
virtual const labelUList & upperAddr() const =0
Return upper addressing.
virtual const labelUList & lowerAddr() const =0
Return lower addressing.
const labelUList & losortAddr() const
Return losort addressing.
virtual const labelUList & patchAddr(const label patchNo) const =0
Return patch to internal addressing given patch number.
label triIndex(const label a, const label b) const
Return off-diagonal index given owner and neighbour label.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.