38 #ifndef Foam_lduPrimitiveMesh_H 39 #define Foam_lduPrimitiveMesh_H 85 label findConnectedInterface
193 virtual bool hasDb()
const 227 return primitiveInterfaces_;
271 return interfaces_[i].faceCells();
277 return patchSchedule_;
295 const label agglomComm,
301 template<
class ProcPatch>
void addInterfaces(lduInterfacePtrsList &interfaces, const lduSchedule &ps)
Add interfaces to a mesh constructed without.
virtual ~lduPrimitiveMesh()=default
Destructor.
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.
string upper(const std::string &s)
Return string copy transformed with std::toupper on each character.
PtrList< const lduInterface > & primitiveInterfaces()
Return a non-const list of primitive interfaces.
List< lduScheduleEntry > lduSchedule
A List of lduSchedule entries.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
virtual bool hasDb() const
Return true if thisDb() is a valid DB.
label size() const noexcept
Return number of equations.
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 concrete lduMesh that 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].
static void gather(const label agglomComm, const lduMesh &mesh, PtrList< lduPrimitiveMesh > &otherMeshes)
Gather meshes from other processors using agglomComm.
virtual const lduSchedule & patchSchedule() const
Return patch evaluation schedule.
string lower(const std::string &s)
Return string copy transformed with std::tolower on each character.
static void checkUpperTriangular(const label size, const labelUList &l, const labelUList &u)
Check if in upper-triangular ordering.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
static labelListList globalCellCells(const lduMesh &mesh, const globalIndex &globalNumbering)
Calculate global cell-cells.
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 with only those pointing to interfaces being set...
static labelList upperTriOrder(const label nCells, const labelUList &lower, const labelUList &upper)
Calculate upper-triangular order.
virtual const labelUList & patchAddr(const label i) const
Return patch addressing.