|
static double | Dmod (double a, double b) |
|
static double | RandR (double *seed) |
|
static void | RandVec3 (double *p, double *seed) |
|
|
int | pid |
| sequential processor ID of this cell
|
|
int | n |
| Number of resident atoms in this processor.
|
|
int | nglob |
| Total number of atoms summed over processors.
|
|
double | comt |
| elapsed wall clock time & Communication time in second
|
|
std::array< double, 3 > | al |
| Box length per processor.
|
|
std::array< int, 3 > | vid |
| Vector index of this processor.
|
|
std::array< int, 3 > | myparity |
| Parity of this processor.
|
|
std::array< int, 6 > | nn |
| Neighbor node list of this processor.
|
|
std::vector< std::vector< double > > | sv |
| Shift vector to the 6 neighbors.
|
|
std::array< double, 3 > | vSum |
|
std::array< double, 3 > | gvSum |
|
std::vector< Atom > | atoms |
| resident and moved in atoms
|
|
std::array< int, 3 > | vproc {} |
| Vector processor decomposition of subsystems arranged in a 3D array.
|
|
std::array< int, 3 > | InitUcell {} |
| Unit cell system properties.
|
|
double | Density |
| Density of fcc.
|
|
double | InitTemp |
| Inital temperature of system.
|
|
double | DeltaT |
| Time scale of single step in simulation.
|
|
int | StepLimit |
| Total number of steps to carry out the simulation.
|
|
int | StepAvg |
| Average of simulation steps before reporting system information.
|
|
double | kinEnergy |
| Calculated kinetic energy while simulation.
|
|
double | potEnergy |
| Calculated potential energy while simulation.
|
|
double | totEnergy |
| Calculated total energy energy while simulation.
|
|
double | temperature |
| Calculated temperature of the system at the end of the time-step.
|
|
◆ SubSystem()
Constructor - Creates subsystem with with the specified atoms in the input file and assigns random velocities
Subsystem refers to the group of atoms and their properties when the atoms reside in a processor/rank
◆ AtomCopy()
void SubSystem::AtomCopy |
( |
| ) |
|
Exchange boundary-atom co-ordinates among neighbor nodes
◆ AtomMove()
vector< int > SubSystem::AtomMove |
( |
bool |
shouldTrack | ) |
|
Send moved-out atoms to neighbor nodes and receive moved-in atoms from neighbor nodes returns the indexes of the atoms that have moved
◆ bbd()
int SubSystem::bbd |
( |
Atom |
atom, |
|
|
int |
ku |
|
) |
| |
Returns true if an Atom lies in them boundary to a neighbor ID
- Parameters
-
atom | atom id in the system |
ku | the neighboring direction w.r.t the subsystem |
- Returns
- 1 true, 0 false
◆ bmv()
int SubSystem::bmv |
( |
Atom |
atom, |
|
|
int |
ku |
|
) |
| |
Return true if an Atom lies in them boundary to a neighbor ID
- Parameters
-
atom | atom id in the system |
ku | the neighboring direction w.r.t the subsystem |
- Returns
- 1 true, 0 false
◆ Dmod()
static double SubSystem::Dmod |
( |
double |
a, |
|
|
double |
b |
|
) |
| |
|
inlinestatic |
Method to return modulus
- Parameters
-
- Returns
◆ EvalProps()
void SubSystem::EvalProps |
( |
int |
stepCount | ) |
|
Evaluates physical properties: kinetic, potential & total energies
- Parameters
-
stepCount | Time step corresponding to the which the evaluation takes place |
◆ InitNeighborNode()
void SubSystem::InitNeighborNode |
( |
std::array< int, 3 > |
vproc | ) |
|
Initiates the neighbor node table for the Subsystem decomposed in X,Y & Z as a 3D matrix as defined by vproc
- Parameters
-
vproc | Vector processor decomposition of subsystems arranged in a 3D array |
◆ Kick()
void SubSystem::Kick |
( |
double |
DeltaT | ) |
|
Update the velocities after a time-step DeltaT
- Parameters
-
◆ RandR()
static double SubSystem::RandR |
( |
double * |
seed | ) |
|
|
inlinestatic |
Method to generat erandom double value from a seed
- Parameters
-
- Returns
◆ RandVec3()
static void SubSystem::RandVec3 |
( |
double * |
p, |
|
|
double * |
seed |
|
) |
| |
|
inlinestatic |
Fills up a double pointer of length 3 with random values
- Parameters
-
◆ ShiftAtoms()
void SubSystem::ShiftAtoms |
( |
| ) |
|
Obtain the final position of the atoms by shifting the atom co-ordinates of the moved in-atoms to the position of the atoms they replace for the time step
◆ Update()
void SubSystem::Update |
( |
double |
DeltaT | ) |
|
Update Atomic co-ordinates to r(t+Dt)
- Parameters
-
DeltaT | duration for which the state must be updated |
◆ WrapAtoms()
void SubSystem::WrapAtoms |
( |
| ) |
|
Take atom co-ordinated from global co-ordinates and translate them to wrapped box co-ordinates
◆ WriteXYZ()
void SubSystem::WriteXYZ |
( |
int |
step | ) |
|
Write out XYZ co-ordinates from each frame into separate files
- Parameters
-
The documentation for this class was generated from the following files:
- MD_Engine/pmd.hpp
- MD_Engine/pmd.cpp