MD++

MD++ Commands and variables


Documentation entries (926 results found)

Name Description Source Data type Default value
dope_Yttria If input = [ yttriaconc ] is set before calling the command, then

relabel certain (randomly chosen) Zr atoms as Y atoms and remove certain (randomly chosen) Oxygen atoms (creating vacancies) to achieve the specified Yttria doping concentration (yttriaconc).

bmb COMMAND N/A
eamgrid The length of the table to be read for the arrays rho, rhop, phi, phip, …. eam INT 6000
pottype 1 for EAM, 2 for MEAM (not implemented in this program). eam INT 1
eamfiletype If eamfiletype = 2 then the EAM potential file also contains the cross potential data (phix and phipx) between two elements. eam INT 0
readeam Read parameters for the EAM potential contained in the potfile.

Usage: potfile = filename eamgrid = n readeam

Example: MD++/scripts/Examples/example05-au.tcl

eam COMMAND N/A
readMEAM Empty function. Do not use. eam COMMAND N/A
Broadcast_EAM_Param CPU 0 (master) broadcast EAM potential parameters to other CPUs (slaves).

Needed before eval_parallel.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

eam COMMAND N/A
F_Ewald Array containing Ewald contribution to the force on each atom. ewald DOUBLE N/A
F_Ewald_Real Array containing the real space part of the Ewald contribution to the force on each atom. ewald DOUBLE N/A
F_Ewald_Rec Array containing the reciprocal space part of the Ewald contribution to the force on each atom. ewald DOUBLE N/A
EPOT_IND_Ewald Array containing Ewald contribution to the local energy of each atom. ewald DOUBLE N/A
EPOT_IND_Ewald_Real Array containing the real space part of the Ewald contribution to the local energy of each atom. ewald DOUBLE N/A
EPOT_IND_Ewald_Rec Array containing the reciprocal space part of the Ewald contribution to the local energy of each atom. ewald DOUBLE N/A
A Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
d Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
beta Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
c Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
c0 Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
c1 Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
c2 Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
alpha Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
b0 Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
B Parameters in the FS potential.

It will be specified by the readpot command.

fs DOUBLE N/A
readpot Read parameters for the FS potential specified in the potfile. fs COMMAND N/A
Broadcast_FS_Param CPU 0 (master) broadcast FS potential parameters to other CPUs (slaves).

Needed before eval_parallel.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

fs COMMAND N/A
rhoh Array containing electron density at each atom.

For diagnostic purposes.

fs DOUBLE N/A
af Array containing the square root of the electron density at each atom.

For diagnostic purposes.

fs DOUBLE N/A
myname Empty variable. Do not use. ising STRING N/A
command Has similar meaning as the same variable in md ising STRING N/A
input Has similar meaning as the same variable in md ising DOUBLE N/A
NX NX, NY, NZ specify the size of the Ising model. ising INT 100
NY NX, NY, NZ specify the size of the Ising model. ising INT 100
NZ NX, NY, NZ specify the size of the Ising model. ising INT 1
nsample Number of samples (i.e. tests) for command ComputeSuccessRate. ising INT 100
nsuccess Number of successful outcomes in ComputeSuccessRate.

Also see nsample.

ising INT 0
kBT kBT is the temperature in the Ising model ising DOUBLE N/A
J J and H are two parameters in the Hamiltonian of the Ising model ising DOUBLE N/A
H J and H are two parameters in the Hamiltonian of the Ising model ising DOUBLE N/A
totalsteps Has similar meaning as the same variable in md ising INT N/A
savepropfreq Has similar meaning as the same variable in md ising INT N/A
randseed Has similar meaning as the same variable in md ising INT N/A
curstep Has similar meaning as the same variable in md ising INT N/A
continue_curstep Has similar meaning as the same variable in md ising INT N/A
N_lgst_cluster Parameter for largest cluster sampled in Forward-Flus Sampling (FFS) and Umbrella Sampling (US) simulations. ising INT N/A
N_lgst_avg Parameter for largest cluster sampled in Forward-Flus Sampling (FFS) and Umbrella Sampling (US) simulations. ising INT N/A
saveFFScn Has similar meaning as the same variable in md ising INT N/A
FFSoption Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
FFSpruning Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
FFScn_weight Parameter in Forward Flux Sampling (FFS) simulations ising DOUBLE N/A
FFS_Pp Parameter in Forward Flux Sampling (FFS) simulations ising DOUBLE N/A
FFS0_check Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
lambda_A Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
lambda_B Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
FFScurstep Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
FFSautoend Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
YES_UMB Umbrella Sampling parameter ising INT N/A
UMB_K Umbrella Sampling parameter ising DOUBLE N/A
UMB_equilstep Umbrella Sampling parameter ising INT N/A
UMB_curstep Umbrella Sampling parameter ising INT N/A
n_center Umbrella Sampling parameter ising INT 0
delta_n Umbrella Sampling parameter ising INT 0
Kinetic Has similar meaning as the same variable in md ising INT N/A
Kinetic_Time Has similar meaning as the same variable in md ising DOUBLE N/A
Kinetic_Swip Has similar meaning as the same variable in md ising INT N/A
savecn Has similar meaning as the same variable in md ising INT N/A
saveprop Has similar meaning as the same variable in md ising INT N/A
savecnfreq Has similar meaning as the same variable in md ising INT N/A
savepropfreq Has similar meaning as the same variable in md ising INT N/A
printfreq Has similar meaning as the same variable in md ising INT N/A
calcryfreq During Monte Carlo simulations, the command calcrystalorder is called when curstep is a multiple of calcryfreq and when iter is a multiple of calcryfreq1.

For details, see Seunghwa Ryu.

ising INT 100
calcryfreq1 During Monte Carlo simulations, the command calcrystalorder is called when curstep is a multiple of calcryfreq and when iter is a multiple of calcryfreq1.

For details, see Seunghwa Ryu.

ising INT 1
filecounter Has similar meaning as the same variable in md ising INT N/A
FFSfilecounter Parameter in Forward Flux Sampling (FFS) simulations ising INT N/A
incnfile Has similar meaning as the same variable in md ising STRING N/A
finalcnfile Has similar meaning as the same variable in md ising STRING N/A
outpropfile Has similar meaning as the same variable in md ising STRING N/A
intercnfile Has similar meaning as the same variable in md ising STRING N/A
FFScnfile Parameter in Forward Flux Sampling (FFS) simulations ising STRING N/A
zipfiles Has similar meaning as the same variable in md ising INT N/A
win_width Has similar meaning as the same variable in md ising INT N/A
win_height Has similar meaning as the same variable in md ising INT N/A
plotfreq Has similar meaning as the same variable in md ising INT N/A
atomradius Has similar meaning as the same variable in md ising DOUBLE N/A
backgroundcolor Has similar meaning as the same variable in md ising STRING N/A
rotateangles Has similar meaning as the same variable in md ising DOUBLE N/A
rotateangles Has similar meaning as the same variable in md ising STRING N/A
atomcolor Has similar meaning as the same variable in md ising STRING N/A
atomcolor Has similar meaning as the same variable in md ising STRING N/A
runcommand Has similar meaning as the same command in md. ising COMMAND N/A
initspin Initialize the spin matrix S.

Usage: input = style initspin

If style = -1, then the entire matrix S is set to -1.
If style = 1, then the entire matrix S is set to 1.
If style = 0, then each entry in S is set to either 1 or -1 at random.

ising COMMAND N/A
initpath Usage: input = pn initpath

Initialize the path to be a random path going from all spin down (-1) to all spin up (+1). The path will be used in future path sampling simulations. There are three paths in the MD++/ising model: pathA, pathB, pathC. Which one gets initialized by initpath depends on the value of pn (1 for pathA, 2 for pathB, 3 for pathC).

Also see copyPathtoS.

ising COMMAND N/A
MCrun Perform Monte Carlo (MC) simulation.

Variables totalsteps, saveprop, savecn, … etc. should be set before calling this command.

ising COMMAND N/A
srand Has similar meaning as the same command in md. ising COMMAND N/A
srand48 Has similar meaning as the same command in md. ising COMMAND N/A
srandbytime Has similar meaning as the same command in md. ising COMMAND N/A
srand48bytime Has similar meaning as the same command in md. ising COMMAND N/A
copyPathtoS Usage: input = [ pn id ] copyPathtoS

Copy the spin configuration from the path to array S. There are three paths in the MD++/ising model: pathA, pathB, pathC. Which one gets chosen by copyPathtoS depends on the value of pn (1 for pathA, 2 for pathB, 3 for pathC). id specifies which configuration along the chosen path will be copied.

Also see initpath, copyRchaintoCN.

ising COMMAND N/A
SampleMCpath Usage: input = [ smin smax nmax pn ] SampleMCpath

Generate a new path by performing Monte Carlo simulation from an initial condition stored in array S. The Monte Carlo simulation continues until the average spin value drops below smin, or exceeds smax, or if the average number of MC steps exceeds nmax. The resulting path is stored in one of the three paths: pathA, pathB, pathC, depending on the value of pn (1 for pathA, 2 for pathB, 3 for pathC).

Also see ComputeSuccessRate.

ising COMMAND N/A
WalkonChain Usage: input = [ smin smax nmax ] WalkonChain

Sample transition paths connecting two states (most spins down v.s. most spins up) by randomly picking a point on the existing path and generate a trajectory (by SampleMCpath) with this point as the initial condition. The trajectory is then used to replace half of the original path to generate a new path.

The parameters smin smax nmax are passed to SampleMCpath.

Also see ComputeSuccessRate.

ising COMMAND N/A
ComputeSuccessRate Usage: nsample = NS input = [ smin smax nmax ] ComputeSuccessRate

Compute the success rate of a given spin configuration stored in array S. by generating paths all starting from S via SampleMCpath.
NS is the number of path to be generated.
Each path is generated by a Monte Carlo simulation from configuration S, until the average spin value drops below smin (failure), or exceeds smax (success), or if the average number of MC steps exceeds nmax.

The result is stored in the nsuccess variable.

ising COMMAND N/A
AnalyzeConfigs Usage: nsample = NS input = [ nstart nend smin smax nmax ] WalkonChain

Read in intermediate .cn files "inter####.cn" (in the current directory specified by dirname), whose numbers run from nstart to nend, and compute the energy, total spin, and success rate.

The success rate is the probability of reaching state with most spins up in Monte Carlo simulations starting from this configuration as the initical condition. It is computed by calling ComputeSuccessRate.

ising COMMAND N/A
FFSprocess Implements the Forward Flux Sampling (FFS) algorithm. Called within MCrun. ising COMMAND N/A
calcrystalorder Group spins into clusters and determine the size of the largest cluster.

For details, ask Seunghwa Ryu.

ising COMMAND N/A
allocDFS Allocate arrays needed to analyze the size distribution of clusters (islands of opposite spin) in the spin configuration S generated by the Monte Carlo simulation. ising COMMAND N/A
assign_Lam Has similar meaning as the same command in md. ising COMMAND N/A
writecn Has similar meaning as the same command in md. ising COMMAND N/A
readcn Read spin configurations from incnfile. ising COMMAND N/A
openintercnfile Has similar meaning as the same command in md. ising COMMAND N/A
openFFScnfile Has similar meaning as the same command in md. ising COMMAND N/A
writeintercn Has similar meaning as the same command in md. ising COMMAND N/A
writeFFScn Has similar meaning as the same command in md. ising COMMAND N/A
setfilecounter Has similar meaning as the same command in md. ising COMMAND N/A
setFFSfilecounter Has similar meaning as the same command in md. ising COMMAND N/A
openpropfile Has similar meaning as the same command in md. ising COMMAND N/A
writepath Usage: input = pn finalcnfile = fname writepath

Write the path into file. There are three paths in the MD++/ising model: pathA, pathB, pathC. Which one gets written depends on the value of pn (1 for pathA, 2 for pathB, 3 for pathC).

Also see readpath.

ising COMMAND N/A
readpath Usage: input = pn incnfile = fname readpath

Read path from file. There are three paths in the MD++/ising model: pathA, pathB, pathC. Which one gets written depends on the value of pn (1 for pathA, 2 for pathB, 3 for pathC).

Also see writepath.

ising COMMAND N/A
openwin Has similar meaning as the same command in md. ising COMMAND N/A
plot Has similar meaning as the same command in md. ising COMMAND N/A
alloccolors Has similar meaning as the same command in md. ising COMMAND N/A
alloccolorsX Has similar meaning as the same command in md. ising COMMAND N/A
rotate Has similar meaning as the same command in md. ising COMMAND N/A
saverot Has similar meaning as the same command in md. ising COMMAND N/A
reversergb Has similar meaning as the same command in md. ising COMMAND N/A
wintogglepause Has similar meaning as the same command in md. ising COMMAND N/A
C12_00 Parameter in the LJ potential between species 0 and 0.

Φ(r) = C12 / r12 - C6 / r6

lj2 DOUBLE N/A
C6_00 Parameter in the LJ potential between species 0 and 0.

Φ(r) = C12 / r12 - C6 / r6

lj2 DOUBLE N/A
C12_11 Parameter in the LJ potential between species 1 and 1.

Φ(r) = C12 / r12 - C6 / r6

lj2 DOUBLE N/A
C6_11 Parameter in the LJ potential between species 1 and 1.

Φ(r) = C12 / r12 - C6 / r6

lj2 DOUBLE N/A
C12_01 Parameter in the LJ potential between species 0 and 1.

Φ(r) = C12 / r12 - C6 / r6

lj2 DOUBLE N/A
C6_01 Parameter in the LJ potential between species 0 and 1.

Φ(r) = C12 / r12 - C6 / r6

lj2 DOUBLE N/A
initLJ Initialize the parameters in the LJ potential. lj2 COMMAND N/A
C12_ij Parameter in the LJ potential between species i and j. The actual parameters to set in MD++ are: C12_00, C12_01, …

Φ(r) = C12 / r12 - C6 / r6

ljbond DOUBLE N/A
C6_ij Parameter in the LJ potential between species i and j. The actual parameters to set in MD++ are: C6_00, C6_01, …

Φ(r) = C12 / r12 - C6 / r6

ljbond DOUBLE N/A
BOND_R0 Equilibrium length of the bonds between nearest neighbor atoms in a lipid molecule.

Also see BOND_K.

ljbond DOUBLE N/A
BOND_K Stiffness of the bond between nearest neighbor atoms in a lipid molecule modeled as a harmonic spring.

Also see BOND_R0.

ljbond DOUBLE 0
WALL_X0 Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
WALL_K Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
ATTRAC_R0 Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
ATTRAC_K Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
WALL2_X0 Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
WALL2_K Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
ATTRAC2_Y0 Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
ATTRAC2_K Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
LMAX Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
LAMBDA Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
dUdLAM_WALL Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
dUdLAM_ATT Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
dUdLAM_WALL2 Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
dUdLAM_ATT2 Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
dUdLAM_L Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
dUdLAM Parameter in wall potentials to compute free energy of lipid bilayer. Still under development. ljbond DOUBLE N/A
Rcut Cut-off radius of the LJ potential. ljbond DOUBLE N/A
usrfile Name of the atomic configuration file in Atomeye .usr format, which is created when command writeatomeyeusr is called.

The .usr file instructs Atomeye to draw bonds between which atomic pairs, and may also contain information about the atom color/radius and bond color/radius.

ljbond STRING N/A
initLJ Initialize the parameters in the LJ potential. ljbond COMMAND N/A
makelipids When the array input = [ nsolvent nlipid chainlen headid bond_len nalkane alkanelen ] is set before calling this command, then

create an initial configuration containing solvent, lipid and alkane molecules. Lipid and alkane molecules are chain-like molecules formed by linking a series of atoms by covalent bonds.

ljbond COMMAND N/A
linklipids After a configuration has been read from a file, make covalent bonds between nearest neighbor atoms in lipid and alkane molecules.

Requires the input array to be set before calling this command, in the same way as makelipids.

ljbond COMMAND N/A
writeatomeyeusr Write Atomeye .usr file from the current atomic configuration.

Before calling this function, the filename must be specified in variable usrfile.

ljbond COMMAND N/A
myname Empty variable. Do not use. md STRING N/A
command A string containing a shell command for MD++ to call by runcommand.

For example: command = "ls" runcommand

md STRING echo Hello World
input A generic input array that is used by many commands. The corresponding input parameters need to be set before the command is called.

Also see makedipole, makedislpolygon, makecylinder, scaleVel, extendbox.

md DOUBLE N/A
output_dat (For debugging purposes. Not for general use.) md DOUBLE N/A
output_str For debugging purposes. output_str is the string that contains the numerical values of the variables specified in output_fmt. During MD simulation (run), every savepropfreq steps the output_str string is evaluated and gets written into the property file.

Also see saveprop, outpropfile.

md STRING N/A
output_fmt A string instructing MD++ what variables to write to the property file. Any variable recognized by MD++ can included, e.g.
  output_fmt = "curstep EPOT KATOM Tinst"

Example: MD++/scripts/Examples/example05-au.tcl

Also see saveprop, outpropfile.

md STRING N/A
NP Total number of atoms (particles). This variable is usually not set manually by the user, but is set automatically when commands such as makecrystal and readcn is called. In Tcl the value of this variable can be printed out by, e.g.

puts "Number of atoms = [MD++_Get NP]"

md INT 0
NP0 Empty variable. Do not use. md INT 0
NIMAGES A parameter for the implementation of torsional Periodic Boundary Conditions (tPBC) or bending Periodic Boundary Conditions (bPBC).

