Course on Electronic Structure calculations

and First principles Molecular Dynamics

Jorge Kohanoff
TSLS group, Queen's University Belfast (Northern Ireland)
This is a course on electronic structure calculations for condensed matter systems (solids, molecules, clusters, etc.)
and on first principles (Car-Parrinello) molecular dynamics simulations. It is composed by a set of lecture notes and a sample code for practical training in PPW molecular dynamics simulations (CP). This is complemented by a pseudopotential generation code (PSHAM ).  The main code is NOT state-of-the-art, and is only intended as an educational tool.
Lecture notes: (please, contact me if you are interested in the notes)

 Lecture notes DFT (notes_dft.ps.Z)

 Lecture notes Electronic Structure (notes_elstr.ps.Z)

 Complete lecture notes  (notes_all.ps.Z)


Pseudopotential generation kit:

pseudo.tar.Z


First principles Molecular Dynamics code (CP):

cp.tar.gz


Installing and running the CP code

Requirements
How to install the code
Descriptions of the input files
Running an example
References

Requirements

This version of the code runs on linux based machines.
You need only gcc and g77 .

Up to now the code has been tested on :
a PC with Pentium 333 Mhz, 128Mb of ram;
a PC with Pentium 233 Mhz, 64Mb of ram;
a PC with Pentium 130 Mhz, 32Mb of ram;
a PC with Pentium 75 Mhz, 16Mb of ram;
a NoteBook PC with 486Dx4 100 Mhz, 16Mb of ram.


How to install the code

In this file we will explain how to setup and compile your CP code.

After you have unpacked source files, before compiling the program, you have to prepare the parameters file PARAM . The file PARAM is included in most source files and contains the dimensions of the arrays, as determined by the size of the physical system you want to simulate.

Click here to learn how to prepare the file PARAM

Now copy PARAM in the directory where you want to compile the CP code At this point you're ready to compile the code. Simply do

make dep
make

Hopefully this command will produce the command cp.x , to simulate your system.

To maintain a low entropy in your file system we recommend to run the simulation into a separate directory. To do this do

mkdir rundir
cp cp.x rundir
cp "all input files" rundir
cd rundir
cp.x < "my_input_file" > "my_output_file" &

There are also some examples present in this distribution. They are Ammonia, Carbon and Silicon, you can find them in the respective directories. For more informations read section Running an example.


Descriptions of the input files

setpar.in
cp.x input file

Running an example

This file is meant to describe how to run the examples included in this distribution.

Ammonia.
This example show you the ability of CP to simulate a simple molecule.

Silicon.
This example show you a simulation with a large number of atoms.

To run one example copy the file PARAM present in the corresponding directory into the main CP directory ( where are the source files ), type "make" at the shell prompt. After that copy the executable in the directory of the example.

Suppose that you want to simulate Ammonia, here are the command that you must type :

( you are in the directory where the source files are )
cp Ammonia/PARAM .
make
cp cp.x Ammonia
cd Ammonia
cp.x < nh3.in.00 > nh3.out.00 &
tail -f nh3.out.00


References

R. Car, M. Parrinello , Phys. Rev. Lett. 55 , 2471 (1985)
D. K. Remler, P. A. Madden , Mol. Phys. 70 , 921 (1990)
G. Pastore, E. Smargiassi and F. Buda, Phys. Rev. A 44 , (1991)
P. E. Blochl, M. Parrinello , Phys. Rev. B 45 , 9413 (1985)

M. Parrinello and A. Rahman , Phys. Rev. Lett. 45 , 1196 (1980)
P. Focher and G. L. Chiarotti, Progress in computational physics of matter , L. Reatto and F. Manghi ( World Scientific )

G. B. Bachelet, D. R. Hamann and M. Schluter, Phys. Rev. B 26 , 4199 (1982)
L. Kleinman and D.M. Bylander, Phys. Rev. Lett. 48 , 1425 (1982)

W. E. Pickett, Comp. Phys. Rep. 9 , 115 (1989)