29 struct GridStatistics;
36 GridStatistics(
int __numberOfLocalUnrefinedCells,
int __numberOfRemoteUnrefinedCells,
int __numberOfLocalRefinedCells,
int __numberOfRemoteRefinedCells,
int __stationarySweeps,
bool __coarseningHasBeenVetoed,
bool __removedEmptySubtree,
tarch::la::Vector<Dimensions,double> __minH);
54 double getMinH(
int index)
const;
55 void setMinH(
int index,
double value);
65 [[clang::map_mpi_datatype]]
68 [[clang::map_mpi_datatype]]
71 [[clang::map_mpi_datatype]]
74 [[clang::map_mpi_datatype]]
77 [[clang::map_mpi_datatype]]
80 [[clang::map_mpi_datatype]]
83 [[clang::map_mpi_datatype]]
86 [[clang::map_mpi_datatype]]
89 [[clang::map_mpi_datatype]]
92 [[clang::map_mpi_datatype]]
129 static void send(
const peano4::grid::GridStatistics& buffer,
int destination,
int tag, std::function<
void()> startCommunicationFunctor, std::function<
void()> waitFunctor, MPI_Comm communicator );
130 static void receive(
peano4::grid::GridStatistics& buffer,
int source,
int tag, std::function<
void()> startCommunicationFunctor, std::function<
void()> waitFunctor, MPI_Comm communicator );
163 #if !defined(__MPI_ATTRIBUTES_LANGUAGE_EXTENSION__)
static Rank & getInstance()
This operation returns the singleton instance.
void setNumberOfLocalRefinedCells(int value)
static void freeJoinDatatype()
static MPI_Datatype getBoundaryExchangeDatatype()
tarch::la::Vector< Dimensions, double > _minH
static void shutdownDatatype()
Free the underlying MPI datatype.
int getNumberOfLocalRefinedCells() const
void setNumberOfRemoteUnrefinedCells(int value)
void setMinH(const tarch::la::Vector< Dimensions, double > &value)
int _numberOfRemoteUnrefinedCells
int getNumberOfLocalUnrefinedCells() const
static void send(const peano4::grid::GridStatistics &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 freeForkDatatype()
std::string toString() const
int _numberOfLocalUnrefinedCells
void setCoarseningHasBeenVetoed(bool value)
void setStationarySweeps(int value)
int getStationarySweeps() const
static void freeBoundaryExchangeDatatype()
static void sendAndPollDanglingMessages(const peano4::grid::GridStatistics &message, int destination, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
static MPI_Datatype getJoinDatatype()
GridStatistics(const GridStatistics ©)=default
static MPI_Datatype Datatype
Whenever we use LLVM's MPI extension (DaStGe), we rely on lazy initialisation of the datatype.
bool _coarseningHasBeenVetoed
static MPI_Datatype getMultiscaleDataExchangeDatatype()
bool getRemovedEmptySubtree() const
void setNumberOfLocalUnrefinedCells(int value)
static void receiveAndPollDanglingMessages(peano4::grid::GridStatistics &message, int source, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
int _senderDestinationRank
static MPI_Datatype getForkDatatype()
Hands out MPI datatype if we work without the LLVM MPI extension.
void setNumberOfRemoteRefinedCells(int value)
static void receive(peano4::grid::GridStatistics &buffer, int source, int tag, MPI_Comm communicator)
int getNumberOfRemoteRefinedCells() const
int _numberOfRemoteRefinedCells
GridStatistics(ObjectConstruction)
int getNumberOfRemoteUnrefinedCells() const
bool getCoarseningHasBeenVetoed() const
static void freeGlobalCommunciationDatatype()
tarch::la::Vector< Dimensions, double > getMinH() const
bool _removedEmptySubtree
static void initDatatype()
Wrapper around getDatatype() to trigger lazy evaluation if we use the lazy initialisation.
int _numberOfLocalRefinedCells
int getSenderRank() const
static MPI_Datatype getGlobalCommunciationDatatype()
static void freeMultiscaleDataExchangeDatatype()
void setRemovedEmptySubtree(bool value)