Abstract base class for GAMG agglomerated interfaces. More...
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... | |
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 |
Construct by assembling and return a clone. 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 > | |
tmp< Field< Type > > | interfaceInternalField (const UList< Type > &internalData, const labelUList &faceCells) const |
Return the interface internal field of the given field using faceCell mapping. 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... | |
virtual tmp< labelField > | interfaceInternalField (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. 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... | |
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. More... | |
lduInterface () noexcept=default | |
Default construct. More... | |
virtual | ~lduInterface ()=default |
Destructor. More... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const |
Initialise transfer of internal field adjacent to the interface. More... | |
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. More... | |
virtual tmp< labelField > | internalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const =0 |
Transfer and return internal field adjacent to the interface. 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 Member Functions | |
GAMGInterface (const GAMGInterface &)=delete | |
No copy construct. More... | |
void | operator= (const GAMGInterface &)=delete |
No copy assignment. 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... | |
Abstract base class for GAMG agglomerated interfaces.
Definition at line 50 of file GAMGInterface.H.
|
protecteddelete |
No copy construct.
|
inline |
Construct from interfaces, restrict addressing set later on.
Definition at line 183 of file GAMGInterface.H.
|
inline |
Construct from interfaces and restrict addressing.
Definition at line 197 of file GAMGInterface.H.
GAMGInterface | ( | const label | index, |
const lduInterfacePtrsList & | coarseInterfaces, | ||
Istream & | is | ||
) |
Construct from Istream.
Definition at line 37 of file GAMGInterface.C.
|
protecteddelete |
No copy assignment.
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) | |||
) |
|
static |
Return a pointer to a new interface created on freestore given.
the fine interface
Definition at line 30 of file GAMGInterfaceNew.C.
References Foam::exit(), Foam::FatalError, and FatalErrorInLookup.
Referenced by lduPrimitiveMesh::gather().
|
static |
Return a pointer to a new interface created on freestore given.
the fine interface
Definition at line 71 of file GAMGInterfaceNew.C.
References Foam::exit(), Foam::FatalError, and FatalErrorInLookup.
|
inlinevirtual |
Construct by assembling and return a clone.
Reimplemented in cyclicGAMGInterface, cyclicACMIGAMGInterface, cyclicAMIGAMGInterface, and oversetGAMGInterface.
Definition at line 225 of file GAMGInterface.H.
References NotImplemented.
|
inlinevirtual |
Return size.
Definition at line 251 of file GAMGInterface.H.
References GAMGInterface::faceCells_, and UList< T >::size().
Referenced by cyclicGAMGInterfaceField::size(), calculatedProcessorGAMGInterfaceField::size(), processorGAMGInterfaceField::size(), cyclicAMIGAMGInterfaceField::size(), and cyclicACMIGAMGInterfaceField::size().
|
inlinevirtual |
Definition at line 256 of file GAMGInterface.H.
References GAMGInterface::index_.
Referenced by oversetGAMGInterface::clone(), cyclicAMIGAMGInterface::clone(), cyclicACMIGAMGInterface::clone(), and cyclicGAMGInterface::clone().
|
inlinevirtual |
Definition at line 261 of file GAMGInterface.H.
References GAMGInterface::coarseInterfaces_.
Referenced by oversetGAMGInterface::clone(), cyclicAMIGAMGInterface::clone(), cyclicACMIGAMGInterface::clone(), and cyclicGAMGInterface::clone().
|
inlinevirtual |
Return faceCell addressing.
Implements lduInterface.
Definition at line 269 of file GAMGInterface.H.
References GAMGInterface::faceCells_.
Referenced by cyclicACMIGAMGInterface::internalFieldTransfer(), cyclicAMIGAMGInterface::internalFieldTransfer(), and cyclicGAMGInterface::internalFieldTransfer().
|
inlinevirtual |
Return (local)face restrict addressing.
Definition at line 277 of file GAMGInterface.H.
References GAMGInterface::faceRestrictAddressing_.
|
inlinevirtual |
Return non-const access to face restrict addressing.
Definition at line 285 of file GAMGInterface.H.
References GAMGInterface::faceRestrictAddressing_.
Return the interface internal field of the given field.
tmp<Field<Type> > interfaceInternalField | ( | const UList< Type > & | internalData, |
const labelUList & | faceCells | ||
) | const |
Return the interface internal field of the given field using faceCell mapping.
Get the interface internal field of the given field.
Definition at line 58 of file GAMGInterfaceTemplates.C.
References forAll, and List< T >::resize().
|
virtual |
Return the values of the given internal data adjacent to.
the interface as a field
Implements lduInterface.
Definition at line 66 of file GAMGInterface.C.
|
virtual |
Return the values of the given internal data adjacent to the interface as a field using faceCell mapping.
Implements lduInterface.
Definition at line 75 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 52 of file GAMGInterface.C.
References GAMGInterface::faceCells_, GAMGInterface::faceRestrictAddressing_, and forAll.
Referenced by GAMGAgglomeration::combineLevels().
|
virtual |
Agglomerating the given fine-level coefficients and return.
Definition at line 85 of file GAMGInterface.C.
References Foam::abort(), Foam::ensightOutput::debug, Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), tmp< T >::New(), UList< T >::size(), and Foam::Zero.
|
pure virtual |
Write to stream.
Implemented in cyclicACMIGAMGInterface, cyclicAMIGAMGInterface, cyclicGAMGInterface, calculatedProcessorGAMGInterface, processorGAMGInterface, and oversetGAMGInterface.
Definition at line 118 of file GAMGInterface.C.
References os(), and token::SPACE.
Referenced by oversetGAMGInterface::write(), processorGAMGInterface::write(), calculatedProcessorGAMGInterface::write(), cyclicGAMGInterface::write(), cyclicACMIGAMGInterface::write(), and cyclicAMIGAMGInterface::write().
Foam::tmp<Foam::Field<Type> > interfaceInternalField | ( | const UList< Type > & | iF | ) | const |
Definition at line 28 of file GAMGInterfaceTemplates.C.
References Foam::New().
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().
|
protected |
My index in coarseInterfaces.
Definition at line 61 of file GAMGInterface.H.
Referenced by GAMGInterface::index().
|
protected |
All interfaces.
Definition at line 66 of file GAMGInterface.H.
Referenced by GAMGInterface::coarseInterfaces(), cyclicAMIGAMGInterface::neighbPatch(), cyclicACMIGAMGInterface::neighbPatch(), and cyclicGAMGInterface::neighbPatch().
|
protected |
Face-cell addressing.
Definition at line 71 of file GAMGInterface.H.
Referenced by GAMGInterface::combine(), GAMGInterface::faceCells(), and GAMGInterface::size().
|
protected |
Face restrict addressing.
Definition at line 76 of file GAMGInterface.H.
Referenced by GAMGInterface::combine(), and GAMGInterface::faceRestrictAddressing().