Public Member Functions | Static Public Member Functions | List of all members
lduPrimitiveMesh Class Reference

Simplest concrete lduMesh that stores the addressing needed by lduMatrix. More...

Inheritance diagram for lduPrimitiveMesh:
Inheritance graph
[legend]
Collaboration diagram for lduPrimitiveMesh:
Collaboration graph
[legend]

Public Member Functions

 ClassName ("lduPrimitiveMesh")
 
 lduPrimitiveMesh (const label nCells)
 
 lduPrimitiveMesh (const label nCells, labelList &l, labelList &u, const label comm, bool reuse)
 
void addInterfaces (lduInterfacePtrsList &interfaces, const lduSchedule &ps)
 
 lduPrimitiveMesh (const label nCells, labelList &l, labelList &u, PtrList< const lduInterface > &primitiveInterfaces, const lduSchedule &ps, const label comm)
 
 lduPrimitiveMesh (const label comm, const labelList &procAgglomMap, const labelList &procIDs, const lduMesh &myMesh, const PtrList< lduPrimitiveMesh > &otherMeshes, labelList &cellOffsets, labelList &faceOffsets, labelListList &faceMap, labelListList &boundaryMap, labelListListList &boundaryFaceMap)
 
virtual ~lduPrimitiveMesh ()=default
 
virtual bool hasDb () const
 
virtual const lduAddressinglduAddr () const
 
virtual lduAddressinglduAddr ()
 
virtual lduInterfacePtrsList interfaces () const
 
virtual lduInterfacePtrsListinterfaces ()
 
PtrList< const lduInterface > & primitiveInterfaces ()
 
const lduInterfacePtrsListrawInterfaces () const
 
virtual label comm () const
 
virtual const labelUListlowerAddr () const
 
virtual const labelUListupperAddr () const
 
virtual labelListlowerAddr ()
 
virtual labelListupperAddr ()
 
virtual const labelUListpatchAddr (const label i) const
 
virtual const lduSchedulepatchSchedule () const
 
template<class ProcPatch >
Foam::lduSchedule nonBlockingSchedule (const lduInterfacePtrsList &interfaces)
 
- Public Member Functions inherited from lduMesh
 TypeName ("lduMesh")
 
virtual ~lduMesh ()=default
 
virtual const objectRegistrythisDb () const
 
template<class T , class BinaryOp >
void reduce (T &Value, const BinaryOp &bop) const
 
InfoProxy< lduMeshinfo () const
 
- Public Member Functions inherited from lduAddressing
 lduAddressing (const label nEqns)
 
virtual ~lduAddressing ()
 
label size () const
 
void clearOut ()
 
const labelUListlosortAddr () const
 
const labelUListownerStartAddr () const
 
const labelUListlosortStartAddr () const
 
label triIndex (const label a, const label b) const
 
Tuple2< label, scalar > band () const
 

Static Public Member Functions

static const lduMeshmesh (const lduMesh &mesh0, const PtrList< lduPrimitiveMesh > &otherMeshes, const label meshI)
 
static void gather (const label comm, const lduMesh &mesh, const labelList &procIDs, PtrList< lduPrimitiveMesh > &otherMeshes)
 
template<class ProcPatch >
static lduSchedule nonBlockingSchedule (const lduInterfacePtrsList &)
 
static labelList upperTriOrder (const label nCells, const labelUList &lower, const labelUList &upper)
 
static void checkUpperTriangular (const label size, const labelUList &l, const labelUList &u)
 
static labelListList globalCellCells (const lduMesh &mesh, const globalIndex &globalNumbering)
 

Detailed Description

Simplest concrete lduMesh that stores the addressing needed by lduMatrix.

Source files

Definition at line 48 of file lduPrimitiveMesh.H.

Constructor & Destructor Documentation

◆ lduPrimitiveMesh() [1/4]

lduPrimitiveMesh ( const label  nCells)
explicit

Definition at line 363 of file lduPrimitiveMesh.C.

◆ lduPrimitiveMesh() [2/4]

lduPrimitiveMesh ( const label  nCells,
labelList l,
labelList u,
const label  comm,
bool  reuse 
)

Definition at line 327 of file lduPrimitiveMesh.C.

◆ lduPrimitiveMesh() [3/4]

lduPrimitiveMesh ( const label  nCells,
labelList l,
labelList u,
PtrList< const lduInterface > &  primitiveInterfaces,
const lduSchedule ps,
const label  comm 
)

Definition at line 373 of file lduPrimitiveMesh.C.

References forAll.

◆ lduPrimitiveMesh() [4/4]

lduPrimitiveMesh ( const label  comm,
const labelList procAgglomMap,
const labelList procIDs,
const lduMesh myMesh,
const PtrList< lduPrimitiveMesh > &  otherMeshes,
labelList cellOffsets,
labelList faceOffsets,
labelListList faceMap,
labelListList boundaryMap,
labelListListList boundaryFaceMap 
)

