Input Description#
&control#
This namelist is the collection of the tags that control the whole calculation for autocorrelation function. Currently, the defualt values is not internally set for control namelist. Therefore, every tags need to be set appropriately before using the program.
modeThe available calculation modes are listed in table below. Currently, 4 analysis modes were implemented. The addition of new mode can be done by adding new subroutine.
CHARACTER'msd'Mean square displacement (MSD) calcation for measuring diffusion coeficient based on Einstein relation. This program give MSD versus time relation. The derivative is required to be done externally to get diffusion coeficient.
'bond_autocorrelation'Bond autocorrelation function for measuring lifetime of bond. Only the intermittent autocorrelation was implemented in current version.
'angle_autocorrelation'Dihedral autocorrelation function for measuring angle lifetime. In this subroutine, 2 diffferent functions for describing geometry parameters were implemented, and 2 different modes for measuring angle between planes were implemented.
'dipole_autocorrelation'Dipole derivative autocorrelation function for infrared (IR) spectra calculation. Only autocorrelation function is calculated in this subroutine. Fourier transform is required to be done externally to obtain IR spectra.
dumpfileTrajectory file outputed from LAMMPS in dump format. Currently, only interface with LAMMPS (dump) is available.
CHARACTER
mdstepNumber of MD step to be read from dump file. This number can not be greater than the total number of snapshots contained in trajectory. One can include only MD length that memory of the cpu allows. By using in combination with
nstepskip, one can trim the trajectory only the needed region.INTEGER
nstepskipThe number of MD steps to be skipped at the beginning of whole trajectory. This will be used to avoid the insufficient equilibration at the beginning of production run.
INTEGER
nbufferNumber of buffers to be used in the autocorrelation function average.
INTEGER
bufferintervalThe interval between time origin of each buffer. This parameter is defined by the nubmer of MD step (not time unit). The length of each buffer will be automatically calculated from (
mdstep-nstepskip) -nbuffer*bufferinterval. Therefore, every parameters should be selected with care.INTEGER
dtTime difference between neighnoring snapshots in femtosecond unit.
REAL
ntypeNumber of atomic types in the simulations. The number must be consistent with the atomic types specified below the namelist field.
INTEGER
writeunwrapThe format of the unwraped coordinates. See table below.
CHARACTER'none'Do not print out the unwarped trajectory
'xsf'Print out unwraped trajectory in xsf format
'xyz'Print out unwraped trajectory in xyz format
&msd#
groupmolFor MSD mode, both
.TRUE.and.FALSE.are available.LOGICAL.TRUE.The calculation will be done on the groups specified under the namelist.
.FALSE.The calculation will be done on every atoms in trajectory.
Default :
.FALSE.
decomposemolFor MSD mode, both
.TRUE.and.FALSE.are available.LOGICAL.TRUE.Decompose and print out every individual atoms in the output.
.FALSE.Do not decompose every individual atoms in the output and print out only per each atomic type.
Default :
.FALSE.
projectThe projection of the MSD on the specified axis. An axis vector is required and must be specified by the starting and ending point of the vector in fraction scale. For example,
0.0 0.0 0.0 0.5 0.5 0.5, where first 3 numbers and last 3 numbers represent starting point and ending point of the vector, respectively.REALDefault :
0.0 0.0 0.0 1.0 0.0 0.0
logfileThe results from MSD calculation will be written to the log file.
CHARACTERDefault :
log.msd
The information under the namelist is required as shown in following example. A list of atomic types, a list of number of atoms in ecah type, and a list of atomic mass for each atomic type are needed. If
groupmol=.TRUE.is specified, a number of group following by the list of atomic index for each group are required.&msd groupmol = LOGICAL decomposemol = LOGICAL project = REAL REAL REAL REAL REAL REAL logfile = CHARACTER / X(1) X(2) ... X(ntype) N(1) N(2) ... N(ntype) m(1) m(2) ... m(ntype) ngroup natom1 xindex(1) xindex(2) ... xindex(natom1) natom2 xindex(1) xindex(2) ... xindex(natom2) natom3 xindex(1) xindex(2) ... xindex(natom3) ... natom(ngroup) xindex(1) xindex(2) ... xindex(natom3)
&bond_correlation#
groupmolFor bond_correlation mode, only
.FALSE.is allowed, where all atoms in the trajectory will be read. However, only 2 atomic types specified inbondpairwill be included, and bond correlation between those 2 atoms will be evaluated..FALSE.The calculation will be done on every atoms in trajectory.
decomposemolFor bond_correlation mode, only
.FALSE.is allowed.
bondpairBonds between the first atomic type and the second atomic type are considered.
INTEGER
bondtresholdThe treshold lenght defining the bond. If distance between two atoms specified by
bondpairis smaller thanbondtreshold, \(h(t)=1\). If not, \(h(t)=0\).REAL
autocorrfileThe bond autocorrelation function will be written in this file.
CHARACTERDefault :
auto.bond
The information under the namelist is required as shown in following example. A list of atomic types, a list of number of atoms in ecah type, and a list of atomic mass for each atomic type are needed.
&bond_correlation groupmol = .FALSE. decomposemol = LOGICAL bondpair = INTEGER INTEGER bondtreshold = REAL autocorrfile = CHARACTER / X(1) X(2) ... X(ntype) N(1) N(2) ... N(ntype) m(1) m(2) ... m(ntype)
&angle_correlation#
groupmolFor angle_correlation mode, only
.TRUE.is allowed, where the calculation will be done only with the group specified under the namelist..TRUE.The calculation will be done on the groups specified under the namelist.
decomposemolFor angle_correlation mode, only
.FALSE.is allowed.
functypeThe function type for evaluate the angle. Check the theory section.
1Geometry index \(\tau_5\)
2Geometry index \(\tau_{\delta}\)
3Angle \(\theta\) between planes defined by normal vectors
4Angle \(\varepsilon\) between planes defined by parallel vectors
logfileThe parameter values as a function of time will be written into log file.
CHARACTERDefault :
log.angle
autocorrfileThe corresponding autocorrelation function will be written into this file.
CHARACTERDefault :
auto.angle
The information under the namelist is required as shown in following example. A list of atomic types, a list of number of atoms in ecah type, and a list of atomic mass for each atomic type are needed. The
groupmol=.TRUE.is required, a number of group following by the list of atomic index for each group are required.&angle_correlation groupmol = .TRUE. decomposemol = LOGICAL logfile = CHARACTER autocorrfile = CHARACTER / X(1) X(2) ... X(ntype) N(1) N(2) ... N(ntype) m(1) m(2) ... m(ntype) ngroup 5 R(1) A_1(1) A_2(1) B_1(1) B_2(1) 5 R(2) A_1(2) A_2(2) B_1(2) B_2(2) 5 R(3) A_1(3) A_2(3) B_1(3) B_2(3) ... 5 R(ngroup) A_1(ngroup) A_2(ngroup) B_1(ngroup) B_2(ngroup)
&dipole_correlation#
groupmolFor dipole_correlation mode, only
.TRUE.is allowed, where the calculation will be done only with the group specified under the namelist..TRUE.The calculation will be done on the groups specified under the namelist.
decomposemolFor dipole_correlation mode, only
.FALSE.is allowed.
dipolemodeThe autocorrelation function type to be evaluated
directDipole autocorrelation function will be evaluated
derivativeDipole derivative autocorrelation function will be evaluated (recommended)
Default :
derivative
logfileThe dipole moment derivative as a function of time will be written into log file.
CHARACTERDefault :
log.dipole
autocorrfileThe corresponding autocorrelation function will be written into this file.
CHARACTERDefault :
auto.dipole
The information under the namelist is required as shown in following example. A list of atomic types, a list of number of atoms in ecah type, and a list atomic charges for each atomic type are needed. The
groupmol=.TRUE.is required, a number of group following by the list of atomic index for each group are required.&dipole_correlation groupmol = .TRUE. decomposemol = LOGICAL dipolemode = CHARACTER logfile = CHARACTER autocorrfile = CHARACTER / X(1) X(2) ... X(ntype) N(1) N(2) ... N(ntype) q(1) q(2) ... q(ntype) ngroup natom1 xindex(1) xindex(2) ... xindex(natom1) natom2 xindex(1) xindex(2) ... xindex(natom2) natom3 xindex(1) xindex(2) ... xindex(natom3) ... natom(ngroup) xindex(1) xindex(2) ... xindex(natom3)
&velocity_correlation#
groupmolFor velocity_correlation mode, only
.TRUE.is allowed, where the calculation will be done only with the group specified under the namelist..TRUE.The calculation will be done on the groups specified under the namelist.
decomposemolFor velocity_correlation mode, only
.FALSE.is allowed.
logfileThe velocity correlation as a function of time will be written into log file.
CHARACTERDefault :
log.velocity
autocorrfileThe corresponding autocorrelation function will be written into this file.
CHARACTERDefault :
auto.velocity
The information under the namelist is required as shown in following example. Basically, the format and requilred information in this namelist is similar to that in dipole correlation nemelist. A list of atomic types, a list of number of atoms in ecah type, and a list atomic charges for each atomic type are needed. The
groupmol=.TRUE.is required, a number of group following by the list of atomic index for each group are required.&velocity_correlation groupmol = .TRUE. decomposemol = LOGICAL logfile = CHARACTER autocorrfile = CHARACTER / X(1) X(2) ... X(ntype) N(1) N(2) ... N(ntype) q(1) q(2) ... q(ntype) ngroup natom1 xindex(1) xindex(2) ... xindex(natom1) natom2 xindex(1) xindex(2) ... xindex(natom2) natom3 xindex(1) xindex(2) ... xindex(natom3) ... natom(ngroup) xindex(1) xindex(2) ... xindex(natom3)