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>
462 return transformElements_;
468 return transformStart_;
490 template<
class T,
class negateOp>
494 const negateOp& negOp,
532 template<
class T,
class TransformOp>
537 const TransformOp& top,
542 template<
class T,
class TransformOp>
548 const TransformOp& top,
553 template<
class T,
class TransformOp>
560 const TransformOp& top,
596 void mapDistribute::transform::operator()
598 const vectorTensorTransform&,
603 void mapDistribute::transform::operator()
605 const coupledPolyPatch&,
609 void mapDistribute::transform::operator()
611 const coupledPolyPatch&,
615 void mapDistribute::transform::operator()
617 const coupledPolyPatch&,
622 void mapDistribute::transform::operator()
624 const coupledPolyPatch&,
628 void mapDistribute::transform::operator()
630 const vectorTensorTransform&,
635 void mapDistribute::transform::operator()
637 const coupledPolyPatch&,
641 void mapDistribute::transform::operator()
643 const coupledPolyPatch&,
648 void mapDistribute::transform::operator()
650 const coupledPolyPatch& cpp,
654 void mapDistribute::transform::operator()
656 const vectorTensorTransform&,
661 void mapDistribute::transform::operator()
663 const coupledPolyPatch&,
667 void mapDistribute::transform::operator()
669 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.
OBJstream os(runTime.globalPath()/outputName)
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() noexcept
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.
static label worldComm
Default communicator (all processors)
ClassName("mapDistribute")
mapDistribute(const label comm=UPstream::worldComm)
Construct null.
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.