Go to the documentation of this file.
38 #ifndef lduPrimitiveMesh_H
39 #define lduPrimitiveMesh_H
178 virtual bool hasDb()
const
205 virtual label
comm()
const
225 return interfaces_[i].faceCells();
231 return patchSchedule_;
256 template<
class ProcPatch>
The class contains the addressing required by the lduMatrix: upper, lower and losort.
virtual bool hasDb() const
Return true if thisDb() is a valid DB.
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)
Calculate upper-triangular order.
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.
string lower(const std::string &s)
Return string copy transformed with std::tolower on each character.
virtual label comm() const
Return communicator used for parallel communication.
static lduSchedule nonBlockingSchedule(const lduInterfacePtrsList &)
Get non-scheduled send/receive schedule.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
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.
virtual ~lduPrimitiveMesh()=default
Destructor.
string upper(const std::string &s)
Return string copy transformed with std::toupper on each character.
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.