Go to the documentation of this file.
33 template<
class Type,
class WeightType>
44 const mapDistribute& map,
46 const GeometricField<Type, fvPatchField, volMesh>&
fld,
47 const List<List<WeightType>>& stencilWeights
51 typedef GeometricField<WeightedType, fvPatchField, volMesh>
54 const fvMesh&
mesh =
fld.mesh();
57 List<List<Type>> stencilFld;
60 tmp<WeightedFieldType> twf
67 mesh.time().timeName(),
71 dimensioned<WeightedType>(
fld.dimensions(),
Zero)
74 WeightedFieldType& wf = twf();
78 const List<Type>& stField = stencilFld[celli];
79 const List<WeightType>& stWeight = stencilWeights[celli];
83 wf[celli] += stWeight[i]*stField[i];
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
static void collectData(const mapDistribute &map, const labelListList &stencil, const GeometricField< T, fvPatchField, volMesh > &fld, List< List< T >> &stencilFld)
A class for managing temporary objects.
static constexpr const zero Zero
Mesh data needed to do the Finite Volume discretisation.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
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)
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
List< labelList > labelListList
A List of labelList.
Generic GeometricField class.