Also see bendspec.

md INT 0
NPfree Number of atoms i whose fixed[i] == 0.

Also see NP, NPfixed.

md INT 0
NPfixed Number of atoms i whose fixed[i] == 1.

Also see NP, NPfree.

md INT 0
H The 3x3 matrix H consists of three column vectors [c1 | c2 | c3 ], which are the repeat vector of the simulation cell (under periodic boundary conditions).

See wiki page for more details.

md DOUBLE 0
H0 A copy of the H matrix.

Also see saveH, restoreH.

md DOUBLE 0
OMEGA Volume of the simulation cell, OMEGA = det ( H ). md DOUBLE N/A
VIRIAL VIRIAL (in unit of eV) is a Rank 2 tensor (force times distance), which is an intermediate result for computing the total Virial stress TSTRESS (in unit of eV/Å3).

TSTRESS = (VIRIAL + PSTRESS) / OMEGA

Also see PSTRESS, TSTRESS, TSTRESSinMPa.

md DOUBLE N/A
DVIRIALDexx A 3x3 matrix containing the derivative of the VIRIAL matrix with respect to strain e_xx = e_11.

DVIRIALDexx_ij = d(VIRIAL_ij) / (de_11)

VIRIAL is the Virial stress tensor and e is the strain tensor.

Also see Dexx.

md DOUBLE N/A
DVIRIAL_1111 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2222 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3333 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1122 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2211 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2233 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3322 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3311 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1133 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1112 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1121 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1123 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1132 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1131 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1113 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2212 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2221 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2223 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2232 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2231 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2213 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3312 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3321 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3323 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3332 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3331 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3313 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1211 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1222 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1233 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1212 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1221 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1223 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1232 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1231 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1213 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2111 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2122 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2133 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2112 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2121 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2123 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2132 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2131 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2113 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2311 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2322 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2333 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2312 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2321 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2323 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2332 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2331 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_2313 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3211 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3222 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3233 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3212 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3221 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3223 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3232 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3231 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3213 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3111 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3122 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3133 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3112 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3121 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3123 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3132 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3131 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_3113 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1311 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1322 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1333 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1312 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1321 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1323 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1332 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1331 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
DVIRIAL_1313 A component of the DVIRIAL (rank 4) tensor.

DVIRIAL_ijkl = d(VIRIAL_ij) / (de_kl)

VIRIAL is the Virial stress tensor and e is the strain tensor.

md DOUBLE N/A
Dexx The step size used to compute the DVIRIAL tensor by centered finite difference.

Also see DVIRIALDexx, DVIRIAL_ijkl.

md DOUBLE 0
VH A 3x3 matrix containing the velocity of the box matrix H times timestep. md DOUBLE N/A
EPOT The potential energy of the simulation cell in eV.

Also see EPOT_IND, KATOM, eval.

md DOUBLE 0
EPBOX Potential energy of the box in Parrinello-Raman dynamics.

Also see EPBOX.

md DOUBLE 0
EPOT0 The potential energy just before the trial move in Monte Carlo simulation.

Also see EPOT, runMC.

md DOUBLE 0
ESTRAIN Empty variable. Do not use. md DOUBLE N/A
KATOM The kinetic energy of the simulation cell in eV.

Also see EPOT.

md DOUBLE 0
KBOX Kinetic energy of the box in Parrinello-Raman dynamics.

Also see EPBOX.

md DOUBLE 0
Tinst The instantaneous temperature (in K) computed from the kinetic energy of all atoms.

Tinst = KATOM / (1.5 * KB * NPfree)

Also see KATOM, NPfree.

md DOUBLE 0
zeta Parameter for the Nose-Hoover thermostat. md DOUBLE 0
zetav Parameter for the Nose-Hoover thermostat. md DOUBLE N/A
zetaa Parameter for the Nose-Hoover thermostat. md DOUBLE 0
zeta2 Parameter for the Nose-Hoover thermostat. md DOUBLE 0
zeta3 Parameter for the Nose-Hoover thermostat. md DOUBLE 0
zeta4 Parameter for the Nose-Hoover thermostat. md DOUBLE 0
zeta5 Parameter for the Nose-Hoover thermostat. md DOUBLE 0
zetaNHC Parameter for the Nose-Hoover chain thermostat. md DOUBLE N/A
zetaNHCv Parameter for the Nose-Hoover chain thermostat. md DOUBLE N/A
zetaNHCa Parameter for the Nose-Hoover chain thermostat. md DOUBLE N/A
zetaNHC2 Parameter for the Nose-Hoover chain thermostat. md DOUBLE N/A
zetaNHC3 Parameter for the Nose-Hoover chain thermostat. md DOUBLE N/A
zetaNHC4 Parameter for the Nose-Hoover chain thermostat. md DOUBLE N/A
zetaNHC5 Parameter for the Nose-Hoover chain thermostat. md DOUBLE N/A
HELM HELM = EPOT + KATOM in NVE ensemble, where EPOT is the potential energy and KATOM is the kinetic energy of the atoms. In other ensembles, the energies of the thermo-stat and bario-stat are added to HELM as well.

Also see HELMP.

md DOUBLE N/A
HELMP HELMP equals HELM plus additional terms to make HELMP a conserved quantity in various ensembles, including NVE, NVT, NPH, NPT, … It is useful to include HELMP in output_fmt so that we can check whether this quantity is conserved in the property file.

Also see HELM, saveprop.

md DOUBLE N/A
PSTRESS PSTRESS (in unit of eV) is a Rank 2 tensor (mass times velocity times velocity), which is an intermediate result for computing the total Virial stress TSTRESS (in unit of eV/Å3).

TSTRESS = (VIRIAL + PSTRESS) / OMEGA

Also see VIRIAL, TSTRESS, TSTRESSinMPa.

md DOUBLE N/A
TSTRESS Total stress in the simulation cell in unit of in eV/Å3.

Sign convention: a hydrostatic pressure corresponds to a positive value in TSTRESS. A tensile stress corresponds to negative value in TSTRES. Also see TSTRESSinMPa.

md DOUBLE N/A
TSTRESSinMPa Total stress in the simulation cell in MPa, converted from TSTRESS (in eV/Å3).

TSTRESSinMPa = TSTRESS ∗ 160.2e3

Also see TSTRESS.

md DOUBLE N/A
PRESSURE Average of the diagnoal components of the total stress TSTRESS matrix (in unit of eV/Å3).

Also see TSTRESS, TSTRESSinMPa.

md DOUBLE N/A
SIGMA A 3x3 matrix (Σ) that is needed to compute GH in Parrinello-Rahman barostat.

Reference: Parrinello and Rahman, J. Appl. Phys. 52, 7182 (1981), Eq.(2.24).

Also see GH, relax_freebox.

md DOUBLE 0
GH A 3x3 matrix containing the gradient of the potential energy with respect to the box matrix H.

Also see relax_freebox.

md DOUBLE N/A
curstep Current step number in MD simulation run.

It is used to determine when whether the X-window needs to be refreshed, or intermediate .cn file needs to be saved, at the current simulation step.

Also see plotfreq, savecnfreq, continue_curstep, conj_step.

md INT N/A
conj_step Current step number in conjugate gradient relaxation relax, equivalent to curstep in MD simulation run.

It is used to determine when whether the X-window needs to be refreshed, or intermediate .cn file needs to be saved, at the current simulation step.

Also see plotfreq, savecnfreq.

md INT 0
continue_curstep If continue_curstep = 1, then at the beginning of MD simulation by command run, the variable curstep will not be reset to zero. Instead, it will keep its current value and the simulation will continue for another totalsteps number of steps. In this case, the curstep entry in the property file will be monotonically increasing, when the command run is called several times in the input (script or tcl) file. md INT 0
MC_accept_ratio The average acceptance ratio in Monte Carlo simulations. For maximum efficiency the timestep parameter should be adjusted so that MC_accept_ratio is around 0.5. md DOUBLE 0
MC_dr A vector containing the random trial displacement in the current Monte Carlo simulation step.

In Monte Carlo simulation, the maximum displacement in x, y, z directions is specified by variable timestep (here in unit of Å).

md DOUBLE N/A
dH A 3x3 matrix containing the change of H matrix introduced in makedipole to accomodate the plastic strain of the dislocation dipole. md DOUBLE N/A
dEdlambda The derivative of the potential function with respect to the switching parameter λ (that goes between lambda0 and lambda1) in free energy calculations.

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
dlambdadt The switching rate (dλ/dt) in free energy calculations.

Also see dEdlambda, runMDSWITCH, runMCSWITCH.

md DOUBLE 0
Wtot The total work done during adiabatic switching simulation. Wtot += dEdlambda * dlambdadt * (lambda1 - lambda0) at each time step.

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
Wavg The average work done per time step during adiabatic switching simulation. Wavg = Wtot / totalsteps.

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
RLIST The cut-off radius of the Verlet neighbor list. It equals the cut-off radius of the potential plus SKIN. This variable is usually not set manually, but is set automatically by the command that reads and initializes the potential.

Also see refreshnnlist, SKIN.

md DOUBLE 0
SKIN The cut-off radius of the Verlet neighbor list RLIST minus the cut-off radius of the potential. SKIN is usually 0.1 times the cut-off radius of the potential. This variable is usually not set manually, but is set automatically by the command that reads and initializes the potential.

Also see refreshnnlist, RLIST.

md DOUBLE 0
enable_Fext If enable_Fext = 1, then the external force vector Fext[i] is added to the total force F[i] for every atom i. md INT 0
applyFext Same as enable_Fext. md INT 0
indentor_Z Empty variable. Do not use. md DOUBLE N/A
indentor_Z0 Empty variable. Do not use. md DOUBLE N/A
indentor_Vz Empty variable. Do not use. md DOUBLE N/A
indentor_K Empty variable. Do not use. md DOUBLE N/A
indentor_Fz Empty variable. Do not use. md DOUBLE N/A
enable_FlatIndentor Empty variable. Do not use. md INT N/A
TSTRESS_xx A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_xy A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_xz A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_yx A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_yy A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_yz A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_zx A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_zy A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESS_zz A component of the TSTRESS (total stress) tensor (in eV/Å3). md DOUBLE N/A
TSTRESSinMPa_xx A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_xy A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_xz A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_yx A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_yy A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_yz A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_zx A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_zy A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
TSTRESSinMPa_zz A component of the TSTRESSinMPa (total stress) tensor (in MPa). md DOUBLE N/A
H_11 A component of the H (3x3) matrix. md DOUBLE N/A
H_12 A component of the H (3x3) matrix. md DOUBLE N/A
H_13 A component of the H (3x3) matrix. md DOUBLE N/A
H_21 A component of the H (3x3) matrix. md DOUBLE N/A
H_22 A component of the H (3x3) matrix. md DOUBLE N/A
H_23 A component of the H (3x3) matrix. md DOUBLE N/A
H_31 A component of the H (3x3) matrix. md DOUBLE N/A
H_32 A component of the H (3x3) matrix. md DOUBLE N/A
H_33 A component of the H (3x3) matrix. md DOUBLE N/A
relaxation_algorithm The name of the different variations of the conjugate gradient relaxation algorithms. The options are ZXCGR and PRPLUS.

Also see relax.

md STRING ZXCGR
conj_itmax Maximum number of search iterations in conjugate gradient relaxation.

Also see relax.

md INT 1000
conj_fevalmax Maximum number of times the potential function can be called during conjugate gradient relaxation.

Also see relax.

md INT 10000
conj_step Current step number in conjugate gradient relaxation relax, equivalent to curstep in MD simulation run.

It is used to determine when whether the X-window needs to be refreshed, or intermediate .cn file needs to be saved, at the current simulation step.

Also see plotfreq, savecnfreq.

md INT 0
conj_fixbox If conj_fixbox = 1 then in the conjugate gradient relaxation (invoked by the relax command), the box matrix H is not allowed to change.

If conj_fixbox = 0 then the box matrix H is allowed to change during relaxation.

Also see conj_fixboxvec.

md INT 1
conj_fixboxvec If conj_fixbox = 0, we may still fix individual components of the box matrix H during the conjugate gradient relaxation (invoked by the relax command).

Format: conj_fixboxvec = [
      f11 f12 f13
      f21 f22 f23
      f31 f32 f33 ]

If fij == 1 , then Hij is fixed.

md DOUBLE 0
conj_g2res Residual gradient in the conjugate gradient relaxation. More precisely, it is the sum of the square of the gradient for each degree of freedom. md DOUBLE 0
fixbox Same as conj_fix_box.

Also see fixboxvec.

md INT 1
fixboxvec Same as conj_fixboxvec. md DOUBLE 0
conj_fixdir Empty variable. Do not use. md INT 0
conj_fixshape Option not yet working. md INT 0
conj_fixatoms If conj_fixatoms = 1 then in the conjugate gradient relaxation (invoked by the relax command), all scaled coordinates of the atoms will be fixed. Only the box matrix H is allowed to change.

Also see conj_fixbox.

md INT 0
conj_etol The tolerance in the energy. If the variation becomes lower than this value, the conjugate gradient relaxation will declare convergence and exit. This option is only used if relaxation_algorithm = PRPLUS (not the default).

Also see relax.

md DOUBLE 1e-8
conj_ftol The tolerance in the residual gradient. If the residual gradient becomes lower than this value, the conjugate gradient relaxation will declare convergence and exit.

Also see relax.

md DOUBLE 1e-8
conj_dfpred The anticipated reduction of potential energy in the first trial step of the conjugate gradient relaxation. There is usually no need to change it from the default value. md DOUBLE 1e-3
H The 3x3 matrix H consists of three column vectors [c1 | c2 | c3 ], which are the repeat vector of the simulation cell (under periodic boundary conditions).

See wiki page for more details.

md DOUBLE 0
H0 A copy of the H matrix.

Also see saveH, restoreH.

md DOUBLE 0
stress A 3x3 matrix specifying the external stress (in MPa) applied to the simulation cell. This affects relax if conj_fixbox = 0, as well as run if ensemble_type = NPT or NPH.

The sign convention of MD++ is such that a hydrostatic pressure corresponds to a positive value in stress, while tensile loading corresponds to a negative value.

We need to make sure stress is set to a symmetric matrix.

md DOUBLE N/A
stressmul A multiplicative factor in front of the stress matrix. This allows us to easily vary the magnitude of stress without changing its orientation. md DOUBLE 1
extforce extforce = [ n   fx1 fy1 fz1
        fx2 fy2 fz2
        …
        fxn fyn fzn
]

n is the number of groups affected by this setting. If n > 0, then atoms beloning to group k will experience an additional external force fxk fyk fzk .

md DOUBLE 0
forcemul A multiplication factor to the external forces specified in the extforce array. md DOUBLE N/A
pressureadd Empty variable. Do not use. md DOUBLE N/A
vacuumratio A value between 0 and 1 describing the fraction of the space in the simulation cell occupied by vacuum. This instructs MD++ to subtract off the vacuum volume when computing the stress.

TSTRESS = (VIRIAL + PSTRESS) / (OMEGA * (1-vacuumratio))

md DOUBLE 0
hprecond Preconditioning parameters for conjugate gradient relaxation. Perhaps useful when simulation box is highly different from a cube. md DOUBLE 1
xprecond Preconditioning parameters for conjugate gradient relaxation. Perhaps useful when simulation box is highly different from a cube. md DOUBLE 1
yprecond Preconditioning parameters for conjugate gradient relaxation. Perhaps useful when simulation box is highly different from a cube. md DOUBLE 1
zprecond Preconditioning parameters for conjugate gradient relaxation. Perhaps useful when simulation box is highly different from a cube. md DOUBLE 1
constrainS The imposed constraint value during constrained relaxation.

Also see constrainS_INST, constrainatoms.

md DOUBLE N/A
constrainS_INST The instantaneous (actual) value of the constraint, during constrained relaxation. It is supposed to match the imposed constrain value constrainS.

Also see constrainS.

md DOUBLE N/A
constrainF The force against the constraint in constrained relaxation.

Also see constrainS, constrainatoms.

md DOUBLE N/A
constrainatoms constrainatoms = [ n i1 i2 … in ]

When n > 0, then atoms i1 i2 … in will be constrained in the hyperplane perpendicular to SR2 - SR1, which are two configurations set by setconfig1 and setconfig2.

Also see constrainedMD, constrainedrelax.

md INT 0
ensemble_type Specify the ensemble type of MD simulation, such as NVE, NVT, NPH or NPT.

Must be set before MD simulation (run).

md STRING NVE
integrator_type The name of the integrator to be used in MD simulation (run). Choices are: Gear6 and VVerlet.

Also see ensemble_type, implementation_type.

md STRING Gear6
implementation_type Select which implementation of the time integrator to use. For certain ensemble_type and integrator_type, multiple versions of the integrators have been implemented to choose from.

See integrators.cpp to find how many implementations are available.

md INT 0
initvelocity_type A string specifying the probability distribution of velocities to be assigned by command initvelocity. Choices are Uniform and Gaussian. md STRING Uniform
zerorot A string specifying which component(s) of the angular momentum need to be zeroed out in initvelocity.

For example, for a nanowire under PBC along z axis but subjected to free surface boundary conditions in x and y directions, we need to set zerorot = z. For a nanoparticle under free surface boundary conditions in x, y, and z directions, we need to set zerorot = all.

md STRING none
SAVEMEMORY A parameter instructing which arrays to allocate (or not) when creating a new configuration (e.g. makecrystal) or reading one from file (e.g. readcn).

When SAVEMEMORY = 9, only arrays SR and fixed are allocated. This allows a crystal to be created and written to a file.

When SAVEMEMORY = 8, arrays R and R0 are allocated, in addition to the above.

When SAVEMEMORY = 7, arrays F, EPOT_IND and species are allocated, in addition to the above. This allows the structure to be relaxed (e.g. relax).

When SAVEMEMORY = 6, arrays VR and VSR are allocated, in addition to the above. This allows simple MD simulation (e.g. run).

When SAVEMEMORY = 5, arrays image, TOPOL and group are allocated, in addition to the above. This allows the analysis and visualization of the structure by central symmetry parameter (e.g. calcentralsymmetry).

When SAVEMEMORY = 4, arrays F0 and Fext are allocated, in addition to the above. This allows external forces to be applied (e.g. enable_Fext).

When SAVEMEMORY = 1 (default), all the remaining arrays, EPOT_RMV, VIRIAL_IND, TORQUE_IND and BENDMOMENT_IND are allocated, in addition to the above.

md INT 0
nspecies Total number of atomic species in the simulation.

Also see species.

md INT 1
totalsteps Total number of steps for Molecular dynamics simulation.

Also see timestep, run.

md INT N/A
equilsteps The number of equilibration steps in MD simulation. The property file only gets written to after the simulation has passed equilstep number of steps.

Also see run, totalsteps, saveprop.

md INT 0
atommass An array containing the atomic mass of each species (in g/mol). Must be set before performing MD simulation (run).

Example: MD++/scripts/Example/example02a-si-md.script

md DOUBLE N/A
atomcharge An array storing the electric charge of each atomic species in unit of the fundamental charge unit (e).

Also see species, ewald.

md DOUBLE N/A
wallmass Effective mass of the box matrix H in Parrinello-Rahman dynamics. Reference: Parrinello and Rahman, J. Appl. Phys. 52, 7182 (1981). Also see KBOX. md DOUBLE 1
NHMass Parameter for the Nose-Hoover thermostat. md DOUBLE 0
NHChainLen Parameter for the Nose-Hoover chain thermostat. md INT N/A
T_OBJ The target temperature (in K) used by initvelocity. It is also used for the thermostat in MD simulation (run) when ensemble_type = NVT or NPT.

Also see DOUBLE_T.

md DOUBLE 0
DOUBLE_T If DOUBLE_T = 1, then initvelocity will set the instantaneous temperature to twice the value specified in T_OBJ (in K). md INT 0
allocmultiple If allocmultiple = n is set before readcn or makecrystal, then the memory for NPn atoms is allocated, where NP is the actual number of atoms.

Useful for extendbox.

md INT 1
vt2 Obsolete variable for controlling the Nose-Hoover thermostat. Do not use. Use NHMass instead. md DOUBLE 0.25
boxdamp A damping coefficient on the box matrix H in MD simulations in the NPH or NPT ensemble to damp out the oscillations so that the box can be equilibrated faster.

run, ensemble_type.

md DOUBLE 0
timestep Molecular dynamics simulation time step in picoseconds.

Also see totalsteps, run.

md DOUBLE N/A
RLIST The cut-off radius of the Verlet neighbor list. It equals the cut-off radius of the potential plus SKIN. This variable is usually not set manually, but is set automatically by the command that reads and initializes the potential.

Also see refreshnnlist, SKIN.

md DOUBLE 0
NIC Empty variable. Do not use. md INT N/A
NNM The maximum number of neighbors in the neighbor list. You may need to enlarge this value if you use a large cut off radius RLIST. md INT 60
nl_skip_pairs An array specifying the atom pairs that will be skipped when constructing the neighbor list. This effectively remove the interaction between the atom pairs, and is one way to prepare a crack.

Format: nl_skip_pairs = [ n i1 j1 i2 j2 … in jn ]
where n indicates the number of pairs, followed by the indices of the atom pairs.

This array is usually not set manually, but is set automatically by commands cutbonds and cutbonds_by_ellipse.

md INT 0
current_NIC The maximum number of atoms in one cell after the construction of the cell list. md INT 0
current_NNM The maximum number of neighbors in the neighbor list of all atoms after the construction of the cell list. md INT 0
shearrate shearrate is a 3x3 matrix. When applyshear = 1, then at every time step the simulation box matrix H is updated by,

H += H * shearrate * timestep .

Also see applyshear.

md DOUBLE N/A
applyshear When applyshear = 1, then at every time step the simulation box matrix H is updated by,

H += H * shearrate * timestep .

Also see shearrate.

md INT 0
constrainedMD If constrainedMD = 1, then during MD simulation, the scaled coordinates of the atoms specified in array constrainatoms will be constrained in the hyperplane perpendicular to SR2 - SR1. md INT 0
runavgCN Empty variable. Do not use. md INT N/A
enable_DPD Dissipative Particle Dynamics (stochastic thermostat) parameter md INT 0
DPD_friction_const Dissipative Particle Dynamics (stochastic thermostat) parameter md DOUBLE 0
DPD_ratio Dissipative Particle Dynamics (stochastic thermostat) parameter md DOUBLE 1
DPD_rcut Dissipative Particle Dynamics (stochastic thermostat) parameter md DOUBLE 100
enable_ANDERSON If enable_ANDERSON = 1, then the Anderson thermostat is activated, so that the atomic velocities will be randomly reassigned during MD simulations.

Also see ANDERSON_ratio.

md INT N/A
ANDERSON_ratio A value between 0 and 1, specifying the probability of randomly reassigning the velocities for each atom at every MD step.

Also see enable_ANDERSON.

md DOUBLE N/A
mcatom If mcatom >= 0, then at each step of the Monte Carlo simulation, an atoms will be selected at random to be displaced by a small random vector (trial move). mcatom then stores the index of this selected atoms.

If mcatom = -1, then all atoms will be displaced by random vectors in the trial move. This generally leads to very low acceptance ratio unless the simulation cell is very small.

md INT 0
lambda0 The beginning value λ0 of thermodynamic integration (i.e. λ-integration).

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
lambda1 The final value λ1 of thermodynamic integration (i.e. λ-integration).

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 1
Ecoh A parameter used to adjust the zero point of potential energy in free energy calculations using the Adiabatic Switching method. md DOUBLE 0
switchfreq Parameter for adiabatic switching simulation for free energy calculation md INT N/A
switchoffatoms Parameter for adiabatic switching simulation for free energy calculation switchoffatoms = [ n i1 i2 … in ]

When n > 0, then atoms i1 i2 … in will be gradually switched on or off during the adiabatic switching simulation.

md INT N/A
switchfunc Parameter for adiabatic switching simulation for free energy calculation md INT N/A
refpotential Specifies the reference potential in adiabatic switching simulations to compute free energy. Options are:

0: Einstein crystal (not implemented yet).
1: Harmonic potential.
2: Inverse-12 (I12) potential.
3: Inverse-12 (I12) potential * λ.
4: Original potential * λ (i.e. reversible scaling method).
5: Gaussian potential.
6: Gaussian potential * λ.
10: User defined potential.
20: Calling VASP to evaluate potential.

Also see I12_epsilon, Gauss_epsilon, runMDSWITCH, runMCSWITCH.

md INT 0
enableswitch Parameter for adiabatic switching simulation for free energy calculation md INT N/A
ecspring Spring constant in the Einstein crystal model, which is a reference system for free energy calculations by adiabatic switching.

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
I12_rc Cut-off radius in the inverse-12 (I12) purely repulsive potential, which can be used as a reference model for adiabatic switching simulations.

Φ(r) = I12_epsilon ⋅ (I12_sigma / r)12   (if r < I12_rc)

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
I12_sigma A parameter in the inverse-12 (I12) purely repulsive potential, which can be used as a reference model for adiabatic switching simulations.

Φ(r) = I12_epsilon ⋅ (I12_sigma / r)12   (if r < I12_rc)

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
I12_epsilon A parameter in the inverse-12 (I12) purely repulsive potential, which can be used as a reference model for adiabatic switching simulations.

Φ(r) = I12_epsilon ⋅ (I12_sigma / r)12   (if r < I12_rc)

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
Gauss_rc Cut-off radius in the Gaussian potential, which can be used as a reference model for adiabatic switching simulations.

