RXMD FAQ

September 6, 2017

Q. What are the input files for rxmd?
A. rxmd has three input files ‘rxmd.in’ defines simulation input, ‘DAT/rxff.bin’ for atom type, coordinates, and simulation box dimensions. You also need ‘ffield’ file that defines ReaxFF parameters.

Q. How many CPU can I use to run rxmd?
A. Technically as many CPU/cores as you want. rxmd is linear scalable and it has been run up to 786,432 cores that includes Linux clusters and DOE supercomputers such as IBM BlueGene/Q and Theta.

Q. What type of simulations can I perform using rxmd?
A. A number of simulations can be performed using rxmd. Selected publications are listed below.

1. Multiple Reaction Pathways in Shocked 2,4,6-Triamino-1,3,5- trinitrobenzene Crystal.
S. C. Tiwari, K. Nomura, R. K. Kalia, A. Nakano, and P. Vashishta, The Journal of Physical Chemistry C 121, 16029 (2017).

2. Nanocarbon synthesis by high-temperature oxidation of nanoparticles.
K. Nomura, R. K. Kalia, Y. Li, A. Nakano, P. Rajak, C. Sheng, K. Shimamura, F. Shimojo, and P. Vashishta, 6, 24109 (2016).

3. Oxidation dynamics of aluminum nanorods.
Y. Li, R. K. Kalia, A. Nakano, and P. Vashishta, Applied Physics Letters 106, 083101 (2015).

4. Multistage reaction pathways in detonating high explosives.
Y. Li, R. K. Kalia, A. Nakano, K. Nomura, and P. Vashishta, Applied Physics Letters 105, 204103 (2014).

5. Size effect on the oxidation of aluminum nanoparticle: Multimillion-atom reactive molecular dynamics simulations.
Y. Li, R. K. Kalia, A. Nakano, and P. Vashishta, Journal of Applied Physics 114, 134312 (2013).

6. Mechanochemistry of shock-induced nanobubble collapse near silica in water.
K. Nomura, R. K. Kalia, A. Nakano, P. Vashishta, and A. C. T. van Duin, Applied Physics Letters 101, 073108 (2012).

7. Sulfur-impurity induced amorphization of nickel.
Z. Yuan, H.-P. Chen, W. Wang, K. Nomura, R. K. Kalia, A. Nakano, and P. Vashishta, Journal of Applied Physics 110, 063501 (2011).

8. Embrittlement of Metal by Solute Segregation-Induced AmorphizationMolecular dynamics nanoindentation simulation of an energetic material
Y. C. Chen, K. Nomura, R. K. Kalia, A. Nakano, and P. Vashishta, Applied Physics Letters 93, 171908 (2008).

Q. What is the format for input file required by the code?
A. The code in its current format reads atomic coordinates in xyz file format. For more information please refer the documentation section 1.

Q. What is the format of the force field required by the code?
A. The code requires the standard force filed format released by Van Duin group at Penn State University. Although the file should be renamed to ffield so that the code can identify it. There are no changes required apart from the renaming of the file.

Q. What output file formats can I get for further analysis and visualisation?
A. The code can provide you with output trajectories in PDB (Protein DataBank File Format) file format. This format can be read by any visualization software freely available such as VMD, Ovito, ParaView, VisIt, Vesta etc. For visualization in a different format, you can convert the present format into the format of your choice such as XYZ, VTK. In case you experience any problems please contact us.
Furthermore, the code also provides with output BondList in the following file format:

Id x y z atype NumAtomsInList …… Id BOrder

The above file format gives the following detailed information:
1. Id: This parameter the id of the atoms in the simulation and it ranges from 1 to total number of atoms in the simulation.

2. x, y and z: These parameters specify the coordinates of the atom in the cartesian coordinate system.

3. atype: This parameter specifies the type of the atom based on its atom id. The atom types ranges from 1 to Number of atoms specified in the single atom information section in the force field file.

4. NumAtomsInList: This parameter specified the number of atoms present in the bond list of the respective atom.

5. The NumAtomsInList is followed by the same number of tuple pairs (AtomId, BondOrder). This is important in doing further fragment analysis as the BondOrder information provided in the file will be used for defining the existence of the bond between the pair. As, every pair has a threshold bond order defined in the force field file.

Q. What informations do various modules inside the code contain?
A. Following is a brief description of every file .F90 in the /src folder:

1. bo.F90
This file computes the bond order based on the calculation provided in this link.

2. cg.F90
This file computes the energy minima corresponding to given atomic position. The CG method is based on the Polak-Ribiere formula for computation of next conjugate direction https://en.wikipedia.org/wiki/Conjugate_gradient_method.

The intermediate line searches are based on Wolfe Conditions for unconstrained minimization.

3. comm.F90:
This file carries out the scheduling and copying of buffer for MPI communications.

4. fileio.F90:
This file carries out the aggregated I/O operations so that the code reads from one file and write all the data to a single file.

5. init.F90:
This file initializes the computations by performing the following task:
(a) Reads in rxmd.in file (described in detail in section 2 of documentation).
(b) Sets up odd/even parity as well as the target for every node for efficient MPI
communications.
(c) Allocates data storage space for various computations.
(d) Determines the cut-off distance for bond computation for existing atom pairs.
(e) Sets up linked list and near neighbor information for computation of forces.
(f) Sets up potential table for long range computation to provide efficient and fast look
up in advance.

6. main.F90:
This file manages all the other subroutines in the present code. It performs the following task.
(a) Initializes the computations by calling init.F90 file.
(b) Performs the CG based minimization for starting the computation from minimum energy
reference point.
(c) Runs the main MD loop which looks for the mode of computation. Based on the
respective, it does a few computations as described in the description of mode in
section 2 of the documentation.

7. param.F90:
This file reads in the information from force field, parses and stores them in respective variables.

8. pot.F90:
This file performs the force computations for various terms as described in the force force field.

The information related to derivation of specific terms can be looked up at this link. The link describes in detail the equations as well as specific subroutines performing the computations.

9. qeq.F90: This file performs the unconstrained two vector algorithm for constrained energy minimization using two kinds of fictitious charge under charge neutrality constraint. The details of computations are specified here.

10. stress.F90: This file computes the virial stress tensors.

Q. Can I perform canonical ensemble based simulations in rxff?
A. The various modes which are provided with the current code can be used to perform simulations in an NVE ensemble. But the code does not provide a mechanism of coupling to a heat bath to ensure an NVT ensemble. You can always add the functionality to the code, and if you encounter any problem please contact us.

Q. Can I perform grand canonical ensemble based simulations in rxff?
A. Grand canonical ensemble based simulations are not supported by the code in its current format. However, this functionality can always be added on top of the existing code to perform a grand canonical ensemble. In case you encounter any problem during adding this functionality please contact us.

Published on September 6th, 2017Last updated on September 16th, 2017