38#ifndef lduPrimitiveMesh_H
39#define lduPrimitiveMesh_H
182 virtual bool hasDb()
const
216 return primitiveInterfaces_;
228 virtual label
comm()
const
260 return interfaces_[i].faceCells();
266 return patchSchedule_;
291 template<
class ProcPatch>
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
The class contains the addressing required by the lduMatrix: upper, lower and losort.
label size() const
Return number of equations.
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
Simplest concrete lduMesh that stores the addressing needed by lduMatrix.
virtual const labelUList & upperAddr() const
Return Upper addressing.
static void checkUpperTriangular(const label size, const labelUList &l, const labelUList &u)
Check if in upper-triangular ordering.
const lduInterfacePtrsList & rawInterfaces() const
Return a list of pointers for each patch.
ClassName("lduPrimitiveMesh")
static labelListList globalCellCells(const lduMesh &mesh, const globalIndex &globalNumbering)
Calculate global cell-cells.
void addInterfaces(lduInterfacePtrsList &interfaces, const lduSchedule &ps)
Add interfaces to a mesh constructed without.
virtual ~lduPrimitiveMesh()=default
Destructor.
PtrList< const lduInterface > & primitiveInterfaces()
Return a non-const list of primitive interfaces.
virtual labelList & upperAddr()
Return non-const Upper addressing.
static labelList upperTriOrder(const label nCells, const labelUList &lower, const labelUList &upper)
Calculate upper-triangular order.
virtual lduInterfacePtrsList & interfaces()
virtual const lduSchedule & patchSchedule() const
Return patch evaluation schedule.
virtual const labelUList & patchAddr(const label i) const
Return patch addressing.
virtual label comm() const
Return communicator used for parallel communication.
static lduSchedule nonBlockingSchedule(const lduInterfacePtrsList &)
Get non-scheduled send/receive schedule.
virtual lduInterfacePtrsList interfaces() const
virtual bool hasDb() const
Return true if thisDb() is a valid DB.
virtual const lduAddressing & lduAddr() const
Return ldu addressing.
virtual lduAddressing & lduAddr()
Return non-const ldu addressing.
static void gather(const label comm, const lduMesh &mesh, const labelList &procIDs, PtrList< lduPrimitiveMesh > &otherMeshes)
Gather meshes from other processors onto procIDs[0].
virtual const labelUList & lowerAddr() const
Return Lower addressing.
virtual labelList & lowerAddr()
Return non-const Lower addressing.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)