Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GAMGInterface Class Referenceabstract

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

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

Public Member Functions

 TypeName ("GAMGInterface")
 
 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)
 
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, const labelUList &faceCells, const labelUList &faceRestrictAddressing)
 
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 
virtual label size () const
 
virtual label index () const
 
virtual const lduInterfacePtrsListcoarseInterfaces () const
 
virtual const labelUListfaceCells () const
 
virtual const labelListfaceRestrictAddressing () const
 
virtual labelListfaceRestrictAddressing ()
 
template<class Type >
tmp< Field< Type > > interfaceInternalField (const UList< Type > &internalData) const
 
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
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData, const labelUList &faceCells) const
 
void combine (const GAMGInterface &)
 
virtual tmp< scalarFieldagglomerateCoeffs (const scalarField &fineCoeffs) const
 
virtual void write (Ostream &) const =0
 
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")
 
 lduInterface ()=default
 
virtual ~lduInterface ()=default
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 
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
 

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)
 
static autoPtr< GAMGInterfaceNew (const word &coupleType, const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 

Protected Member Functions

 GAMGInterface (const GAMGInterface &)=delete
 
void operator= (const GAMGInterface &)=delete
 

Protected Attributes

const label index_
 
const lduInterfacePtrsListcoarseInterfaces_
 
labelList faceCells_
 
labelList faceRestrictAddressing_
 

Detailed Description

Abstract base class for GAMG agglomerated interfaces.

Source files

Definition at line 50 of file GAMGInterface.H.

Constructor & Destructor Documentation

◆ GAMGInterface() [1/4]

GAMGInterface ( const GAMGInterface )
protecteddelete

◆ GAMGInterface() [2/4]

GAMGInterface ( const label  index,
const lduInterfacePtrsList coarseInterfaces 
)
inline

Definition at line 161 of file GAMGInterface.H.

◆ GAMGInterface() [3/4]

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

Definition at line 173 of file GAMGInterface.H.

◆ GAMGInterface() [4/4]

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

Definition at line 37 of file GAMGInterface.C.

Member Function Documentation

◆ operator=()

void operator= ( const GAMGInterface )
protecteddelete

◆ TypeName()

TypeName ( "GAMGInterface"  )

◆ 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

Definition at line 30 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

Definition at line 71 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

◆ index()

virtual label index ( ) const
inlinevirtual

Definition at line 206 of file GAMGInterface.H.

References GAMGInterface::index_.

◆ coarseInterfaces()

virtual const lduInterfacePtrsList& coarseInterfaces ( ) const
inlinevirtual

Definition at line 211 of file GAMGInterface.H.

References GAMGInterface::coarseInterfaces_.

◆ faceCells()

virtual const labelUList& faceCells ( ) const
inlinevirtual

◆ faceRestrictAddressing() [1/2]

virtual const labelList& faceRestrictAddressing ( ) const
inlinevirtual

Definition at line 223 of file GAMGInterface.H.

References GAMGInterface::faceRestrictAddressing_.

◆ faceRestrictAddressing() [2/2]

virtual labelList& faceRestrictAddressing ( )
inlinevirtual

Definition at line 229 of file GAMGInterface.H.

References GAMGInterface::faceRestrictAddressing_.

◆ interfaceInternalField() [1/7]

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

◆ interfaceInternalField() [2/7]

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

◆ interfaceInternalField() [3/7]

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

Definition at line 58 of file GAMGInterfaceTemplates.C.

References forAll, and List::resize().

Here is the call graph for this function:

◆ interfaceInternalField() [4/7]

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

Implements lduInterface.

Definition at line 66 of file GAMGInterface.C.

◆ interfaceInternalField() [5/7]

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

Implements lduInterface.

Definition at line 75 of file GAMGInterface.C.

◆ combine()

void combine ( const GAMGInterface coarseGi)

Definition at line 52 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

Definition at line 85 of file GAMGInterface.C.

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

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
pure virtual

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

Definition at line 118 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 28 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 40 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

Definition at line 59 of file GAMGInterface.H.

Referenced by GAMGInterface::index().

◆ coarseInterfaces_

const lduInterfacePtrsList& coarseInterfaces_
protected

◆ faceCells_

labelList faceCells_
protected

◆ faceRestrictAddressing_

labelList faceRestrictAddressing_
protected

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