ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
Parallel Class Reference

#include <Parallel.h>

Public Member Functions

 Parallel ()
 
 ~Parallel ()
 
void initialization ()
 
void setNeighbour (const int neighbour)
 
void addElementToSend (int neighbour, Cell *cell)
 
void addElementToReceive (int neighbour, Cell *cell)
 
void addSlopesToSend (int neighbour)
 
void addSlopesToReceive (int neighbour)
 
void deleteSlopesToSend (int neighbour)
 
void deleteSlopesToReceive (int neighbour)
 
void clearElementsAndSlopesToSendAndReceivePLusNeighbour ()
 
TypeMeshContainer< Cell * > & getElementsToSend (int neighbour)
 
TypeMeshContainer< Cell * > & getElementsToReceive (int neighbour)
 
void initializePersistentCommunications (const int &numberPrimitiveVariables, const int &numberSlopeVariables, const int &numberTransportVariables, const int &dim)
 
void computeDt (double &dt)
 
void computePMax (double &pMax, double &pMaxWall)
 
void computeSum (double &var)
 
void finalize (const int &lvlMax)
 
void stopRun ()
 
bool verifyStateCPUs ()
 
void initializePersistentCommunicationsPrimitives ()
 
void finalizePersistentCommunicationsPrimitives (const int &lvlMax)
 
void communicationsPrimitives (Eos **eos, int lvl, Prim type=vecPhases)
 
void initializePersistentCommunicationsSlopes ()
 
void finalizePersistentCommunicationsSlopes (const int &lvlMax)
 
void communicationsSlopes (int lvl)
 
void initializePersistentCommunicationsScalar ()
 
void finalizePersistentCommunicationsScalar (const int &lvlMax)
 
void initializePersistentCommunicationsVector (const int &dim)
 
void finalizePersistentCommunicationsVector (const int &lvlMax)
 
void communicationsVector (Variable nameVector, const int &dim, int lvl, int num=0, int index=-1)
 
void initializePersistentCommunicationsTransports ()
 
void finalizePersistentCommunicationsTransports (const int &lvlMax)
 
void communicationsTransports (int lvl)
 
void initializePersistentCommunicationsAMR (const int &numberPrimitiveVariables, const int &numberSlopeVariables, const int &numberTransportVariables, const int &dim, const int &lvlMax)
 
void initializePersistentCommunicationsLvlAMR (const int &lvlMax)
 
void clearRequestsAndBuffers (int lvl)
 
void updatePersistentCommunicationsAMR (const int &dim)
 
void updatePersistentCommunicationsLvlAMR (int lvl, const int &dim)
 
void finalizeAMR (const int &lvlMax)
 
void initializePersistentCommunicationsXi ()
 
void finalizePersistentCommunicationsXi (const int &lvlMax)
 
void communicationsXi (int lvl)
 
void initializePersistentCommunicationsSplit ()
 
void finalizePersistentCommunicationsSplit (const int &lvlMax)
 
void communicationsSplit (int lvl)
 
void initializePersistentCommunicationsNumberGhostCells ()
 
void finalizePersistentCommunicationsNumberGhostCells ()
 
void communicationsNumberGhostCells (int lvl)
 

Private Attributes

bool * m_isNeighbour
 
std::vector< TypeMeshContainer< Cell * > > m_elementsToSend
 
std::vector< TypeMeshContainer< Cell * > > m_elementsToReceive
 
int * m_numberElementsToSendToNeighbour
 
int * m_numberElementsToReceiveFromNeighbour
 
int * m_numberSlopesToSendToNeighbour
 
int * m_numberSlopesToReceiveFromNeighbour
 
int m_numberPrimitiveVariables
 
int m_numberSlopeVariables
 
int m_numberTransportVariables
 
std::vector< double ** > m_bufferReceive
 
std::vector< double ** > m_bufferSend
 
std::vector< double ** > m_bufferReceiveSlopes
 
std::vector< double ** > m_bufferSendSlopes
 
std::vector< double ** > m_bufferReceiveScalar
 
std::vector< double ** > m_bufferSendScalar
 
std::vector< double ** > m_bufferReceiveVector
 
std::vector< double ** > m_bufferSendVector
 
std::vector< double ** > m_bufferReceiveTransports
 
std::vector< double ** > m_bufferSendTransports
 
