Go to the documentation of this file.
136 #ifndef mapDistribute_H
137 #define mapDistribute_H
149 class globalIndexAndTransform;
156 Istream&
operator>>(Istream&, mapDistribute&);
157 Ostream&
operator<<(Ostream&,
const mapDistribute&);
184 template<
class T,
class TransformOp>
189 const TransformOp& top
196 template<
class T,
class TransformOp>
197 void applyInverseTransforms
201 const TransformOp& top
222 const tensor T(forward ? vt.R() : vt.R().T());
251 template<
class Type,
template<
class>
class Container>
277 fld = vt.transformPosition(pfld);
281 fld = vt.invTransformPosition(pfld);
304 template<
template<
class>
class Container>
454 return transformElements_;
460 return transformStart_;
482 template<
class T,
class negateOp>
486 const negateOp& negOp,
524 template<
class T,
class TransformOp>
529 const TransformOp& top,
534 template<
class T,
class TransformOp>
540 const TransformOp& top,
545 template<
class T,
class TransformOp>
552 const TransformOp& top,
588 void mapDistribute::transform::operator()
590 const vectorTensorTransform&,
595 void mapDistribute::transform::operator()
597 const coupledPolyPatch&,
601 void mapDistribute::transform::operator()
603 const coupledPolyPatch&,
607 void mapDistribute::transform::operator()
609 const coupledPolyPatch&,
614 void mapDistribute::transform::operator()
616 const coupledPolyPatch&,
620 void mapDistribute::transform::operator()
622 const vectorTensorTransform&,
627 void mapDistribute::transform::operator()
629 const coupledPolyPatch&,
633 void mapDistribute::transform::operator()
635 const coupledPolyPatch&,
640 void mapDistribute::transform::operator()
642 const coupledPolyPatch& cpp,
646 void mapDistribute::transform::operator()
648 const vectorTensorTransform&,
653 void mapDistribute::transform::operator()
655 const coupledPolyPatch&,
659 void mapDistribute::transform::operator()
661 const coupledPolyPatch&,
const labelListList & subMap() const
From subsetted data back to original data.
bool constructHasFlip() const
Does constructMap include a sign.
label whichTransform(const label index) const
Find transform from transformElements.
void operator=(const mapDistribute &rhs)
Copy assignment.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
virtual const tensorField & forwardT() const
Return face transformation tensor.
Istream & operator>>(Istream &, directionInfo &)
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
const labelList & transformStart() const
Destination in constructMap for transformed elements.
void transfer(mapDistribute &map)
Transfer the contents of the argument and annul the argument.
virtual bool parallel() const
Are the cyclic planes parallel.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
void transformList(const tensor &rotTensor, UList< T > &field)
Inplace transform a list of elements.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Class containing processor-to-processor mapping information.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
friend Istream & operator>>(Istream &, mapDistribute &)
Read dictionary from Istream.
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
Distribute data using default commsType.
#define forAllIters(container, iter)
Iterate across all elements in the container object.
bool subHasFlip() const
Does subMap include a sign.
const labelListList & transformElements() const
For every globalIndexAndTransform::transformPermutations.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
virtual ~mapDistribute()=default
Destructor.
friend Ostream & operator<<(Ostream &, const mapDistribute &)
Write dictionary to Ostream.
label constructSize() const
Constructed data size.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
void updateMesh(const mapPolyMesh &)
Correct for topo change.
static int & msgType()
Message tag of standard messages.
forAllConstIters(mixture.phases(), phase)
virtual void transformPosition(pointField &) const =0
Transform a patch-based position from other side to this side.
ClassName("mapDistribute")
Tensor< Cmpt > T() const
Return non-Hermitian transpose.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
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.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
autoPtr< mapDistribute > clone() const
Clone.
void printLayout(Ostream &os) const
Debug: print layout. Can only be used on maps with sorted.
const labelListList & constructMap() const
From subsetted data to new reconstructed data.
mapDistribute()
Construct null.