MD.Type NVT_VS # NOMD|Opt|NVE|NVT_VS|NVT_VS2|NVT_NH

Then, in this NVT molecular dynamics the temperature for nuclear motion can be controlled by

<MD.TempControl 3 100 2 1000.0 0.0 400 10 700.0 0.4 700 40 500.0 0.7 MD.TempControl>

The beginning of the description must be MD.TempControl, and the last of the description must be MD.TempControl. The first number '3' gives the number of the following lines to control the temperature. In this case you can see that there are three lines. Following the number '3', in the consecutive lines the first column means the number of MD steps and the second column gives interval of MD steps which determine ranges of MD steps and intervals at which the velocity scaling is made. For the above example, a velocity scaling is performed at every two MD steps until 100 MD steps, at every 10 MD steps from 100 to 400 MD steps, and at every 40 MD steps from 400 to 700 MD steps. The third and fourth columns give a given temperature (K) and a scaling parameter in the interval, while the temperature in the interval is given by a linear interpolation. In this velocity scaling, velocity is scaled by

where and are a given and calculated temperatures, respectively. In 'NVT_VS' the temperature is calculated by using velocities of all the atoms. On the other hand, the

1: MD step 2: MD time 14: kinetic energy of nuclear motion, Ukc (Hartree) 15: DFT total energy, Utot (Hartree) 16: Utot + Ukc (Hartree) 17: Fermi energy (Hartree) 18: Given temperature for nuclear motion (K) 19: Calculated temperature for nuclear motion (K) 22: Nose-Hoover Hamiltonian (Hartree)which means that the first and second columns correspond to MD step and MD time, and so on. As an example, we show a result for the velocity scaling MD of a glycine molecule in Fig. 10 (a). We see that the temperature in a molecule oscillates around the given temperature. Also for visualization of molecular dynamics an output file '*.md' can be easily animated using free software xmakemol [86] and XCrySDen [56].