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,
161 coarseInterfaces_(coarseInterfaces)
175 coarseInterfaces_(coarseInterfaces),
176 faceCells_(faceCells),
177 faceRestrictAddressing_(faceRestrictAddressing)
200 return faceCells_.
size();
virtual label size() const
Return size.
tmp< Field< Type > > interfaceInternalField(const UList< Type > &internalData) const
Return the interface internal field of the given field.
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.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual label index() const
virtual const labelUList & faceCells() const
Return faceCell addressing.
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.
labelList faceRestrictAddressing_
Face restrict addressing.
const lduInterfacePtrsList & coarseInterfaces_
All interfaces.
A class for handling words, derived from string.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
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))
void operator=(const GAMGInterface &)=delete
Disallow default bitwise assignment.
const label index_
My index in coarseInterfaces.
virtual tmp< scalarField > agglomerateCoeffs(const scalarField &fineCoeffs) const
Agglomerating the given fine-level coefficients and return.
GAMGInterface(const label index, const lduInterfacePtrsList &coarseInterfaces)
Construct from interfaces, restrict addressing set later on.
Abstract base class for GAMG agglomerated interfaces.
void combine(const GAMGInterface &)
Merge the next level with this level.
virtual const lduInterfacePtrsList & coarseInterfaces() const
virtual void write(Ostream &) const =0
Write to stream.
TypeName("GAMGInterface")
Runtime type information.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
virtual const labelList & faceRestrictAddressing() const
Return (local)face restrict addressing.
labelList faceCells_
Face-cell addressing.
A class for managing temporary objects.