std::vector< double ** > m_bufferReceiveXi
 
std::vector< double ** > m_bufferSendXi
 
std::vector< bool ** > m_bufferReceiveSplit
 
std::vector< bool ** > m_bufferSendSplit
 
int * m_bufferNumberElementsToSendToNeighbor
 
int * m_bufferNumberElementsToReceiveFromNeighbour
 
int * m_bufferNumberSlopesToSendToNeighbor
 
int * m_bufferNumberSlopesToReceiveFromNeighbour
 
std::vector< MPI_Request ** > m_reqSend
 
std::vector< MPI_Request ** > m_reqReceive
 
std::vector< MPI_Request ** > m_reqSendSlopes
 
std::vector< MPI_Request ** > m_reqReceiveSlopes
 
std::vector< MPI_Request ** > m_reqSendScalar
 
std::vector< MPI_Request ** > m_reqReceiveScalar
 
std::vector< MPI_Request ** > m_reqSendVector
 
std::vector< MPI_Request ** > m_reqReceiveVector
 
std::vector< MPI_Request ** > m_reqSendTransports
 
std::vector< MPI_Request ** > m_reqReceiveTransports
 
std::vector< MPI_Request ** > m_reqSendXi
 
std::vector< MPI_Request ** > m_reqReceiveXi
 
std::vector< MPI_Request ** > m_reqSendSplit
 
std::vector< MPI_Request ** > m_reqReceiveSplit
 
MPI_Request ** m_reqNumberElementsToSendToNeighbor
 
MPI_Request ** m_reqNumberElementsToReceiveFromNeighbour
 
MPI_Request ** m_reqNumberSlopesToSendToNeighbor
 
MPI_Request ** m_reqNumberSlopesToReceiveFromNeighbour
 

Constructor & Destructor Documentation

◆ Parallel()

Parallel::Parallel ( )

◆ ~Parallel()

Parallel::~Parallel ( )

Member Function Documentation

◆ addElementToReceive()

void Parallel::addElementToReceive ( int  neighbour,
Cell cell 
)

◆ addElementToSend()

void Parallel::addElementToSend ( int  neighbour,
Cell cell 
)

◆ addSlopesToReceive()

void Parallel::addSlopesToReceive ( int  neighbour)

◆ addSlopesToSend()

void Parallel::addSlopesToSend ( int  neighbour)

◆ clearElementsAndSlopesToSendAndReceivePLusNeighbour()

void Parallel::clearElementsAndSlopesToSendAndReceivePLusNeighbour ( )

◆ clearRequestsAndBuffers()

void Parallel::clearRequestsAndBuffers ( int  lvl)

◆ communicationsNumberGhostCells()

void Parallel::communicationsNumberGhostCells ( int  lvl)

◆ communicationsPrimitives()

void Parallel::communicationsPrimitives ( Eos **  eos,
int  lvl,
Prim  type = vecPhases 
)

◆ communicationsSlopes()

void Parallel::communicationsSlopes ( int  lvl)

◆ communicationsSplit()

void Parallel::communicationsSplit ( int  lvl)

◆ communicationsTransports()

void Parallel::communicationsTransports ( int  lvl)

◆ communicationsVector()

void Parallel::communicationsVector ( Variable  nameVector,
const int &  dim,
int  lvl,
int  num = 0,
int  index = -1 
)

◆ communicationsXi()

void Parallel::communicationsXi ( int  lvl)

◆ computeDt()

void Parallel::computeDt ( double &  dt)

◆ computePMax()

void Parallel::computePMax ( double &  pMax,
double &  pMaxWall 
)

◆ computeSum()

void Parallel::computeSum ( double &  var)

◆ deleteSlopesToReceive()

void Parallel::deleteSlopesToReceive ( int  neighbour)

◆ deleteSlopesToSend()

void Parallel::deleteSlopesToSend ( int  neighbour)

◆ finalize()

void Parallel::finalize ( const int &  lvlMax)

◆ finalizeAMR()

void Parallel::finalizeAMR ( const int &  lvlMax)

◆ finalizePersistentCommunicationsNumberGhostCells()

void Parallel::finalizePersistentCommunicationsNumberGhostCells ( )

◆ finalizePersistentCommunicationsPrimitives()

void Parallel::finalizePersistentCommunicationsPrimitives ( const int &  lvlMax)

