Loading...
Searching...
No Matches
GAMGInterface Class Referenceabstract

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

#include <GAMGInterface.H>

Inheritance diagram for GAMGInterface:
Collaboration diagram for GAMGInterface:

Public Member Functions

 TypeName ("GAMGInterface")
 Runtime type information.
 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.
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, const labelUList &faceCells, const labelUList &faceRestrictAddressing)
 Construct from interfaces and restrict addressing.
 GAMGInterface (const label index, const lduInterfacePtrsList &coarseInterfaces, Istream &is)
 Construct from Istream.
virtual autoPtr< GAMGInterfaceclone (const label index, const lduInterfacePtrsList &coarseInterfaces, const labelList &interfaceMap, const labelUList &faceCells, const labelUList &faceRestrictAddresssing, const labelUList &faceOffsets, const lduInterfacePtrsList &allInterfaces, const label coarseComm, const label myProcNo, const labelList &procAgglomMap) const
 Construct by assembling and return a clone.
virtual label size () const
 Return size.
virtual label index () const
virtual const lduInterfacePtrsListcoarseInterfaces () const
virtual const labelUListfaceCells () const
 Return faceCell addressing.
virtual const labelListfaceRestrictAddressing () const
 Return (local)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.
template<class Type>
tmp< Field< Type > > interfaceInternalField (const UList< Type > &internalData, const labelUList &faceCells) const
 Return the interface internal field of the given field using faceCell mapping.
template<class Type>
void interfaceInternalField (const UList< Type > &internalData, List< Type > &) const
 Get the interface internal field of the given field.
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const
 Return the values of the given internal data adjacent to.
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData, const labelUList &faceCells) const
 Return the values of the given internal data adjacent to the interface as a field using faceCell mapping.
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.
virtual void write (Ostream &) const =0
 Write to stream.
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
 TypeNameNoDebug ("lduInterface")
 Runtime type information.
 lduInterface () noexcept=default
 Default construct.
virtual ~lduInterface ()=default
 Destructor.
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Initialise transfer of internal field adjacent to the interface.
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const
 Initialise transfer of internal field adjacent to the interface using faceCells mapping.
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const =0
 Transfer and return internal field adjacent to the interface.

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.
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.

Protected Member Functions

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

Protected Attributes

const label index_
 My index in coarseInterfaces.
const lduInterfacePtrsListcoarseInterfaces_
 All interfaces.
labelList faceCells_
 Face-cell addressing.
labelList faceRestrictAddressing_
 Face restrict addressing.

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

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

Construct from interfaces, restrict addressing set later on.

Definition at line 182 of file GAMGInterface.H.

References coarseInterfaces(), coarseInterfaces_, index(), and index_.

Here is the call graph for this function:

◆ 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 196 of file GAMGInterface.H.

References coarseInterfaces(), coarseInterfaces_, faceCells(), faceCells_, faceRestrictAddressing(), faceRestrictAddressing_, index(), and index_.

Here is the call graph for this function:

◆ GAMGInterface() [4/4]

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

Construct from Istream.

Definition at line 36 of file GAMGInterface.C.

References coarseInterfaces(), coarseInterfaces_, faceCells_, faceRestrictAddressing_, index(), and index_.

Here is the call graph for this function:

Member Function Documentation

◆ operator=()

void operator= ( const GAMGInterface & )
protecteddelete

No copy assignment.

References GAMGInterface().

Here is the call graph for this function:

◆ 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)  )

References coarseInterfaces(), GAMGInterface(), index(), and lduInterface::lduInterface().

Here is the call graph for this function:

◆ declareRunTimeSelectionTable() [2/2]

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

References coarseInterfaces(), GAMGInterface(), index(), and lduInterface::lduInterface().

Here is the call graph for this function:

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

References coarseInterfaces(), Foam::exit(), Foam::FatalError, FatalErrorInLookup, index(), and lduInterface::lduInterface().

Referenced by GAMGAgglomeration::agglomerateLduAddressing(), GAMGSolver::GAMGSolver(), lduPrimitiveMesh::gather(), interfaceInternalField(), and faceAreaPairGAMGAgglomeration::movePoints().

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

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

Here is the call graph for this function:

◆ clone()

virtual autoPtr< GAMGInterface > clone ( const label index,
const lduInterfacePtrsList & coarseInterfaces,
const labelList & interfaceMap,
const labelUList & faceCells,
const labelUList & faceRestrictAddresssing,
const labelUList & faceOffsets,
const lduInterfacePtrsList & allInterfaces,
const label coarseComm,
const label myProcNo,
const labelList & procAgglomMap ) const
inlinevirtual

Construct by assembling and return a clone.

Reimplemented in cyclicACMIGAMGInterface, cyclicAMIGAMGInterface, cyclicGAMGInterface, and oversetGAMGInterface.

Definition at line 224 of file GAMGInterface.H.

References coarseInterfaces(), faceCells(), index(), and NotImplemented.

Here is the call graph for this function:

◆ size()

◆ index()

virtual label index ( ) const
inlinevirtual

Definition at line 256 of file GAMGInterface.H.

References index_.

