130 #ifndef distributionMap_H 131 #define distributionMap_H 143 class globalIndexAndTransform;
148 class distributionMap;
150 Istream&
operator>>(Istream&, distributionMap&);
151 Ostream&
operator<<(Ostream&,
const distributionMap&);
178 template<
class T,
class TransformOp>
183 const TransformOp& top
188 void applyDummyInverseTransforms(
List<T>& field)
const;
190 template<
class T,
class TransformOp>
191 void applyInverseTransforms
195 const TransformOp& top
218 vt.transformList(fld);
222 vt.invTransformList(fld);
251 template<
class Type,
template<
class>
class Container>
277 fld = vt.transformPosition(pfld);
281 fld = vt.invTransformPosition(pfld);
304 template<
template<
class>
class Container>
319 forAllIter(
typename Container<point>, map, iter)
339 const label constructSize,
349 const label constructSize,
445 return transformElements_;
451 return transformStart_;
473 template<
class T,
class negateOp>
477 const negateOp& negOp,
495 const label constructSize,
507 const label constructSize,
515 template<
class T,
class TransformOp>
520 const TransformOp& top,
525 template<
class T,
class TransformOp>
529 const label constructSize,
531 const TransformOp& top,
536 template<
class T,
class TransformOp>
540 const label constructSize,
543 const TransformOp& top,
569 void distributionMap::transform::operator()
576 void distributionMap::transform::operator()
582 void distributionMap::transform::operator()
584 const coupledPolyPatch&,
588 void distributionMap::transform::operator()
590 const coupledPolyPatch&,
595 void distributionMap::transform::operator()
597 const coupledPolyPatch&,
601 void distributionMap::transform::operator()
608 void distributionMap::transform::operator()
610 const coupledPolyPatch&,
614 void distributionMap::transform::operator()
616 const coupledPolyPatch&,
621 void distributionMap::transform::operator()
623 const coupledPolyPatch& cpp,
627 void distributionMap::transform::operator()
634 void distributionMap::transform::operator()
636 const coupledPolyPatch&,
640 void distributionMap::transform::operator()
642 const coupledPolyPatch&,
friend Ostream & operator<<(Ostream &, const distributionMap &)
Write dictionary to Ostream.
#define forAll(list, i)
Loop across all elements in list.
void operator=(const distributionMap &)
const labelListList & transformElements() const
For every globalIndexAndTransform::transformPermutations.
Class containing processor-to-processor mapping information.
void reverseDistribute(const label constructSize, List< T > &, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Reverse distribute data using default commsType.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
distributionMap()
Construct null.
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object of type.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
const labelListList & constructMap() const
From subsetted data to new reconstructed data.
static int & msgType()
Message tag of standard messages.
const labelListList & subMap() const
From subsetted data back to original data.
friend Istream & operator>>(Istream &, distributionMap &)
Read dictionary from Istream.
virtual const transformer & transform() const =0
Return transformation between the coupled patches.
void distribute(List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Distribute data using default commsType.
virtual ~distributionMap()
Destructor.
void transfer(distributionMap &)
Transfer the contents of the argument and annul the argument.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
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))
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
void printLayout(Ostream &os) const
Debug: print layout. Can only be used on maps with sorted.
Istream & operator>>(Istream &, directionInfo &)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
bool subHasFlip() const
Does subMap include a sign.
Map from edge (expressed as its endpoints) to value.
const labelList & transformStart() const
Destination in constructMap for transformed elements.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
autoPtr< distributionMap > clone() const
Clone.
Class containing processor-to-processor mapping information.
Ostream & operator<<(Ostream &, const ensightPart &)
label whichTransform(const label index) const
Find transform from transformElements.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
FvWallInfoData< WallInfo, bool > bool
ClassName("distributionMap")
bool constructHasFlip() const
Does constructMap include a sign.