◆ finalizePersistentCommunicationsScalar()

void Parallel::finalizePersistentCommunicationsScalar ( const int &  lvlMax)

◆ finalizePersistentCommunicationsSlopes()

void Parallel::finalizePersistentCommunicationsSlopes ( const int &  lvlMax)

◆ finalizePersistentCommunicationsSplit()

void Parallel::finalizePersistentCommunicationsSplit ( const int &  lvlMax)

◆ finalizePersistentCommunicationsTransports()

void Parallel::finalizePersistentCommunicationsTransports ( const int &  lvlMax)

◆ finalizePersistentCommunicationsVector()

void Parallel::finalizePersistentCommunicationsVector ( const int &  lvlMax)

◆ finalizePersistentCommunicationsXi()

void Parallel::finalizePersistentCommunicationsXi ( const int &  lvlMax)

◆ getElementsToReceive()

TypeMeshContainer< Cell * > & Parallel::getElementsToReceive ( int  neighbour)

◆ getElementsToSend()

TypeMeshContainer< Cell * > & Parallel::getElementsToSend ( int  neighbour)

◆ initialization()

void Parallel::initialization ( )

◆ initializePersistentCommunications()

void Parallel::initializePersistentCommunications ( const int &  numberPrimitiveVariables,
const int &  numberSlopeVariables,
const int &  numberTransportVariables,
const int &  dim 
)

◆ initializePersistentCommunicationsAMR()

void Parallel::initializePersistentCommunicationsAMR ( const int &  numberPrimitiveVariables,
const int &  numberSlopeVariables,
const int &  numberTransportVariables,
const int &  dim,
const int &  lvlMax 
)

◆ initializePersistentCommunicationsLvlAMR()

void Parallel::initializePersistentCommunicationsLvlAMR ( const int &  lvlMax)

◆ initializePersistentCommunicationsNumberGhostCells()

void Parallel::initializePersistentCommunicationsNumberGhostCells ( )

◆ initializePersistentCommunicationsPrimitives()

void Parallel::initializePersistentCommunicationsPrimitives ( )

◆ initializePersistentCommunicationsScalar()

void Parallel::initializePersistentCommunicationsScalar ( )

◆ initializePersistentCommunicationsSlopes()

void Parallel::initializePersistentCommunicationsSlopes ( )

◆ initializePersistentCommunicationsSplit()

void Parallel::initializePersistentCommunicationsSplit ( )

◆ initializePersistentCommunicationsTransports()

void Parallel::initializePersistentCommunicationsTransports ( )

◆ initializePersistentCommunicationsVector()

void Parallel::initializePersistentCommunicationsVector ( const int &  dim)

◆ initializePersistentCommunicationsXi()

void Parallel::initializePersistentCommunicationsXi ( )

◆ setNeighbour()

void Parallel::setNeighbour ( const int  neighbour)

◆ stopRun()

void Parallel::stopRun ( )

◆ updatePersistentCommunicationsAMR()

void Parallel::updatePersistentCommunicationsAMR ( const int &  dim)

◆ updatePersistentCommunicationsLvlAMR()

void Parallel::updatePersistentCommunicationsLvlAMR ( int  lvl,
const int &  dim 
)

◆ verifyStateCPUs()

bool Parallel::verifyStateCPUs ( )

Member Data Documentation

◆ m_bufferNumberElementsToReceiveFromNeighbour

int* Parallel::m_bufferNumberElementsToReceiveFromNeighbour
private

◆ m_bufferNumberElementsToSendToNeighbor

int* Parallel::m_bufferNumberElementsToSendToNeighbor
private

◆ m_bufferNumberSlopesToReceiveFromNeighbour

int* Parallel::m_bufferNumberSlopesToReceiveFromNeighbour
private

◆ m_bufferNumberSlopesToSendToNeighbor

int* Parallel::m_bufferNumberSlopesToSendToNeighbor
private

◆ m_bufferReceive

std::vector<double**> Parallel::m_bufferReceive
private

◆ m_bufferReceiveScalar

std::vector<double**> Parallel::m_bufferReceiveScalar
private

◆ m_bufferReceiveSlopes

std::vector<double**> Parallel::m_bufferReceiveSlopes
private

◆ m_bufferReceiveSplit

std::vector<bool**> Parallel::m_bufferReceiveSplit
private

