35 const label fineLevelIndex
38 const labelList& fineToCoarse = restrictAddressing_[fineLevelIndex];
40 if (ff.
size() != fineToCoarse.
size())
43 <<
"field does not correspond to level " << fineLevelIndex
44 <<
" sizes: field = " << ff.
size()
45 <<
" level = " << fineToCoarse.
size()
53 cf[fineToCoarse[i]] += ff[i];
63 const label coarseLevelIndex
66 const labelList& fineToCoarse = restrictAddressing_[coarseLevelIndex];
70 ff[i] = cf[fineToCoarse[i]];
#define forAll(list, i)
Loop across all elements in list.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void size(const label)
Override size to be inconsistent with allocated storage.
void prolongField(Field< Type > &ff, const Field< Type > &cf, const label coarseLevelIndex) const
Prolong (interpolate by injection) cell field.
Pre-declare SubField and related Field type.
errorManip< error > abort(error &err)
void restrictField(Field< Type > &cf, const Field< Type > &ff, const label fineLevelIndex) const
Restrict (integrate by summation) cell field.