40 Foam::GAMGInterface::GAMGInterface
48 coarseInterfaces_(coarseInterfaces),
50 faceRestrictAddressing_(is)
60 forAll(faceRestrictAddressing_, ffi)
62 faceRestrictAddressing_[ffi] = coarseFra[faceRestrictAddressing_[ffi]];
74 return interfaceInternalField<label>(internalData);
86 if (fineCoeffs.
size() != faceRestrictAddressing_.size())
90 "GAMGInterface::agglomerateCoeffs(const scalarField&) const" 91 ) <<
"Size of coefficients " << fineCoeffs.
size()
92 <<
" does not correspond to the size of the restriction " 93 << faceRestrictAddressing_.size()
96 if (debug &&
max(faceRestrictAddressing_) > size())
100 "GAMGInterface::agglomerateCoeffs(const scalarField&) const" 101 ) <<
"Face restrict addressing addresses outside of coarse interface" 102 <<
" size. Max addressing:" <<
max(faceRestrictAddressing_)
103 <<
" coarse size:" << size()
107 forAll(faceRestrictAddressing_, ffi)
109 coarseCoeffs[faceRestrictAddressing_[ffi]] += fineCoeffs[ffi];
112 return tcoarseCoeffs;
118 os << faceCells_ <<
token::SPACE << faceRestrictAddressing_;
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void size(const label)
Override size to be inconsistent with allocated storage.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
labelList faceCells_
Face-cell addressing.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
void combine(const GAMGInterface &)
Merge the next level with this level.
errorManip< error > abort(error &err)
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
virtual void write(Ostream &) const =0
Write to stream.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Abstract base class for GAMG agglomerated interfaces.
labelList faceRestrictAddressing_
Face restrict addressing.
virtual tmp< scalarField > agglomerateCoeffs(const scalarField &fineCoeffs) const
Agglomerating the given fine-level coefficients and return.
A class for managing temporary objects.
tmp< Field< Type > > interfaceInternalField(const UList< Type > &internalData) const
Return the interface internal field of the given field.
defineTypeNameAndDebug(combustionModel, 0)