FreeFOAM The Cross-Platform CFD Toolkit
GAMGInterface Class Reference

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

#include <OpenFOAM/GAMGInterface.H>


Detailed Description

Abstract base class for GAMG agglomerated interfaces.

Source files

Definition at line 51 of file GAMGInterface.H.

+ Inheritance diagram for GAMGInterface:
+ Collaboration diagram for GAMGInterface:

List of all members.

Public Member Functions

 TypeName ("GAMGInterface")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, GAMGInterface, lduInterface,(const lduInterface &fineInterface, const labelField &localRestrictAddressing, const labelField &neighbourRestrictAddressing),(fineInterface, localRestrictAddressing, neighbourRestrictAddressing))
 GAMGInterface (const lduInterface &, const labelField &, const labelField &)
 Construct from fine-level interface,.
virtual label size () const
 Return size.
virtual const unallocLabelListfaceCells () const
 Return faceCell addressing.
virtual const labelListfaceRestrictAddressing () const
 Return 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.
virtual tmp< labelFieldinterfaceInternalField (const unallocLabelList &internalData) const
 Return the values of the given internal data adjacent to.
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.
- Public Member Functions inherited from lduInterface
 TypeName ("lduInterface")
 Runtime type information.
 lduInterface ()
 Construct null.
virtual ~lduInterface ()
virtual void initTransfer (const Pstream::commsTypes commsType, const unallocLabelList &interfaceData) const
 Initialise interface data transfer.
virtual tmp< labelFieldtransfer (const Pstream::commsTypes commsType, const unallocLabelList &interfaceData) const =0
 Transfer and return neighbour field.
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const unallocLabelList &iF) const
 Initialise transfer of internal field adjacent to the interface.
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const unallocLabelList &iF) const =0
 Transfer and return internal field adjacent to the interface.

Static Public Member Functions

static autoPtr< GAMGInterfaceNew (const lduInterface &fineInterface, const labelField &localRestrictAddressing, const labelField &neighbourRestrictAddressing)
 Return a pointer to a new interface created on freestore given.

Protected Attributes

labelField faceCells_
 Face-cell addressing.
labelField faceRestrictAddressing_
 Face restrict addressing.

Constructor & Destructor Documentation

GAMGInterface ( const lduInterface ,
const labelField ,
const labelField  
)
inline

Construct from fine-level interface,.

local and neighbour restrict addressing

Definition at line 121 of file GAMGInterface.H.


Member Function Documentation

TypeName ( "GAMGInterface"  )

Runtime type information.

declareRunTimeSelectionTable ( autoPtr  ,
GAMGInterface  ,
lduInterface  ,
(const lduInterface &fineInterface, const labelField &localRestrictAddressing, const labelField &neighbourRestrictAddressing)  ,
(fineInterface, localRestrictAddressing, neighbourRestrictAddressing)   
)
Foam::autoPtr< Foam::GAMGInterface > New ( const lduInterface fineInterface,
const labelField localRestrictAddressing,
const labelField neighbourRestrictAddressing 
)
static

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

the fine interface

Definition at line 33 of file newGAMGInterface.C.

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

virtual label size ( ) const
inlinevirtual

Return size.

Definition at line 134 of file GAMGInterface.H.

References GAMGInterface::faceCells_, and List< T >::size().

Referenced by cyclicGAMGInterfaceField::size(), and processorGAMGInterfaceField::size().

virtual const unallocLabelList& faceCells ( ) const
inlinevirtual

Return faceCell addressing.

Implements lduInterface.

Definition at line 140 of file GAMGInterface.H.

References GAMGInterface::faceCells_.

virtual const labelList& faceRestrictAddressing ( ) const
inlinevirtual

Return face restrict addressing.

Definition at line 146 of file GAMGInterface.H.

References GAMGInterface::faceRestrictAddressing_.

virtual labelList& faceRestrictAddressing ( )
inlinevirtual

Return non-const access to face restrict addressing.

Definition at line 152 of file GAMGInterface.H.

References GAMGInterface::faceRestrictAddressing_.

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

Return the interface internal field of the given field.

Definition at line 32 of file GAMGInterfaceTemplates.C.

References forAll.

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

Return the values of the given internal data adjacent to.

the interface as a field

Implements lduInterface.

Definition at line 53 of file GAMGInterface.C.

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

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

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

Agglomerating the given fine-level coefficients and return.

Definition at line 62 of file GAMGInterface.C.

References forAll.


Member Data Documentation

labelField faceCells_
protected

Face-cell addressing.

Definition at line 61 of file GAMGInterface.H.

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

labelField faceRestrictAddressing_
protected

Face restrict addressing.

Definition at line 64 of file GAMGInterface.H.

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


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