Emdee
|
The Processor class holds information about the current processor and neighboring processors. Its implementation depends on whether the program is compiled with MPI or not. More...
#include <processor_mpi.h>
Public Member Functions | |
Processor (MoleculeSystem *moleculeSystem) | |
void | setupProcessors () |
int | rank () |
void | communicateAtoms () |
const vector < MoleculeSystemCell * > & | localCells () const |
const vector < MoleculeSystemCell * > & | localAndGhostCells () const |
bool | shouldSendFirst (const irowvec &direction) |
int | nAtoms () |
int | nProcessors () |
void | clearForcesInNeighborCells () |
Processor (MoleculeSystem *moleculeSystem) | |
void | setupProcessors () |
int | rank () |
void | communicateAtoms () |
const vector < MoleculeSystemCell * > & | localCells () const |
const vector < MoleculeSystemCell * > & | localAndGhostCells () const |
bool | shouldSendFirst (const irowvec &direction) |
int | nAtoms () |
int | nProcessors () |
void | communicateForces () |
void | clearForcesInNeighborCells () |
Protected Member Functions | |
void | receiveAtomsFromNeighbor (const ProcessorNeighbor &neighbor) |
void | sendAtomsToNeighbor (const ProcessorNeighbor &neighbor) |
Protected Attributes | |
MoleculeSystem * | m_moleculeSystem |
int | m_nProcessors |
int | m_nProcessorsX |
int | m_nProcessorsY |
int | m_nProcessorsZ |
int | m_coordinateX |
int | m_coordinateY |
int | m_coordinateZ |
Range | m_cellRangeX |
Range | m_cellRangeY |
Range | m_cellRangeZ |
vector< MoleculeSystemCell * > | m_localCells |
vector< MoleculeSystemCell * > | m_localAndGhostCells |
double | m_totalCommunicationTime |
double | m_pureCommunicationTime |
vector< ProcessorNeighbor > | m_sendNeighbors |
vector< ProcessorNeighbor > | m_receiveNeighbors |
vector< ProcessorNeighbor > | forceSendNeighbors |
vector< ProcessorNeighbor > | forceReceiveNeighbors |
vector< irowvec > | m_directions |
vector< irowvec > | forceDirections |
vector< irowvec > | directions |
The Processor class holds information about the current processor and neighboring processors. Its implementation depends on whether the program is compiled with MPI or not.
Processor::Processor | ( | MoleculeSystem * | moleculeSystem) |
Processor::Processor | ( | MoleculeSystem * | moleculeSystem) |
void Processor::clearForcesInNeighborCells | ( | ) |
void Processor::clearForcesInNeighborCells | ( | ) |
void Processor::communicateAtoms | ( | ) |
void Processor::communicateAtoms | ( | ) |
void Processor::communicateForces | ( | ) |
const vector<MoleculeSystemCell *>& Processor::localAndGhostCells | ( | ) | const |
|
inline |
const vector<MoleculeSystemCell *>& Processor::localCells | ( | ) | const |
|
inline |
int Processor::nAtoms | ( | ) |
int Processor::nAtoms | ( | ) |
int Processor::nProcessors | ( | ) |
int Processor::nProcessors | ( | ) |
int Processor::rank | ( | ) |
int Processor::rank | ( | ) |
|
protected |
|
protected |
void Processor::setupProcessors | ( | ) |
void Processor::setupProcessors | ( | ) |
bool Processor::shouldSendFirst | ( | const irowvec & | direction) |
bool Processor::shouldSendFirst | ( | const irowvec & | direction) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |