Loading...
Searching...
No Matches
processorGAMGInterface Class Reference

GAMG agglomerated processor interface. More...

#include <processorGAMGInterface.H>

Inheritance diagram for processorGAMGInterface:
Collaboration diagram for processorGAMGInterface:

Public Member Functions

 TypeName ("processor")
 Runtime type information.
 processorGAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, const lduInterface &fineInterface, const labelField &restrictAddressing, const labelField &neighbourRestrictAddressing, const label fineLevelIndex, const label coarseComm)
 Construct from fine-level interface, local and neighbour restrict addressing.
 processorGAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, const labelUList &faceCells, const labelUList &faceRestrictAddresssing, const label coarseComm, const label myProcNo, const label neighbProcNo, const tensorField &forwardT, const int tag)
 Construct from components.
 processorGAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 Construct from Istream.
virtual ~processorGAMGInterface ()=default
 Destructor.
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Initialise neighbour field transfer.
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const
 Initialise neighbour field transfer using faceCells mapping.
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Transfer and return internal field adjacent to the interface.
virtual label comm () const
 Processor interface functions.
virtual int myProcNo () const
 Return processor number (rank in communicator).
virtual int neighbProcNo () const
 Return neighbour processor number (rank in communicator).
virtual const tensorFieldforwardT () const
 Return face transformation tensor.
virtual int tag () const
 Return message tag used for sending.
virtual void write (Ostream &os) const
 Write to stream.
Public Member Functions inherited from GAMGInterface
 TypeName ("GAMGInterface")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, GAMGInterface, lduInterface,(const label index, const lduInterfacePtrsList &coarseInterfaces, const lduInterface &fineInterface, const labelField &localRestrictAddressing, const labelField &neighbourRestrictAddressing, const label fineLevelIndex, const label coarseComm),(index, coarseInterfaces, fineInterface, localRestrictAddressing, neighbourRestrictAddressing, fineLevelIndex, coarseComm))
 declareRunTimeSelectionTable (autoPtr, GAMGInterface, Istream,(const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is),(index, coarseInterfaces, is))
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces)
 Construct from interfaces, restrict addressing set later on.
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, const labelUList &faceCells, const labelUList &faceRestrictAddressing)
 Construct from interfaces and restrict addressing.
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 Construct from Istream.
virtual autoPtr< GAMGInterfaceclone (const label index, const lduInterfacePtrsList &coarseInterfaces, const labelList &interfaceMap, const labelUList &faceCells, const labelUList &faceRestrictAddresssing, const labelUList &faceOffsets, const lduInterfacePtrsList &allInterfaces, const label coarseComm, const label myProcNo, const labelList &procAgglomMap) const
 Construct by assembling and return a clone.
virtual label size () const
 Return size.
virtual label index () const
virtual const lduInterfacePtrsListcoarseInterfaces () const
virtual const labelUListfaceCells () const
 Return faceCell addressing.
virtual const labelListfaceRestrictAddressing () const
 Return (local)face restrict addressing.
virtual labelListfaceRestrictAddressing ()
 Return non-const access to face restrict addressing.
template<class Type>
tmp< Field< Type > > interfaceInternalField (const UList< Type > &internalData) const
 Return the interface internal field of the given field.
template<class Type>
tmp< Field< Type > > interfaceInternalField (const UList< Type > &internalData, const labelUList &faceCells) const
 Return the interface internal field of the given field using faceCell mapping.
template<class Type>
void interfaceInternalField (const UList< Type > &internalData, List< Type > &) const
 Get the interface internal field of the given field.
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const
 Return the values of the given internal data adjacent to.
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData, const labelUList &faceCells) const
 Return the values of the given internal data adjacent to the interface as a field using faceCell mapping.
void combine (const GAMGInterface &)
 Merge the next level with this level.
virtual tmp< scalarFieldagglomerateCoeffs (const scalarField &fineCoeffs) const
 Agglomerating the given fine-level coefficients and return.
