Peano
Loading...
Searching...
No Matches
peano4::grid::GridTraversalEvent Struct Reference

#include <GridTraversalEvent.h>

Collaboration diagram for peano4::grid::GridTraversalEvent:

Public Types

enum  ObjectConstruction { NoData }
 

Public Member Functions

 GridTraversalEvent ()
 
 GridTraversalEvent (tarch::la::Vector< Dimensions, double > __x, tarch::la::Vector< Dimensions, double > __h, std::bitset< TwoPowerD > __hasBeenRefined, std::bitset< TwoPowerD > __willBeRefined, std::bitset< TwoPowerD > __isVertexLocal, std::bitset< TwoPowerD > __isParentVertexLocal, std::bitset< TwoPowerD > __isVertexParentOfSubtree, std::bitset< TwoTimesD > __isFaceLocal, bool __isCellLocal, bool __isParentCellLocal, std::bitset< TwoPowerD > __isVertexAdjacentToParallelDomainBoundary, std::bitset< TwoTimesD > __isFaceAdjacentToParallelDomainBoundary, tarch::la::Vector< TwoPowerD, int > __numberOfAdjacentTreesPerVertex, std::bitset< ThreePowerD > __isAdjacentCellLocal, tarch::la::Vector< TwoPowerD, int > __vertexDataFrom, tarch::la::Vector< TwoPowerD, int > __vertexDataTo, tarch::la::Vector< TwoTimesD, int > __faceDataFrom, tarch::la::Vector< TwoTimesD, int > __faceDataTo, int __cellData, tarch::la::Vector< Dimensions, int > __relativePositionToFather, int __invokingSpacetree, bool __invokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing)
 
tarch::la::Vector< Dimensions, double > getX () const
 
void setX (const tarch::la::Vector< Dimensions, double > &value)
 
double getX (int index) const
 
void setX (int index, double value)
 
tarch::la::Vector< Dimensions, double > getH () const
 
void setH (const tarch::la::Vector< Dimensions, double > &value)
 
double getH (int index) const
 
void setH (int index, double value)
 
std::bitset< TwoPowerDgetHasBeenRefined () const
 
void setHasBeenRefined (const std::bitset< TwoPowerD > &value)
 
bool getHasBeenRefined (int index) const
 
void setHasBeenRefined (int index, bool value)
 
void flipHasBeenRefined (int index)
 
std::bitset< TwoPowerDgetWillBeRefined () const
 
void setWillBeRefined (const std::bitset< TwoPowerD > &value)
 
bool getWillBeRefined (int index) const
 
void setWillBeRefined (int index, bool value)
 
void flipWillBeRefined (int index)
 
std::bitset< TwoPowerDgetIsVertexLocal () const
 
void setIsVertexLocal (const std::bitset< TwoPowerD > &value)
 
bool getIsVertexLocal (int index) const
 
void setIsVertexLocal (int index, bool value)
 
void flipIsVertexLocal (int index)
 
std::bitset< TwoPowerDgetIsParentVertexLocal () const
 
void setIsParentVertexLocal (const std::bitset< TwoPowerD > &value)
 
bool getIsParentVertexLocal (int index) const
 
void setIsParentVertexLocal (int index, bool value)
 
void flipIsParentVertexLocal (int index)
 
std::bitset< TwoPowerDgetIsVertexParentOfSubtree () const
 
void setIsVertexParentOfSubtree (const std::bitset< TwoPowerD > &value)
 
bool getIsVertexParentOfSubtree (int index) const
 
void setIsVertexParentOfSubtree (int index, bool value)
 
void flipIsVertexParentOfSubtree (int index)
 
std::bitset< TwoTimesDgetIsFaceLocal () const
 
void setIsFaceLocal (const std::bitset< TwoTimesD > &value)
 
bool getIsFaceLocal (int index) const
 
void setIsFaceLocal (int index, bool value)
 
void flipIsFaceLocal (int index)
 
bool getIsCellLocal () const
 
void setIsCellLocal (bool value)
 
bool getIsParentCellLocal () const
 
void setIsParentCellLocal (bool value)
 
std::bitset< TwoPowerDgetIsVertexAdjacentToParallelDomainBoundary () const
 
void setIsVertexAdjacentToParallelDomainBoundary (const std::bitset< TwoPowerD > &value)
 
bool getIsVertexAdjacentToParallelDomainBoundary (int index) const
 
void setIsVertexAdjacentToParallelDomainBoundary (int index, bool value)
 
void flipIsVertexAdjacentToParallelDomainBoundary (int index)
 
