Go to the documentation of this file.
133 #ifndef mapDistribute_H
134 #define mapDistribute_H
146 class globalIndexAndTransform;
172 template<
class T,
class TransformOp>
177 const TransformOp& top
184 template<
class T,
class TransformOp>
189 const TransformOp& top
209 const tensor T(forward ? vt.R() : vt.R().T());
238 template<
class Type,
template<
class>
class Container>
264 fld = vt.transformPosition(pfld);
268 fld = vt.invTransformPosition(pfld);
288 template<
template<
class>
class Container>
300 forAllIter(
typename Container<point>, map, iter)
458 template<
class T,
class negateOp>
462 const negateOp& negOp,
500 template<
class T,
class TransformOp>
505 const TransformOp& top,
510 template<
class T,
class TransformOp>
516 const TransformOp& top,
521 template<
class T,
class TransformOp>
528 const TransformOp& top,
559 void mapDistribute::transform::operator()
561 const vectorTensorTransform&,
566 void mapDistribute::transform::operator()
568 const coupledPolyPatch&,
572 void mapDistribute::transform::operator()
574 const coupledPolyPatch&,
578 void mapDistribute::transform::operator()
580 const coupledPolyPatch&,
585 void mapDistribute::transform::operator()
587 const coupledPolyPatch&,
591 void mapDistribute::transform::operator()
593 const vectorTensorTransform&,
598 void mapDistribute::transform::operator()
600 const coupledPolyPatch&,
604 void mapDistribute::transform::operator()
606 const coupledPolyPatch&,
611 void mapDistribute::transform::operator()
613 const coupledPolyPatch& cpp,
617 void mapDistribute::transform::operator()
619 const vectorTensorTransform&,
624 void mapDistribute::transform::operator()
626 const coupledPolyPatch&,
630 void mapDistribute::transform::operator()
632 const coupledPolyPatch&,
const labelListList & subMap() const
From subsetted data back to original data.
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
bool constructHasFlip() const
Does constructMap include a sign.
label whichTransform(const label index) const
Find transform from transformElements.
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object of type.
#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.
virtual const tensorField & forwardT() const
Return face transformation tensor.
void applyTransforms(const globalIndexAndTransform &globalTransforms, List< T > &field, const TransformOp &top) const
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
void applyInverseTransforms(const globalIndexAndTransform &globalTransforms, List< T > &field, const TransformOp &top) const
const labelList & transformStart() const
Destination in constructMap for transformed elements.
A simple container for copying or transferring objects of type <T>.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
virtual bool parallel() const
Are the cyclic planes parallel.
void transfer(mapDistribute &)
Transfer the contents of the argument and annul the argument.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
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.
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))
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...
labelListList transformElements_
For every globalIndexAndTransform::transformPermutations.
friend Ostream & operator<<(Ostream &, const mapDistribute &)
Write dictionary to Ostream.
label constructSize() const
Constructed data size.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
void updateMesh(const mapPolyMesh &)
Correct for topo change.
static int & msgType()
Message tag of standard messages.
virtual void transformPosition(pointField &) const =0
Transform a patch-based position from other side to this side.
virtual ~mapDistribute()
Destructor.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
ClassName("mapDistribute")
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,...
void transformList(const tensor &, UList< T > &)
Apply transformation to list. Either single transformation tensor.
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.
Xfer< mapDistribute > xfer()
Transfer contents to the Xfer container.
void operator=(const mapDistribute &)
void applyDummyInverseTransforms(List< T > &field) const
Helper function: copy transformElements without transformation.
mapDistribute()
Construct null.
Tensor< Cmpt > T() const
Transpose.
labelList transformStart_
Destination in constructMap for transformed elements.