Public Member Functions | Private Member Functions | Private Attributes
processorLduInterface Class Referenceabstract

An abstract base class for processor coupled interfaces. More...

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

Public Member Functions

 TypeName ("processorLduInterface")
 Runtime type information. More...
 
 processorLduInterface ()
 Construct null. More...
 
virtual ~processorLduInterface ()
 Destructor. More...
 
virtual label comm () const =0
 Return communicator used for parallel communication. More...
 
virtual int myProcNo () const =0
 Return processor number (rank in communicator) More...
 
virtual int neighbProcNo () const =0
 Return neigbour processor number (rank in communicator) More...
 
virtual const tensorFieldforwardT () const =0
 Return face transformation tensor. More...
 
virtual int tag () const =0
 Return message tag used for sending. More...
 
template<class Type >
void send (const Pstream::commsTypes commsType, const UList< Type > &) const
 Raw send function. More...
 
template<class Type >
void receive (const Pstream::commsTypes commsType, UList< Type > &) const
 Raw field receive function. More...
 
template<class Type >
tmp< Field< Type > > receive (const Pstream::commsTypes commsType, const label size) const
 Raw field receive function returning field. More...
 
template<class Type >
void compressedSend (const Pstream::commsTypes commsType, const UList< Type > &) const
 Raw field send function with data compression. More...
 
template<class Type >
void compressedReceive (const Pstream::commsTypes commsType, UList< Type > &) const
 Raw field receive function with data compression. More...
 
template<class Type >
tmp< Field< Type > > compressedReceive (const Pstream::commsTypes commsType, const label size) const
 Raw field receive function with data compression returning field. More...
 
template<class Type >
Foam::tmp< Foam::Field< Type > > receive (const Pstream::commsTypes commsType, const label size) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > compressedReceive (const Pstream::commsTypes commsType, const label size) const
 

Private Member Functions

void resizeBuf (List< char > &buf, const label size) const
 Resize the buffer if required. More...
 

Private Attributes

List< char > sendBuf_
 Send buffer. More...
 
List< char > receiveBuf_
 Receive buffer. More...
 

Detailed Description

An abstract base class for processor coupled interfaces.

Source files

Definition at line 50 of file processorLduInterface.H.

Constructor & Destructor Documentation

◆ processorLduInterface()

Construct null.

Definition at line 53 of file processorLduInterface.C.

◆ ~processorLduInterface()

~processorLduInterface ( )
virtual

Destructor.

Definition at line 62 of file processorLduInterface.C.

Member Function Documentation

◆ resizeBuf()

void resizeBuf ( List< char > &  buf,
const label  size 
) const
private

Resize the buffer if required.

Definition at line 39 of file processorLduInterface.C.

References List::setSize(), and List::size().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "processorLduInterface"  )

Runtime type information.

◆ comm()

virtual label comm ( ) const
pure virtual

Return communicator used for parallel communication.

Implemented in processorGAMGInterface, and processorFvPatch.

Referenced by procLduInterface::procLduInterface().

Here is the caller graph for this function:

◆ myProcNo()

virtual int myProcNo ( ) const
pure virtual

Return processor number (rank in communicator)

Implemented in processorGAMGInterface, and processorFvPatch.

Referenced by MGridGenGAMGAgglomeration::getNbrAgglom(), lduPrimitiveMesh::lduPrimitiveMesh(), and procLduInterface::procLduInterface().

Here is the caller graph for this function:

◆ neighbProcNo()

virtual int neighbProcNo ( ) const
pure virtual

Return neigbour processor number (rank in communicator)

Implemented in processorGAMGInterface, and processorFvPatch.

Referenced by MGridGenGAMGAgglomeration::getNbrAgglom(), lduPrimitiveMesh::lduPrimitiveMesh(), procLduInterface::procLduInterface(), and procFacesGAMGProcAgglomeration::singleCellMesh().

Here is the caller graph for this function:

◆ forwardT()

virtual const tensorField& forwardT ( ) const
pure virtual

Return face transformation tensor.

Implemented in processorGAMGInterface, processorFvPatch, and processorCyclicFvPatch.

◆ tag()

virtual int tag ( ) const
pure virtual

Return message tag used for sending.

Implemented in processorGAMGInterface, processorFvPatch, and processorCyclicFvPatch.

Referenced by procLduInterface::procLduInterface().

Here is the caller graph for this function:

◆ send()

void send ( const Pstream::commsTypes  commsType,
const UList< Type > &  f 
) const

Raw send function.

Definition at line 34 of file processorLduInterfaceTemplates.C.

References Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, Foam::read(), and write().

Here is the call graph for this function:

◆ receive() [1/3]

void receive ( const Pstream::commsTypes  commsType,
UList< Type > &  f 
) const

Raw field receive function.

Definition at line 91 of file processorLduInterfaceTemplates.C.

References Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, and Foam::read().

Here is the call graph for this function:

◆ receive() [2/3]

tmp<Field<Type> > receive ( const Pstream::commsTypes  commsType,
const label  size 
) const

Raw field receive function returning field.

◆ compressedSend()

void compressedSend ( const Pstream::commsTypes  commsType,
const UList< Type > &  f 
) const

Raw field send function with data compression.

Definition at line 136 of file processorLduInterfaceTemplates.C.

References Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, Foam::read(), and write().

Here is the call graph for this function:

◆ compressedReceive() [1/3]

void compressedReceive ( const Pstream::commsTypes  commsType,
UList< Type > &  f 
) const

Raw field receive function with data compression.

Definition at line 212 of file processorLduInterfaceTemplates.C.

References Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, and Foam::read().

Here is the call graph for this function:

◆ compressedReceive() [2/3]

tmp<Field<Type> > compressedReceive ( const Pstream::commsTypes  commsType,
const label  size 
) const

Raw field receive function with data compression returning field.

◆ receive() [3/3]

Foam::tmp<Foam::Field<Type> > receive ( const Pstream::commsTypes  commsType,
const label  size 
) const

Definition at line 123 of file processorLduInterfaceTemplates.C.

References tf.

◆ compressedReceive() [3/3]

Foam::tmp<Foam::Field<Type> > compressedReceive ( const Pstream::commsTypes  commsType,
const label  size 
) const

Definition at line 265 of file processorLduInterfaceTemplates.C.

References tf.

Field Documentation

◆ sendBuf_

List<char> sendBuf_
mutableprivate

Send buffer.

Only sized and used when compressed or non-blocking comms used.

Definition at line 56 of file processorLduInterface.H.

◆ receiveBuf_

List<char> receiveBuf_
mutableprivate

Receive buffer.

Only sized and used when compressed or non-blocking comms used.

Definition at line 60 of file processorLduInterface.H.


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