GAMGInterface Class Referenceabstract

Abstract base class for GAMG agglomerated interfaces. More...

Inheritance diagram for GAMGInterface:
[legend]
Collaboration diagram for GAMGInterface:
[legend]

Public Member Functions

 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
 
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
 
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...
 
virtual void write (Ostream &) const =0
 Write to stream. 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
 TypeName ("lduInterface")
 Runtime type information. More...
 
 lduInterface ()=default
 Construct null. 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
 
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const =0
 Transfer and return internal field adjacent to the interface. More...
 

Static Public Member Functions

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

 GAMGInterface (const GAMGInterface &)=delete
 No copy construct. More...
 
void operator= (const GAMGInterface &)=delete
 No copy assignment. More...
 

Protected Attributes

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

Abstract base class for GAMG agglomerated interfaces.

Source files

Definition at line 54 of file GAMGInterface.H.

Constructor & Destructor Documentation

◆ GAMGInterface() [1/4]

GAMGInterface ( const GAMGInterface )
protecteddelete

No copy construct.

◆ GAMGInterface() [2/4]

GAMGInterface ( const label  index,
const lduInterfacePtrsList coarseInterfaces 
)
inline

Construct from interfaces, restrict addressing set later on.

Definition at line 165 of file GAMGInterface.H.

◆ GAMGInterface() [3/4]

GAMGInterface ( const label  index,
const lduInterfacePtrsList coarseInterfaces,
const labelUList faceCells,
const labelUList faceRestrictAddressing 
)
inline

Construct from interfaces and restrict addressing.

Definition at line 177 of file GAMGInterface.H.

◆ GAMGInterface() [4/4]

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

Construct from Istream.

Definition at line 44 of file GAMGInterface.C.

Member Function Documentation

◆ operator=()

void operator= ( const GAMGInterface )
protecteddelete

No copy assignment.

◆ TypeName()

TypeName ( "GAMGInterface"  )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

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() [2/2]

declareRunTimeSelectionTable ( autoPtr  ,
GAMGInterface  ,
Istream  ,
(const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)  ,
(index, coarseInterfaces, is)   
)

◆ New() [1/2]

Foam::autoPtr< Foam::GAMGInterface > New ( const label  index,
const lduInterfacePtrsList coarseInterfaces,
const lduInterface fineInterface,
const labelField localRestrictAddressing,
const labelField neighbourRestrictAddressing,
const label  fineLevelIndex,
const label  coarseComm 
)
static

Return a pointer to a new interface created on freestore given.

the fine interface

Definition at line 37 of file GAMGInterfaceNew.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInLookup.

Referenced by lduPrimitiveMesh::gather().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ New() [2/2]

Foam::autoPtr< Foam::GAMGInterface > New ( const word coupleType,
const label  index,
const lduInterfacePtrsList coarseInterfaces,
Istream is 
)
static

Return a pointer to a new interface created on freestore given.

the fine interface

Definition at line 78 of file GAMGInterfaceNew.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInLookup.

Here is the call graph for this function:

◆ size()

virtual label size ( ) const
inlinevirtual

Return size.

Definition at line 205 of file GAMGInterface.H.

References GAMGInterface::faceCells_.

Referenced by cyclicGAMGInterfaceField::size(), cyclicAMIGAMGInterfaceField::size(), cyclicACMIGAMGInterfaceField::size(), calculatedProcessorGAMGInterfaceField::size(), and processorGAMGInterfaceField::size().

Here is the caller graph for this function:

◆ index()

virtual label index ( ) const
inlinevirtual

Definition at line 210 of file GAMGInterface.H.

References GAMGInterface::index_.

◆ coarseInterfaces()

virtual const lduInterfacePtrsList& coarseInterfaces ( ) const
inlinevirtual

Definition at line 215 of file GAMGInterface.H.

References GAMGInterface::coarseInterfaces_.

◆ faceCells()

virtual const labelUList& faceCells ( ) const
inlinevirtual

Return faceCell addressing.

Implements lduInterface.

Definition at line 221 of file GAMGInterface.H.

References GAMGInterface::faceCells_.

Referenced by cyclicACMIGAMGInterface::internalFieldTransfer(), cyclicAMIGAMGInterface::internalFieldTransfer(), and cyclicGAMGInterface::internalFieldTransfer().

Here is the caller graph for this function:

◆ faceRestrictAddressing() [1/2]

