Go to the documentation of this file.
47 flatFld[celli] =
fld[celli];
58 flatFld[nCompact++] = pfld[i];
66 stencilFld.setSize(stencil.size());
70 const labelList& compactCells = stencil[facei];
72 stencilFld[facei].
setSize(compactCells.size());
76 stencilFld[facei][i] = flatFld[compactCells[i]];
86 const mapDistribute& map,
88 const GeometricField<Type, fvsPatchField, surfaceMesh>&
fld,
89 const List<List<scalar>>& stencilWeights
92 const fvMesh&
mesh =
fld.mesh();
95 List<List<Type>> stencilFld;
96 collectData(map, stencil,
fld, stencilFld);
98 tmp<GeometricField<Type, fvPatchField, volMesh>> tsfCorr
100 new GeometricField<Type, fvPatchField, volMesh>
109 dimensioned<Type>(
fld.dimensions(),
Zero)
112 GeometricField<Type, fvPatchField, volMesh>& sf = tsfCorr.ref();
117 const List<Type>& stField = stencilFld[celli];
118 const List<scalar>& stWeight = stencilWeights[celli];
122 sf[celli] += stField[i]*stWeight[i];
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A class for managing temporary objects.
static constexpr const zero Zero
virtual label start() const
static word timeName(const scalar t, const int precision=precision_)
void setSize(const label n)
Class containing processor-to-processor mapping information.
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))
void distribute(List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
static tmp< GeometricField< Type, fvPatchField, volMesh > > weightedSum(const mapDistribute &map, const labelListList &stencil, const GeometricField< Type, fvsPatchField, surfaceMesh > &fld, const List< List< scalar >> &stencilWeights)
Mesh data needed to do the Finite Volume discretisation.
static void collectData(const mapDistribute &map, const labelListList &stencil, const GeometricField< T, fvsPatchField, surfaceMesh > &fld, List< List< T >> &stencilFld)
label constructSize() const
List< labelList > labelListList
A List of labelList.
const fvPatch & patch() const
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const Time & time() const
Generic GeometricField class.