99#ifndef lduAddressing_H
100#define lduAddressing_H
144 void calcLosort()
const;
147 void calcOwnerStart()
const;
150 void calcLosortStart()
const;
160 ownerStartPtr_(nullptr),
161 losortStartPtr_(nullptr)
205 label
triIndex(
const label a,
const label
b)
const;
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
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)
Construct with size (number of equations)
virtual const lduSchedule & patchSchedule() const =0
Return patch field evaluation schedule.
virtual ~lduAddressing()
Destructor.
const labelUList & losortStartAddr() const
Return losort start addressing.
Tuple2< label, scalar > band() const
Calculate bandwidth and profile of addressing.
virtual const labelUList & upperAddr() const =0
Return upper addressing.
label size() const
Return number of equations.
virtual const labelUList & lowerAddr() const =0
Return lower addressing.
virtual const labelUList & patchAddr(const label patchNo) const =0
Return patch to internal addressing given patch number.
const labelUList & losortAddr() const
Return losort addressing.
void clearOut()
Clear additional addressing.
label triIndex(const label a, const label b) const
Return off-diagonal index given owner and neighbour label.