36 #ifndef GAMGInterface_H
37 #define GAMGInterface_H
93 const label fineLevelIndex,
94 const label coarseComm
100 localRestrictAddressing,
101 neighbourRestrictAddressing,
135 const labelField& neighbourRestrictAddressing,
136 const label fineLevelIndex,
137 const label coarseComm
144 const word& coupleType,
Abstract base class for GAMG agglomerated interfaces.
virtual label size() const
Return size.
GAMGInterface(const label index, const lduInterfacePtrsList &coarseInterfaces)
Construct from interfaces, restrict addressing set later on.
labelList faceRestrictAddressing_
Face restrict addressing.
virtual label index() const
virtual const labelList & faceRestrictAddressing() const
Return (local)face restrict addressing.
void operator=(const GAMGInterface &)=delete
Disallow default bitwise assignment.
virtual tmp< scalarField > agglomerateCoeffs(const scalarField &fineCoeffs) const
Agglomerating the given fine-level coefficients and return.
const lduInterfacePtrsList & coarseInterfaces_
All interfaces.
void combine(const GAMGInterface &)
Merge the next level with this level.
TypeName("GAMGInterface")
Runtime type information.
labelList faceCells_
Face-cell addressing.
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.
const label index_
My index in coarseInterfaces.
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))
virtual const labelUList & faceCells() const
Return faceCell addressing.
virtual const lduInterfacePtrsList & coarseInterfaces() const
virtual void write(Ostream &) const =0
Write to stream.
tmp< Field< Type > > interfaceInternalField(const UList< Type > &internalData) const
Return the interface internal field of the given field.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
void size(const label)
Override size to be inconsistent with allocated storage.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
A class for managing temporary objects.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.