Home

 

Research

 

Vita

 

Publications

 

Teaching

 

 
QMBMD

Quantum-mechanics-based molecular dynamics code

This code is a general molecular dynamics program in which the forces needed to propagate the equations of motion come from quantum mechanics calculations. The quantum mechanics calculations are performed with the MSINDO Hamiltonian.[1] A copy of this code is available upon request (troya@vt.edu)

Take a look at some applications.

INPUT FILES:

msindo.inp

Input file for the MSINDO calculations carried out at each integration step of the molecular dynamics run. The order of the atoms matters. The name of the file does not matter. You can choose what you want to call it.

dynamics.inp

Molecular dynamics calculations input file. It contains initial coordinates, velocities, masses, integration step, constraints, and so forth. The name of this file MUST be dynamics.inp

Line by line description of dynamics.inp:

=============================================

1.-NATOMS, NMAX, HO

NATOMS = number of atoms.

NMAX = number of maximum integration steps.

HO = integration step size (a.u.)

 

2.- AMASS(I),I=1,NATOMS

AMASS(I) = Masses of the atoms in atomic units. The order of the masses has to correspond to the order of the atoms in the file msindo.inp. Thus, the first mass has to be the mass of the first atom in the Cartesian coordinate matrix of the msindo.inp input file and so forth.

3.- IRINT, NMIN, NRINT

IRINT = switch for printing internuclear distances and total energy every NWR steps. IRINT has to be set to 1.

NMIN = starting time for distance and energy test. This has to be set to 0.

NRINT = number of distances to be tested.

IF IRINT=1 then

3.1.- First atom, second atom, cutoff distance for stopping the

trajectory.

3.2.- ...

3.3.- ... (As many lines as number of distances to be tested)

 

4.- NWR

NWR = number of integration steps between dumps of internuclear distances and energies.

 

5.- IANIM, NAMIN

IANIM = switch for animation. IANIM = 1 if you want to generate a movie.

NAMIN = number of steps between dumps of xyz coordinates.

 

6.- NTRAJ, IOPTTHEYS

NTRAJ = number of trajectories. Recommendation NTRAJ=1

IOPTTHEYS = switch for printing intermediate coordinates and momenta. Recommendation: switch IOPTTHEYS=0

 

7.- IFIX, NFIX

IFIX = switch for fixing atoms. If IFIX=1, some atoms are held fixed.

NFIX = number of atoms that will be fixed.

 

IF IFIX=1, then:

7.1- Indices of atoms that are fixed.

 

8.- Integer, real (these values are not used in the calculations. They could be labels)

 

9.- Atomic symbols, coordinates and velocities of each atom. The order of the atoms should be consistent with the orders of the masses, and the order of the atoms in the msindo.inp input file.

DO I=1,NATOMS

9.I.- ASYBMOL(I), (COORD(I,J),J=1,3),(VEL(I,J),J=1,3)

END DO

ASYMBOL(I) = Atomic symbol of atom I

COORD(I,J) = x, y, and z coordinates of atom I in atomic units.

VEL(I,J) = x, y, and z velocities of atom I in atomic units.

===============================================

 

EXECUTION:> ./exe < dynamics.inp > outputfile

 

OUTPUT FILES:

outputfile: this file contains basically nothing of use, although if the MSINDO SCF calculation does not converge, you will find it in this file.

 

theysinitialfinal: this file contains the coordinates, momenta and energies, for the initial and final step of the trajectory (in atomic units) together with the maximum expectation value of the squared spin operator and number of integration steps.

animation.xyz: if the corresponding switch is on (IANIM=1), this file contains the xyz coordinates (in Angstrom) at various steps during the trajectory in a format amenable to be read by molden. To see the movie type 'molden animation.xyz' and in molden's control panel click on 'Movie'.

energyvstime.dat: this file contains the energies (in a.u.), the expectation value of the squared spin operator, and the internuclear distances that are tested (in a.u.) as a function of time. The first column is the potential energy, the second is the kinetic energy, the third is the total energy (which has to be conserved), the fourth is the expectation value of the squared spin operator and the rest are the internuclear distances that are tested.

The execution will also generate some files fort.* which should be deleted.

[1] B. Ahlswede and K. Jug, J. Comput. Chem. 20, 563-571 (1999)

 

 

Applications:

MOLECULAR ROTORS

Take a look at some Molecular rotors (avi movie 19 MB)

These are the input files that you need to run the calculation of the movie: dynamics.inp and tworotors.inp

 

Diego Troya 10/16/04