Go to the documentation of this file.
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_;
273 static const lduMesh&
mesh
275 const lduMesh& mesh0,
276 const PtrList<lduPrimitiveMesh>& otherMeshes,
287 PtrList<lduPrimitiveMesh>& otherMeshes
291 template<
class ProcPatch>
314 const globalIndex& globalNumbering
The class contains the addressing required by the lduMatrix: upper, lower and losort.
List< label > labelList
A List of labels.
virtual bool hasDb() const
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
virtual lduInterfacePtrsList & interfaces()
List< lduScheduleEntry > lduSchedule
static void gather(const label comm, const lduMesh &mesh, const labelList &procIDs, PtrList< lduPrimitiveMesh > &otherMeshes)
void addInterfaces(lduInterfacePtrsList &interfaces, const lduSchedule &ps)
virtual const lduSchedule & patchSchedule() const
static labelListList globalCellCells(const lduMesh &mesh, const globalIndex &globalNumbering)
virtual const labelUList & patchAddr(const label i) const
virtual const labelUList & upperAddr() const
static labelList upperTriOrder(const label nCells, const labelUList &lower, const labelUList &upper)
static void checkUpperTriangular(const label size, const labelUList &l, const labelUList &u)
virtual labelList & lowerAddr()
virtual lduAddressing & lduAddr()
PtrList< const lduInterface > & primitiveInterfaces()
virtual lduInterfacePtrsList interfaces() const
string lower(const std::string &s)
virtual label comm() const
static lduSchedule nonBlockingSchedule(const lduInterfacePtrsList &)
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
virtual const labelUList & lowerAddr() const
ClassName("lduPrimitiveMesh")
virtual const lduAddressing & lduAddr() const
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
static const lduMesh & mesh(const lduMesh &mesh0, const PtrList< lduPrimitiveMesh > &otherMeshes, const label meshI)
Simplest concrete lduMesh that stores the addressing needed by lduMatrix.
List< labelList > labelListList
A List of labelList.
virtual labelList & upperAddr()
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
virtual ~lduPrimitiveMesh()=default
string upper(const std::string &s)
UList< label > labelUList
A UList of labels.
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
UPtrList< const lduInterface > lduInterfacePtrsList
List of coupled interface fields to be used in coupling.
const lduInterfacePtrsList & rawInterfaces() const