cyclicAMIGAMGInterface Class Reference

GAMG agglomerated cyclic AMI interface. More...

Inheritance diagram for cyclicAMIGAMGInterface:
Collaboration diagram for cyclicAMIGAMGInterface:

Public Member Functions

 TypeName ("cyclicAMI")
 Runtime type information. More...
 
 cyclicAMIGAMGInterface (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. More...
 
 cyclicAMIGAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 Construct from Istream. More...
 
 cyclicAMIGAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, const lduInterface &fineInterface, const labelList &interfaceMap, const labelUList &faceCells, const labelUList &faceRestrictAddresssing, const labelUList &faceOffsets, const lduInterfacePtrsList &allInterfaces, const label coarseComm, const label myProcNo, const labelList &procAgglomMap)
 Construct from fine level interface, local and neighbour restrict addressing. More...
 
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 returning a clone. More...
 
virtual ~cyclicAMIGAMGInterface ()=default
 Destructor. More...
 
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Transfer and return internal field adjacent to the interface. More...
 
virtual label neighbPatchID () const
 Cyclic interface functions. More...
 
virtual bool owner () const
 
virtual const cyclicAMIGAMGInterfaceneighbPatch () const
 Return processor number. More...
 
virtual const AMIPatchToPatchInterpolationAMI () const
 
virtual const tensorFieldforwardT () const
 Return face transformation tensor. More...
 
virtual const tensorFieldreverseT () const
 Return neighbour-cell transformation tensor. More...
 
virtual void write (Ostream &) const
 Write to stream. More...
 
- Public Member Functions inherited from GAMGInterface
 TypeName ("GAMGInterface")
 Runtime type information. More...
 
 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. More...
 
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, const labelUList &faceCells, const labelUList &faceRestrictAddressing)
 Construct from interfaces and restrict addressing. More...
 
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 Construct from Istream. More...
 
virtual label size () const
 Return size. More...
 
virtual label index () const
 
virtual const lduInterfacePtrsListcoarseInterfaces () const
 
virtual const labelUListfaceCells () const
 Return faceCell addressing. More...
 
virtual const labelListfaceRestrictAddressing () const
 Return (local)face restrict addressing. More...
 
virtual labelListfaceRestrictAddressing ()
 Return non-const access to face restrict addressing. More...
 
template<class Type >
tmp< Field< Type > > interfaceInternalField (const UList< Type > &internalData) const
 Return the interface internal field of the given field. More...
 
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. More...
 
template<class Type >
void interfaceInternalField (const UList< Type > &internalData, List< Type > &) const
 Get the interface internal field of the given field. More...
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const
 Return the values of the given internal data adjacent to. More...
 
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. More...
 
void combine (const GAMGInterface &)
 Merge the next level with this level. More...
 
virtual tmp< scalarFieldagglomerateCoeffs (const scalarField &fineCoeffs) const
 Agglomerating the given fine-level coefficients and return. More...
 
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. More...
 
 lduInterface () noexcept=default
 Default construct. More...
 
virtual ~lduInterface ()=default
 Destructor. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Initialise transfer of internal field adjacent to the interface. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const
 Initialise transfer of internal field adjacent to the interface using faceCells mapping. More...
 
- Public Member Functions inherited from cyclicAMILduInterface
 TypeNameNoDebug ("cyclicAMILduInterface")
 Runtime type information. More...
 
 cyclicAMILduInterface () noexcept=default
 Default construct. More...
 
virtual ~cyclicAMILduInterface ()=default
 Destructor. More...
 

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. More...
 
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. More...
 
- Protected Member Functions inherited from GAMGInterface
 GAMGInterface (const GAMGInterface &)=delete
 No copy construct. More...
 
void operator= (const GAMGInterface &)=delete
 No copy assignment. More...
 
- Protected Attributes inherited from GAMGInterface
const label index_
 My index in coarseInterfaces. More...
 
const lduInterfacePtrsListcoarseInterfaces_
 All interfaces. More...
 
labelList faceCells_
 Face-cell addressing. More...
 
labelList faceRestrictAddressing_
 Face restrict addressing. More...
 

Detailed Description

GAMG agglomerated cyclic AMI interface.

Source files

Definition at line 48 of file cyclicAMIGAMGInterface.H.

Constructor & Destructor Documentation

◆ cyclicAMIGAMGInterface() [1/3]

cyclicAMIGAMGInterface ( 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.

Definition at line 50 of file cyclicAMIGAMGInterface.C.

References HashTable< T, Key, Hash >::cfind(), Foam::ensightOutput::debug, Foam::endl(), lduInterface::faceCells(), Foam::flatOutput(), forAll, Foam::identity(), Foam::Pout, UList< T >::size(), and List< T >::transfer().

Here is the call graph for this function:

◆ cyclicAMIGAMGInterface() [2/3]

cyclicAMIGAMGInterface ( const label  index,
const lduInterfacePtrsList coarseInterfaces,
Istream is 
)

Construct from Istream.

Definition at line 300 of file cyclicAMIGAMGInterface.C.

References Foam::readBool().

Here is the call graph for this function:

◆ cyclicAMIGAMGInterface() [3/3]

cyclicAMIGAMGInterface ( const label  index,
const lduInterfacePtrsList coarseInterfaces,
const lduInterface fineInterface,
const labelList interfaceMap,
const labelUList faceCells,
const labelUList faceRestrictAddresssing,
const labelUList faceOffsets,
const lduInterfacePtrsList allInterfaces,
const label  coarseComm,
const label  myProcNo,
const labelList procAgglomMap 
)

◆ ~cyclicAMIGAMGInterface()

virtual ~cyclicAMIGAMGInterface ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "cyclicAMI"  )

Runtime type information.

◆ clone()

virtual autoPtr<GAMGInterface> clone ( 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
inlinevirtual

Construct by assembling and returning a clone.

Reimplemented from GAMGInterface.

Definition at line 140 of file cyclicAMIGAMGInterface.H.

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

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 935 of file cyclicAMIGAMGInterface.C.

References GAMGInterface::faceCells(), forAll, Foam::New(), and UList< T >::size().

Here is the call graph for this function:

◆ neighbPatchID()

virtual label neighbPatchID ( ) const
inlinevirtual

Cyclic interface functions.

Return neighbour processor number

Implements cyclicAMILduInterface.

Definition at line 200 of file cyclicAMIGAMGInterface.H.

Referenced by cyclicAMIGAMGInterface::neighbPatch().

Here is the caller graph for this function:

◆ owner()

virtual bool owner ( ) const
inlinevirtual

Implements cyclicAMILduInterface.

Definition at line 205 of file cyclicAMIGAMGInterface.H.

◆ neighbPatch()

virtual const cyclicAMIGAMGInterface& neighbPatch ( ) const
inlinevirtual

Return processor number.

Implements cyclicAMILduInterface.

Definition at line 210 of file cyclicAMIGAMGInterface.H.

References GAMGInterface::coarseInterfaces_, and cyclicAMIGAMGInterface::neighbPatchID().

Here is the call graph for this function:

◆ AMI()

virtual const AMIPatchToPatchInterpolation& AMI ( ) const
inlinevirtual

Implements cyclicAMILduInterface.

Definition at line 218 of file cyclicAMIGAMGInterface.H.

Referenced by cyclicAMIGAMGInterface::write().

Here is the caller graph for this function:

◆ forwardT()

virtual const tensorField& forwardT ( ) const
inlinevirtual

Return face transformation tensor.

Implements cyclicAMILduInterface.

Definition at line 226 of file cyclicAMIGAMGInterface.H.

Referenced by cyclicAMIGAMGInterfaceField::forwardT().

Here is the caller graph for this function:

◆ reverseT()

virtual const tensorField& reverseT ( ) const
inlinevirtual

Return neighbour-cell transformation tensor.

Implements cyclicAMILduInterface.

Definition at line 234 of file cyclicAMIGAMGInterface.H.

Referenced by cyclicAMIGAMGInterfaceField::reverseT().

Here is the caller graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write to stream.

Implements GAMGInterface.

Definition at line 956 of file cyclicAMIGAMGInterface.C.

References cyclicAMIGAMGInterface::AMI(), os(), token::SPACE, GAMGInterface::write(), and AMIInterpolation::writeData().

Here is the call graph for this function:

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