Go to the documentation of this file.
37 const label fineLevelIndex
40 const labelList& fineToCoarse = restrictAddressing_[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]];
#define forAll(list, i)
Loop across all elements in list.
Generic templated 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.
const FieldField< fvPatchField, Type > & ff(const FieldField< fvPatchField, Type > &bf)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Traits class for primitives.
void prolongField(Field< Type > &ff, const Field< Type > &cf, const label coarseLevelIndex) const
Prolong (interpolate by injection) cell field.