37 const label fineLevelIndex
42 if (ff.size() != fineToCoarse.
size())
45 <<
"field does not correspond to level " << fineLevelIndex
46 <<
" sizes: field = " << ff.size()
47 <<
" level = " << fineToCoarse.
size()
55 cf[fineToCoarse[i]] += ff[i];
65 const label coarseLevelIndex
68 const labelList& fineToCoarse = restrictAddressing_[coarseLevelIndex];
72 ff[i] = cf[fineToCoarse[i]];
Generic templated field type.
void size(const label n)
Older name for setAddressableSize.
void prolongField(Field< Type > &ff, const Field< Type > &cf, const label coarseLevelIndex) const
Prolong (interpolate by injection) cell field.
void restrictField(Field< Type > &cf, const Field< Type > &ff, const label fineLevelIndex) const
Restrict (integrate by summation) cell field.
PtrList< labelField > restrictAddressing_
Cell restriction addressing array.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManip< error > abort(error &err)
#define forAll(list, i)
Loop across all elements in list.
A non-counting (dummy) refCount.