34 template<
class Type,
class CombineOp>
38 const SurfaceField<Type>& ssf,
43 const fvMesh&
mesh = ssf.mesh()();
45 tmp<VolField<Type>> tresult
49 "cellReduce(" + ssf.name() +
')',
60 VolField<Type>& result = tresult.ref();
68 cop(result[celli], ssf[i]);
73 cop(result[celli], ssf[i]);
76 result.correctBoundaryConditions();
82 template<
class Type,
class CombineOp>
86 const tmp<SurfaceField<Type>>& tssf,
91 tmp<VolField<Type>> tvf
#define forAll(list, i)
Loop across all elements in list.
const labelUList & owner() const
Internal face owner.
const labelUList & neighbour() const
Internal face neighbour.
A class for managing temporary objects.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
Construct a volume field from a surface field using a combine operator.
tmp< VolField< Type > > cellReduce(const SurfaceField< Type > &, const CombineOp &cop, const Type &nullValue=pTraits< Type >::zero)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
String typeName(const std::type_info &info)
Return the un-mangled name given the standard type info.
UList< label > labelUList
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)