GAMGInterface Class Referenceabstract

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

Inheritance diagram for GAMGInterface:
Collaboration diagram for GAMGInterface:

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...
 
 GAMGInterface (const GAMGInterface &)=delete
 Disallow default bitwise copy construction. More...
 
virtual label size () const
 Return size. More...
 
virtual label index () const
 
virtual const lduInterfacePtrsList & coarseInterfaces () const
 
virtual const labelUList & faceCells () const
 Return faceCell addressing. More...
 
virtual const labelList & faceRestrictAddressing () const
 Return (local)face restrict addressing. More...
 
virtual labelList & faceRestrictAddressing ()
 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 >
void interfaceInternalField (const UList< Type > &internalData, List< Type > &) const
 Get the interface internal field of the given field. More...
 
virtual tmp< labelField > interfaceInternalField (const labelUList &internalData) const
 Return the values of the given internal data adjacent to. More...
 
void combine (const GAMGInterface &)
 Merge the next level with this level. More...
 
virtual tmp< scalarField > agglomerateCoeffs (const scalarField &fineCoeffs) const
 Agglomerating the given fine-level coefficients and return. More...
 
virtual void write (Ostream &) const =0
 Write to stream. More...
 
void operator= (const GAMGInterface &)=delete
 Disallow default bitwise assignment. More...
 
template<class Type >
Foam::tmp< Foam::Field< Type > > interfaceInternalField (const UList< Type > &iF) const
 
- Public Member Functions inherited from lduInterface
 TypeName ("lduInterface")
 Runtime type information. More...
 
 lduInterface ()
 Construct null. More...
 
 lduInterface (const lduInterface &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~lduInterface ()
 Destructor. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Initialise transfer of internal field adjacent to the interface. More...
 
virtual tmp< labelField > internalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const =0
 Transfer and return internal field adjacent to the interface. More...
 
void operator= (const lduInterface &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

static autoPtr< GAMGInterface > New (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< GAMGInterface > New (const word &coupleType, const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 Return a pointer to a new interface created on freestore given. More...
 

Protected Attributes

const label index_
 My index in coarseInterfaces. More...
 
const lduInterfacePtrsList & coarseInterfaces_
 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 51 of file GAMGInterface.H.

Constructor & Destructor Documentation

◆ GAMGInterface() [1/4]

GAMGInterface ( const label  index,
const lduInterfacePtrsList &  coarseInterfaces 
)
inline

Construct from interfaces, restrict addressing set later on.

Definition at line 154 of file GAMGInterface.H.

Referenced by GAMGInterface::GAMGInterface().

Here is the caller graph for this function:

◆ GAMGInterface() [2/4]

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

Construct from interfaces and restrict addressing.

Definition at line 166 of file GAMGInterface.H.

References GAMGInterface::GAMGInterface().

Here is the call graph for this function:

◆ GAMGInterface() [3/4]

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

Construct from Istream.

Definition at line 41 of file GAMGInterface.C.

◆ GAMGInterface() [4/4]

GAMGInterface ( const GAMGInterface &  )
delete

Disallow default bitwise copy construction.

Member Function Documentation

◆ 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 34 of file GAMGInterfaceNew.C.

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

Referenced by GAMGSolver::GAMGSolver(), and 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 75 of file GAMGInterfaceNew.C.

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

Here is the call graph for this function:

◆ size()

virtual label size ( ) const
inlinevirtual

Return size.

Definition at line 197 of file GAMGInterface.H.

References List< T >::size().

Referenced by regionCoupledGAMGInterfaceField::size(), regionCoupledWallGAMGInterfaceField::size(), cyclicGAMGInterfaceField::size(), cyclicAMIGAMGInterfaceField::size(), and processorGAMGInterfaceField::size().

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

◆ index()

virtual label index ( ) const
inlinevirtual

Definition at line 202 of file GAMGInterface.H.

References GAMGInterface::index_.

Referenced by regionCoupledBaseGAMGInterface::nbrLduInterface().

Here is the caller graph for this function:

◆ coarseInterfaces()

virtual const lduInterfacePtrsList& coarseInterfaces ( ) const
inlinevirtual

Definition at line 207 of file GAMGInterface.H.

References GAMGInterface::coarseInterfaces_.

◆ faceCells()

virtual const labelUList& faceCells ( ) const
inlinevirtual

Return faceCell addressing.

Implements lduInterface.

Definition at line 213 of file GAMGInterface.H.

References GAMGInterface::faceCells_.

Referenced by 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 219 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 225 of file GAMGInterface.H.

References GAMGInterface::agglomerateCoeffs(), GAMGInterface::combine(), GAMGInterface::faceRestrictAddressing_, GAMGInterface::interfaceInternalField(), GAMGInterface::operator=(), and GAMGInterface::write().

Here is the call graph for this function:

◆ interfaceInternalField() [1/4]

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

Return the interface internal field of the given field.

Referenced by GAMGInterface::combine(), GAMGInterface::faceRestrictAddressing(), GAMGInterface::interfaceInternalField(), and cyclicAMIGAMGInterfaceField::updateInterfaceMatrix().

Here is the caller graph for this function:

◆ interfaceInternalField() [2/4]

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

Get the interface internal field of the given field.

Definition at line 44 of file GAMGInterfaceTemplates.C.

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

Here is the call graph for this function:

◆ interfaceInternalField() [3/4]

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 70 of file GAMGInterface.C.

References GAMGInterface::agglomerateCoeffs().

Here is the call graph for this function:

◆ 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 56 of file GAMGInterface.C.

References GAMGInterface::faceCells_, GAMGInterface::faceRestrictAddressing_, forAll, and GAMGInterface::interfaceInternalField().

Referenced by GAMGAgglomeration::combineLevels(), and GAMGInterface::faceRestrictAddressing().

Here is the call graph for this function:
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 79 of file GAMGInterface.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), tmp< T >::ref(), and List< T >::size().

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

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

◆ write()

void write ( Ostream &  os) const
pure virtual

◆ operator=()

void operator= ( const GAMGInterface &  )
delete

Disallow default bitwise assignment.

Referenced by GAMGInterface::faceRestrictAddressing().

Here is the caller graph for this function:

◆ interfaceInternalField() [4/4]

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

Definition at line 32 of file GAMGInterfaceTemplates.C.

References GAMGInterface::interfaceInternalField(), and tmp< T >::ref().

Here is the call graph for this function:

Member Data Documentation

◆ index_

const label index_
protected

My index in coarseInterfaces.

Definition at line 61 of file GAMGInterface.H.

Referenced by GAMGInterface::index().

◆ coarseInterfaces_

const lduInterfacePtrsList& coarseInterfaces_
protected

◆ faceCells_

labelList faceCells_
protected

Face-cell addressing.

Definition at line 67 of file GAMGInterface.H.

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

◆ faceRestrictAddressing_

labelList faceRestrictAddressing_
protected

Face restrict addressing.

Definition at line 70 of file GAMGInterface.H.

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


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