Referenced by calculatedProcessorGAMGInterface::calculatedProcessorGAMGInterface(), calculatedProcessorGAMGInterface::calculatedProcessorGAMGInterface(), calculatedProcessorGAMGInterface::calculatedProcessorGAMGInterface(), cyclicACMIGAMGInterface::clone(), cyclicAMIGAMGInterface::clone(), cyclicGAMGInterface::clone(), clone(), oversetGAMGInterface::clone(), cyclicACMIGAMGInterface::cyclicACMIGAMGInterface(), cyclicACMIGAMGInterface::cyclicACMIGAMGInterface(), cyclicACMIGAMGInterface::cyclicACMIGAMGInterface(), cyclicAMIGAMGInterface::cyclicAMIGAMGInterface(), cyclicAMIGAMGInterface::cyclicAMIGAMGInterface(), cyclicAMIGAMGInterface::cyclicAMIGAMGInterface(), cyclicGAMGInterface::cyclicGAMGInterface(), cyclicGAMGInterface::cyclicGAMGInterface(), cyclicGAMGInterface::cyclicGAMGInterface(), declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), GAMGInterface(), GAMGInterface(), GAMGInterface(), New(), New(), oversetGAMGInterface::oversetGAMGInterface(), oversetGAMGInterface::oversetGAMGInterface(), oversetGAMGInterface::oversetGAMGInterface(), processorCyclicGAMGInterface::processorCyclicGAMGInterface(), processorCyclicGAMGInterface::processorCyclicGAMGInterface(), processorGAMGInterface::processorGAMGInterface(), processorGAMGInterface::processorGAMGInterface(), processorGAMGInterface::processorGAMGInterface(), calculatedProcessorGAMGInterface::TypeName(), cyclicACMIGAMGInterface::TypeName(), cyclicAMIGAMGInterface::TypeName(), cyclicGAMGInterface::TypeName(), oversetGAMGInterface::TypeName(), processorCyclicGAMGInterface::TypeName(), and processorGAMGInterface::TypeName().

Here is the caller graph for this function:

◆ coarseInterfaces()

virtual const lduInterfacePtrsList & coarseInterfaces ( ) const
inlinevirtual

Definition at line 261 of file GAMGInterface.H.

References coarseInterfaces_.

Referenced by calculatedProcessorGAMGInterface::calculatedProcessorGAMGInterface(), calculatedProcessorGAMGInterface::calculatedProcessorGAMGInterface(), calculatedProcessorGAMGInterface::calculatedProcessorGAMGInterface(), cyclicACMIGAMGInterface::clone(), cyclicAMIGAMGInterface::clone(), cyclicGAMGInterface::clone(), clone(), oversetGAMGInterface::clone(), cyclicACMIGAMGInterface::cyclicACMIGAMGInterface(), cyclicACMIGAMGInterface::cyclicACMIGAMGInterface(), cyclicACMIGAMGInterface::cyclicACMIGAMGInterface(), cyclicAMIGAMGInterface::cyclicAMIGAMGInterface(), cyclicAMIGAMGInterface::cyclicAMIGAMGInterface(), cyclicAMIGAMGInterface::cyclicAMIGAMGInterface(), cyclicGAMGInterface::cyclicGAMGInterface(), cyclicGAMGInterface::cyclicGAMGInterface(), cyclicGAMGInterface::cyclicGAMGInterface(), declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), GAMGInterface(), GAMGInterface(), GAMGInterface(), New(), New(), oversetGAMGInterface::oversetGAMGInterface(), oversetGAMGInterface::oversetGAMGInterface(), oversetGAMGInterface::oversetGAMGInterface(), processorCyclicGAMGInterface::processorCyclicGAMGInterface(), processorCyclicGAMGInterface::processorCyclicGAMGInterface(), processorGAMGInterface::processorGAMGInterface(), processorGAMGInterface::processorGAMGInterface(), processorGAMGInterface::processorGAMGInterface(), calculatedProcessorGAMGInterface::TypeName(), cyclicACMIGAMGInterface::TypeName(), cyclicAMIGAMGInterface::TypeName(), cyclicGAMGInterface::TypeName(), oversetGAMGInterface::TypeName(), processorCyclicGAMGInterface::TypeName(), and processorGAMGInterface::TypeName().

Here is the caller graph for this function:

◆ faceCells()

◆ faceRestrictAddressing() [1/2]

virtual const labelList & faceRestrictAddressing ( ) const
inlinevirtual

Return (local)face restrict addressing.

Definition at line 277 of file GAMGInterface.H.

References faceRestrictAddressing_.

Referenced by GAMGInterface().

Here is the caller graph for this function:

◆ faceRestrictAddressing() [2/2]

virtual labelList & faceRestrictAddressing ( )
inlinevirtual

Return non-const access to face restrict addressing.

Definition at line 285 of file GAMGInterface.H.

References faceRestrictAddressing_.

◆ interfaceInternalField() [1/7]

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

◆ interfaceInternalField() [2/7]

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

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

References faceCells(), and GAMGInterface().

Here is the call graph for this function:

◆ interfaceInternalField() [3/7]

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

Get the interface internal field of the given field.

Definition at line 57 of file GAMGInterfaceTemplates.C.

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

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

References interfaceInternalField().

Here is the call graph for this function:

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

References faceCells(), and interfaceInternalField().

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

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

Referenced by GAMGAgglomeration::combineLevels().

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

References Foam::abort(), faceRestrictAddressing_, Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), tmp< T >::New(), size(), UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ write()

◆ interfaceInternalField() [6/7]

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

Definition at line 27 of file GAMGInterfaceTemplates.C.

References interfaceInternalField(), New(), and size().

Here is the call graph for this function:

◆ interfaceInternalField() [7/7]

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

Definition at line 39 of file GAMGInterfaceTemplates.C.

References faceCells(), 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 61 of file GAMGInterface.H.

Referenced by GAMGInterface(), GAMGInterface(), GAMGInterface(), and index().

◆ coarseInterfaces_

◆ faceCells_

◆ faceRestrictAddressing_


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