virtual const labelList& faceRestrictAddressing ( ) const
inlinevirtual

Return (local)face restrict addressing.

Definition at line 227 of file GAMGInterface.H.

References GAMGInterface::faceRestrictAddressing_.

◆ faceRestrictAddressing() [2/2]

virtual labelList& faceRestrictAddressing ( )
inlinevirtual

Return non-const access to face restrict addressing.

Definition at line 233 of file GAMGInterface.H.

References GAMGInterface::faceRestrictAddressing_.

◆ interfaceInternalField() [1/7]

tmp<Field<Type> > interfaceInternalField ( const UList< Type > &  internalData) const

Return the interface internal field of the given field.

◆ interfaceInternalField() [2/7]

tmp<Field<Type> > interfaceInternalField ( const UList< Type > &  internalData,
const labelUList faceCells 
) const

Return the interface internal field of the given field using faceCell mapping

◆ interfaceInternalField() [3/7]

void interfaceInternalField ( const UList< Type > &  internalData,
List< Type > &  result 
) const

Get the interface internal field of the given field.

Definition at line 65 of file GAMGInterfaceTemplates.C.

References forAll, and List< T >::resize().

Here is the call graph for this function:

◆ interfaceInternalField() [4/7]

Foam::tmp< Foam::labelField > interfaceInternalField ( const labelUList internalData) const
virtual

Return the values of the given internal data adjacent to.

the interface as a field

Implements lduInterface.

Definition at line 73 of file GAMGInterface.C.

◆ interfaceInternalField() [5/7]

Foam::tmp< Foam::labelField > interfaceInternalField ( const labelUList internalData,
const labelUList faceCells 
) const
virtual

Return the values of the given internal data adjacent to the interface as a field using faceCell mapping

Implements lduInterface.

Definition at line 82 of file GAMGInterface.C.

◆ combine()

void combine ( const GAMGInterface coarseGi)

Merge the next level with this level.

combining the face-restrict addressing and copying the face-cell addressing

Definition at line 59 of file GAMGInterface.C.

References GAMGInterface::faceCells_, GAMGInterface::faceRestrictAddressing_, and forAll.

Referenced by GAMGAgglomeration::combineLevels().

Here is the caller graph for this function:

◆ agglomerateCoeffs()

Foam::tmp< Foam::scalarField > agglomerateCoeffs ( const scalarField fineCoeffs) const
virtual

Agglomerating the given fine-level coefficients and return.

Definition at line 92 of file GAMGInterface.C.

References Foam::abort(), Foam::expressions::patchExpr::debug, Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), tmp< T >::New(), and Foam::Zero.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
pure virtual

Write to stream.

Implemented in calculatedProcessorGAMGInterface, processorGAMGInterface, cyclicGAMGInterface, cyclicACMIGAMGInterface, and cyclicAMIGAMGInterface.

Definition at line 125 of file GAMGInterface.C.

References os(), and token::SPACE.

Referenced by cyclicGAMGInterface::write(), processorGAMGInterface::write(), and calculatedProcessorGAMGInterface::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interfaceInternalField() [6/7]

Foam::tmp<Foam::Field<Type> > interfaceInternalField ( const UList< Type > &  iF) const

Definition at line 35 of file GAMGInterfaceTemplates.C.

References Foam::New().

Here is the call graph for this function:

◆ interfaceInternalField() [7/7]

Foam::tmp<Foam::Field<Type> > interfaceInternalField ( const UList< Type > &  iF,
const labelUList faceCells 
) const

Definition at line 47 of file GAMGInterfaceTemplates.C.

References forAll, and Foam::New().

Here is the call graph for this function:

Member Data Documentation

◆ index_

const label index_
protected

My index in coarseInterfaces.

Definition at line 63 of file GAMGInterface.H.

Referenced by GAMGInterface::index().

◆ coarseInterfaces_

◆ faceCells_

labelList faceCells_
protected

Face-cell addressing.

Definition at line 69 of file GAMGInterface.H.

Referenced by GAMGInterface::combine(), GAMGInterface::faceCells(), and GAMGInterface::size().

◆ faceRestrictAddressing_

labelList faceRestrictAddressing_
protected

Face restrict addressing.

Definition at line 72 of file GAMGInterface.H.

Referenced by GAMGInterface::combine(), and GAMGInterface::faceRestrictAddressing().


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