template<class Type>
Foam::tmp< Foam::Field< Type > > interfaceInternalField (const UList< Type > &iF) const
template<class Type>
Foam::tmp< Foam::Field< Type > > interfaceInternalField (const UList< Type > &iF, const labelUList &faceCells) const
Public Member Functions inherited from lduInterface
 TypeNameNoDebug ("lduInterface")
 Runtime type information.
 lduInterface () noexcept=default
 Default construct.
virtual ~lduInterface ()=default
 Destructor.
Public Member Functions inherited from processorLduInterface
 TypeNameNoDebug ("processorLduInterface")
 Runtime type information.
 processorLduInterface () noexcept=default
 Default construct.
virtual ~processorLduInterface ()=default
 Destructor.
template<class Type>
void send (const UPstream::commsTypes commsType, const UList< Type > &f) const
 Raw send function.
template<class Type>
void receive (const UPstream::commsTypes commsType, UList< Type > &f) const
 Raw receive function.
template<class Type>
tmp< Field< Type > > receive (const UPstream::commsTypes commsType, const label size) const
 Raw receive function returning field.
template<class Type>
void compressedSend (const UPstream::commsTypes commsType, const UList< Type > &f) const
 Raw send function with data compression.
template<class Type>
void compressedReceive (const UPstream::commsTypes commsType, UList< Type > &f) const
 Raw receive function with data compression.
template<class Type>
tmp< Field< Type > > compressedReceive (const UPstream::commsTypes commsType, const label size) const
 Raw receive function with data compression returning field.
template<class Type>
Foam::tmp< Foam::Field< Type > > receive (const UPstream::commsTypes commsType, const label size) const
template<class Type>
Foam::tmp< Foam::Field< Type > > compressedReceive (const UPstream::commsTypes commsType, const label size) const

Additional Inherited Members

Static Public Member Functions inherited from GAMGInterface
static autoPtr< GAMGInterfaceNew (const label index, const lduInterfacePtrsList &coarseInterfaces, const lduInterface &fineInterface, const labelField &localRestrictAddressing, const labelField &neighbourRestrictAddressing, const label fineLevelIndex, const label coarseComm)
 Return a pointer to a new interface created on freestore given.
static autoPtr< GAMGInterfaceNew (const word &coupleType, const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 Return a pointer to a new interface created on freestore given.
Protected Member Functions inherited from GAMGInterface
 GAMGInterface (const GAMGInterface &)=delete
 No copy construct.
void operator= (const GAMGInterface &)=delete
 No copy assignment.
Protected Attributes inherited from GAMGInterface
const label index_
 My index in coarseInterfaces.
const lduInterfacePtrsListcoarseInterfaces_
 All interfaces.
labelList faceCells_
 Face-cell addressing.
labelList faceRestrictAddressing_
 Face restrict addressing.

Detailed Description

GAMG agglomerated processor interface.

Source files

Definition at line 48 of file processorGAMGInterface.H.

Constructor & Destructor Documentation

◆ processorGAMGInterface() [1/3]

processorGAMGInterface ( const label index,
const lduInterfacePtrsList & coarseInterfaces,
const lduInterface & fineInterface,
const labelField & restrictAddressing,
const labelField & neighbourRestrictAddressing,
const label fineLevelIndex,
const label coarseComm )

◆ processorGAMGInterface() [2/3]

processorGAMGInterface ( const label index,
const lduInterfacePtrsList & coarseInterfaces,
const labelUList & faceCells,
const labelUList & faceRestrictAddresssing,
const label coarseComm,
const label myProcNo,
const label neighbProcNo,
const tensorField & forwardT,
const int tag )

Construct from components.

Definition at line 131 of file processorGAMGInterface.C.

References GAMGInterface::coarseInterfaces(), GAMGInterface::faceCells(), forwardT(), GAMGInterface::GAMGInterface(), GAMGInterface::index(), myProcNo(), neighbProcNo(), and tag().

Here is the call graph for this function:

◆ processorGAMGInterface() [3/3]

processorGAMGInterface ( const label index,
const lduInterfacePtrsList & coarseInterfaces,
Istream & is )

Construct from Istream.

Definition at line 159 of file processorGAMGInterface.C.

References GAMGInterface::coarseInterfaces(), GAMGInterface::GAMGInterface(), GAMGInterface::index(), and Foam::readLabel().

Here is the call graph for this function:

◆ ~processorGAMGInterface()

virtual ~processorGAMGInterface ( )
virtualdefault

Destructor.

References GAMGInterface::faceCells().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "processor" )

Runtime type information.

References GAMGInterface::coarseInterfaces(), GAMGInterface::faceCells(), forwardT(), GAMGInterface::index(), myProcNo(), neighbProcNo(), and tag().

Here is the call graph for this function:

◆ initInternalFieldTransfer() [1/2]

void initInternalFieldTransfer ( const Pstream::commsTypes commsType,
const labelUList & iF ) const
virtual

Initialise neighbour field transfer.

Reimplemented from lduInterface.

Definition at line 177 of file processorGAMGInterface.C.

References GAMGInterface::interfaceInternalField(), and processorLduInterface::send().

Here is the call graph for this function:

◆ initInternalFieldTransfer() [2/2]

void initInternalFieldTransfer ( const Pstream::commsTypes commsType,
const labelUList & iF,
const labelUList & faceCells ) const
virtual

Initialise neighbour field transfer using faceCells mapping.

Reimplemented from lduInterface.

Definition at line 187 of file processorGAMGInterface.C.

References GAMGInterface::faceCells(), GAMGInterface::interfaceInternalField(), and processorLduInterface::send().

Here is the call graph for this function:

◆ internalFieldTransfer()

Foam::tmp< Foam::labelField > internalFieldTransfer ( const Pstream::commsTypes commsType,
const labelUList & iF ) const
virtual

Transfer and return internal field adjacent to the interface.

Implements lduInterface.

Definition at line 198 of file processorGAMGInterface.C.

References processorLduInterface::receive(), and GAMGInterface::size().

Here is the call graph for this function:

◆ comm()

virtual label comm ( ) const
inlinevirtual

Processor interface functions.

Return communicator used for sending

Implements processorLduInterface.

Definition at line 192 of file processorGAMGInterface.H.

◆ myProcNo()

virtual int myProcNo ( ) const
inlinevirtual

Return processor number (rank in communicator).

Implements processorLduInterface.

Definition at line 200 of file processorGAMGInterface.H.

Referenced by processorGAMGInterface(), processorGAMGInterface(), and TypeName().

Here is the caller graph for this function:

◆ neighbProcNo()

virtual int neighbProcNo ( ) const
inlinevirtual

Return neighbour processor number (rank in communicator).

Implements processorLduInterface.

Definition at line 208 of file processorGAMGInterface.H.

Referenced by processorGAMGInterface(), processorGAMGInterface(), and TypeName().

Here is the caller graph for this function:

◆ forwardT()

virtual const tensorField & forwardT ( ) const
inlinevirtual

Return face transformation tensor.

Implements processorLduInterface.

Definition at line 216 of file processorGAMGInterface.H.

Referenced by processorGAMGInterface(), processorGAMGInterface(), and TypeName().

Here is the caller graph for this function:

◆ tag()

virtual int tag ( ) const
inlinevirtual

Return message tag used for sending.

Implements processorLduInterface.

Definition at line 224 of file processorGAMGInterface.H.

Referenced by processorGAMGInterface(), processorGAMGInterface(), and TypeName().

Here is the caller graph for this function:

◆ write()

void write ( Ostream & os) const
virtual

Write to stream.

Implements GAMGInterface.

Definition at line 210 of file processorGAMGInterface.C.

References os(), token::SPACE, and GAMGInterface::write().

Here is the call graph for this function:

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