std::bitset< TwoTimesDgetIsFaceAdjacentToParallelDomainBoundary () const
 
void setIsFaceAdjacentToParallelDomainBoundary (const std::bitset< TwoTimesD > &value)
 
bool getIsFaceAdjacentToParallelDomainBoundary (int index) const
 
void setIsFaceAdjacentToParallelDomainBoundary (int index, bool value)
 
void flipIsFaceAdjacentToParallelDomainBoundary (int index)
 
tarch::la::Vector< TwoPowerD, int > getNumberOfAdjacentTreesPerVertex () const
 
void setNumberOfAdjacentTreesPerVertex (const tarch::la::Vector< TwoPowerD, int > &value)
 
int getNumberOfAdjacentTreesPerVertex (int index) const
 
void setNumberOfAdjacentTreesPerVertex (int index, int value)
 
std::bitset< ThreePowerDgetIsAdjacentCellLocal () const
 
void setIsAdjacentCellLocal (const std::bitset< ThreePowerD > &value)
 
bool getIsAdjacentCellLocal (int index) const
 
void setIsAdjacentCellLocal (int index, bool value)
 
void flipIsAdjacentCellLocal (int index)
 
tarch::la::Vector< TwoPowerD, int > getVertexDataFrom () const
 
void setVertexDataFrom (const tarch::la::Vector< TwoPowerD, int > &value)
 
int getVertexDataFrom (int index) const
 
void setVertexDataFrom (int index, int value)
 
tarch::la::Vector< TwoPowerD, int > getVertexDataTo () const
 
void setVertexDataTo (const tarch::la::Vector< TwoPowerD, int > &value)
 
int getVertexDataTo (int index) const
 
void setVertexDataTo (int index, int value)
 
tarch::la::Vector< TwoTimesD, int > getFaceDataFrom () const
 
void setFaceDataFrom (const tarch::la::Vector< TwoTimesD, int > &value)
 
int getFaceDataFrom (int index) const
 
void setFaceDataFrom (int index, int value)
 
tarch::la::Vector< TwoTimesD, int > getFaceDataTo () const
 
void setFaceDataTo (const tarch::la::Vector< TwoTimesD, int > &value)
 
int getFaceDataTo (int index) const
 
void setFaceDataTo (int index, int value)
 
int getCellData () const
 
void setCellData (int value)
 
tarch::la::Vector< Dimensions, int > getRelativePositionToFather () const
 
void setRelativePositionToFather (const tarch::la::Vector< Dimensions, int > &value)
 
int getRelativePositionToFather (int index) const
 
void setRelativePositionToFather (int index, int value)
 
int getInvokingSpacetree () const
 
void setInvokingSpacetree (int value)
 
bool getInvokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing () const
 
void setInvokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing (bool value)
 
 GridTraversalEvent (const GridTraversalEvent &copy)
 
int getSenderRank () const
 
 GridTraversalEvent (ObjectConstruction)
 
std::string toString () const
 

Static Public Member Functions

static MPI_Datatype getForkDatatype ()
 Hands out MPI datatype if we work without the LLVM MPI extension.
 
static MPI_Datatype getJoinDatatype ()
 
static MPI_Datatype getBoundaryExchangeDatatype ()
 
static MPI_Datatype getMultiscaleDataExchangeDatatype ()
 
static MPI_Datatype getGlobalCommunciationDatatype ()
 
static void freeForkDatatype ()
 
static void freeJoinDatatype ()
 
static void freeBoundaryExchangeDatatype ()
 
static void freeMultiscaleDataExchangeDatatype ()
 
static void freeGlobalCommunciationDatatype ()
 
static void initDatatype ()
 Wrapper around getDatatype() to trigger lazy evaluation if we use the lazy initialisation.
 
static void shutdownDatatype ()
 Free the underlying MPI datatype.
 
static void send (const peano4::grid::GridTraversalEvent &buffer, int destination, int tag, MPI_Comm communicator)
 In DaStGen (the first version), I had a non-static version of the send as well as the receive.
 
static void receive (peano4::grid::GridTraversalEvent &buffer, int source, int tag, MPI_Comm communicator)
 
static void send (const peano4::grid::GridTraversalEvent &buffer, int destination, int tag, std::function< void()> startCommunicationFunctor, std::function< void()> waitFunctor, MPI_Comm communicator)
 Alternative to the other send() where I trigger a non-blocking send an then invoke the functor until the corresponding MPI_Test tells me that the message went through.
 