◆ ~lduPrimitiveMesh()

virtual ~lduPrimitiveMesh ( )
virtualdefault

Member Function Documentation

◆ ClassName()

ClassName ( "lduPrimitiveMesh"  )

◆ addInterfaces()

void addInterfaces ( lduInterfacePtrsList interfaces,
const lduSchedule ps 
)

Definition at line 342 of file lduPrimitiveMesh.C.

References forAll, and List::setSize().

Here is the call graph for this function:

◆ hasDb()

virtual bool hasDb ( ) const
inlinevirtual

Implements lduMesh.

Reimplemented in lduPrimitiveMeshAssembly.

Definition at line 177 of file lduPrimitiveMesh.H.

◆ lduAddr() [1/2]

virtual const lduAddressing& lduAddr ( ) const
inlinevirtual

Implements lduMesh.

Definition at line 183 of file lduPrimitiveMesh.H.

Referenced by fvMatrix< Type >::createOrUpdateLduPrimitiveAssembly().

Here is the caller graph for this function:

◆ lduAddr() [2/2]

virtual lduAddressing& lduAddr ( )
inlinevirtual

Definition at line 189 of file lduPrimitiveMesh.H.

◆ interfaces() [1/2]

virtual lduInterfacePtrsList interfaces ( ) const
inlinevirtual

Implements lduMesh.

Definition at line 196 of file lduPrimitiveMesh.H.

◆ interfaces() [2/2]

virtual lduInterfacePtrsList& interfaces ( )
inlinevirtual

Definition at line 203 of file lduPrimitiveMesh.H.

◆ primitiveInterfaces()

PtrList<const lduInterface>& primitiveInterfaces ( )
inline

Definition at line 209 of file lduPrimitiveMesh.H.

◆ rawInterfaces()

const lduInterfacePtrsList& rawInterfaces ( ) const
inline

Definition at line 217 of file lduPrimitiveMesh.H.

◆ comm()

virtual label comm ( ) const
inlinevirtual

Implements lduMesh.

Definition at line 223 of file lduPrimitiveMesh.H.

◆ lowerAddr() [1/2]

virtual const labelUList& lowerAddr ( ) const
inlinevirtual

Implements lduAddressing.

Definition at line 229 of file lduPrimitiveMesh.H.

◆ upperAddr() [1/2]

virtual const labelUList& upperAddr ( ) const
inlinevirtual

Implements lduAddressing.

Definition at line 235 of file lduPrimitiveMesh.H.

◆ lowerAddr() [2/2]

virtual labelList& lowerAddr ( )
inlinevirtual

Definition at line 241 of file lduPrimitiveMesh.H.

◆ upperAddr() [2/2]

virtual labelList& upperAddr ( )
inlinevirtual

Definition at line 247 of file lduPrimitiveMesh.H.

◆ patchAddr()

virtual const labelUList& patchAddr ( const label  i) const
inlinevirtual

Implements lduAddressing.

Reimplemented in lduPrimitiveMeshAssembly.

Definition at line 253 of file lduPrimitiveMesh.H.

◆ patchSchedule()

virtual const lduSchedule& patchSchedule ( ) const
inlinevirtual

Implements lduAddressing.

Definition at line 259 of file lduPrimitiveMesh.H.

◆ mesh()

const Foam::lduMesh & mesh ( const lduMesh mesh0,
const PtrList< lduPrimitiveMesh > &  otherMeshes,
const label  meshI 
)
static

Definition at line 1065 of file lduPrimitiveMesh.C.

Referenced by fvMatrix< Type >::lduMeshPtr().

Here is the caller graph for this function:

◆ gather()

void gather ( const label  comm,
const lduMesh mesh,
const labelList procIDs,
PtrList< lduPrimitiveMesh > &  otherMeshes 
)
static

◆ nonBlockingSchedule() [1/2]

static lduSchedule nonBlockingSchedule ( const lduInterfacePtrsList )
static

◆ upperTriOrder()

Foam::labelList upperTriOrder ( const label  nCells,
const labelUList lower,
const labelUList upper 
)
static

◆ checkUpperTriangular()

void checkUpperTriangular ( const label  size,
const labelUList l,
const labelUList u 
)
static

Definition at line 58 of file lduPrimitiveMesh.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and UList::size().

Here is the call graph for this function:

◆ globalCellCells()

Foam::labelListList globalCellCells ( const lduMesh mesh,
const globalIndex globalNumbering 
)
static

◆ nonBlockingSchedule() [2/2]

Foam::lduSchedule nonBlockingSchedule ( const lduInterfacePtrsList interfaces)

Definition at line 27 of file lduPrimitiveMeshTemplates.C.

References forAll, UPtrList::set(), and UPtrList::size().

Here is the call graph for this function:

The documentation for this class was generated from the following files: