Input file: in.pmd¶
pmd starts with reading setting file in.pmd
and atom-configuration
files pmdini
. So simulation settings except the atom configuration
must be described in in.pmd
.
Example of in.pmd¶
#
# unit of time = femto sec
# unit of length= Angstrom
# unit of mass = unified atomic mass unit
#
io_format ascii
print_level 1
num_omp_threads 4
time_interval 2d0
num_iteration 1000
min_iteration 10
num_out_energy 100
flag_out_pos 2
num_out_pos 10
# out_pos_combined F
force_type Morse Coulomb
cutoff_radius 5.8d0
cutoff_buffer 0.2d0
flag_damping 0
damping_coeff 0.99d0
converge_eps 1d-4
converge_num 3
initial_temperature -1.0d0
final_temperature -1.0d0
temperature_control none
temperature_target 300.0
temperature_relax_time 100.0
factor_direction 3 2
1.000d0 1.000d0 1.000d0
1.000d0 0.000d0 1.000d0
stress_control none
stress_relax_time 100.0
stress_target 5.0 5.0 5.0 0.0 0.0 0.0
boundary ppp
Here, lines begin with !
or #
are treated as comment lines.
Warning
This example is for NVE-MD with Morse and Coulomb potentials. Modify this in order to match your simulation.
Input parameters¶
num_nodes_x¶
- Default:
-1
Number of division in x, y, or z direction. If one of these is
non-positive (<=0
), these numbers are automatically estimated from the
system size and the number of MPI processes used. If all of these are
positive, specified values are used.
num_omp_threads¶
- Default:
-1
Number of threads for OpenMP parallelization. If not positive, use the value given by the environment variable OMP_NUM_THREADS
.
This is only effective when the pmd is compiled with OpenMP compiler option, such as -fopenmp
in the case of gfortran.
It is recommended to set it less than 8, and in the case of using 3-body force-fields 4 would be appropriate.
io_format¶
- Default:
ascii
You can choose either ascii
or binary
format of atom-configuration
files. When you perform large scale simulation, you should choose
binary
for efficient reading/writing atom-configuration files.
print_level¶
- Default:
1
How much information is written out during the run.
1
-- Normal information for MD simulation run.100
-- Debug info is written out.
time_interval¶
- Default: 1.0
Time interval in the unit of femto second. If negative, it activates variable time-step mode and its absolute value is the maximum time interval \(\Delta t_{\max}\) in the mode. Appropriate range of dt_max would be 2.0 to 5.0 depending on the minimum mass of ion in the system.
vardt_length_scale¶
- Default: 0.1
The specific length \(L^*\) of the variable time-step mode where the time interval is determined as
num_iteration¶
- Default: 0
- Alternative:
num_steps
Number of MD steps. Simulation time equals time_interval
times
num_iteration
.
min_iteration¶
- Default: 0
- Alternative:
min_steps
Minimum number of MD steps. In the case you want the MD simulation at least min_iteration, you can set this parameter.
num_out_energy¶
- Default: 1000
Number of outputs of energies.
flag_out_pos¶
- Default: 1
- Alternative:
flag_out_pmd
The flag whether or not to write atomic configurations to files at certain steps.
0
-- Not to write.1
-- Write pmd-format atomic configurations to filespmd_####
where####
indicates sequential number of the files.2
-- Write LAMMPS dump-fomrat atomic configurations to filesdump_####
.
num_out_pos¶
- Default: 10
- Alternative:
num_out_pmd
Number of atom-configuration files to be written.
flag_write_force¶
- Default:
F
(false)
The flag whether or not to write atomic forces in the atomic configuration files. This flag is applicable to the pmd-format.
combine_out_pos¶
- Default:
F
(false)
Whether or not combine position data into one file. (Availble since rev230307.)
flag_sort¶
- Default:
1
A flag whether or not to sort the order of atoms by tag before writing out atomic configurations to a file.
0
-- Not to sort1
-- Heap sort
dump_aux_order¶
- Default:
ekin epot sxx syy szz syz sxz sxy
Order of atomic attributes written in each line of atom data following atomic positions in the case LAMMMPS dump-format is chosen for output.
Available atomic attributes are as follows:
v?
-- velocity component,?
is eitherx
,y
, orz
. These entry must be written before the following entries.ekin
/eki
-- kinetic energyepot
/epi
-- potential energys??
-- stress tensor component,??
is eitherxx
,yy
,zz
,yz
,xz
,xy
chg
-- chargechi
-- electronegativitytei
-- electronic temperatureclr
-- color charge
force_type¶
- Default:
None
Choice of the interatomic potential. Available potentials are listed below:
LJ
: Lennard-Jones potential for Ar system.SW_Si
: Stillinger-Weber potential for Si system.EDIP_Si
: Environment Dependent Interatomic Potential for Si system.Ito3_WHe
: EAM potential for W-He system made by Ito et al. at NIFS.Morse
: Morse potential that requires an input filesin.params.Morse
.Coulomb
: Coulomb potential that requires an input filesin.params.Coulomb
.DNN
: Neural-network potential that requires two input filesin.params.desc
andin.params.NN
.
flag_damping¶
- Default:
0
A flag whether or not damp atom velocities.
0
-- No damping.1
-- Simple damped MD using the following damping_coeff.2
-- FIRE algorithm. This is usually much faster and stabler than the simple damped MD.
damping_coeff¶
- Default:
0.9
Damping coefficient.
converge_eps¶
- Default:
1d-4
Convergence criterion in eV. If it is negative value, not to stop because of convergence.
converge_num¶
- Default:
1
Convergence is achieved if the convergence criterion is sufficed this times successively.
initial_temperature¶
- Default:
-1.0
Initial temperature of all atoms. If negative, employ the velocities loaded from pmdini
(initial configuration).
final_temperature¶
- Default:
-1.0
Final temperature of all atoms. If this is positive value, target temperature changes linearly from initial_temperature
to final_temperature
during the simulation within num_iteration
.
temperature_control¶
- Default:
none
Temperature-control method, none
, Berendsen
, and Langevin
are now
available. These keywords are character-case agnostic, so any of berendsen
, Berendsen
, BERENDSEN
will be changed to berendsen
in the program. This applies to stress_control
as well.
flag_multi_temp¶
- Default:
F
,.false.
Whether or not use multiple temperature targets.
The format of temperature_target
changes depending on this flag.
temperature_target¶
- Default:
300.0
Target temperature (K). For example:
temperature_target 300.0
If flag_multi_temp
is .true.
, the format becomes as,
temperature_target 1 300.0
This means the target temperature of atoms with ifmv=1 is 300 K.
temperature_limit¶
- Default:
1.0d+4
The limit of temperature used to check whether the MD is running correctly. Once the system temperature exceeds this limit, pmd stops with an error message.
temperature_relax_time¶
- Default:
100.0
Relaxation time of Berendsen thermostat (fs).
remove_translation¶
- Default:
0
Interval of removal of translational motion of the system.
- N < 0 : not to remove translation
- N == 0 : remove translation only at the beginning
- N > 0 : remove translation at the beginning and every N step
stress_control¶
- Default:
none
Type of barostat. Following methods are available:
Berendsen
/vc-Berendsen
: variable-cell Berendsen method.vv-Berendsen
: variable-volume Berendsen method which keeps the cell shape but changes volume by scaling all the cell vectors.
In the Berendsen method, the cell matrix is udpated in every MD step as \(\boldsymbol{h}^\mathrm{new} \leftarrow \boldsymbol{\mu h}^\mathrm{old}\) where \(\boldsymbol{\mu}\) is, $$ \boldsymbol{\mu} = 1- \frac{\beta \Delta t}{3\tau_P}(\boldsymbol{\sigma}_\mathrm{tgt}-\boldsymbol{\sigma}), $$ where \(\beta\), \(\tau_P\), \(\boldsymbol{\sigma}_\mathrm{tgt}\) are the compressibility, relaxation time and target stress, respectively. See Berendsen's paper1 for more detail.
pressure_target¶
Default: 0.0
Target hydrostatic pressure, \(P_\mathrm{tgt}\), which only works when stress_control is
vv-Berendsen
.
stress_target¶
Default:
0.0 0.0 0.0 0.0 0.0 0.0
Target stress component values, xx, yy, zz, yz, xy, and xy of \(\boldsymbol{\sigma}_\mathrm{tgt}\) which only work when stress_control is Berendsen
or vc-Berendsen
.
If only 3 values are given, only xx, yy, and zz components are to be controlled, and no restriction is given to shear components.
stress_relax_time¶
- Default:
100d0
Relaxation time (fs), \(\tau_P\), of the Berendsen barostat.
stress_beta¶
- Default:
1d-2
Compressibility (1/GPa), \(\beta\), used in the Berendsen barostat.
cell_fix¶
Default:
F F F
F F F
F F F
Whether or not to fix the value of h-matrix component even if the stress_control is
Berendsen
or vc-Berendsen
.
zload_type¶
- Default:
no
How to apply z-direction strain:
atoms
-- atoms whose ifmv value are 2 and relative z-position are over 0.5 are moved to upward, those of relative z-position under 0.5 are moved downward.box
-- control z-component of simulation box matrix.no
-- Not to apply z-direction strain.
final_strain¶
- Default:
0.0
Final strain value (%). Thus strain rate can be given as final_strain
/ ( time_interval
* num_iteration
).
shear_stress¶
- Default:
0.0
Shear stress value applied to the system.
cutoff_radius¶
- Default:
5.0
Cutoff radius (Angstrom) of the interatomic potential used.
flag_temp_dist¶
- Default:
.false.
Flag about whether or not writing out temperature distribution to
out.temp-dist
file.
num_temp_dist¶
- Default:
1
Number of bins along x-direction where the temperature is calculated.
This value must be a multiple of num_nodes_x
.
mass¶
- Default: masses of given species are set automatically.
If masses of some species need to be set different from those of elements, masses should be specified as follows. :
mass Si 28.0855
mass He 4.00
boundary¶
- Default:
ppp
Boundary conditions for each axis, 123.
p
: periodic boundary conditionf
: free boundary condition
flag_clrchg¶
- Default:
.false.
Flag whether or not to use color charge non-equilibrium MD
spcs_clrchg¶
- Default:
non
One species name that color charges are assigned must be specified. Currently only one species can be treated, and +1 or -1 is assigned to each atom where the sum of these colr charges are zero in the system.
clrfield¶
- Default:
0d0 0d0 0d0
The field applied to color charges.
flag_lflux¶
- Default:
.false.
Flag whether of not to measure the local flux of ions who are given finite color charges.
The file out.lflux
will be written.
ndiv_lflux¶
- Default:
1 1 1
Number of division in each axis in a node. Thus the total number of divisions are obtained by multiplying number of parallel node in each axis.
The information about local nodes are given at the top of out.lflux
.
-
Berendsen, C., Postma, P. M., Van Gunsteren, W. F., Dinola, A., & Haak, R. (1984). Molecular dynamics with coupling to an external bath, 81(8), 3684--3690. ↩