static void receive (peano4::grid::GridTraversalEvent &buffer, int source, int tag, std::function< void()> startCommunicationFunctor, std::function< void()> waitFunctor, MPI_Comm communicator)
 
static void sendAndPollDanglingMessages (const peano4::grid::GridTraversalEvent &message, int destination, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
 
static void receiveAndPollDanglingMessages (peano4::grid::GridTraversalEvent &message, int source, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
 

Private Attributes

tarch::la::Vector< Dimensions, double > _x
 
tarch::la::Vector< Dimensions, double > _h
 
std::bitset< TwoPowerD_hasBeenRefined
 
std::bitset< TwoPowerD_willBeRefined
 
std::bitset< TwoPowerD_isVertexLocal
 
std::bitset< TwoPowerD_isParentVertexLocal
 
std::bitset< TwoPowerD_isVertexParentOfSubtree
 
std::bitset< TwoTimesD_isFaceLocal
 
bool _isCellLocal
 
bool _isParentCellLocal
 
std::bitset< TwoPowerD_isVertexAdjacentToParallelDomainBoundary
 
std::bitset< TwoTimesD_isFaceAdjacentToParallelDomainBoundary
 
tarch::la::Vector< TwoPowerD, int > _numberOfAdjacentTreesPerVertex
 
std::bitset< ThreePowerD_isAdjacentCellLocal
 
tarch::la::Vector< TwoPowerD, int > _vertexDataFrom
 
tarch::la::Vector< TwoPowerD, int > _vertexDataTo
 
tarch::la::Vector< TwoTimesD, int > _faceDataFrom
 
tarch::la::Vector< TwoTimesD, int > _faceDataTo
 
int _cellData
 
tarch::la::Vector< Dimensions, int > _relativePositionToFather
 
int _invokingSpacetree
 
bool _invokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing
 
int _senderDestinationRank
 

Static Private Attributes

static MPI_Datatype Datatype
 Whenever we use LLVM's MPI extension (DaStGe), we rely on lazy initialisation of the datatype.
 

Detailed Description

Definition at line 39 of file GridTraversalEvent.h.

Member Enumeration Documentation

◆ ObjectConstruction

Enumerator
NoData 

Definition at line 212 of file GridTraversalEvent.h.

Constructor & Destructor Documentation

◆ GridTraversalEvent() [1/4]

peano4::grid::GridTraversalEvent::GridTraversalEvent ( )

Definition at line 43 of file GridTraversalEvent.h.

◆ GridTraversalEvent() [2/4]

peano4::grid::GridTraversalEvent::GridTraversalEvent ( tarch::la::Vector< Dimensions, double > __x,
tarch::la::Vector< Dimensions, double > __h,
std::bitset< TwoPowerD > __hasBeenRefined,
std::bitset< TwoPowerD > __willBeRefined,
std::bitset< TwoPowerD > __isVertexLocal,
std::bitset< TwoPowerD > __isParentVertexLocal,
std::bitset< TwoPowerD > __isVertexParentOfSubtree,
std::bitset< TwoTimesD > __isFaceLocal,
bool __isCellLocal,
bool __isParentCellLocal,
std::bitset< TwoPowerD > __isVertexAdjacentToParallelDomainBoundary,
std::bitset< TwoTimesD > __isFaceAdjacentToParallelDomainBoundary,
tarch::la::Vector< TwoPowerD, int > __numberOfAdjacentTreesPerVertex,
std::bitset< ThreePowerD > __isAdjacentCellLocal,
tarch::la::Vector< TwoPowerD, int > __vertexDataFrom,
tarch::la::Vector< TwoPowerD, int > __vertexDataTo,
tarch::la::Vector< TwoTimesD, int > __faceDataFrom,
tarch::la::Vector< TwoTimesD, int > __faceDataTo,
int __cellData,
tarch::la::Vector< Dimensions, int > __relativePositionToFather,
int __invokingSpacetree,
bool __invokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing )

◆ GridTraversalEvent() [3/4]

peano4::grid::GridTraversalEvent::GridTraversalEvent ( const GridTraversalEvent & copy)

◆ GridTraversalEvent() [4/4]

peano4::grid::GridTraversalEvent::GridTraversalEvent ( ObjectConstruction )

Definition at line 216 of file GridTraversalEvent.h.

Member Function Documentation

◆ flipHasBeenRefined()

void peano4::grid::GridTraversalEvent::flipHasBeenRefined ( int index)

◆ flipIsAdjacentCellLocal()

void peano4::grid::GridTraversalEvent::flipIsAdjacentCellLocal ( int index)

◆ flipIsFaceAdjacentToParallelDomainBoundary()

void peano4::grid::GridTraversalEvent::flipIsFaceAdjacentToParallelDomainBoundary ( int index)

◆ flipIsFaceLocal()

void peano4::grid::GridTraversalEvent::flipIsFaceLocal ( int index)

◆ flipIsParentVertexLocal()

void peano4::grid::GridTraversalEvent::flipIsParentVertexLocal ( int index)

◆ flipIsVertexAdjacentToParallelDomainBoundary()

void peano4::grid::GridTraversalEvent::flipIsVertexAdjacentToParallelDomainBoundary ( int index)

◆ flipIsVertexLocal()

void peano4::grid::GridTraversalEvent::flipIsVertexLocal ( int index)

◆ flipIsVertexParentOfSubtree()

void peano4::grid::GridTraversalEvent::flipIsVertexParentOfSubtree ( int index)

◆ flipWillBeRefined()

void peano4::grid::GridTraversalEvent::flipWillBeRefined ( int index)

◆ freeBoundaryExchangeDatatype()

static void peano4::grid::GridTraversalEvent::freeBoundaryExchangeDatatype ( )
static

◆ freeForkDatatype()

static void peano4::grid::GridTraversalEvent::freeForkDatatype ( )
static

◆ freeGlobalCommunciationDatatype()

static void peano4::grid::GridTraversalEvent::freeGlobalCommunciationDatatype ( )
static

◆ freeJoinDatatype()

static void peano4::grid::GridTraversalEvent::freeJoinDatatype ( )
static

◆ freeMultiscaleDataExchangeDatatype()

static void peano4::grid::GridTraversalEvent::freeMultiscaleDataExchangeDatatype ( )
static

◆ getBoundaryExchangeDatatype()

static MPI_Datatype peano4::grid::GridTraversalEvent::getBoundaryExchangeDatatype ( )
static

◆ getCellData()

int peano4::grid::GridTraversalEvent::getCellData ( ) const

◆ getFaceDataFrom() [1/2]

tarch::la::Vector< TwoTimesD, int > peano4::grid::GridTraversalEvent::getFaceDataFrom ( ) const

◆ getFaceDataFrom() [2/2]

int peano4::grid::GridTraversalEvent::getFaceDataFrom ( int index) const

◆ getFaceDataTo() [1/2]

tarch::la::Vector< TwoTimesD, int > peano4::grid::GridTraversalEvent::getFaceDataTo ( ) const

◆ getFaceDataTo() [2/2]

int peano4::grid::GridTraversalEvent::getFaceDataTo ( int index) const

◆ getForkDatatype()

static MPI_Datatype peano4::grid::GridTraversalEvent::getForkDatatype ( )
static

Hands out MPI datatype if we work without the LLVM MPI extension.

If we work with this additional feature, this is the routine where the lazy initialisation is done and the datatype is also cached.

◆ getGlobalCommunciationDatatype()

static MPI_Datatype peano4::grid::GridTraversalEvent::getGlobalCommunciationDatatype ( )
static

◆ getH() [1/2]

tarch::la::Vector< Dimensions, double > peano4::grid::GridTraversalEvent::getH ( ) const

◆ getH() [2/2]

double peano4::grid::GridTraversalEvent::getH ( int index) const

◆ getHasBeenRefined() [1/2]

std::bitset< TwoPowerD > peano4::grid::GridTraversalEvent::getHasBeenRefined ( ) const

◆ getHasBeenRefined() [2/2]

bool peano4::grid::GridTraversalEvent::getHasBeenRefined ( int index) const

◆ getInvokingSpacetree()

int peano4::grid::GridTraversalEvent::getInvokingSpacetree ( ) const

◆ getInvokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing()

bool peano4::grid::GridTraversalEvent::getInvokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing ( ) const

◆ getIsAdjacentCellLocal() [1/2]

std::bitset< ThreePowerD > peano4::grid::GridTraversalEvent::getIsAdjacentCellLocal ( ) const

◆ getIsAdjacentCellLocal() [2/2]

bool peano4::grid::GridTraversalEvent::getIsAdjacentCellLocal ( int index) const

◆ getIsCellLocal()

bool peano4::grid::GridTraversalEvent::getIsCellLocal ( ) const

◆ getIsFaceAdjacentToParallelDomainBoundary() [1/2]

std::bitset< TwoTimesD > peano4::grid::GridTraversalEvent::getIsFaceAdjacentToParallelDomainBoundary ( ) const

◆ getIsFaceAdjacentToParallelDomainBoundary() [2/2]

bool peano4::grid::GridTraversalEvent::getIsFaceAdjacentToParallelDomainBoundary ( int index) const

◆ getIsFaceLocal() [1/2]

std::bitset< TwoTimesD > peano4::grid::GridTraversalEvent::getIsFaceLocal ( ) const

◆ getIsFaceLocal() [2/2]

bool peano4::grid::GridTraversalEvent::getIsFaceLocal ( int index) const

◆ getIsParentCellLocal()

bool peano4::grid::GridTraversalEvent::getIsParentCellLocal ( ) const

◆ getIsParentVertexLocal() [1/2]

std::bitset< TwoPowerD > peano4::grid::GridTraversalEvent::getIsParentVertexLocal ( ) const

◆ getIsParentVertexLocal() [2/2]

bool peano4::grid::GridTraversalEvent::getIsParentVertexLocal ( int index) const

◆ getIsVertexAdjacentToParallelDomainBoundary() [1/2]

std::bitset< TwoPowerD > peano4::grid::GridTraversalEvent::getIsVertexAdjacentToParallelDomainBoundary ( ) const

◆ getIsVertexAdjacentToParallelDomainBoundary() [2/2]

bool peano4::grid::GridTraversalEvent::getIsVertexAdjacentToParallelDomainBoundary ( int index) const

◆ getIsVertexLocal() [1/2]

std::bitset< TwoPowerD > peano4::grid::GridTraversalEvent::getIsVertexLocal ( ) const

◆ getIsVertexLocal() [2/2]

bool peano4::grid::GridTraversalEvent::getIsVertexLocal ( int index) const

◆ getIsVertexParentOfSubtree() [1/2]

std::bitset< TwoPowerD > peano4::grid::GridTraversalEvent::getIsVertexParentOfSubtree ( ) const

◆ getIsVertexParentOfSubtree() [2/2]

bool peano4::grid::GridTraversalEvent::getIsVertexParentOfSubtree ( int index) const

◆ getJoinDatatype()

static MPI_Datatype peano4::grid::GridTraversalEvent::getJoinDatatype ( )
static

◆ getMultiscaleDataExchangeDatatype()

static MPI_Datatype peano4::grid::GridTraversalEvent::getMultiscaleDataExchangeDatatype ( )
static

◆ getNumberOfAdjacentTreesPerVertex() [1/2]

tarch::la::Vector< TwoPowerD, int > peano4::grid::GridTraversalEvent::getNumberOfAdjacentTreesPerVertex ( ) const

◆ getNumberOfAdjacentTreesPerVertex() [2/2]

int peano4::grid::GridTraversalEvent::getNumberOfAdjacentTreesPerVertex ( int index) const

◆ getRelativePositionToFather() [1/2]

tarch::la::Vector< Dimensions, int > peano4::grid::GridTraversalEvent::getRelativePositionToFather ( ) const

◆ getRelativePositionToFather() [2/2]

int peano4::grid::GridTraversalEvent::getRelativePositionToFather ( int index) const

◆ getSenderRank()

int peano4::grid::GridTraversalEvent::getSenderRank ( ) const
Returns
The rank of the sender of an object. It only make ssense to call this routine after you've invoked receive with MPI_ANY_SOURCE.

◆ getVertexDataFrom() [1/2]

tarch::la::Vector< TwoPowerD, int > peano4::grid::GridTraversalEvent::getVertexDataFrom ( ) const

◆ getVertexDataFrom() [2/2]

int peano4::grid::GridTraversalEvent::getVertexDataFrom ( int index) const

◆ getVertexDataTo() [1/2]

tarch::la::Vector< TwoPowerD, int > peano4::grid::GridTraversalEvent::getVertexDataTo ( ) const

◆ getVertexDataTo() [2/2]

int peano4::grid::GridTraversalEvent::getVertexDataTo ( int index) const

◆ getWillBeRefined() [1/2]

std::bitset< TwoPowerD > peano4::grid::GridTraversalEvent::getWillBeRefined ( ) const

◆ getWillBeRefined() [2/2]

bool peano4::grid::GridTraversalEvent::getWillBeRefined ( int index) const

◆ getX() [1/2]

tarch::la::Vector< Dimensions, double > peano4::grid::GridTraversalEvent::getX ( ) const

◆ getX() [2/2]

double peano4::grid::GridTraversalEvent::getX ( int index) const

◆ initDatatype()

static void peano4::grid::GridTraversalEvent::initDatatype ( )
static

Wrapper around getDatatype() to trigger lazy evaluation if we use the lazy initialisation.

◆ receive() [1/2]

static void peano4::grid::GridTraversalEvent::receive ( peano4::grid::GridTraversalEvent & buffer,
int source,
int tag,
MPI_Comm communicator )
static

◆ receive() [2/2]

static void peano4::grid::GridTraversalEvent::receive ( peano4::grid::GridTraversalEvent & buffer,
int source,
int tag,
std::function< void()> startCommunicationFunctor,
std::function< void()> waitFunctor,
MPI_Comm communicator )
static

◆ receiveAndPollDanglingMessages()

static void peano4::grid::GridTraversalEvent::receiveAndPollDanglingMessages ( peano4::grid::GridTraversalEvent & message,
int source,
int tag,
MPI_Comm communicator = tarch::mpi::Rank::getInstance().getCommunicator() )
static

◆ send() [1/2]

static void peano4::grid::GridTraversalEvent::send ( const peano4::grid::GridTraversalEvent & buffer,
int destination,
int tag,
MPI_Comm communicator )
static

In DaStGen (the first version), I had a non-static version of the send as well as the receive.

However, this did not work with newer C++11 versions, as a member function using this as pointer usually doesn't see the vtable while the init sees the object from outside, i.e. including a vtable. So this routine now is basically an alias for a blocking MPI_Send.

◆ send() [2/2]

static void peano4::grid::GridTraversalEvent::send ( const peano4::grid::GridTraversalEvent & buffer,
int destination,
int tag,
std::function< void()> startCommunicationFunctor,
std::function< void()> waitFunctor,
MPI_Comm communicator )
static

Alternative to the other send() where I trigger a non-blocking send an then invoke the functor until the corresponding MPI_Test tells me that the message went through.

In systems with heavy MPI usage, this can help to avoid deadlocks.

◆ sendAndPollDanglingMessages()

static void peano4::grid::GridTraversalEvent::sendAndPollDanglingMessages ( const peano4::grid::GridTraversalEvent & message,
int destination,
int tag,
MPI_Comm communicator = tarch::mpi::Rank::getInstance().getCommunicator() )
static

◆ setCellData()

void peano4::grid::GridTraversalEvent::setCellData ( int value)

◆ setFaceDataFrom() [1/2]

void peano4::grid::GridTraversalEvent::setFaceDataFrom ( const tarch::la::Vector< TwoTimesD, int > & value)

◆ setFaceDataFrom() [2/2]

void peano4::grid::GridTraversalEvent::setFaceDataFrom ( int index,
int value )

◆ setFaceDataTo() [1/2]

void peano4::grid::GridTraversalEvent::setFaceDataTo ( const tarch::la::Vector< TwoTimesD, int > & value)

◆ setFaceDataTo() [2/2]

void peano4::grid::GridTraversalEvent::setFaceDataTo ( int index,
int value )

◆ setH() [1/2]

void peano4::grid::GridTraversalEvent::setH ( const tarch::la::Vector< Dimensions, double > & value)

◆ setH() [2/2]

void peano4::grid::GridTraversalEvent::setH ( int index,
double value )

◆ setHasBeenRefined() [1/2]

void peano4::grid::GridTraversalEvent::setHasBeenRefined ( const std::bitset< TwoPowerD > & value)

◆ setHasBeenRefined() [2/2]

void peano4::grid::GridTraversalEvent::setHasBeenRefined ( int index,
bool value )

◆ setInvokingSpacetree()

void peano4::grid::GridTraversalEvent::setInvokingSpacetree ( int value)

◆ setInvokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing()

void peano4::grid::GridTraversalEvent::setInvokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing ( bool value)

◆ setIsAdjacentCellLocal() [1/2]

void peano4::grid::GridTraversalEvent::setIsAdjacentCellLocal ( const std::bitset< ThreePowerD > & value)

◆ setIsAdjacentCellLocal() [2/2]

void peano4::grid::GridTraversalEvent::setIsAdjacentCellLocal ( int index,
bool value )

◆ setIsCellLocal()

void peano4::grid::GridTraversalEvent::setIsCellLocal ( bool value)

◆ setIsFaceAdjacentToParallelDomainBoundary() [1/2]

void peano4::grid::GridTraversalEvent::setIsFaceAdjacentToParallelDomainBoundary ( const std::bitset< TwoTimesD > & value)

◆ setIsFaceAdjacentToParallelDomainBoundary() [2/2]

void peano4::grid::GridTraversalEvent::setIsFaceAdjacentToParallelDomainBoundary ( int index,
bool value )

◆ setIsFaceLocal() [1/2]

void peano4::grid::GridTraversalEvent::setIsFaceLocal ( const std::bitset< TwoTimesD > & value)

◆ setIsFaceLocal() [2/2]

void peano4::grid::GridTraversalEvent::setIsFaceLocal ( int index,
bool value )

◆ setIsParentCellLocal()

void peano4::grid::GridTraversalEvent::setIsParentCellLocal ( bool value)

◆ setIsParentVertexLocal() [1/2]

void peano4::grid::GridTraversalEvent::setIsParentVertexLocal ( const std::bitset< TwoPowerD > & value)

◆ setIsParentVertexLocal() [2/2]

void peano4::grid::GridTraversalEvent::setIsParentVertexLocal ( int index,
bool value )

◆ setIsVertexAdjacentToParallelDomainBoundary() [1/2]

void peano4::grid::GridTraversalEvent::setIsVertexAdjacentToParallelDomainBoundary ( const std::bitset< TwoPowerD > & value)

◆ setIsVertexAdjacentToParallelDomainBoundary() [2/2]

void peano4::grid::GridTraversalEvent::setIsVertexAdjacentToParallelDomainBoundary ( int index,
bool value )

◆ setIsVertexLocal() [1/2]

void peano4::grid::GridTraversalEvent::setIsVertexLocal ( const std::bitset< TwoPowerD > & value)

◆ setIsVertexLocal() [2/2]

void peano4::grid::GridTraversalEvent::setIsVertexLocal ( int index,
bool value )

◆ setIsVertexParentOfSubtree() [1/2]

void peano4::grid::GridTraversalEvent::setIsVertexParentOfSubtree ( const std::bitset< TwoPowerD > & value)

◆ setIsVertexParentOfSubtree() [2/2]

void peano4::grid::GridTraversalEvent::setIsVertexParentOfSubtree ( int index,
bool value )

◆ setNumberOfAdjacentTreesPerVertex() [1/2]

void peano4::grid::GridTraversalEvent::setNumberOfAdjacentTreesPerVertex ( const tarch::la::Vector< TwoPowerD, int > & value)

◆ setNumberOfAdjacentTreesPerVertex() [2/2]

void peano4::grid::GridTraversalEvent::setNumberOfAdjacentTreesPerVertex ( int index,
int value )

◆ setRelativePositionToFather() [1/2]

void peano4::grid::GridTraversalEvent::setRelativePositionToFather ( const tarch::la::Vector< Dimensions, int > & value)

◆ setRelativePositionToFather() [2/2]

void peano4::grid::GridTraversalEvent::setRelativePositionToFather ( int index,
int value )

◆ setVertexDataFrom() [1/2]

void peano4::grid::GridTraversalEvent::setVertexDataFrom ( const tarch::la::Vector< TwoPowerD, int > & value)

◆ setVertexDataFrom() [2/2]

void peano4::grid::GridTraversalEvent::setVertexDataFrom ( int index,
int value )

◆ setVertexDataTo() [1/2]

void peano4::grid::GridTraversalEvent::setVertexDataTo ( const tarch::la::Vector< TwoPowerD, int > & value)

◆ setVertexDataTo() [2/2]

void peano4::grid::GridTraversalEvent::setVertexDataTo ( int index,
int value )

◆ setWillBeRefined() [1/2]

void peano4::grid::GridTraversalEvent::setWillBeRefined ( const std::bitset< TwoPowerD > & value)

◆ setWillBeRefined() [2/2]

void peano4::grid::GridTraversalEvent::setWillBeRefined ( int index,
bool value )

◆ setX() [1/2]

void peano4::grid::GridTraversalEvent::setX ( const tarch::la::Vector< Dimensions, double > & value)

◆ setX() [2/2]

void peano4::grid::GridTraversalEvent::setX ( int index,
double value )

◆ shutdownDatatype()

static void peano4::grid::GridTraversalEvent::shutdownDatatype ( )
static

Free the underlying MPI datatype.

◆ toString()

std::string peano4::grid::GridTraversalEvent::toString ( ) const

Field Documentation

◆ _cellData

int peano4::grid::GridTraversalEvent::_cellData
private

Definition at line 301 of file GridTraversalEvent.h.

◆ _faceDataFrom

tarch::la::Vector<TwoTimesD,int> peano4::grid::GridTraversalEvent::_faceDataFrom
private

Definition at line 299 of file GridTraversalEvent.h.

◆ _faceDataTo

tarch::la::Vector<TwoTimesD,int> peano4::grid::GridTraversalEvent::_faceDataTo
private

Definition at line 300 of file GridTraversalEvent.h.

◆ _h

tarch::la::Vector<Dimensions,double> peano4::grid::GridTraversalEvent::_h
private

Definition at line 238 of file GridTraversalEvent.h.

◆ _hasBeenRefined

std::bitset<TwoPowerD> peano4::grid::GridTraversalEvent::_hasBeenRefined
private

Definition at line 244 of file GridTraversalEvent.h.

◆ _invokingSpacetree

int peano4::grid::GridTraversalEvent::_invokingSpacetree
private

Definition at line 308 of file GridTraversalEvent.h.

◆ _invokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing

bool peano4::grid::GridTraversalEvent::_invokingSpacetreeIsNotInvolvedInAnyDynamicLoadBalancing
private

Definition at line 309 of file GridTraversalEvent.h.

◆ _isAdjacentCellLocal

std::bitset<ThreePowerD> peano4::grid::GridTraversalEvent::_isAdjacentCellLocal
private

Definition at line 295 of file GridTraversalEvent.h.

◆ _isCellLocal

bool peano4::grid::GridTraversalEvent::_isCellLocal
private

Definition at line 276 of file GridTraversalEvent.h.

◆ _isFaceAdjacentToParallelDomainBoundary

std::bitset<TwoTimesD> peano4::grid::GridTraversalEvent::_isFaceAdjacentToParallelDomainBoundary
private

Definition at line 288 of file GridTraversalEvent.h.

◆ _isFaceLocal

std::bitset<TwoTimesD> peano4::grid::GridTraversalEvent::_isFaceLocal
private

Definition at line 274 of file GridTraversalEvent.h.

◆ _isParentCellLocal

bool peano4::grid::GridTraversalEvent::_isParentCellLocal
private

Definition at line 277 of file GridTraversalEvent.h.

◆ _isParentVertexLocal

std::bitset<TwoPowerD> peano4::grid::GridTraversalEvent::_isParentVertexLocal
private

Definition at line 262 of file GridTraversalEvent.h.

◆ _isVertexAdjacentToParallelDomainBoundary

std::bitset<TwoPowerD> peano4::grid::GridTraversalEvent::_isVertexAdjacentToParallelDomainBoundary
private

Definition at line 282 of file GridTraversalEvent.h.

◆ _isVertexLocal

std::bitset<TwoPowerD> peano4::grid::GridTraversalEvent::_isVertexLocal
private

Definition at line 256 of file GridTraversalEvent.h.

◆ _isVertexParentOfSubtree

std::bitset<TwoPowerD> peano4::grid::GridTraversalEvent::_isVertexParentOfSubtree
private

Definition at line 268 of file GridTraversalEvent.h.

◆ _numberOfAdjacentTreesPerVertex

tarch::la::Vector<TwoPowerD,int> peano4::grid::GridTraversalEvent::_numberOfAdjacentTreesPerVertex
private

Definition at line 290 of file GridTraversalEvent.h.

◆ _relativePositionToFather

tarch::la::Vector<Dimensions,int> peano4::grid::GridTraversalEvent::_relativePositionToFather
private

Definition at line 306 of file GridTraversalEvent.h.

◆ _senderDestinationRank

int peano4::grid::GridTraversalEvent::_senderDestinationRank
private

Definition at line 315 of file GridTraversalEvent.h.

◆ _vertexDataFrom

tarch::la::Vector<TwoPowerD,int> peano4::grid::GridTraversalEvent::_vertexDataFrom
private

Definition at line 297 of file GridTraversalEvent.h.

◆ _vertexDataTo

tarch::la::Vector<TwoPowerD,int> peano4::grid::GridTraversalEvent::_vertexDataTo
private

Definition at line 298 of file GridTraversalEvent.h.

◆ _willBeRefined

std::bitset<TwoPowerD> peano4::grid::GridTraversalEvent::_willBeRefined
private

Definition at line 250 of file GridTraversalEvent.h.

◆ _x

tarch::la::Vector<Dimensions,double> peano4::grid::GridTraversalEvent::_x
private

Definition at line 232 of file GridTraversalEvent.h.

◆ Datatype

MPI_Datatype peano4::grid::GridTraversalEvent::Datatype
staticprivate

Whenever we use LLVM's MPI extension (DaStGe), we rely on lazy initialisation of the datatype.

However, Peano calls init explicitly in most cases. Without the LLVM extension which caches the MPI datatype once constructed, this field stores the type.

Definition at line 324 of file GridTraversalEvent.h.


The documentation for this struct was generated from the following file: