31 template<
class Type,
class WeightType>
42 const mapDistribute& map,
44 const GeometricField<Type, fvPatchField, volMesh>& fld,
45 const List<List<WeightType>>& stencilWeights
49 typedef GeometricField<WeightedType, fvPatchField, volMesh>
52 const fvMesh& mesh = fld.mesh();
55 List<List<Type>> stencilFld;
58 tmp<WeightedFieldType> twf
65 mesh.time().timeName(),
69 dimensioned<WeightedType>
77 WeightedFieldType& wf = twf();
81 const List<Type>& stField = stencilFld[celli];
82 const List<WeightType>& stWeight = stencilWeights[celli];
86 wf[celli] += stWeight[i]*stField[i];
List< labelList > labelListList
A List of labelList.
#define forAll(list, i)
Loop across all elements in list.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Generic GeometricField class.
Mesh data needed to do the Finite Volume discretisation.
static void collectData(const mapDistribute &map, const labelListList &stencil, const GeometricField< T, fvPatchField, volMesh > &fld, List< List< T >> &stencilFld)
Use map to get the data into stencil order.
A class for managing temporary objects.
static tmp< GeometricField< typename outerProduct< WeightType, Type >::type, fvPatchField, volMesh > > weightedSum(const mapDistribute &map, const labelListList &stencil, const GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< WeightType >> &stencilWeights)
Sum surface field contributions to create cell values.