35 #ifndef lduPrimitiveMesh_H 36 #define lduPrimitiveMesh_H 90 static void checkUpperTriangular
228 return interfaces_[i].faceCells();
234 return patchSchedule_;
259 template<
class ProcPatch>
void operator=(const lduPrimitiveMesh &)=delete
Disallow default bitwise assignment.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void addInterfaces(lduInterfacePtrsList &interfaces, const lduSchedule &ps)
Add interfaces to a mesh constructed without.
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
virtual const labelUList & lowerAddr() const
Return Lower addressing.
ClassName("lduPrimitiveMesh")
virtual const labelUList & upperAddr() const
Return Upper addressing.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
lduPrimitiveMesh(const label nCells, labelList &l, labelList &u, const label comm, bool reuse)
Construct from components but without interfaces. Add interfaces.
virtual label comm() const
Return communicator used for parallel communication.
virtual const lduAddressing & lduAddr() const
Return ldu addressing.
static lduSchedule nonBlockingSchedule(const lduInterfacePtrsList &)
Get non-scheduled send/receive schedule.
Simplest contrete lduMesh which stores the addressing needed by lduMatrix.
static const lduMesh & mesh(const lduMesh &mesh0, const PtrList< lduPrimitiveMesh > &otherMeshes, const label meshI)
Select either mesh0 (meshI is 0) or otherMeshes[meshI-1].
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
virtual const lduSchedule & patchSchedule() const
Return patch evaluation schedule.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
static void gather(const label comm, const lduMesh &mesh, const labelList &procIDs, PtrList< lduPrimitiveMesh > &otherMeshes)
Gather meshes from other processors onto procIDs[0].
The class contains the addressing required by the lduMatrix: upper, lower and losort.
const lduInterfacePtrsList & rawInterfaces() const
Return a list of pointers for each patch.
virtual lduInterfacePtrsList interfaces() const
Return a list of pointers for each patch.
virtual ~lduPrimitiveMesh()
Destructor.
label size() const
Return number of equations.
virtual const labelUList & patchAddr(const label i) const
Return patch addressing.