Autovasp (By Dongwon Shin)

This is a quick guide on using Dongwon's autovasp tool, which requires as an input only a vasp.in file (as you'd use for ezvasp). autovasp generates all the other files necessary to run vasp, submits a job to the queue, and copies CONTCAR to POSCAR as necessary until the job converges. Then, autovasp sends you an email to let you know your job is complete.

Step 1

Set up your vasp.in file. The vasp.in file contains the usual elements of vasp INCAR and POSCAR files. For some more details on these files, see Bryce's vasp quick-start guide. Here I'll assume you have a working vasp.in. The only additions you may need to make are:

[INCAR]

LWAVE = .FALSE.

LCHARG = .FALSE.

These lines tell vasp not to save WAVECAR and CHGCAR files. These files tend to be bloated and unnecessary and make Dongwon's script unhappy.

Step 2

Open a new "screen" on the computer you will use to run your calculations (i.e., you should already have ssh'ed to that machine).

$ screen -S nameofscreen

This starts a new screen called nameofscreen. A screen looks like a normal shell prompt, but it stays open all the time so that you can close the shell window on your local computer without killing Dongwon's script. From within the screen, hitting <CTRL>+<A>, <CTRL>+<D> will detach you from the screen and return you to your normal prompt on the computer you're logged into.

You can see your running screens by issuing

$ screen -ls

You can resume a screen session with

$ screen -r nameofscreen

To kill a screen you don't need anymore, type

$ exit

from within the screen.

Step 3

If it's your first time using autovasp, just run

$ autovasp

The script will tell you it's making a config file. Edit it

$ vi ~/.autovasp.rc

and put your desired email in the quotation marks.

Step 4

Now that we know all about screens, you're ready to run autovasp. From the directory containing your vasp.in, simply do

$ autovasp nameofjob numberofnodes cpuspernode walltime &

nameofjob is how you want the name of your job to appear in the computer's queue. numberofnodes is the number of nodes you want to dedicate to the job, cpuspernode is the number of CPUs you want to use on each node, and walltime is the number of hours you'd like to request for the job. On Victoria (which has 4 CPUs per node), an example would be

$ autovasp Al_fcc 2 4 3 &

That would run on 8 CPUs (two nodes) for 3 hours. On Encina, which has only one node, you would do something like

$ autovasp Al_fcc 2 3 &

to run on 2 CPUs for 3 hours. Of course, if you requested so many resources for a simple Al calculation, Dongwon would strike you down with the power of the Dark Side. So be wise about resource allocation.

When your job is done, you should receive an email letting you know! You will also receive an email in the event of any vasp errors. Happy computing!

External links

ATAT manual for ezvasp