An abstract base class for processor coupled interfaces. More...
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 tensorField & | forwardT () 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... | |
An abstract base class for processor coupled interfaces.
Definition at line 50 of file processorLduInterface.H.
Construct null.
Definition at line 53 of file processorLduInterface.C.
|
virtual |
Destructor.
Definition at line 62 of file processorLduInterface.C.
Resize the buffer if required.
Definition at line 39 of file processorLduInterface.C.
References List::setSize(), and List::size().
TypeName | ( | "processorLduInterface" | ) |
Runtime type information.
|
pure virtual |
Return communicator used for parallel communication.
Implemented in processorGAMGInterface, and processorFvPatch.
Referenced by procLduInterface::procLduInterface().
|
pure virtual |
Return processor number (rank in communicator)
Implemented in processorGAMGInterface, and processorFvPatch.
Referenced by MGridGenGAMGAgglomeration::getNbrAgglom(), lduPrimitiveMesh::lduPrimitiveMesh(), and procLduInterface::procLduInterface().
|
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().
|
pure virtual |
Return face transformation tensor.
Implemented in processorGAMGInterface, processorFvPatch, and processorCyclicFvPatch.
|
pure virtual |
Return message tag used for sending.
Implemented in processorGAMGInterface, processorFvPatch, and processorCyclicFvPatch.
Referenced by procLduInterface::procLduInterface().
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().
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().
tmp<Field<Type> > receive | ( | const Pstream::commsTypes | commsType, |
const label | size | ||
) | const |
Raw field receive function returning field.
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().
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().
tmp<Field<Type> > compressedReceive | ( | const Pstream::commsTypes | commsType, |
const label | size | ||
) | const |
Raw field receive function with data compression returning field.
Foam::tmp<Foam::Field<Type> > receive | ( | const Pstream::commsTypes | commsType, |
const label | size | ||
) | const |
Definition at line 123 of file processorLduInterfaceTemplates.C.
References tf.
Foam::tmp<Foam::Field<Type> > compressedReceive | ( | const Pstream::commsTypes | commsType, |
const label | size | ||
) | const |
Definition at line 265 of file processorLduInterfaceTemplates.C.
References tf.
|
mutableprivate |
Send buffer.
Only sized and used when compressed or non-blocking comms used.
Definition at line 56 of file processorLduInterface.H.
|
mutableprivate |
Receive buffer.
Only sized and used when compressed or non-blocking comms used.
Definition at line 60 of file processorLduInterface.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.