99 #ifndef lduAddressing_H 100 #define lduAddressing_H 126 mutable std::unique_ptr<labelList> losortPtr_;
129 mutable std::unique_ptr<labelList> ownerStartPtr_;
132 mutable std::unique_ptr<labelList> losortStartPtr_;
138 void calcLosort()
const;
141 void calcOwnerStart()
const;
144 void calcLosortStart()
const;
207 label
triIndex(
const label a,
const label
b)
const;
void operator=(const lduAddressing &)=delete
No copy assignment.
label triIndex(const label a, const label b) const
Return off-diagonal index given owner and neighbour label.
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
virtual ~lduAddressing()=default
Destructor.
const labelUList & losortStartAddr() const
Return losort start addressing.
virtual const labelUList & lowerAddr() const =0
Return lower addressing.
label size() const noexcept
Return number of equations.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
virtual const labelUList & upperAddr() const =0
Return upper addressing.
virtual const labelUList & patchAddr(const label patchNo) const =0
Return patch to internal addressing given patch number.
Tuple2< label, scalar > band() const
Calculate bandwidth and profile of addressing.
lduAddressing(const lduAddressing &)=delete
No copy construct.
const labelUList & losortAddr() const
Return losort addressing.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
void clearOut()
Clear additional addressing.
const labelUList & ownerStartAddr() const
Return owner start addressing.
virtual const lduSchedule & patchSchedule() const =0
Return patch field evaluation schedule.