Φ(r) = Gauss_epsilon ⋅ exp(- r2 / (2 * Gauss_sigma2 )   (if r < Gauss_rc)

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
Gauss_sigma A parameter in the Gaussian potential, which can be used as a reference model for adiabatic switching simulations.

Φ(r) = Gauss_epsilon ⋅ exp(- r2 / (2 * Gauss_sigma2 )   (if r < Gauss_rc)

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
Gauss_epsilon A parameter in the Gaussian potential, which can be used as a reference model for adiabatic switching simulations.

Φ(r) = Gauss_epsilon ⋅ exp(- r2 / (2 * Gauss_sigma2 )   (if r < Gauss_rc)

Also see runMDSWITCH, runMCSWITCH.

md DOUBLE 0
randseed The seed to randomize the random number generator. Must be set before calling srand48 or srand. md INT 12345
MC_dV_freq In Monte Carlo simulation under the NPT ensemble, a volume change is attempted every MC_dV_freq steps.

Also see runMC, ensemble_type, MC_dVmax.

md INT 1
MC_dN_freq In Monte Carlo simulation under the uVT ensemble, a change of number of atoms is attempted every MC_dN_freq steps.

Also see runMC, ensemble_type.

md INT 1
MC_dVmax The maximum allowed change of simulation cell volume in one trial step of MC simulation in the NPT ensemble. The actual trial volume change is MC_dVmax * (2*drand48() - 1).

Also see runMC.

md DOUBLE 0.1
MC_dfrac In Monte Carlo simulations under the uVT ensemble, an atom is allowed to take fractional occupancy. MC_dfrac is the change of the fractional occupancy of the atom in a trial move.

Also see runMC.

md DOUBLE 0.1
MC_P_ext The external pressure applied to the simulation cell Monte Carlo simulations in which the volume is allowed to fluctuate (when ensemble_type = NPT). md DOUBLE 0
MC_mu_ext The external chemical potential for an atom that will be gradually switched on or off during Monte Carlo switching simulations.

Also see runMCSWITCH.

md DOUBLE N/A
nebspec Parameter for relaxation by the Nudged Elastic Band (NEB) method (nebrelax) or the string method (stringrelax).

When used by nebrelax, nebspec has the following meaning.

nebspec = [ relax_surround k moveleftend moverightend yesclimbimage ]

If relax_surround = 1, then relaxing the surrounding atoms of the constrained atoms during nebrelax. We usually use relax_surround = 0, then the surrounding atoms will be a linear interpolation between SR1 and SR2. When all atoms are included in constrainatoms, then this option has no effect. relax_surround = 1 does not work for parallel version of nebrelax.

k is the spring constant of the nudged elastic band. If k = 0, then the spring constant will be automatically chosen as the maximum force magnitude times the number of chains.

If moveleftend = 0, then the left end replica of the chain does not move during NEB relaxation. This is the correct setting if the left end is already at an energy minimum.
If moveleftend = 1, then the left end moves following spring force in the normal to the real force direction. This constrains the left end to a constant energy isosurface. (We found that it is difficult to find the appropriate parameters to stablize nebrelax with this option. Hence we prefer to use stringrelax when the end needs to move. For details, see T. Zhu, J. Li, et al. PNAS vol.104, pp.3031-3036, 2007.
If moveleftend = 2, then the left end is constrained to move along the chain tangential direction (constrained free fall).
If moveleftend = 3, the left end moves along the force direction (free fall).

moverightend has similar meaning for the right end.

If yesclimbimage = 1, then the image (or replica) of the highest energy starts to climb up the hill when curstep > equilsteps. This means that if yesclimbimage = 1, we need to set equilsteps to a non-zero value, e.g. 1000, and set totalsteps > equilsteps. Otherwise, equilstep = 0 by default and running with yesclimbimage = 1 from the beginning makes nebrelax more unstable. Typically, we can set totalsteps to be equilsteps + 500, which means that the climbing image method will be applied to the last 500 steps of nebrelax. (In the future, we may want to use a different variable to replace equilsteps.)

When used by stringrelax, nebspec (or, equivalently stringspec) has the following meaning.

nebspec = [ relax_surround redistr_freq moveleftend moverightend yesclimbimage islengthconstant ]

The main difference from above is in redistrib_freq (instead of k) and in islengthconstant.

In the string method, there is no need to specify a spring constant. Instead, redistr_freq specifies how often the path gets reparameterized. We recommend redistrib_freq = 1, which means reparameterization at every step of stringrelax.

If islengthconstant = 1, the total length of the string will be kept constant duringn stringrelax. This option is neglected if both ends are fixed. This option only works for parallel version of stringrelax.

Note that if yesclimbimage = 1, equilsteps need to be set to a non-zero value (e.g. 1000) to avoid instability.

Also see nebrelax, stringrelax.

md INT N/A
stringspec The same as (i.e. an alias of) nebspec. md INT N/A
readrchainspec Setting for command readRchain. md INT -1
annealspec Parameter for simulated annealing. md DOUBLE N/A
chainlength The number of replicas in chain-of-state relaxation methods (nebrelax and stringrelax) to find the minimum energy path between two states.

Also see nebrelax, stringrelax, allocchain.

md INT 0
YES_SURFTEN Parameter for surface tension calculation md INT 0
surftensionspec Parameter for surface tension calculation md INT N/A
YES_SURFTEN1 Parameter for surface tension calculation md INT N/A
ST_step Parameter for surface tension calculation md INT N/A
ST_orien Parameter for surface tension calculation md INT N/A
ST_Kmax Parameter for surface tension calculation md DOUBLE 0
ST_LAMBDA Parameter for surface tension calculation md DOUBLE 0
ST_LMAX Parameter for surface tension calculation md DOUBLE 0
ST_dUdLAM_L Parameter for surface tension calculation md DOUBLE 0
ST_dUdLAM_POT Parameter for surface tension calculation md DOUBLE 0
ST_dUdLAM_TOT Parameter for surface tension calculation md DOUBLE 0
YES_FFS Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
L_for_QLM Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md INT 0
l_for_qlm Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md INT 0
N_solid_P Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT 0
Principal_Inertia Variables describing the shape of a cluster of (defect) atoms identified by findcore.

Printcipal_Inertia = [ I1 I2 I3 ]

md DOUBLE N/A
N_lgst_index Parameter for largest cluster sampled in Forward-Flus Sampling (FFS) and Umbrella Sampling (US) simulations. md DOUBLE 0
N_lgst_skin Parameter for largest cluster sampled in Forward-Flus Sampling (FFS) and Umbrella Sampling (US) simulations. md DOUBLE 0
N_lgst_skin_index Parameter for largest cluster sampled in Forward-Flus Sampling (FFS) and Umbrella Sampling (US) simulations. md DOUBLE 0
qlm_type Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md STRING N/A
wSKIN Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
DLxyz Empty variable. Do not use. md INT N/A
DLNdiv Empty variable. Do not use. md INT N/A
N_lgst_cluster Parameter for largest cluster sampled in Forward-Flus Sampling (FFS) and Umbrella Sampling (US) simulations. md INT 0
Rc_for_QLM Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md DOUBLE 0
QLM_cutoff Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md DOUBLE 0
saveFFScn Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFSoption Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFSpruning Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFScn_weight Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md DOUBLE N/A
FFS_Pp Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md DOUBLE N/A
FFS0_check Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
lambda_A Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
lambda_B Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFScurstep Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFSautoend Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFShist Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
Delta_LAM Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
MIN_LAM Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
MAX_LAM Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFSbackward Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
B_lambda_cut Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
B_lambda_B Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
B_lambda_0 Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
FFScommitor Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
YES_UMB Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT 0
UMB_order_param Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
UMB_order_group Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
KinkDmax Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md DOUBLE N/A
printUMBorder Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
UMB_noslipdirection Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
HETERO_DN Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT 0
MCequilstep Parameter in Umbrella Sampling by Monte Carlo simulation.

For details, as Seunghwa Ryu.

md INT N/A
UMB_K Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md DOUBLE N/A
UMB_equilstep Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
UMB_curstep Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
UMB_tryrate Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md DOUBLE N/A
UMB_continue Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
MC_UMB_cal_period Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
MC_UMB_log_period Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
MC_UMB_accept_tot Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
MC_UMB_accept_ratio Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md DOUBLE N/A
MC_UMB_num_of_trials Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
n_center Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT 0
delta_n Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT 0
acc_UMB Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT N/A
MC_RC_cal_period Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
Kinetic A parameter controlling the Molecular Dynamics and Monte Carlo simulations.

For details, ask Seunghwa Ryu.

md INT N/A
Kinetic_Time Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md DOUBLE 10
Kinetic_Swip Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT 0
N_lgst_temp Parameter for largest cluster sampled in Forward-Flus Sampling (FFS) and Umbrella Sampling (US) simulations. md INT 0
KN_Center Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT 0
YES_HMC Parameter for Hybrid Monte Carlo

For details, ask Seunghwa Ryu.

md INT 0
Ns_HMC Parameter for Hybrid Monte Carlo

For details, ask Seunghwa Ryu.

md INT N/A
YES_SEP Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT 0
CLUSTER_CM Center of mass position of a cluster identified in the Forward Flux Sampling (FFS) simulation.

For details, ask Seunghwa Ryu.

md DOUBLE N/A
SEPA_ORDER Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md DOUBLE 0
SEPA_TARGET Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md DOUBLE 0
SEPA_RATIO Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md DOUBLE 0
NORM_REACTION Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md DOUBLE 0
NC_TIMES_SEPA Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md DOUBLE 0
IMP_INDEX Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md INT 0
IMP_TOPOL_INDEX Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md DOUBLE 0
IMP_R_EXP Umbrella Sampling parameter

For details, ask Seunghwa Ryu.

md DOUBLE 2.5
VIRIAL_Ewald Ewald contribution to the VIRIAL tensor. md DOUBLE N/A
VIRIAL_Ewald_Real Real space part of the Ewald contribution to the VIRIAL tensor. md DOUBLE N/A
VIRIAL_Ewald_Rec Reciprocal space part of the Ewald contribution to the VIRIAL tensor. md DOUBLE N/A
EPOT_Ewald Ewald contribution to the potential energy of the entire simulation cell. md DOUBLE N/A
EPOT_Ewald_Real The real space part of the Ewald contribution to the potential energy of the entire simulation cell. md DOUBLE N/A
EPOT_Ewald_Rec The reciprocal space part of the Ewald contribution to the potential energy of the entire simulation cell. md DOUBLE N/A
EPOT_Ewald_Self The self-energy part of the Ewald contribution to the potential energy of the entire simulation cell. md DOUBLE N/A
Ewald_CE_or_PME 0 to choose the classical Ewald (CE) method

1 to choose the particle mesh Ewald (PME) method

md INT 0
Ewald_option_Alpha Specifies whether or not the value for Alpha in the Ewald method is to be determined automatically or specified manually.

If Ewald_option_Alpha = 0, then Ewald_Alpha is determined automatically, and Ewald_Rcut = Ewald_precision / Ewald_Alpha.

If Ewald_option_Alpha = 1, then Ewald_precision and Ewald_Rcut are specified manually, and Ewald_Alpha = Ewald_precision / Ewald_Rcut.

md INT 0
Ewald_Alpha A parameter in the Ewald method.

Also see Ewald_option_Alpha, Ewald_precision.

md DOUBLE 0
Ewald_precision A parameter in the Ewald method.

For details, ask Hark Lee.

Also see Ewald_Alpha, Ewald_option_Alpha.

md DOUBLE N/A
Ewald_time_ratio A parameter in the Ewald method.

For details, ask Hark Lee.

Also see Ewald_option_Alpha, Ewald_precision.

md DOUBLE N/A
Ewald_Rcut Real space cut-off radius in Ewald method.

Also see Ewald_precision, Ewald_option_Alpha.

md DOUBLE 9
CE_Kc Cut off in the reciprocal space for the classical Ewald (CE) method. md DOUBLE 0
PME_K1 Parameter for Particle Mesh Ewald method md INT N/A
PME_K2 Parameter for Particle Mesh Ewald method md INT N/A
PME_K3 Parameter for Particle Mesh Ewald method md INT N/A
PME_bsp_n Parameter for Particle Mesh Ewald method md INT N/A
crystalstructure The crystal structure to be created by command makecrystal.

Example: MD++/scripts/Example/example00-makecrystal.script

md STRING N/A
latticeconst The lattice constant (in Å) of the crystal to be created by command makecrystal.

Example: MD++/scripts/Example/example00-makecrystal.script

md DOUBLE N/A
latticesize latticesize = [
        a_1 a_2 a_3 repeat_a
        b_1 b_2 b_3 repeat_b
        c_1 c_2 c_3 repeat_c
]

where [a_1 a_2 a_3] specifies the first repeat vector of the simulation supercell in Miller indices, and repeat_a is the number of the repeats in that direction. [b_1 b_2 b_3] specifies the first repeat vector of the simulation supercell in Miller indices, and repeat_b is the number of the repeats in that direction. [c_1 c_2 c_3] specifies the first repeat vector of the simulation supercell in Miller indices, and repeat_c is the number of the repeats in that direction.

Also see crystalstructure, latticeconst, makecrystal.

Example: MD++/scripts/Example/example00-makecrystal.script

md DOUBLE N/A
torsionsim If torsionsim = 1, it activates the torsional Periodic Boundary Condition (tPBC).

For details, see J. Mech. Phys. Solids 56, 3242, (2008).

md INT 0
torquespec Simulation settings pertaining to torsional Periodic Boundary Condition (tPBC).

For details, see J. Mech. Phys. Solids 56, 3242, (2008).

md DOUBLE 0
Torque Total torque in torsional Periodic Boundary Condition (tPBC).

For details, see J. Mech. Phys. Solids 56, 3242, (2008).

md DOUBLE 0
bendsim If bendsim = 1, it activates the bending Periodic Boundary Condition (bPBC).

For details, see J. Mech. Phys. Solids 56, 3242, (2008).

md INT 0
bendspec Simulation settings pertaining to bending Periodic Boundary Condition (bPBC).

For details, see J. Mech. Phys. Solids 56, 3242, (2008).

md DOUBLE 0
BendMoment Total bending moment in bending Periodic Boundary Condition (bPBC).

For details, see J. Mech. Phys. Solids 56, 3242, (2008).

md DOUBLE 0
P_com A vector specifying the total linear momentum of the simulation cell (i.e. its center of mass). This quantity is conserved in Molecular Dynamics simulations without an external potential.

The command initvelocity is supposed to make sure this quantity is zero.

md DOUBLE N/A
F_com A (3x1) vector containing total force on all the atoms (i.e. the center-of-mass) of the simulation cell.

Usually this vector should be zero during the MD simulation unless an external potential is applied.

md DOUBLE N/A
L_com A vector specifying the total angular momentum of the simulation cell (i.e. its center of mass). For a nano-particle or nano-wire simulation, this quantity is conserved along certain direction when PBC is not applied in the perpendicular directions.

The command initvelocity is supposed to make sure this quantity is zero in such cases.

md DOUBLE N/A
Ptheta_com The momentum for the generalized coordinate Θ of the center of mass of the simulation cell under torsional periodic boundary condition (tPBC) or bending periodic boundary condition (bPBC).

For details, see J. Mech. Phys. Solids 56, 3242, (2008).

Also see P_com, L_com.

md DOUBLE 0
latticestructure Same as crystalstructure. md STRING N/A
makecnspec Same as latticesize. md DOUBLE N/A
mkdipole Same as input. md DOUBLE N/A
mkdislspec Same as input. md DOUBLE N/A
mkcylinderspec Same as input. md DOUBLE N/A
savecn If savecn = 1 and savecnfreq != 0, then during MD simulation (invoked by the run command), an intermediate .cn file is saved every savecnfreq steps. md INT 0
saveprop If saveprop = 1 and savepropfreq != 0, then during MD simulation (invoked by the run command), a line is written in the property file (named by variable outpropfile) every savepropfreq steps. The content of the property file is specified by the outputfmt variable. md INT 0
savecfg If savecfg = 1 and savecfgfreq != 0, then during MD simulation (invoked by the run command), an intermediate Atomeye .cfg file is saved every savecfgfreq steps. md INT 0
savecnfreq If savecn = 1 and savecnfreq != 0, then during MD simulation (invoked by the run command), an intermediate .cn file is saved every savecnfreq steps. md INT 100
savecontinuecnfreq If savecontinuecnfreq > 0, then the atomic configuration will be saved in a .cn file specified by continuecnfile every savecontinuecnfreq steps during MD simulation (run).

Unlike intercnfile, the file name specified by continuecnfile does not automatically increase. This means that a new continuecnfile will overwrite the old file (unless the file name continuecnfile is changed intentionally). This allows the hard disk to always hold a copy of the latest configuration for restarting purposes, without requiring a huge disk space. If you want to record the configurations during MD simulations all in different files, use savecnfreq instead.

Also see readcontinuecn, continuecnfile, intercnfile.

md INT 0
savepropfreq If saveprop = 1 and savepropfreq != 0, then during MD simulation (invoked by the run command), a line is written in the property file (named by variable outpropfile) every savepropfreq steps. The content of the property file is specified by the outputfmt variable. md INT 100
savecfgfreq If savecfg = 1 and savecfgfreq != 0, then during MD simulation (invoked by the run command), an intermediate Atomeye .cfg file is saved every savecfgfreq steps. md INT 100
printfreq If printfreq > 0, then the current time step information curstep is printed to the terminal (if setnolog has been set) or the A.log file (if setnolog has not bee set) during the MD simulation every printfreq steps. In Monte Carlo simulations other diagnostic information, such as acceptance ratio, is also printed. md INT 100
filecounter The number added to the base name of intermediate .cn files. It is automatically incremented by one when a previous intermediate .cn file is closed and a new one is to be opened.

Also see setfilecounter, intercnfile, savecn.

md INT 1
FFSfilecounter Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md INT N/A
incnfile Name of the file containing atomic positions and other information (optional) that command readcn will read from. Other commands, such as readMDCASK and readPOSCAR also use incnfile to specify the input configuration file name. md STRING con.cn
finalcnfile Name of the file containing atomic positions and other information (optional) that command writecn will write to. Other commands, such as writeMDCASK, writePOSCAR, and writeatomeyecfg also use finalcnfile to specify the output configuration file name. md STRING final.cn
continuecnfile The name of the file that the latest configuration gets saved to (for restarting purposes) during MD simulation if savecontinuecnfreq > 0.

It is also the name of the file that readcontinuecn reads from.

Also see intercnfile. ~

md STRING continue.cn
outpropfile The name of the file in which thermal properties (such as EPOT, Tinst) are saved periodically during MD simulation.

Also see saveprop, output_fmt.

md STRING prop.out
intercnfile The base name of the intermediate .cn files that will be saved periodically during MD simulation. The actual file names will have numbers added to them, e.g. inter0001.cn, inter0002.cn, …

Also see savecn, savecnfreq.

md STRING inter.cn
FFScnfile Parameter in Forward Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md STRING FFS.cn
intercfgfile The base name of the intermediate .cfg files that will be saved periodically during MD simulation. The actual file names will have numbers added to them, e.g. auto0001.cfg, auto0002.cfg, …

Also see savecfg, savecfgfreq.

md STRING auto.cfg
potfile Name of the file that contains the information on the interatomic potential model.

Also see readpot, readeam.

md STRING ../Mo.pot
writevelocity If writevelocity = 1, then subsequent saving of .cn files by writecn will contain the following information for each atom:

SR.x SR.y SR.z VSR.x VSR.y VSR.z

See wiki page for more details.

md INT 0
writeall If writeall = 1, then subsequent saving of .cn files by writecn will contain much more information than the default, i.e. each atomic line will contain:

SR.x SR.y SR.z VSR.x VSR.y VSR.z EPOT_IND fixed TOPOL species group image

See wiki page for more details.

md INT 0
zipfiles If zipfiles = 1, then the .cn, .cfg and property files that MD++ creates will be automatically zipped to save space. MD++ will automatically unzip zipped .cn files when reading them, so you don't have to unzip them manually.

Also see writecn, writeatomeyecfg.

md INT 0
fortranpath A string containing the path that holds a Fortran compiled executable. Must be set before calling fortranrelax. md STRING N/A
fortranexe A string containing the name of a Fortran compiled executable. Must be set before calling fortranrelax. md STRING N/A
atomeyepath A string containing the path that holds the Atomeye executable.

Must be set before calling atomeye.

md STRING N/A
atomeyerepeat atomeyerepeat = [ activate n_1 n_2 n_3 ]

If activate = 1, then the atomic configuration exported to the Atomeye cfg format will be repeated by n_1, n_2, and n_3 times along the first, second and third repeat direction of the simulation supercell.

Also see H, writeatomeyecfg.

md INT N/A
atomeyeexe A string containing the name of the Atomeye executable, e.g. A.i686, A.exe.

Must be set before calling atomeye.

md STRING N/A
MDCASKpot Specify the potential model used in MDCASK. Choices are SW, TERSOFF, ROCKETT, ZBL, EAM, EDIP, MEAM. It needs to be set before calling readMDCASK. md STRING SW
win_width The initial width of the X-window. The window size can be adjusted using mouse after it is opened.

Also see win_height, openwin.

md INT 350
win_height The initial height of the X-window. The window size can be adjusted using mouse after it is opened.

Also see win_width, openwin.

md INT 350
plotfreq If the X-window is opened, then during MD simulation (invoked by the run command) or conjugate gradient relaxation (invoked by the relax command), the atomic positions will be refreshed in the X-window every plotfreq steps.

Also see openwin, plot

md INT 1
atomradius An array specifying the size of each atomic species in the X-window.

Also see atomcolor, plot.

md DOUBLE 0.1
bondradius The width of the line representing bonds between atoms in the X-window.

Also see bondcolor, bondlength.

md DOUBLE 0.1
bondlength In the X-window, two atoms whose distance is less than bondlength (in Å) will have a bond drawn between them. md DOUBLE 0
bondcolor The color names for drawing bonds between atoms in the X-window.

Also see bondradius, bondlength.

md STRING red
highlightcolor The color names for atoms that are highlighted. These atoms are specified by plot_highlight_atoms. md STRING purple
fixatomcolor The color names for atoms that are marked as fixed (fixed[i] = 1). This variable need to be set before calling alloccolor. md STRING N/A
backgroundcolor The color name for the background of the X-window to be allocated by alloccolor.

Also see highlightcolor.

md STRING N/A
rotateangles Specify the HOME viewing orientation of the X-window. This is the viewing orientation when the X-window is first opened, and is also the viewing orientation the X-winndow returns to whenever the HOME key is pressed.

The default HOME orientation is such that the x axis points from left to right, and the y axis points points from bottom to top, and the z axis points out of the screen. But this can be changed by setting rotateangle and then call rotate and saverot.

rotateangle = [ h_rot v_rot s_rot scale ]
where h_rot is the rotation angle (in degrees) from left to right (i.e. equivalent to dragging the mouse in the horizontal direction), v_rot is the rotation angle (in degrees) from bottom to up (i.e. equivalent to dragging the mouse in the vertical direction), s_rot is the rotation angle (in degrees) in the clockwise direction (i.e. equivalent to pressing the Page-Down key in the X-window), scale is scales the size of all objects plotted in the X-window.

Also see openwin, plot.

md DOUBLE N/A
coloratoms If coloratoms = 0 (default), then atoms are colored according to their species. If coloratoms = 1 (default), then atoms are colored according to their group ID.

Also see color00, color01, color02, alloccolors.

md INT 0
plot_limits Limits which atoms will be plotted in the X-window by their scaled coordinates. Also affects which atoms will be exported to the Atomeye .cfg file.

Format: plot_limits = [ enable sxmin sxmax symin symax szmin szmax ]

If enable == 1, the only atoms whose scaled coordinates falls within the limits defined by the subsequent parameters are plotted (or exported).

md DOUBLE 0
plot_atom_info A flag indicating what information will be printed to the screen (or A.log file) when an atom in the X-window is clicked.

1: print scaled coordinates of the atom
2: print real coordinates of the atom
3: print color_ind, which can mean EPOT_IND (default) or TOPOL depending on plot_color_axis.
4: print force acting on the atom

Example: MD++/scripts/CSD-book/chap3/sect3.3/al-fr-eng.script

Also see plot_color_windows, plot_color_axis.

md INT 1
plot_map_pbc If plot_map_pbc = 1, atoms will be mapped to the primary domain, i.e. with scaled coordinates in the domain [-0.5, 0.5), when plotting in the X-window. Note that this is only for visualization purposes. The actual (scaled or real) coordinates are not changed.

By default, the actual coordinates of the atoms are used in the plotting, so atoms can appear outside the primary domain (i.e. the purple-colored simulation box).

md INT 0
plot_color_windows plot_color_window = [ n
      fmin_1 fmax_1 cw_1
      fmin_2 fmax_2 cw_2
      …
      fmin_n fmax_n cw_n ]

When n > 0, this option is activated. It specifies that there will be n windows. An atom i falls into window k if fmin_k < = color_ind[i] <= fmax_k. cw_k specifies the color to be used for window k. For example, if cw_k = 6, then atoms in window k will be plotted with color06.

By default, color_ind[i] is the same as EPOT_IND[i] (the potential energy contribution from atom i). But it can be changed to TOPOL[i] (the central symmetry parameter) if plot_color_axis = 2.

Example: MD++/scripts/CSD-book/chap3/sect3.3/al-fr-eng.script

For more information, see Computer Simulations of Dislocations Chapter 3, Section 3.3.

md DOUBLE 0
plot_color_bar plot_color_bar = [ enable fmin fmax ]

If enable == 1, then the atoms will be colored using a continuous color bar according to their color_ind[i] values. When color_ind[i] reaches fmin or fmax, the color on the end of the color bar is used.

color_ind is either EPOT_IND or TOPOL depending on the value of plot_color_axis.

md DOUBLE N/A
plot_highlight_atoms plot_highlight_atoms = [ n i1 i2 … in ]

When n > 0, then atoms i1 i2 … in ] will be highlighted.

Also see highlightcolor.

md INT N/A
energycolorbar Same as plot_color_bar. md DOUBLE N/A
plot_color_axis When plot_color_axis = 0, the array color_ind[i] is the same as EPOT_IND[i]. This means that the potential energy contribution of each atom is used to determine the color of atoms (when plot_color_windows is activated).

When plot_color_axis = 2, the array color_ind[i] is the same as TOPOL[i]. This means that the central symmetry parameter is used to determine the color of atoms (when plot_color_windows is activated).

Also see plot_color_windows.

md INT 0
NCS Number of nearest neighbors for each atom in the perfect crystal in central symmetry deviation (CSD) analysis. Use NCS = 12 for FCC crystal, and NCS = 8 for BCC crystal.

Also see TOPOL, calcentralsymmetry.

md INT 12
autowritegiffreq If autowritegiffreq != 0 and if an X-window is open during an MD simulation (i.e. interactive run), then a screen snapshot (.gif) is taken every autowritegiffreq steps. md INT 0
NNM_plot Maximum number of neighbors for each atom in the plot-neighbor-list, i.e. the neighbor list used for plotting and geometric analysis purposes. If this neighbor list is constructed for a reference configuration, and is not updated when a newer configuration is loaded, it allows us to compute the change of bond lengths between atoms and their original neighbors.

Also see construct_plot_nnlist, caldisregistry.

md INT 4
rc_plot Cut-off radius for each atom in the plot-neighbor-list, i.e. the neighbor list used for plotting and geometric analysis purposes. If this neighbor list is constructed for a reference configuration, and is not updated when a newer configuration is loaded, it allows us to compute the change of bond lengths between atoms and their original neighbors.

Also see construct_plot_nnlist, caldisregistry.

md DOUBLE N/A
L_for_QLM Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md INT 0
Rc_for_QLM Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md DOUBLE 0
Rc_for_QLM Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md STRING 0
Rc_for_QLM Setting for computing the crystalline order parameter.

Also see calcrystalorder, allocQLM.

For details, ask Seunghwa Ryu.

md STRING 0
atomcolor The color names for atoms of different species to be allocated by alloccolor. atomcolor0, atomcolor1, … are for species 0, 1, ….

atomcolor is the same as atomcolor0.

md STRING orange
atomcolor The color names for atoms of different species to be allocated by alloccolor. atomcolor0, atomcolor1, … are for species 0, 1, ….

atomcolor is the same as atomcolor0.

md STRING orange
opendir Create the directory specified by dirname (if it does not exist) and enter this directory.

Note: This command is usually not called directly in the input file. It is automatically called when the dirname variable is set.

md COMMAND N/A
print_randseed Print the value of randseed to the screen or the A.log file. md COMMAND N/A
runcommand Execute a shell command specified in command.

For example: command = "ls" runcommand

md COMMAND N/A
relax Conjugate gradient relaxation.

Variables conj_ftol, conj_itmax, conj_fevalmax, conj_fixbox, conj_fixboxvec (optional) should be set before calling this command.

md COMMAND N/A
relax_by_group Usage: input = [ ng group_1 group_2 … group_ng ] relax_by_group

If ng > 0, then all atoms i whose group[i] value matches any of the group_1 group_2 … group_ng will be relaxed, while other atoms remain fixed.

Redundant function. Can be reproduced by fixatoms_by_group and relax.

md COMMAND N/A
steepest_descent_relax Usage: input = [etol ignoreE] totalsteps = N timestep = Δ steepest_descent_relax

Perform steepest descent relaxation for a maximum of N steps with step size Δ. The relaxation will exit if the reduction of EPOT is less than etol. The EPOT will not be monitored if ignoreE = 1.

For debugging/testing purposes. Much slower than relax, which uses the conjugate gradient algorithm.

md COMMAND N/A
step Perform one (integration) step of the Molecular Dynamics simulation. This function is usually not called directly by the user, but is automatically called within the run command. For debugging purposes. md COMMAND N/A
run Perform molecular dynamics (MD) simulation.

Variables totalsteps, timestep, ensemble_type, integrator_type, saveprop, savecn, … etc. should be set before calling this command.

md COMMAND N/A
runMDSWITCH Run Molecular Dynamics simulations in which the Hamiltonian changes graduately from one model to another, in order to compute free energy difference.

Also see refpotential, lambda0, lambda1, dEdlambda, dlambdadt.

md COMMAND N/A
eval Call the potential function and compute total potential energy, force, kinetic energy, temperature and Virial stress for the current configuration. The total potential energy and stress are printed to the screen or to the A.log file (depending on whether or not setnolog is set). md COMMAND N/A
multieval Usage: totalsteps = N multeval

Call the potential function N times. For debugging and speed benchmark purposes.

md COMMAND N/A
eval_insertparticle Evaluate the potential energy change if a new particle is randomly inserted into the simulation cell. Repeated calls to this function generate statistics that can be used to evaluate the chemical potential. Since the number of atoms will need to increase, make sure to set allocmultiple to be greater than 1 when calling makecrystal or readcn above.

Reference: Frenkel and Smit, Understanding Molecular Simulation, 2nd ed., Section 7.2, Chemical Potentials.

Also see eval_removeparticle.

md COMMAND N/A
eval_removeparticle Evaluate the potential energy change if a randomly chosen particle is removed the simulation cell (by setting fixed[i] = -1).

Also see eval_insertparticle.

md COMMAND N/A
refreshnnlist Reconstruct the Verlet neighborlist (by first constructing the cell list) if necessary. If the maximum displacement among all atoms since the last neighbor list construction (i.e. maxi |R(i) - R0(i)|) is less than SKIN / 2, then there is no need to reconstruct the neighbor list.

Also see R0, SKIN.

md COMMAND N/A
construct_plot_nnlist Construct the plot-neighbor-list, i.e. the neighbor list used for plotting and geometric analysis purposes. If this neighbor list is constructed for a reference configuration, and is not updated when a newer configuration is loaded, it allows us to compute the change of bond lengths between atoms and their original neighbors.

Also see rc_plot, caldisregistry.

md COMMAND N/A
printnnlist Print the neighbor list information to the screen (or to the A.log file) for debugging purposes. md COMMAND N/A
calphonondisp Function under development. Do not use.

Intended to compute the phonon dispersion relation based on the Hessian matrix.

Also see calHessian.

md COMMAND N/A
calHessian Compute Hessian matrix by numerical differentiation.

The step size in (Å) for numerical differentiation is specified by timestep. Result saved in hessian.out in the current directory. Note that the results are actually the negative of the Hessian matrix, i.e. it is the first derivative of the forces that are computed.

To compute the free energy based on Harmonic Approximation, use MD++/Tools/matlab/free_eng_ha.m as a starting point.

If input[0]=0, then the entire Hessian matrix is computed.

If input[0] ≠ 0, then input[0] = n specifies the number of atoms whose corresponding (3) columns in the Hessian matrix will be computed. The atom indices are specified in input[1], … , input[n].

Also see: Computer Simulations of Dislocations web site Chapter 6, Section 6.2.

md COMMAND N/A
readHessian Read the Hessian matrix (the second derivative of the potential function with respect to real coordinates) from file whose name is specified by incnfile.

Also see calHessian.

md COMMAND N/A
calModeHessian Function under development. Do not use. md COMMAND N/A
calmisfit Compute the misfit potential of a crystal by tilting the simulation box H.

Usage: input = [ surfacenormal x0 dx x1 y0 dy y1 z0 dz z1 ] calmisfit

For more details, see wiki page on ideal strength calculation.

Also see calmisfit2.

md COMMAND N/A
calmisfit2 Compute the misfit potential of a crystal without tilting the simulation box H.

Usage: input = [ surfacenormal x0 dx x1 y0 dy y1 z0 dz z1 xmin xmax ymin ymax zmin zmax ] calmisfit2

For more details, see wiki page on ideal strength calculation.

Also see calmisfit.

md COMMAND N/A
testpotential For testing a newly implemented potential. Print out the maximum force experienced by the atoms and check the self-consistency between force and potential energy (by taking numerical derivatives of the potential energy). md COMMAND N/A
calcentralsymmetry Computes central symmetry deviation (CSD) parameter for each atom and store them in the TOPOL array.

Requires NCS to be set (number of nearest neighbors in CSD calculation). For FCC crystal, use NCS = 12. For BCC crystal, use NCS = 8.

Also see GnuPlotHistogram.

md COMMAND N/A
caldisregistry Calculate the distance between atoms and their original neighbors (in the reference configuration in which the plot-neighbor-list was constructed). This allows us to identify slip events.

Also see construct_plot_nnlist.

md COMMAND N/A
findcore Usage: input = [ tmin tmax cal_shape ] findcore

Determine the average position of defect atoms whose central symmetry deviation (CSD) parameter TOPOL is within the range of [tmin, tmax). The atoms included in the analysis can be further limited by setting plot_limits. If cal_shape = 1 then the Principal_Inertia of the defect cluster is also computed.

Assumes that all defect atoms for a single cluster.

md COMMAND N/A
initvelocity Initialize the atomic velocities according to desired temperature TOBJ.

Also see initvelocity_type.

md COMMAND N/A
perturbevelocity Implementation not complete. Do not use.

Also see MCperturbvelocity, initvelocity.

md COMMAND N/A
MCperturbevelocity Implementation not complete. Do not use.

Also see perturbvelocity, initvelocity.

md COMMAND N/A
multiplyvelocity Usage: input = vratio multiplyvelocity

The velocity VSR of all atoms is multiplied by vratio. If a thermostat is used, the velocity of the thermostat variable (zetav) is multiplied by vratio as well. If a barostat is used, the velocity of the box matrix VH is also multiplied by vratio.

Also see scaleVel.

md COMMAND N/A
randomposition Set the scaled coordinates of all atoms to be random numbers uniformly distributed in [-0.5, 0.5). This can be used to initialize the configuration for gas or liquid simulation. Because some atoms may accidentally get too close to each other (leading to very high energy and repulsive forces), relax usually is necessary before MD simulation (run).

Also see initvelocity.

md COMMAND N/A
zerorotation Add rigid body rotation velocity field to the simulation cell so that its total angular momentum around a given axis is zero. The axis is specified by zerorot which can be "x", or "y", or "z".

There is usually no need to call this command manually. initvelocity is supposed to accomplish that after randomizing the velocities.

Also see L_com.

md COMMAND N/A
zerototmom Add a constant velocity to all atoms so that the center of mass velocity of the entire simulation cell is zero.

There is usually no need to call this command manually. initvelocity is supposed to accomplish that after randomizing the velocities.

Also see P_com.

md COMMAND N/A
applyconstraint Move the current configuration to the hyperplane perpendicular to SR2 - SR1 specified by the parameter constrainS.

Also see constrainedMD, constrainedrelax.

md COMMAND N/A
runMC Perform Monte Carlo (MC) simulation.

Variables totalsteps, timestep, ensemble_type, saveprop, savecn, … etc. should be set before calling this command.

md COMMAND N/A
runMCSWITCH Run Monte Carlo simulations in which the Hamiltonian changes graduately from one model to another, in order to compute free energy difference.

Also see refpotential, lambda0, lambda1, dEdlambda, dlambdadt.

md COMMAND N/A
runTAMC Temperature accelerated Monte Carlo simulation to find transition pathways. Simulation only performed for atoms specified by constrainatoms. During the simulation (at high temperature), the configuration is periodically checked (by relax) to see whether a transition has occured. If a transition has occurred, the command will exit. The transition path thus identified can be saved by calling writeRchain.

Example: MD++/scripts/CSD-book/chap7/sect7.5/si-kink-tas.script

For details, see Computer Simulations of Dislocations, Chapter 7, Section 7.5.

Also see constrainatoms.

md COMMAND N/A
srand Do not use. Use srand48 instead.

Randomize random number generator using randseed, which must be set before calling this command. This affects future calls to drand(). Notice that by default MD++ uses drand48() (which should be initialized by srand48) as random number generators (e.g. in initvelocity).

Only use this command if drand48 is not available from the compiler, in which case you need to use rand() instead. In this case you need to modify the MD++ source code.

Also see srandbytime.

md COMMAND N/A
srand48 Randomize random number generator using randseed, which must be set before calling this command. This affects future calls to drand48(). md COMMAND N/A
srandbytime Do not use. Use srand48bytime instead.

Randomize random number generator using current CPU time as the seed. This affects future calls to rand(). Notice that by default MD++ uses drand48() (which should be initialized by srand48) as random number generators (e.g. in initvelocity).

Only use this command if drand48 is not available from the compiler, in which case you need to use rand() instead. In this case you need to modify the MD++ source code.

Also see srand.

md COMMAND N/A
srand48bytime Randomize random number generator using current CPU time as the seed. This affects future calls to drand48(). md COMMAND N/A
stringrelax Finding the minimum energy path and the energy barrier using the string method.

stringrelax is more stable than nebrelax (in which we need to choose the spring constant carefully). However, the parallel version of nebrelax is faster than the parallel version of stringrelax (because reparametrization requires communication between all CPUs).

Also see nebrelax, nebspec.

md COMMAND N/A
runstringmethod Alternative implementation. Do not use. Use stringrelax instead.

Reference: J. Chem. Phys. vol.126, 164103 (2007).

For details, ask Keonwook Kang.

md COMMAND N/A
nebrelax Finding the minimum energy path and the energy barrier using the Nudged Elastic Band (NEB) method.

For details, ask Keonwook Kang.

Reference: Journal of Chemical Physics Vol.113 9978-9985, 2000

Example: MD++/scripts/CSD-book/chap7/sect7.3/si-kink-nebmep.script

For details, see Computer Simulations of Dislocations, Chapter 7, Section 7.3.

Also see stringrelax, nebspec.

md COMMAND N/A
constrainedrelax Conjugate gradient relaxation with a selected set of atoms constrained in the hyperplane perpendicular to SR2 - SR1.

Example: MD++/scripts/CSD-book/chap7/sect7.3/si-kink-cstmep.script

For details, see Computer Simulations of Dislocations, Chapter 7, Section 7.3.

Also see relax, constrainatoms.

md COMMAND N/A
annealpath Simulated annealing of transition path between two states by Monte Carlo.

Usage: annealspec = [ rmax T0 λ alg ] annealpath

rmax is the maximum allowed distance between neighboring states during the Monte Carlo (annealing) simulation.
T0 is the initial temperature of the simulation.
λ is the annealing rate. The actual temperature during the simulation is computed by T = T0 * exp(-λ * curstep / totalsteps).
alg specifies which energy function is used to compute the acceptance probability of the Monte Carlo simulation. alg = 0 means using the maximum potential energy along the path; alg = 1 means using the sum of max(Ec[j]-Ec[j-1],0), where j is the index along the path; alg = 2 means using the sum of all potential energies along the path.

Example: MD++/scripts/CSD-book/chap7/sect7.4/si-kink-pathmc.script

For details, see Computer Simulations of Dislocations, Chapter 7, Section 7.4.

Also see runTAMC.

md COMMAND N/A
statedistance Compute the distance (sqrt of two-norm) between SR1 and SR2. If constrainedatoms[0] = 0, then all atoms are included in computing this distance. If constrainedatoms[0] > 0, then only constrained atoms are included in computing this distance.

Also see setconfig1, setconfig2.

md COMMAND N/A
cutpath Usage: annealspec = [ step n0 n1 ] cutpath

Select a subset of configurations along the chain Rc, with id n0, n0+step, n0+2*step, …, n1, and make that the new chain.

Also see chainlength.

md COMMAND N/A
initRchain Initialize the array Rc as a linear chain connecting SR1 and SR2.

Also see setconfig1, setconfig2, nebrelax, stringrelax.

md COMMAND N/A
allocchain Allocate replicas for the chain-of-state relaxation methods (nebrelax and stringrelax) to find the minimum energy path between two states.

Also see chainlength, nebrelax, stringrelax.

md COMMAND N/A
interpCN Usage: input = s interpCN

Make the current configuration SR a linear interpolation between SR1 and SR2. SR[i] = (1-s)*SR1[i] + s*SR2[i]. The center of mass difference between SR1 and SR2 is removed from SR.

Also see setconfig1, setconfig2, constrainedrelax.

md COMMAND N/A
copyRchaintoCN Usage: input = j copyRchaintoCN

Copy the scaled coordinates of its constrained atoms (specified by constrainedatoms) from replica j (Rc0[j]) to SR.

md COMMAND N/A
copyCNtoRchain Usage: input = j copyCNtoRchain

Copy the scaled coordinates of its constrained atoms (specified by constrainedatoms) from SR to replica j (Rc0[j]).

md COMMAND N/A
moveRchain Usage: input = [ j_des j_src ] moveRchain

Copy atomic positions in replica j_src to replica j_des in array Rc.

Also see initRchain, copyCNtoRchain.

md COMMAND N/A
Fold_into_Unitcell Same as maptoprimarycell. md COMMAND N/A
allocUMBorder Umbrella Sampling utility

For details, ask Seunghwa Ryu.

md COMMAND N/A
assignUMBslipvec Umbrella Sampling utility

For details, ask Seunghwa Ryu.

md COMMAND N/A
calcrystalorder Compute the crystalline order parameter.

For details, ask Seunghw Ryu.

Also see calqlml.

md COMMAND N/A
calqlwl Compute the crystalline order parameter using GSL functions.

For details, ask Seunghw Ryu.

Also see calcrystalorder.

md COMMAND N/A
allocqlm Allocate the qlm array and other arrays needed for calqlwl.

For details, ask Seunghwa Ryu.

Also see allocQLM.

md COMMAND N/A
caldislocationorder Calculate the order parameter for Umbrella Sampling of dislocation nucleation. Not a general purpose utility.

Reference: Proc. Natl. Acad. Sci. 108, 5174 (2011), J. Mater. Res. 26, 2335 (2011).

For details, ask Seunghwa Ryu.

md COMMAND N/A
allocQLM Allocate the QLM array and other arrays needed for calcrystalorder.

For details, ask Seunghwa Ryu.

Also see allocqlm.

md COMMAND N/A
assign_Lam Allocate and assign the Lam_array for Forward-Flux Sampling (FFS) simulations.

For details, ask Seunghwa Ryu.

md COMMAND N/A
Ewald_init Initialize parameters in the Ewald method.

For details, ask Hark Lee.

Also see Ewald_Alpha, Ewald_option_Alpha, Ewald_precision.

md COMMAND N/A
CE Calculates the electrostatic potential energy and forces using the classical Ewald (CE) method.

Also see Ewald_CE_or_PME.

md COMMAND N/A
CE_clear Free variables used in the classical Ewald (CE) calculation.

Also see CE.

md COMMAND N/A
PME Calculates the electrostatic potential energy and forces using the particle-mesh Ewald (PME) method.

Also see Ewald_CE_or_PME.

md COMMAND N/A
PME_clear Free variables used in the particle mesh Ewald (PME) calculation.

Also see PME.

md COMMAND N/A
makecrystal Create a perfect crystal structure specified by crystalstructure, latticeconst and latticesize.

Also see allocmultiple.

md COMMAND N/A
makecn Same as makecrystal. md COMMAND N/A
makecut Fix all atoms that are on one side of a plane specified in crystal coordinate system, i.e. by Miller indices. This command allows one to expose crystallograhic planes for visualization.

Usage: input = [ ind nx ny nz x0 y0 z0 ] makecut

ind = 1 or -1 allows one to easily flip the positive direction of the plane.
nx, ny, nz, specify the normal vector of the plane in crystal coordinate system (i.e. by Miller indices, such as 1 1 -1). This means that before calling makecut the array latticesize must be assigned to the values that were used to create the perfect crystal in the first place. The program needs that information to figure out the relationship between the crystal coordinate system and the lab coordinate system.
x0, y0, z0 is a point on the plane.

Also see removefixedatoms.

md COMMAND N/A
makedipole Create a dislocation dipole in a crystal. The dislocation line and dipole direction must be parallel to one of the repeat vectors of the simulation box.

Usage: input = [ zind yind sbx sby sbz sx0 sy0 sy1 nu nimg_xmin nimg_xmax nimg_ymin nimg_ymax tilt_box limit_sz sz_min sz_max store ] makedipole

zind = 1, 2 or 3 specifies the direction of the dislocation line (to be parallel to c1, c2, or c3).
yind = 1, 2 or 3 specifies the direction of the dislocation dipole (also the direction that contains the cut plane of the dislocation).
sbx, sby, sbz specify the Burgers vector in scaled coordinates.
sx0, sy0 specify the location of one dislocation in scaled coordinates, sy1 specifies the location of the other dislocation.
nu is the Poisson's ratio of the crystal, needed in the expression for the displacement field of non-screw dislocations. nu is usually set to be 0.3.
nimg_xmin, nimg_xmax, nimg_ymin, nimg_ymax specify the number of periodic images to be summed to obtain a periodic solution. They are commonly set to be -10 10 -10 10.
If tilt_box = 1, then the box H is allowed to tilt to accommodate the plastic strain produced by the dislocation dipole. If tilt_box = 0, then the box H is fixed, and there will be an (usually huge) internal stress inside the simulation box.
If limit_sz = 1, then this operation is only performed for atoms whose zind-th scaled coordinate lies between szmin and szmax.
If store = 1, the displacement field is not committed to the atoms positions, but is stored/accumulated in array storedr, until this command is (or other commands such as makedislocation) is called again with option store = 0.

Note: atoms may need to be removed or inserted when executing this command. If atoms need to be inserted, you will need to set allocmultiple to be greater than 1 when calling makecrystal or readcn above.

Also see makedislocation.

Example: MD++/scripts/CSD-book/chap5/sect5.1/mo-screw-dipole.script

For details, see Computer Simulations of Dislocations, Chapter 5, Section 5.1.

md COMMAND N/A
makedislcylinder Outdated function. Use makecylinder and makedislocation instead. md COMMAND N/A
makecylinder Cut a cylinder out of the current configuration.

Usage: input = [ zind yind sx0 sy0 rrem flag szmin szmax ] makecylinder

zind = 1, 2 or 3 specifies the direction of the cylinder axis (to be parallel to c1, c2, or c3).
yind = 1, 2 or 3 specifies a direction perpendicular to the cylinder axis. This input simplies the implementation of this function --- the code does not have to guess the coordinate system.
sx0, sy0 specifies the location of the cylinder axis in scaled coordinates.
rrem specifies the radius (in Å) of the cylinder.
If flag = 0, then all atoms outside the cylinder is removed. If flag = 1, then all atoms outside the cylinder is fixed.
The operation is only applied for atoms whose zind-th scaled coordinate lies between szmin and szmax.

Example: MD++/scripts/CSD-book/chap3/sect3.1/ta-screw.script

For details, see Computer Simulations of Dislocations, Chapter 3, Section 3.1.

md COMMAND N/A
makedislocation Create an arbitrarily oriented straight dislocation line.

Usage: input = [ enable a bx by bz lx ly lz nx ny nz x0 y0 z0 nu store ] makedislocation

enable = 1 activates this command.
a is a length scale (in Å) for the Burgers vector.
bx, by, bz is the Burgers vector (in real coordinates) in unit of a.
lx, ly, lz is the dislocation line orientation (in real coordinates).
nx, ny, nz is the normal vector (in real coordinates) of the cut plane.
x0, y0, z0 is a point on the cut-plane.
nu is the Poisson's ratio of the crystal, needed in the expression for the displacement field of non-screw dislocations. nu is usually set to be 0.3.
If store = 1, the displacement field is not committed to the atoms positions, but is stored/accumulated in array storedr, until this command is (or other commands such as makedipole) is called again with option store = 0.

Note: vectors b, l, n are all expressed in the lab coordinate system, not the crystal coordinate system.

Note: This cannot work if the simulation cell is subjected to periodic boundary condition (PBC) in all three directions. Use makedipole instead in such conditions.

Also see makecylinder.

Example: MD++/scripts/CSD-book/chap3/sect3.1/ta-screw.script

For details, see Computer Simulations of Dislocations, Chapter 3, Section 3.1.

md COMMAND N/A
makedislpolygon Introduce an arbitrarily shaped dislocation polygon (loop) into the crystal.

Usage: input = [ enable store nu a bx by bz n x_1 y_1 z_1 x_2 y_2 z_2 … x_n y_n z_n ] makedislellipse

enable = 1 activates this command.
If store = 1, the displacement field is not committed to the atoms positions, but is stored/accumulated in array storedr, until this command is (or other commands such as makedipole) is called again with option store = 0.
nu is the Poisson's ratio of the crystal.
a is a length scale (in Å) for the Burgers vector.
bx, by, bz is the Burgers vector (in real coordinates) in unit of a.
n is the number of nodes of the polygon.
x1, y1, z1, x_2 y_2 z_2 … x_n y_n z_n are the polygon nodes in real coordinates (in Å).

Note: all cut planes go through the first node x_1 y_1 z_1.

References: D. M. Barnett, The displacement field of a triangular dislocation loop, Phil. Mag. A. (1985) vol.51 383--387; D. M. Barnett and R. W. Balluffi, The displacement field of a triangular dislocation loop -- a correction with commentary, Phil. Mag. Lett. (2007) vol.87 943--944; A. Van Oosterom and J. Strackee, The Solid angle of a plane trangle, IEEE transactions on biomedical engr. (1983) vol.bme-30 125--126.

For more information, ask Keonwook Kang.

Also see makedislellipse.

md COMMAND N/A
makedislellipse Introduce an elliptical shaped dislocation loop into the crystal.

Usage: input = [ enable Ra Rb a bx by bz lx ly lz nx ny nz x0 y0 z0 store ] makedislellipse

enable = 1 activates this command.
Ra, Rb defines the major and minor axes of the ellipse (in Å).
a is a length scale (in Å) for the Burgers vector.
bx, by, bz is the Burgers vector (in real coordinates) in unit of a.
lx, ly, lz is the line orientation (in real coordinates) of the major axis of the ellipse.
nx, ny, nz is the plane normal vector (in real coordinates) of the ellipse.
x0, y0, z0 is the center point (in real coordinates) of the ellipse.
If store = 1, the displacement field is not committed to the atoms positions, but is stored/accumulated in array storedr, until this command is (or other commands such as makedipole) is called again with option storedr = 0.

Note: the displacement field used in this function is only an approximation. It is simply proportional to the solid angle of the ellipse viewed from the field point. The actual displacement field must contain a term that depends on the Poisson's ratio.

Also see makedislpolygon.

md COMMAND N/A
makegrainboundary Make a grain boundary by rotating the current crystal in two different orientations and put the two copies of the crystal together. Can be used to create certain types of grain boundaries. Not a general utility. Usage: input = [ gb_type sx0 sy0 p q shift_x shift_y shift_z ] makegrainboundary

gb_type has to be non-zero. The two crystals are rotated from the parent crystal around the z-axis by angle α and -α, respectively, where arctan(α) = p/q. sx0, sy0 specify the center of the rotation. The plane sx = sx0 is also the boundary between the two crystals. So the grain boundary thus created is a pure tilt boundary.

WARNING: the values of shift_x, shift_y, shift_z are currently ignored?

For details, ask Hark Lee.

md COMMAND N/A
makegb Same as makegrainboundary. md COMMAND N/A
makewave Usage: input = [ enable A dx dy dz skx sky skz ] makewave

Assign a displacement field to the atoms in the form of a plane wave. A is the amplitude of the wave. dr = (dx,dy,dz) is a unit vector (it is automatically normalized at the beginning of this command). sk = (skx,sky,skz) is the wave vector for scaled coordinates. The displacement field in real coordinates is

du[i] = A * dr * exp( sk · SR[i] * 2π )

Be ware of the use of real and scaled coordinates in this expression. Note that the velocity is not assigned, so that the configuration corresponds to a superposition of two plane waves travelling in opposite directions.

Note that this only works for a simple crystal structure (with one atom basis). The displacement field of a complex lattice (with more than one atom basis) is not known a priori.

md COMMAND N/A
cutbonds Create a slit-like atomically sharp crack by removing the interaction between two sides of a cut-plane. All atomic pairs that reside on two sides of the cut plane are registered in the nl_skip_pairs array, so that they will not appear on each other's neighbor list, effectively removing their interactions.

Usage: input = [ enable zind yind sx0 sy0 sy1 sz0 sz1 ]

The input parameters are similar to those of makedipole.

Also see cutbonds_by_ellipse.

md COMMAND N/A
cutbonds_by_ellipse Create an elliptic atomically sharp crack by removing the interaction between two sides of a cut-plane. All atomic pairs that reside on two sides of the cut plane are registered in the nl_skip_pairs array, so that they will not appear on each other's neighbor list, effectively removing their interactions.

Usage: input = [ enable zind yind sx0 sy0 sy1 sz0 sz1 ]

Also see cutbonds.

md COMMAND N/A
scaleH Usage: input = s scaleH

Multiply the H matrix by scalar s.

md COMMAND N/A
setH Obsolete command. Do no use. Instead, assign a value to a given component of H by, for example,

H_23 = value

md COMMAND N/A
saveH Copy H to H0.

Also see restoreH.

md COMMAND N/A
restoreH Copy H0 to H.

Also see saveH.

md COMMAND N/A
reorientH Rotate the simulation box H = [c1 | c2 | c3 ] so that H is an upper triangle matrix. This means that c1 is parallel to the x-axis, and c2 is on the x-y plane.

The scaled coordinates are not changed so that the real coordinates are rotated by this operation.

md COMMAND N/A
changeH_keepR When input = [ i j α ] is set before calling this command, then

change the supercell H while keeping the real coordinates of the atoms rk constant. The scaled coordinates sk change because rk = Hsk. The matrix H consists of three column vectors [c1 | c2 | c3 ], and will be changed by ci = ci + α cj.

Same as redefinepbc. Also see changeH_keepS.

md COMMAND N/A
changeH_keepS When input = [ i j α ] is set before calling this command, then

change the supercell H while keeping the scaled coordinates of the atoms sk constant. The real coordinates rk change because rk = Hsk. The matrix H consists of three column vectors [c1 | c2 | c3 ], and will be changed by ci = ci + α cj.

Same as shiftbox. Also see changeH_keepR.

md COMMAND N/A
shiftbox Same as changeH_keepS. md COMMAND N/A
redefinepbc Same as changeH_keepR. md COMMAND N/A
switchindex Usage: input = [ i_dir j_dir ] switchindex

Switch the two indices for every atom's scaled coordinates. i_dir, j_dir = 1, 2, 3 for x, y, z. Vector arrays SR, R, R0, VSR, VR and box matrix H are changed.

WARNING: There seems to be a bug. The real coordinate should not change if both scaled coordinate and H matrix have changed.

md COMMAND N/A
maptoprimarycell Map every component of the scaled coordinate of all atoms SR to the domain of [-0.5, 0.5) by subtracting the closest integer.

Also see pbcshiftatom.

md COMMAND N/A
RHtoS For every atom k, update its scaled coordinates from its real coordinates.

sk = inv(H) ⋅ rk.

This command must be called if you have changed the real coordinates R manually, because MD++ always computes the real coordinates from the scaled coordinate inside the potential function.

Also see SHtoR.

md COMMAND N/A
SHtoR For every atom k, update its real coordinates from its scaled coordinates.

rk = Hsk.

Usually we don't need to call this command, because always computes the real coordinates from the scaled coordinate inside the potential function.

Also see RHtoS.

md COMMAND N/A
RtoR0 Make a copy of the R array to R0, i.e. for all i, do

R0[i] = R[i]

Also see R0toR.

md COMMAND N/A
R0toR Copy the R0 array back to R, i.e. for all i, do

R[i] = R0[i]

and then call RHtoS.

Also see RtoR0.

md COMMAND N/A
clearR0 Set vector R0[i] = (0, 0, 0) for all atoms i. This has the consequence that the neighbor list will certainly be constructed again the next time command refreshnnlist is called. md COMMAND N/A
applystrain Usage: input = [ M11 M12 M13 M21 M22 M23 M31 M32 M33
        s11 s12 s13 s21 s22 s23 s31 s32 s33
        eps
]

Apply a strain to box matrix H while keeping the scaled coordinates of the atoms fixed. The first nine components of the input array specify the transformation matrix M, the next nine components specify the strain matrix EPSILON in a rotated coordinate system. The row vectors of matrix M are normalized by MD++ if they were not already normalized in the input.

H += M * EPSILON * MT * eps

The box matrix prior to applying the strain is saved into H0.

md COMMAND N/A
extendbox Usage: input = [ dir n ] extendbox

Extend the current configuration along the dir-th direction (1, 2, 3 for x, y, z) by replicating it n times.

allocmultiple = n must be set when calling readcn or makecrystal if command extendbox will be called later.

Also see cutslice.

md COMMAND N/A
scaleVel Usage: input = vratio scaleVel

The velocity VSR of all atoms whose fixed[i] != 0 is multiplied by vratio.

A more complete implementation is multiplyvelocity.

md COMMAND N/A
cutslice Usage: input = [ dir n ] cutslice

Cut an 1/n slice of the configuration along the dir-th direction (1, 2, 3 for x, y, z). This operation is the inverse of extendbox.

For this to work well, the current configuration better be created by a previous call to command extendbox.

md COMMAND N/A
splicecn Usage: input = [ dir ] splicecn

Put the configuration stored in incnfile next to the configuration in memory (in array SR) along the direction dir (1, 2, 3 for x, y, z). The dir-th column of the H matrix is incremented by the amount specified in incnfile.

Also see cutslice.

md COMMAND N/A
cutpastecn Usage: input = [ dir s0 s1 ds ] cutpastecn

Replace all atoms whose dir-th scaled coordinates falls within [s0,s1] to those given in the incnfile, and then displace these atoms by ds in the dir-th direction. (dir = 1, 2, 3 for x, y, z.)

md COMMAND N/A
setconfig1 Copy the current configuration SR (scaled coordinate) to SR1 for all atoms.

Also see setconfig2, constrainatoms.

md COMMAND N/A
setconfig2 Copy the current configuration SR (scaled coordinate) to SR2 for all atoms.

Also see setconfig1, constrainatoms.

md COMMAND N/A
copytoconfig1 Usage: input = i copytoconfig1 Copy the current configuration SR (scaled coordinate) to SR1 only for atom i.

Also see setconfig1.

md COMMAND N/A
copytoconfig2 Usage: input = i copytoconfig2 Copy the current configuration SR (scaled coordinate) to SR2 only for atom i.

Also see setconfig2.

md COMMAND N/A
switchconfig Change the scaled coordinates SR[i] of all atoms i to

SR[i] - SR1[i] + SR2[i]

Also see setconfig1, setconfig2, runMDSWITCH, nebrelax.

md COMMAND N/A
replacefreeatom Replace the scaled coordinates of atoms whose fixed[i] == 0 by those given in the .cn file incnfile. The scaled coordinates of other atoms as well as the H matrix are not changed. At the end of replacefreeatom the real coordinates are updated by a call to SHtoR.

Also see readcn.

md COMMAND N/A
relabelatom Usage: input = [ n0 n1 ] relabelatom

Switch the scaled coordinates (SR) between atom n0 and n1.

Note that other properties, such as velocity, force, etc. are not switched by this command.

md COMMAND N/A
moveatom Usage: input = [ n dx dy dz i_1 i_2 … i_n ] moveatom

Move real coordinates of all atoms whose indices are given in i_1, i_2, … i_n by dx, dy, dz (in Å).

Also see movegroup.

md COMMAND N/A
movegroup Usage: input = [ ng dx dy dz gID_1 gID_2 … gID_ng ] movegroup

Move real coordinates of all atoms belonging to groups with ID gID_1, gID_2, … gID_ng by dx, dy, dz (in Å).

Also see setfixedatomsgroup, moveatom.

md COMMAND N/A
setgroupcomvel Usage: input = [ ng vx vy vz gID_1 gID_2 … gID_ng ] setgroupcomvel

Set the center of mass velocity (times timestep) of all groups with ID gID_1, gID_2, … gID_ng to vx, vy, vz (in Å).

Also see P_com.

md COMMAND N/A
printatoms_in_sphere Usage: input = [ x0 y0 z0 r ] printatoms_in_sphere

Print the indices of all atoms whose real coordinates fall within a sphere centered at x0 y0 z0 with radius r. These atoms can then be fixed by fixatoms_by_ID.

md COMMAND N/A
pbcshiftatom Usage: input = [ dsx dsy dsz ] pbcshiftatom

Add dsx, dsy, dsz to the scaled coordinates of all atoms and then map the scaled coordinates to the domain [-0.5, 0.5).

md COMMAND N/A
maketorquehandle Utility function pertaining to torsional Periodic Boundary Condition (tPBC).

Also see torsionsim, torquespec.

md COMMAND N/A
addtorque Utility function pertaining to torsional Periodic Boundary Condition (tPBC).

Also see torsionsim, torquespec.

md COMMAND N/A
copytorqueatoms Utility function pertaining to torsional Periodic Boundary Condition (tPBC).

Also see torsionsim, torquespec.

md COMMAND N/A
makebendhandle Utility function pertaining to bending Periodic Boundary Condition (bPBC).

Also see bendsim, bendspec.

md COMMAND N/A
addbend Utility function pertaining to bending Periodic Boundary Condition (bPBC).

Also see bendsim, bendspec.

md COMMAND N/A
copybendatoms Utility function pertaining to bending Periodic Boundary Condition (bPBC).

Also see bendsim, bendspec.

md COMMAND N/A
writeimagefile Empty function. Do not use. md COMMAND N/A
readimagefile Empty function. Do not use. md COMMAND N/A
fixatoms_by_ID When input = [ n i1 … in ] is set before calling this command, then

mark all atoms i = i1, … , in$ with fixed[i] = 1.

md COMMAND N/A
fixatoms_by_position Fix all atoms whose position falls within a specified domain.

Usage: input = [ enable sx_min sx_max sy_min sy_max sz_min sz_max ]
If enable = 1, then all atoms i whose scaled coordinates fall within a rectangular region, i.e. sx_min <= SR[i].x < sx_max, sy_min <= SR[i].y < sy_max, sz_min <= SR[i].z < sz_max, will be fixed (i.e. fixed[i] = 1).

If, however, enable = 2, then all atoms whose real coordiantes fall within a cylindrical (tube) region will be fixed. In this case, the input array will be interpreted differently.
Usage: input = [ enable ind x0 y0 z0 r_min r_max h_min h_max ]
ind = 1, 2, or 3 specifies whether the cylinder is aligned along the x, y, or z axis. x0, y0, z0 is a point (in real coordinates) on the center axis of the cylinder. r_min, r_max is the inner and outer radii of the cylindrical tube, h_min, h_max specifies the length of the cylinder.

Also see fixatoms_by_pos_topol.

md COMMAND N/A
fixatoms_by_group Usage: input = [ ng group_1 group_2 … group_ng ] fixatoms_by_group

If ng > 0, then all atoms i whose group[i] value matches any of the group_1 group_2 … group_ng will have fixed[i] = 1 set.

Also see setfixedatomsgroup.

md COMMAND N/A
RtoR0_by_group Usage: input = [ ng gID_1 gID_2 … gID_ng ] RtoR0_by_group

Make a copy of the R array to R0 for all atoms whose group id (group[i]) matches one of those specified by input.

Also see RtoR0.

md COMMAND N/A
R0toR_by_group Usage: input = [ ng gID_1 gID_2 … gID_ng ] R0toR_by_group

Copy R0 array back to R for all atoms whose group id (group[i]) matches one of those specified by input.

Also see R0toR.

md COMMAND N/A
fixatoms_by_species Usage: input = [ ns species_1 species_2 … species_ns ] fixatoms_by_species

If ns > 0, then all atoms i whose species[i] value matches any of the species_1 species_2 … species_ns will have fixed[i] = 1 set.

Also see setfixedatomsspecies.

md COMMAND N/A
fixatoms_by_pos_topol Fix all atoms whose position falls within a specified domain and whose TOPOL[i] value falls within a range.

Usage: input = [ enable sx_min sx_max sy_min sy_max sz_min sz_max t_min t_max ]
If enable = 1, then all atoms i whose scaled coordinates fall within a rectangular region, i.e. sx_min <= SR[i].x < sx_max, sy_min <= SR[i].y < sy_max, sz_min <= SR[i].z < sz_max, and whose central symmetry parameter falls within a range t_min <= TOPOL[i] < t_max, will be fixed (i.e. fixed[i] = 1).

Also see fixatoms_by_position.

md COMMAND N/A
fixallatoms Mark all atoms with fixed[i] = 1, for i = 0, … NP-1. md COMMAND N/A
freeallatoms Mark all atoms with fixed[i] = 0, for i = 0, … NP-1. md COMMAND N/A
reversefixedatoms For all atoms i = 0, …, NP, set species[i] to 1 if it was 0, set species[i] to 0 if it was 1.

Also see setfixedatomsspecies.

md COMMAND N/A
constrain_fixedatoms Set constrainedatoms array to include all fixed atoms. This is usually used as
  fixatoms_by_position constrain_fixedatoms freeallatoms

Also see fixatoms_by_pos_topol, fixatoms_by_ID.

md COMMAND N/A
fix_constrainedatoms Set all atoms specified in the constrainatoms array to have be fixed (i.e. fixed[i] = 1).

This is the inverse of the command constrain_fixedatoms. This command is useful to visualize which atoms are included in the constrainatoms because fixed atoms are usually plotted in yellow.

Also see fixatomcolor.

md COMMAND N/A
fix_imageatoms All atoms i whose image[i] value is >= 0 will have fixed[i] set to 1.

Also see fixatoms_by_group.

md COMMAND N/A
setfixedatomsspecies Usage: input = id setfixedatomsspecies

Set species[i] = id for all atoms i whose fixed[i] == 1.

Also see fixatoms_by_pos_topol, fixatoms_by_ID, fixatoms_by_species.

md COMMAND N/A
setfixedatomsgroup Usage: input = id setfixedatomsgroup

Set group[i] = id for all atoms i whose fixed[i] == 1.

Also see fixatoms_by_pos_topol, fixatoms_by_ID, fixatoms_by_group.

md COMMAND N/A
reversespecies For all atoms i = 0, …, NP, set fixed[i] to 1 if it was 0, set fixed[i] to 0 if it was 1. md COMMAND N/A
movefixedatoms Usage: input = [ dsx dsy dsz ] movefixedatoms

Add dsx, dsy, dsz to the scaled coordinates SR[i] of all atoms i whose fixed[i] == 1.

Also see fixatoms_by_pos_topol, fixatoms_by_ID, removefixedatoms.

md COMMAND N/A
removefixedatoms Remove all atoms i whose fixed[i] == 1.

Also see markremovefixedatoms.

md COMMAND N/A
markremovefixedatoms Mark all atoms i whose fixed[i] == 1 as removed, i.e. set fixed[i] = -1. An atom i with fixed[i] == -1 will be ignored in potential function / force evaluations. So they are effectively removed, but can be quickly restored without changing the indices of other atoms.

Also see removefixedatoms.

md COMMAND N/A
removeellipsoid Usage: input = [ enable x0 y0 z0 a b c ] removeellipsoid

If enable = 1 then this command is activated. x0 y0 z0 specify the center of the ellipsoid (in real coordinates) and a b c specify the semi-axes of the ellipsoid (in real coordinates). All atoms falling within the ellipsoid are removed.

md COMMAND N/A
removerectbox Usage: input = [ ax ay az La bx by bz Lb cx cy cz Lc x0 y0 z0 plotonly outside ] removerectbox

The regions to be removed are specified in the crystal coordinate system (so coordinate transformation is involved). Sorry this one is too complicated to explain. Please read the source code (md.cpp) or find an example that uses this command.

This function is useful for creating a prismatic dislocation loop by removing atoms.

md COMMAND N/A
removeoverlapatoms Usage: input = [ rc ] removeoverlapatoms

For every pair of atoms that are closer to each other than rc remove one of them, until no two atoms are closer to each other than rc.

md COMMAND N/A
find_com Apply rigid-body rotation around the center of mass (COM) so that the current configuration best matches that stored in SR1.

Requires input = 1 or 2 or 3 to be set before calling this command, to specify whether rotation is around x or y or z axis. Currently only rotation around z axis has been implemented.

Also see setconfig1, translate_com.

md COMMAND N/A
translate_com Compute the the center of mass (COM) of the current configuration (stored in SR). The result (although not accessible from the user) will be used in subsequent calls of functions translate_com, rotate_com. md COMMAND N/A
rotate_com Apply rigid-body translation so that the center of mass (COM) of the current configuration matches that stored in SR1.

Also see setconfig1, rotate_com.

md COMMAND N/A
clearFext Reset the Fext vector array, Fext[i] = 0 for all i from 0 to NP.

Also see Fext, addFext_to_group.

md COMMAND N/A
addFext_to_group When input = [ g_id fx fy fz ] is set before calling this command, then atoms with group[i] == g_id will have their Fext[i] vector set to (fx, fy, fz).

If enable_Fext is set to 1, then Fext[i] will be added to the force experienced by atom i for all atoms.

md COMMAND N/A
writecn Requires finalcnfile = file to be set before calling this command. Write atomic positions of the current configuration to file.

If write_all = 1 is also set, the atomic velocities and other information are written in file as well.

See wiki page for more details.

Also see zipfiles.

md COMMAND N/A
writeavgcn Write array SRA into file whose name is specified by finalcnfile.

SRA contains a running average of atomic configurations during MD simulation.

For details, ask Keonwook Kang.

md COMMAND N/A
readcn When incnfile = file is set before calling this command, then

read atomic positions, velocities (optional) and other information from file to the current configuration.

See wiki page for more details.

md COMMAND N/A
readcontinuecn Read atomic configuration from the file speficied by continuecnfile.

Also see savecontinuecnfreq, readcn.

md COMMAND N/A
readPOSCAR Read atomic position from incnfile written in POSCAR (VASP) format. md COMMAND N/A
readOUTCAR Read atomic force from VASP OUTCAR file. The file name has to be OUTCAR and must be in the current directory (specified by dirname).

Also see readPOSCAR.

md COMMAND N/A
readMDCASK Read atomic position and EPOT_IND array from incnfile written in MDCASK format.

Also see writeMDCASK.

md COMMAND N/A
readMDCASKJAIME Read atomic position from incnfile written in MDCASK format. md COMMAND N/A
readXYZ Read atomic position from incnfile written in XYZ format. md COMMAND N/A
writeMDCASKXYZ Write atomic position (in real coordinates) into MDCASK format with file name specified by finalcnfile.

Also see readMDCASK.

md COMMAND N/A
readLAMMPS Read atomic position and velocity from a file in LAMMPS format with file name specified by incnfile.

Also see writeLAMMPS.

md COMMAND N/A
readRchain Read a chain of configurations Rc from file incnfile.

Also see readrchainspec, initRchain, writeRchain.

md COMMAND N/A
convertXDATCAR Convert a series of atomic configurations stored in a single file (in XDATCAR format of VASP) into a series of .cn files using writeintercn. md COMMAND N/A
openintercnfile Open the first intermediate .cn file so that they can be written subsequently either by calling writeintercn or during MD simulation run if savecn = 1.

Also see intercnfile

md COMMAND N/A
openFFScnfile Open the first intermediate cn file so that they can be written to during FFS simulations. Similar to openintercnfile.

Also see FFScnfile.

md COMMAND N/A
writeintercn Write the current atomic configuration in the intermediate .cn file whose name is specified by intercnfile and filecounter. Usually this is command is not called directly by the user. Instead, it is called periodically in MD simulation run if savecn = 1.

Also see openintercnfile.

md COMMAND N/A
writeFFScn Write the current configuration in FFS simulation into a file whose base name is specified by FFScnfile and increment the counter by 1. Similar to writeintercn.

Also see FFSfilecounter.

md COMMAND N/A
setfilecounter Usage: filecounter = n setfilecounter

Set the counter in the file name of intercnfile to n.

md COMMAND N/A
setFFSfilecounter Usage: FFSfilecounter = n setFFSfilecounter

Set the counter in the file name of FFScnfile to n.

Also see openFFScnfile.

md COMMAND N/A
openpropfile Open the property file whose name is specified by outpropfile and in which thermal properties (such as EPOT, Tinst) are saved periodically during MD simulation.

Also see savepropfreq, output_fmt.

md COMMAND N/A
closepropfile Close the property file in which thermal properties (such as EPOT, Tinst) have been saved periodically during MD simulation, to ensure the file on disk is up to date before exiting the program.

Also see openpropfile.

md COMMAND N/A
writePOSCAR Write atomic position and velocity into VASP POSCAR format with file name specified by finalcnfile.

Also see readPOSCAR.

md COMMAND N/A
writeMDCASK Write atomic position (in scaled coordinates) into MDCASK format with file name specified by finalcnfile.

Also see readMDCASK.

md COMMAND N/A
writePINYMD Write atomic position (in real coordinates) and velocity into PINYMD format with file name specified by finalcnfile. md COMMAND N/A
writeLAMMPS Write atomic position (in real coordinates) and velocity into LAMMPS format with file name specified by finalcnfile.

Also see readLAMMPS.

md COMMAND N/A
writeRchain Save the vector array Rc[j][i] into file specified by finalcnfile. Rc contains the real coordinates of the atoms specified by constrainatoms.

Note that the file format created by writeRchain is different from that of the .cn file.

Also see readRchain, chainlength.

md COMMAND N/A
fortranrelax Call an external program (compiled by Fortran) to relax the atomistic configuration.

Also see fortranpath, fortranexe.

md COMMAND N/A
atomeye Call Atomeye to visualize atomic structure.

Atomeye is an external visualization tool developed by Dr. Ju Li.

Requires variables atomeyepath and atomeyeexe to be set before calling this command. MD++ saves the atomic configuration into file atomeye.cfg in the current directory before calling Atomeye.

md COMMAND N/A
writeatomeyecfg Write Atomeye .cfg file from the current atomic configuration. Before calling this function, the filename must be specified in variable finalcnfile.

Also see zipfiles.

md COMMAND N/A
convertCNtoCFG Usage: input = [ istart iend ] convertCNtoCFG

Read several files named inter####.cn from the current folder (specified by dirname) and write them into Atomeye cfg files inter####.cfg, where the index number goes from istart to iend.

This functionality can be reproduced in Tcl by calling readcn and writeatomeyecfg in a for loop.

md COMMAND N/A
writepovray Write atomic position into POVRAY format with file name specified by finalcnfile.

By default all atoms are exported, but a subset of atoms can be selected by the plot_color_windows and plot_limits variables.

md COMMAND N/A
writeRASMOLXYZ Write atomic position into RASMOL-XYZ format with file name specified by finalcnfile. Each ine of the file contains

element[0] R[i].x R[i].y R[i].z EPOT_IND[i] TOPOL[i]

md COMMAND N/A
readRASMOLXYZ Read atomic position from incnfile written in RASMOL-XYZ format. md COMMAND N/A
writeatomtv Write atomic position into atomtv format with file name specified by finalcnfile. Each ine of the file contains

R[i].x R[i].y R[i].z EPOT_IND[i] TOPOL[i]

By default all atoms are exported, but a subset of atoms can be selected by the plot_color_windows and plot_limits variables.

md COMMAND N/A
writeENERGY Write a single columned file containing the color_ind array for all atoms. The file name is specified by finalcnfile.

The content of the color_ind array depends on the value of plot_color_axis. When plot_color_axis = 0 or 1, color_ind is the same as the potential energy contribution from each atom (EPOT_IND). When plot_color_axis = 2, color_ind is the same as the central symmetry deviation parameter (TOPOL).

md COMMAND N/A
writeFORCE Write force F on all atoms into a text file with filename specified by finalcnfile.

Each line of the file contains i _F[i].x _F[i].y _F[i].z fixed[i].

If input = 1 is set before calling this command, then only atoms with fixed[i] == 1 have their information written into the file. In this case, each line of the file contains i _F0[i].x _F0[i].y _F0[i].z fixed[i].

md COMMAND N/A
writePOSITION Write the real coordinates of atoms into a file whose name is specified by finalcnfile. Each line of the file has the format of:

i R[i].x R[i].y R[i].z fixed[i]

If input = 1 is set before calling this command, only atoms whose fixed[i] value is nonzero are written.

md COMMAND N/A
GnuPlotHistogram Call gnuplot to plot the histogram of atom energy i.e. EPOT_IND (by default).

If plot_color_axis = 2 then the histogram of TOPOL is plotted instead. The array TOPOL stores the computes the central symmetry deviation (CSD) parameters for each atom computed by calcentralsymmetry.

md COMMAND N/A
openwin Open X-window to display current atom position in 3D.

Click and drag in the X-window to rotate. Press F1 for help.

Usually used as openwin alloccolors rotate saverot eval plot

md COMMAND N/A
plot Plot atoms in the X-window in an interactive run. This command can be called manually in the input file to visualize the current configuration. It is also called periodically within run and relax according to plotfreq.

Also see openwin, alloccolors.

md COMMAND N/A
alloccolors Allocate colors for the X-window display.

Use after openwin and before plot.

Variables atomcolor, backgroundcolor, bondcolor, color00, …, color10 may be set before calling this command.

md COMMAND N/A
alloccolorsX Allocate colors for the X-window display. Use this only on computers where command alloccolors does not work. md COMMAND N/A
testcolor (For debugging purposes. Not for general use.) md COMMAND N/A
reversergb On some computers, you may find that an atom that is supposed to be red appears blue, while an atom that is supposed to be blue appears red. These computers uses the opposite RGB convention to indicate colors than most others. Use reversergb to fix this problem.

Also see alloccolors.

md COMMAND N/A
writeps Export the current view in the X-window as a post script file named Yshot####.ps, where the number automatically increases by 1 when the function is called again. Pressing the F10 key in the X-window has the same effect.

Also see openwin, plot.

md COMMAND N/A
rotate Rotate the viewing orientation and scale the size of the plot for the X-window as specified in rotateangles.

Also see saverot.

md COMMAND N/A
saverot Save the current viewing orientation and scaling parameter for the X-window as the HOME value, which will be returned to when the HOME key is pressed in the X-window.

Also see rotate.

md COMMAND N/A
wintogglepause When the X-window is open, toggle between the pause and continue state for the MD simulation (run). The same effect is produced whe pressing "p" in the X-window.

Also see openwin.

md COMMAND N/A
SR A vector array containing the scaled coordinates of atoms (dimensionless).

The real coordinates rk and scaled coordinats sk of atom k is related to each other by rk = Hsk.

Also see R, H, SHtoR, RHtoS, changeH_keepS, changeH_keepR.

md DOUBLE N/A
fixed An integer array specifying whether atom i is fixed (fixed[i] = 1) or is free (fixed[i] = 0). The atom is considered to be removed (i.e. not included in the calculation of potential energy and forces) if fixed[i] = -1.

Also see species, group, fixatoms_by_ID, fixatoms_by_position.

md INT N/A
R A vector array containing the real coordinates of atoms (in Å).

The real coordinates rk and scaled coordinats sk of atom k is related to each other by rk = Hsk.

Also see SR, H, SHtoR, RHtoS, changeH_keepS, changeH_keepR.

md DOUBLE N/A
R0 A vector array to hold a copy of the R vector array (containing real coordinates of atoms) to assist configuration manipulations. md DOUBLE N/A
F A vector array containing the forces on each atom (in eV/Å).

Also see EPOT_IND.

md DOUBLE N/A
EPOT_IND An array containing the contributions to the potential energy EPOT from each atom (in eV).

Also see F.

md DOUBLE N/A
species An integer array specifying the chemical species of each atom.

Also see group.

md INT 0
VR A vector array containing the velocity multiplied by timestep of atoms in real coordinates (in Å).

Also see VSR, H.

md DOUBLE N/A
VSR A vector array containing the velocity multiplied by timestep of atoms in scaled coordinates (dimensionless).

Also see VR, H.

md DOUBLE N/A
image Empty variable. Do not use. md INT N/A
TOPOL An array storing the geometric information of each atom, such as the central symmetry deviation (CSD) parameter.

Also see plot_color_axis.

md DOUBLE N/A
group An integer array specifying the group ID of each atom.

Also see species.

md INT 0
F0 A vector array to store the forces on atoms. It is an intermediate variable when the potential is a linear combination of two existing potentials, as in adiabatic switching.

Also see runMDSWITCH, runMCSWITCH, refpotential.

md DOUBLE N/A
Fext A vector array containing the external forces on each atom (in eV/Å). They will be added to the vector array F if enable_Fext = 1. The Fext array can be set manually, but is more convenient to use command addFext_to_group. md DOUBLE 0
EPOT_RMV An array. EPOT_RMV[i] is the change of the potential energy of the entire simulation cell if atom i were removed. For a pair potential, it is twice of EPOT_IND.

Also see EPOT_IND.

md DOUBLE 0
VIRIAL_IND A (3x3) matrix array containing the contributions to the VIRIAL matrix from each atom (in eV).

Also see EPOT_IND.

md DOUBLE 0
TORQUE_IND An array storing the contribution from each atom to the Virial Torque of the simulation cell subjected to torsional Periodic Boundary Condition.

Also see torquespec, EPOT_IND.

md DOUBLE 0
BENDMOMENT_IND An array storing the contribution from each atom to the Virial Bending Moment of the simulation cell subjected to bending Periodic Boundary Condition.

Also see bendspec, EPOT_IND.

md DOUBLE 0
storedr For debugging purposes.

In many configuration manipulation tools, such as makedipole, the displacement field of one dislocation is not immediately applied to the atomic positions. Instead, there is an option to accumulate the displacement fields in the vector array storedr when multipole dislocations are to be introduced. The displacement field is applied to the atomic positions after the displacement field of the last dislocation has been included in the sum.

md DOUBLE N/A
myIX ID of this CPU in x direction. Values range from 0, …, nXdoms. mdparallel INT 0
myIY ID of this CPU in y direction. Values range from 0, …, nYdoms. mdparallel INT 0
myIZ ID of this CPU in z direction. Values range from 0, …, nZdoms. mdparallel INT 0
nXdoms Numer of divisions in x direction in spatial domain decomposition for parallel MD simulation or relaxation.

Note: parallel simulation not implemented except nebrelax_parallel and stringrelax_parallel, which do not require spatial domain decomposition.

Also see nYdoms, nZdoms.

mdparallel INT 1
nYdoms Numer of divisions in y direction in spatial domain decomposition for parallel MD simulation or relaxation.

Note: parallel simulation not implemented except nebrelax_parallel and stringrelax_parallel, which do not require spatial domain decomposition.

Also see nXdoms, nZdoms.

mdparallel INT 1
nZdoms Numer of divisions in z direction in spatial domain decomposition for parallel MD simulation or relaxation.

Note: parallel simulation not implemented except nebrelax_parallel and stringrelax_parallel, which do not require spatial domain decomposition.

Also see nXdoms, nYdoms.

mdparallel INT 1
myDomain The ID of current domain (i.e. CPU) in a parallel run.

myDomain == 0 for the master domain.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel INT 0
numDomains Total number of domains (i.e. CPUs) in a parallel run.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel INT 1
myXmin Boundary in x axis (in scaled coordinates) for spatial domain decomposition. Not fully implemented. mdparallel DOUBLE -10
myYmin Boundary in y axis (in scaled coordinates) for spatial domain decomposition. Not fully implemented. mdparallel DOUBLE -10
myZmin Boundary in z axis (in scaled coordinates) for spatial domain decomposition. Not fully implemented. mdparallel DOUBLE -10
myXmax Boundary in x axis (in scaled coordinates) for spatial domain decomposition. Not fully implemented. mdparallel DOUBLE 10
myYmax Boundary in y axis (in scaled coordinates) for spatial domain decomposition. Not fully implemented. mdparallel DOUBLE 10
myZmax Boundary in z axis (in scaled coordinates) for spatial domain decomposition. Not fully implemented. mdparallel DOUBLE 10
Master_to_Slave When command = cmd is set before calling this command, then

CPU 0 (master) request other CPUs (slaves) to execute cmd,

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp. which can be any MD++ command or variable assignment.

mdparallel COMMAND N/A
Broadcast_Atoms CPU 0 (master) broadcast all atom positions to other CPUs (slaves).

Needed before eval_parallel.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
Slave_to_Master_Atoms Slave CPUs send its atom position SR and velocity VSR (in scaled coordinates) to Master CPU (whose myDomain == 0).

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
Slave_chdir Slave CPUs change the directory to that specified by dirname.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
Partition_Domains Decide the boundary of spatial domain decomposition.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
Mark_Local_Atoms Each CPU marks atoms i outside the domain boundary (by more than a skin distance) as fixed[i] = -1.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
eval_parallel CPU 0 (Master) calls eval with the help of all other CPUs (slaves).

Broadcast_Atoms must be called before calling this command.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
run_parallel Parallel version of run (MD simulation). (Not fully tested)

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
alloc_all Every processor (master and slave) allocate memory for arrays such as SR, F, … according to the number of atoms NP.

Needed before calling eval_parallel.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
quit_all All processes (master and slavev) call quit.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
nebrelax_parallel Running nebrelax in parallel mode. Each replica occupies one CPU.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
stringrelax_parallel Running stringrelax in parallel mode. Each replica occupies one CPU.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
allocchain_parallel Running allocchain in parallel mode. Each replica occupies one CPU. Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

Also see nebrelax_parallel, stringrelax_parallel.

mdparallel COMMAND N/A
initRchain_parallel Parallel version of initRchain.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

Also see nebrelax_parallel, stringrelax_parallel.

mdparallel COMMAND N/A
readRchain_parallel Parallel version of readRchain. If incnfile = fname, each CPU writes the file named fname.cpu00, fname.cpu01, …, where the integer is the value of myDomain.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
writeRchain_parallel Parallel version of writeRchain. If finalcnfile = fname, each CPU writes the file named fname.cpu00, fname.cpu01, …, where the integer is the value of myDomain.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
copyRchaintoCN_parallel Parallel version of copyCNtoRchain, with the difference that the input variable is no longer needed. Each CPU copy the scaled coordinates of its constrained atoms (specified by constrainedatoms) from Rc0 to SR.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
copyCNtoRchain_parallel Parallel version of copyRchaintoCN, with the difference that the input variable is no longer needed. Each CPU copy the scaled coordinates of its constrained atoms (specified by constrainedatoms) from SR to Rc0.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
readcnfile_parallel Parallel version of readcn. If incnfile = fname, each CPU reads the file named fname.cpu00, fname.cpu01, …, where the integer is the value of myDomain.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
writefinalcnfile_parallel Parallel version of writecn. If finalcnfile = fname, each CPU writes the file named fname.cpu00, fname.cpu01, …, where the integer is the value of myDomain.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
writeatomeyecfg_parallel Parallel version of writeatomeyecfg.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

mdparallel COMMAND N/A
domainID An array containing the information of which domain (i.e. CPU) does each atom belong to.

Also see myDomain.

mdparallel INT N/A
rho Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
rho0 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
rho1 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
rho2 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
rho3 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
frhop Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
gamma Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
dgamma1 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
dgamma2 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
dgamma3 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
arho2b Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
arho1 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
arho2 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
arho3 Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
arho3b Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
t_ave Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
tsq_ave Internal array when computing the MEAM-LAMMPS potential.

For diagnostic purposes.

meam-lammps DOUBLE N/A
meamfile Name of the file containing parameters for the MEAM-LAMMPS potential.

Also see meafile.

meam-lammps STRING N/A
meafile Name of the file containing parameters for the MEAM-LAMMPS potential.

Also see meamfile.

meam-lammps STRING N/A
rcut Cut off radius of the MEAM-LAMMPS potential. meam-lammps DOUBLE N/A
readMEAM Read parameters for the MEAM-LAMMPS potential contained in the meamfile and meafile. meam-lammps COMMAND N/A
printpairpot (For debugging purposes. Not for general use.) meam-lammps COMMAND N/A
Broadcast_MEAM_Param CPU 0 (master) broadcast MEAM-LAMMPS potential parameters to other CPUs (slaves).

Needed before eval_parallel.

Effective only when MD++ is compiled for parallel runs, e.g. with SYS = mpicc or SYS = mpigpp.

meam-lammps COMMAND N/A
setoverwrite By default, MD++ will abort if the directory specified by dirname already exists, to avoid overwriting previous simulation data. Use this command before assigning dirname if you want to remove this protection and allow overwriting the data in the existing directory. organizer COMMAND N/A
setnolog This command tells MD++ not to open the A.log file in the directory specified by dirname. Instead, the output is directed to the screen.

Use this command before assigning variable dirname.

organizer COMMAND N/A
quit Quit MD++. Print total CPU time. organizer COMMAND N/A
sleep Put MD++ to sleep for the number of seconds specified in sleepseconds. The X-window (if opened) remain responsive to mouse and keyboard. This allows you to visually examine the final structure of your simulation before it exits. organizer COMMAND N/A
dirname MD++ immediately opens a directory specified by this variable and enters (i.e. cd into) this directory. This becomes the working directory for all future operations and the place for all output files. Output to screen is redirected to the A.log file in this directory if setnolog is not set beforehand. organizer STRING N/A
sleepseconds Number of seconds used by command sleep. organizer INT 600
intval (For debugging purposes. Not for general use.) organizer INT N/A
x (For debugging purposes. Not for general use.) organizer DOUBLE N/A
y (For debugging purposes. Not for general use.) organizer DOUBLE N/A
z (For debugging purposes. Not for general use.) organizer DOUBLE N/A
str (For debugging purposes. Not for general use.) organizer STRING N/A
printall (For debugging purposes. Not for general use.) organizer COMMAND N/A
openfile (For debugging purposes. Not for general use.) organizer COMMAND N/A
closefile (For debugging purposes. Not for general use.) organizer COMMAND N/A
rebofile Name of the file containing parameters for the REBO potential. rebo STRING N/A
rcut Cut-off radius for the REBO potential. rebo DOUBLE N/A
readREBO Read parameters for the REBO potential contained in the rebofile. rebo COMMAND N/A
C12_ij Parameter in the LJ potential between species i and j. The actual parameters to set in MD++ are: C12_00, C12_01, …

Φ(r) = C12 / r12 - C6 / r6

rebolj DOUBLE 0
C6_ij Parameter in the LJ potential between species i and j. The actual parameters to set in MD++ are: C6_00, C6_01, …

Φ(r) = C12 / r12 - C6 / r6

rebolj DOUBLE 0
LJ_Rcut Cut-off radius of the LJ potential. rebolj DOUBLE N/A
NUM_REBO_GROUPS Number of groups of atoms that are treated separately in the REBOLJ potential.

Atoms within the same group interact with the REBO potential. Atoms in different group interact with the LJ potential. The atomic configuration need to have the group array (in addition to the species array, if both Carbon and Hydrogen are present) set up accordingly for this to work properly.

rebolj INT N/A
substrate_Z Parameter for an external potential mimicing the substrate. rebolj DOUBLE N/A
substrate_REP Parameter for an external potential mimicing the substrate. rebolj DOUBLE N/A
substrate_ATR Parameter for an external potential mimicing the substrate. rebolj DOUBLE N/A
initLJ Initialize the parameters in the LJ potential. rebolj COMMAND N/A
ncpu (For debugging purposes. Not for general use.) scparser INT N/A
shmsize (For debugging purposes. Not for general use.) scparser INT N/A
abort Abort the parser program, i.e. stop reading the input file. scparser COMMAND N/A
a (For debugging purposes. Not for general use.) scparser DOUBLE N/A
I (For debugging purposes. Not for general use.) scparser INT N/A
L (For debugging purposes. Not for general use.) scparser LONG N/A
s (For debugging purposes. Not for general use.) scparser STRING N/A
help Print out a short message on the available commands and variables for this parser. scparser COMMAND N/A
printall Print the values of all variables (a, I, L, s) defined in this test parser program. scparser COMMAND N/A
quit Exit the entire program.

In the source code: exit(2);

scparser COMMAND N/A
ALPHA_BKS Parameters in the SILICA-BKSMOD potential.

The potential parameters are set by the initBKS command.

silica-bksmod DOUBLE N/A
initBKS Initialize the parameters in the the SILICA-BKSMOD potential. silica-bksmod COMMAND N/A
sw3b_multiply Ad hoc multiplication factor to the three-body term of the original Stillinger-Weber potential.

For details, see Philosophical Magazine, 87, 2169, (2007).

sw DOUBLE 1
sw2b_multiply Ad hoc multiplication factor to the two-body term of the original Stillinger-Weber potential.

For details, see Philosophical Magazine, 87, 2169, (2007).

sw DOUBLE 1
tote2 Two-body term contribution to the potential energy.

EPOT = tote2 + tote3.

sw DOUBLE 0
tote3 Three-body term contribution to the potential energy.

EPOT = tote2 + tote3.

sw DOUBLE 0
C12 Parameter in the LJ potential.

Φ(r) = C12 / r12 - C6 / r6

swlj DOUBLE N/A
C6 Parameter in the LJ potential.

Φ(r) = C12 / r12 - C6 / r6

swlj DOUBLE N/A
tipforce This is an output array of length 3. It contains the total force felt by atoms in group = 0 and group = 4.

When the simulation is set up such that an indentor consisting of these two groups of atoms is pressing against a substrate (consisting of other groups of atoms), then tipforce measures the total force on the indentor tip from the substrate.

swlj DOUBLE N/A
initLJ Initialize the parameters in the LJ potential. swlj COMMAND N/A