In this section we describe how to simulate molecular dynamics in NVT and NVE ensembles. In the canonical ensemble are N,V,T respectively N,V,E conserved. There are implemented two methods to hold temperature constant in fireball. The first one is velocity rescaling and the second is Nose- Hoover chain thermostat. These options are driven by keyword: iensemble
that controls which statistical ensemble will used within the simulation. In particular, to run free dynamics without any structural optimization method, one needs to set iquench = 0
.
iensemble=0 | NVE ensemble |
iensemble=1 | NVT ensemble with velocity rescaling |
iensemble=2 | NVT with a Nose-Hoover chain thermostat and velocity-verlet |
iensemble=3 | NVE with velocity-verlet integrator |
Here is an example of answer.bas for benzene molecule:
12 6 -4.183081 -4.008593 -0.000092 6 -3.047805 -3.090020 0.004490 6 -3.275844 -1.647830 0.001899 6 -4.639523 -1.125588 0.002371 6 -5.775305 -2.043508 0.000193 6 -5.546619 -3.485699 -0.007522 1 -6.432266 -4.204789 -0.015592 1 -4.005535 -5.135519 -0.000976 1 -1.983459 -3.500264 0.005183 1 -2.389446 -0.929457 -0.002861 1 -4.816925 0.001517 -0.000293 1 -6.839935 -1.633156 -0.001403
In the case of Nose-Hoover thermostat we can choose number of chains and mass of extra additional degree of fredom. This values are set in file NH.optional
placed in work directory.
4 !number of chains 1.2 ! mass of chain 1 1.2 ! mass of chain 2 1.2 ! mass of chain 3 1.2 ! mass of chain 4
Temperature of system is set by keywords T_initial
and T_final
in section &OPTION&
. Time step of ionic motion is defined through a standard keyword dt
in femtoseconds. An example of fireball.in input file for classical molecular dynamic is below.
&OPTION basisfile = answer.bas iquench = 0 iendtemp = 0 T_initial = 500 T_final = 500 iensemble = 2 icluster = 1 nstepf = 200 dt = 0.1 iqout = 3 ifixcharge = 0 &END &OUTPUT iwrtxyz = 1 &END
All input files here:input_files
The position and values of total energy and temperature are written into output file answer.xyz
if the keyword iwrtxyz=1
. To simplier plotting the values of temperature we can import tepmerature value from the file answer.xyz
to another file e.g. T_dyn
by command:
awk '/ETOT/ {print 6$}' answer.xyz > T_dyn ''
where are the data in simple list.
Temperature during simulation of benzene hold on by velocity rescaling and Nose-Hoover thermostat during the simulation in Figure 1.