ECOGEN 6.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 ()
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 initializePersistentCommunicationsFromLvl0AMR (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 (const int &lvl, const int &number)
void finalizePersistentCommunicationsXi (const int &lvlMax)
void communicationsXi (int lvl)
void initializePersistentCommunicationsSplit (const int &lvl, const int &number)
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)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ finalizeAMR()

void Parallel::finalizeAMR ( const int & lvlMax)
Here is the call graph for this function:

◆ finalizePersistentCommunicationsNumberGhostCells()

void Parallel::finalizePersistentCommunicationsNumberGhostCells ( )
Here is the caller graph for this function:

◆ finalizePersistentCommunicationsPrimitives()

void Parallel::finalizePersistentCommunicationsPrimitives ( const int & lvlMax)
Here is the caller graph for this function:

◆ finalizePersistentCommunicationsScalar()

void Parallel::finalizePersistentCommunicationsScalar ( const int & lvlMax)

◆ finalizePersistentCommunicationsSlopes()

void Parallel::finalizePersistentCommunicationsSlopes ( const int & lvlMax)
Here is the caller graph for this function:

◆ finalizePersistentCommunicationsSplit()

void Parallel::finalizePersistentCommunicationsSplit ( const int & lvlMax)
Here is the caller graph for this function:

◆ finalizePersistentCommunicationsTransports()

void Parallel::finalizePersistentCommunicationsTransports ( const int & lvlMax)
Here is the caller graph for this function:

◆ finalizePersistentCommunicationsVector()

void Parallel::finalizePersistentCommunicationsVector ( const int & lvlMax)
Here is the caller graph for this function:

◆ finalizePersistentCommunicationsXi()

void Parallel::finalizePersistentCommunicationsXi ( const int & lvlMax)
Here is the caller graph for this function:

◆ 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 )

◆ initializePersistentCommunicationsFromLvl0AMR()

void Parallel::initializePersistentCommunicationsFromLvl0AMR ( const int & lvlMax)
Here is the call graph for this function:

◆ 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 ( const int & lvl,
const int & number )
Here is the caller graph for this function:

◆ initializePersistentCommunicationsTransports()

void Parallel::initializePersistentCommunicationsTransports ( )

◆ initializePersistentCommunicationsVector()

void Parallel::initializePersistentCommunicationsVector ( const int & dim)

◆ initializePersistentCommunicationsXi()

void Parallel::initializePersistentCommunicationsXi ( const int & lvl,
const int & number )
Here is the caller graph for this function:

◆ setNeighbour()

void Parallel::setNeighbour ( const int neighbour)

◆ stopRun()

void Parallel::stopRun ( )

◆ updatePersistentCommunicationsAMR()

void Parallel::updatePersistentCommunicationsAMR ( const int & dim)
Here is the call graph for this function:

◆ updatePersistentCommunicationsLvlAMR()

void Parallel::updatePersistentCommunicationsLvlAMR ( int lvl,
const int & dim )
Here is the call graph for this function:

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:
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Parallel/Parallel.h
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Parallel/Parallel.cpp