Go to the documentation of this file.
35 #ifndef lduPrimitiveMesh_H
36 #define lduPrimitiveMesh_H
261 template<
class ProcPatch>
The class contains the addressing required by the lduMatrix: upper, lower and losort.
virtual ~lduPrimitiveMesh()
Destructor.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
static void gather(const label comm, const lduMesh &mesh, const labelList &procIDs, PtrList< lduPrimitiveMesh > &otherMeshes)
Gather meshes from other processors onto procIDs[0].
void addInterfaces(lduInterfacePtrsList &interfaces, const lduSchedule &ps)
Add interfaces to a mesh constructed without.
virtual const lduSchedule & patchSchedule() const
Return patch evaluation schedule.
virtual const labelUList & patchAddr(const label i) const
Return patch addressing.
virtual const labelUList & upperAddr() const
Return Upper addressing.
static labelList upperTriOrder(const label nCells, const labelUList &lower, const labelUList &upper)
static void checkUpperTriangular(const label size, const labelUList &l, const labelUList &u)
Check if in upper-triangular ordering.
label size() const
Return number of equations.
virtual lduInterfacePtrsList interfaces() const
Return a list of pointers for each patch.
labelList lowerAddr_
Lower addressing.
labelList upperAddr_
Upper addressing.
void operator=(const lduPrimitiveMesh &)
Disallow default bitwise assignment.
virtual label comm() const
Return communicator used for parallel communication.
static lduSchedule nonBlockingSchedule(const lduInterfacePtrsList &)
Get non-scheduled send/receive schedule.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
PtrList< const lduInterface > primitiveInterfaces_
Concrete interfaces.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
const label comm_
Communicator to use for any parallel communication.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
virtual const labelUList & lowerAddr() const
Return Lower addressing.
ClassName("lduPrimitiveMesh")
virtual const lduAddressing & lduAddr() const
Return ldu addressing.
static const lduMesh & mesh(const lduMesh &mesh0, const PtrList< lduPrimitiveMesh > &otherMeshes, const label meshI)
Select either mesh0 (meshI is 0) or otherMeshes[meshI-1].
Simplest contrete lduMesh which stores the addressing needed by lduMatrix.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static label totalSize(const PtrList< lduPrimitiveMesh > &)
Get size of all meshes.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
lduInterfacePtrsList interfaces_
List of pointers for each patch.
lduPrimitiveMesh(const lduPrimitiveMesh &)
Disallow default bitwise copy construct.
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
Return a list of pointers for each patch.
lduSchedule patchSchedule_
Patch field evaluation schedule.