◆ m_bufferReceiveTransports

std::vector<double**> Parallel::m_bufferReceiveTransports
private

◆ m_bufferReceiveVector

std::vector<double**> Parallel::m_bufferReceiveVector
private

◆ m_bufferReceiveXi

std::vector<double**> Parallel::m_bufferReceiveXi
private

◆ m_bufferSend

std::vector<double**> Parallel::m_bufferSend
private

◆ m_bufferSendScalar

std::vector<double**> Parallel::m_bufferSendScalar
private

◆ m_bufferSendSlopes

std::vector<double**> Parallel::m_bufferSendSlopes
private

◆ m_bufferSendSplit

std::vector<bool**> Parallel::m_bufferSendSplit
private

◆ m_bufferSendTransports

std::vector<double**> Parallel::m_bufferSendTransports
private

◆ m_bufferSendVector

std::vector<double**> Parallel::m_bufferSendVector
private

◆ m_bufferSendXi

std::vector<double**> Parallel::m_bufferSendXi
private

◆ m_elementsToReceive

std::vector<TypeMeshContainer<Cell*> > Parallel::m_elementsToReceive
private

◆ m_elementsToSend

std::vector<TypeMeshContainer<Cell*> > Parallel::m_elementsToSend
private

◆ m_isNeighbour

bool* Parallel::m_isNeighbour
private

◆ m_numberElementsToReceiveFromNeighbour

int* Parallel::m_numberElementsToReceiveFromNeighbour
private

◆ m_numberElementsToSendToNeighbour

int* Parallel::m_numberElementsToSendToNeighbour
private

◆ m_numberPrimitiveVariables

int Parallel::m_numberPrimitiveVariables
private

◆ m_numberSlopesToReceiveFromNeighbour

int* Parallel::m_numberSlopesToReceiveFromNeighbour
private

◆ m_numberSlopesToSendToNeighbour

int* Parallel::m_numberSlopesToSendToNeighbour
private

◆ m_numberSlopeVariables

int Parallel::m_numberSlopeVariables
private

◆ m_numberTransportVariables

int Parallel::m_numberTransportVariables
private

◆ m_reqNumberElementsToReceiveFromNeighbour

MPI_Request** Parallel::m_reqNumberElementsToReceiveFromNeighbour
private

◆ m_reqNumberElementsToSendToNeighbor

MPI_Request** Parallel::m_reqNumberElementsToSendToNeighbor
private

◆ m_reqNumberSlopesToReceiveFromNeighbour

MPI_Request** Parallel::m_reqNumberSlopesToReceiveFromNeighbour
private

◆ m_reqNumberSlopesToSendToNeighbor

MPI_Request** Parallel::m_reqNumberSlopesToSendToNeighbor
private

◆ m_reqReceive

std::vector<MPI_Request**> Parallel::m_reqReceive
private

◆ m_reqReceiveScalar

std::vector<MPI_Request**> Parallel::m_reqReceiveScalar
private

◆ m_reqReceiveSlopes

std::vector<MPI_Request**> Parallel::m_reqReceiveSlopes
private

◆ m_reqReceiveSplit

std::vector<MPI_Request**> Parallel::m_reqReceiveSplit
private

◆ m_reqReceiveTransports

std::vector<MPI_Request**> Parallel::m_reqReceiveTransports
private

◆ m_reqReceiveVector

std::vector<MPI_Request**> Parallel::m_reqReceiveVector
private

◆ m_reqReceiveXi

std::vector<MPI_Request**> Parallel::m_reqReceiveXi
private

◆ m_reqSend

std::vector<MPI_Request**> Parallel::m_reqSend
private

◆ m_reqSendScalar

std::vector<MPI_Request**> Parallel::m_reqSendScalar
private

◆ m_reqSendSlopes

std::vector<MPI_Request**> Parallel::m_reqSendSlopes
private

◆ m_reqSendSplit

std::vector<MPI_Request**> Parallel::m_reqSendSplit
private

◆ m_reqSendTransports

std::vector<MPI_Request**> Parallel::m_reqSendTransports
private

◆ m_reqSendVector

std::vector<MPI_Request**> Parallel::m_reqSendVector
private

◆ m_reqSendXi

std::vector<MPI_Request**> Parallel::m_reqSendXi
private

The documentation for this class was generated from the following files: