1 #ifndef DDMD_EXCHANGER_H 2 #define DDMD_EXCHANGER_H 11 #include <ddMd/misc/DdTimer.h> 12 #include <util/space/IntVector.h> 13 #include <simp/boundary/Boundary.h> 14 #include <util/containers/FMatrix.h> 15 #include <util/containers/GPArray.h> 80 void setPairCutoff(
double pairCutoff);
113 void reverseUpdate();
118 void outputStatistics(std::ostream& out,
double time,
int nStep);
128 enum timeId {START, ATOM_PLAN, INIT_GROUP_PLAN, CLEAR_GHOSTS,
129 PACK_ATOMS, PACK_GROUPS, REMOVE_ATOMS,
130 SEND_RECV_ATOMS, UNPACK_ATOMS, UNPACK_GROUPS,
131 MARK_GROUP_GHOSTS, INIT_SEND_ARRAYS, PACK_GHOSTS,
132 SEND_RECV_GHOSTS, UNPACK_GHOSTS, FIND_GROUP_GHOSTS,
133 PACK_UPDATE, SEND_RECV_UPDATE, UNPACK_UPDATE,
134 LOCAL_UPDATE, PACK_FORCE, SEND_RECV_FORCE,
135 UNPACK_FORCE, LOCAL_FORCE, NTime};
212 void exchangeAtoms();
222 void exchangeGhosts();
227 void stamp(
unsigned int timeId);
238 inline void Exchanger::stamp(
unsigned int timeId)
239 { timer_.
stamp(timeId); }
const int Dimension
Dimensionality of space.
An orthorhombic periodic unit cell.
timeId
Enumeration of time stamp identifiers.
Parallel domain decomposition (DD) MD simulation.
Classes used by all simpatico molecular simulations.
void stamp(int id)
Mark end of interval id.
Utility classes for scientific computation.
A container for all the atoms and ghost atoms on this processor.
Buffer for interprocessor communication.
Decomposition of the system into domains associated with processors.
DdTimer & timer()
Return internal timer by reference.
Class for exchanging Atoms, Ghosts and Groups between processors.
Interface for a GroupStorage<N> for use in Exchanger.
An IntVector is an integer Cartesian vector.
Class for measuring time intervals.
An automatically growable PArray.