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 unallocLabelList & faceCells () const
 Return faceCell addressing.
virtual const labelList & faceRestrictAddressing () const
 Return face restrict addressing.
virtual labelList & faceRestrictAddressing ()
 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< labelField > interfaceInternalField (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< scalarField > agglomerateCoeffs (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< labelField > transfer (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< labelField > internalFieldTransfer (const Pstream::commsTypes commsType, const unallocLabelList &iF) const =0
 Transfer and return internal field adjacent to the interface.

Static Public Member Functions

static autoPtr< GAMGInterface > New (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: