Go to the documentation of this file.
47 field[
n++] = field[elems[i]];
57 forAll(transformElements_, trafoI)
59 const labelList& elems = transformElements_[trafoI];
60 label n = transformStart_[trafoI];
64 field[elems[i]] = field[
n++];
71 template<
class T,
class TransformOp>
76 const TransformOp& top
82 forAll(totalTransform, trafoI)
85 const labelList& elems = transformElements_[trafoI];
86 label n = transformStart_[trafoI];
90 top(vt,
true, transformFld);
95 field[
n++] = transformFld[i];
102 template<
class T,
class TransformOp>
107 const TransformOp& top
113 forAll(totalTransform, trafoI)
116 const labelList& elems = transformElements_[trafoI];
117 label n = transformStart_[trafoI];
121 top(vt,
false, transformFld);
126 field[elems[i]] = transformFld[i];
133 template<
class T,
class negateOp>
137 const negateOp& negOp,
147 applyDummyTransforms(
fld);
180 fld.setCapacity(fldList.
size());
188 const label constructSize,
196 applyDummyInverseTransforms(
fld);
209 const label constructSize,
218 applyDummyInverseTransforms(
fld);
226 template<
class T,
class TransformOp>
231 const TransformOp& top,
236 distribute(
fld,
false, tag);
238 applyTransforms(git,
fld, top);
242 template<
class T,
class TransformOp>
246 const label constructSize,
248 const TransformOp& top,
255 applyInverseTransforms(git,
fld, top);
258 reverseDistribute(constructSize,
fld,
false, tag);
262 template<
class T,
class TransformOp>
266 const label constructSize,
269 const TransformOp& top,
276 applyInverseTransforms(git,
fld, top);
279 reverseDistribute(constructSize, nullValue,
fld,
false, tag);
void reverseDistribute(const label constructSize, List< T > &, const int tag=UPstream::msgType()) const
Reverse distribute data using default commsType.
#define forAll(list, i)
Loop across all elements in list.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
static void distribute(const Pstream::commsTypes commsType, const List< labelPair > &schedule, const label constructSize, const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, List< T > &, const negateOp &negOp, const int tag=UPstream::msgType())
Distribute data. Note:schedule only used for Pstream::scheduled.
A List obtained as a section of another List.
Class containing functor to negate primitives. Dummy for all other types.
void applyTransforms(const globalIndexAndTransform &globalTransforms, List< T > &field, const TransformOp &top) const
void applyInverseTransforms(const globalIndexAndTransform &globalTransforms, List< T > &field, const TransformOp &top) const
Combination-Reduction operation for a parallel run. The information from all nodes is collected on th...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
void distribute(List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Distribute data using default commsType.
void applyDummyTransforms(List< T > &field) const
Helper function: copy transformElements without transformation.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< ' ';}gmvFile<< nl;forAll(lagrangianScalarNames, i){ const word &name=lagrangianScalarNames[i];IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
labelListList transformElements_
For every globalIndexAndTransform::transformPermutations.
void reverseDistribute(const label constructSize, List< T > &, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Reverse distribute data using default commsType.
void size(const label)
Override size to be inconsistent with allocated storage.
void applyDummyInverseTransforms(List< T > &field) const
Helper function: copy transformElements without transformation.
labelList transformStart_
Destination in constructMap for transformed elements.