34 template<
class Type,
class CombineOp>
38 const GeometricField<Type, fvsPatchField, surfaceMesh>& ssf,
43 typedef GeometricField<Type, fvPatchField, volMesh> volFieldType;
45 const fvMesh& mesh = ssf.mesh();
47 tmp<volFieldType> tresult
53 "cellReduce(" + ssf.name() +
')',
60 dimensioned<Type>(
"initialValue", ssf.dimensions(), nullValue),
61 extrapolatedCalculatedFvPatchField<Type>::typeName
65 volFieldType& result = tresult.ref();
73 cop(result[celli], ssf[i]);
78 cop(result[celli], ssf[i]);
81 result.correctBoundaryConditions();
87 template<
class Type,
class CombineOp>
91 const tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>& tssf,
96 tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Construct a volume field from a surface field using a combine operator.
UList< label > labelUList
tmp< GeometricField< Type, fvPatchField, volMesh > > cellReduce(const GeometricField< Type, fvsPatchField, surfaceMesh > &, const CombineOp &cop, const Type &nullValue=pTraits< Type >::zero)
A class for managing temporary objects.