Variant of fvMeshLduAddressing that contains addressing instead of slices. More...
Public Member Functions | |
fvMeshPrimitiveLduAddressing (const fvMesh &mesh) | |
Construct from mesh. More... | |
fvMeshPrimitiveLduAddressing (const label nCells, labelList &&lowerAddr, labelList &&upperAddr, const UPtrList< const labelUList > &patchAddr, const lduSchedule &ps) | |
Construct from components. More... | |
virtual | ~fvMeshPrimitiveLduAddressing ()=default |
Destructor. More... | |
virtual const labelUList & | lowerAddr () const noexcept |
Return lower addressing (i.e. lower label = upper triangle) More... | |
virtual const labelUList & | upperAddr () const noexcept |
Return upper addressing (i.e. upper label) More... | |
virtual const labelUList & | patchAddr (const label patchi) const |
Return patch addressing for given patch. More... | |
virtual const lduSchedule & | patchSchedule () const noexcept |
Return patch field evaluation schedule. More... | |
Public Member Functions inherited from lduAddressing | |
lduAddressing (const lduAddressing &)=delete | |
No copy construct. More... | |
void | operator= (const lduAddressing &)=delete |
No copy assignment. More... | |
lduAddressing (const label nEqns) noexcept | |
Construct with size (number of equations) More... | |
virtual | ~lduAddressing ()=default |
Destructor. More... | |
label | size () const noexcept |
Return number of equations. More... | |
void | clearOut () |
Clear additional addressing. More... | |
const labelUList & | losortAddr () const |
Return losort addressing. More... | |
const labelUList & | ownerStartAddr () const |
Return owner start addressing. More... | |
const labelUList & | losortStartAddr () const |
Return losort start addressing. More... | |
label | triIndex (const label a, const label b) const |
Return off-diagonal index given owner and neighbour label. More... | |
Tuple2< label, scalar > | band () const |
Calculate bandwidth and profile of addressing. More... | |
Static Public Member Functions | |
static labelList | addAddressing (const lduAddressing &addr, const labelListList &nbrCells, label &nExtraFaces, labelList &lower, labelList &upper, labelListList &nbrCellFaces, const globalIndex &, const labelList &globalCellIDs, labelListList &localFaceCells, labelListList &remoteFaceCells) |
Given additional addressing (in the form of additional neighbour cells, i.e. like cellCells) More... | |
static label | triIndex (const lduAddressing &, const label, const label) |
Return off-diagonal index given owner and neighbour label. More... | |
Variant of fvMeshLduAddressing that contains addressing instead of slices.
Alternatively use lduPrimitiveMesh but that assumes there are only lduInterfaces and not also generic patches.
Definition at line 53 of file fvMeshPrimitiveLduAddressing.H.
|
explicit |
Construct from mesh.
Definition at line 29 of file fvMeshPrimitiveLduAddressing.C.
fvMeshPrimitiveLduAddressing | ( | const label | nCells, |
labelList && | lowerAddr, | ||
labelList && | upperAddr, | ||
const UPtrList< const labelUList > & | patchAddr, | ||
const lduSchedule & | ps | ||
) |
Construct from components.
Definition at line 49 of file fvMeshPrimitiveLduAddressing.C.
|
virtualdefault |
Destructor.
|
inlinevirtualnoexcept |
Return lower addressing (i.e. lower label = upper triangle)
Implements lduAddressing.
Definition at line 129 of file fvMeshPrimitiveLduAddressing.H.
Referenced by oversetFvMeshBase::active().
|
inlinevirtualnoexcept |
Return upper addressing (i.e. upper label)
Implements lduAddressing.
Definition at line 137 of file fvMeshPrimitiveLduAddressing.H.
|
inlinevirtual |
Return patch addressing for given patch.
Implements lduAddressing.
Definition at line 145 of file fvMeshPrimitiveLduAddressing.H.
|
inlinevirtualnoexcept |
Return patch field evaluation schedule.
Implements lduAddressing.
Definition at line 153 of file fvMeshPrimitiveLduAddressing.H.
|
static |
Given additional addressing (in the form of additional neighbour cells, i.e. like cellCells)
Definition at line 94 of file fvMeshPrimitiveLduAddressing.C.
References forAll, Foam::ListListOps::inplaceRenumber(), Foam::inplaceReorder(), lduAddressing::lowerAddr(), Foam::max(), Foam::min(), List< T >::setSize(), UList< T >::size(), lduAddressing::size(), globalIndex::toLocal(), lduAddressing::upperAddr(), globalIndex::whichProcID(), and Foam::Zero.
Referenced by oversetFvMeshBase::updateAddressing().
|
static |
Return off-diagonal index given owner and neighbour label.
Definition at line 68 of file fvMeshPrimitiveLduAddressing.C.
References Foam::constant::physicoChemical::b, Foam::max(), Foam::min(), lduAddressing::ownerStartAddr(), and lduAddressing::upperAddr().