Resources‎ > ‎

Convergence

Setup

setup_converge.sh will use autovasp to launch jobs with the kpoints and encuts you specify. All you need is a vasp.in file with ENCUTVAL in the encut line and KPPRAVAL in the kppra line.
Note: Do not make the species tag longer than two characters! That will confuse autovasp.
autovaspconfig is the usual format for an autovasp command: #nodes #cpus/node #hours walltime.
#!bin/bash

kppra=(2500 5000 7500)
encut=(450 550 650)
targetdir="/home/bmeredig/oxides/FeO/afm2-v2/converge"
species="fo"
autovaspconfig="1 2 12"

mkdir "$targetdir"
cd converge
for kpoint in ${kppra[@]}
do
  for energy in ${encut[@]}
  do
    destdir="${energy}_${kpoint}"
    mkdir "$destdir"
    cd "$destdir"
    cp ../../vasp.in ./
    sed "s/KPPRAVAL/$kpoint/" vasp.in  > tmp
    sed "s/ENCUTVAL/$energy/" tmp  > vasp.in
    rm tmp
    #touch OSZICAR
    autovasp "$species""$energy""$kpoint" $autovaspconfig &
    sleep 30
    cd ..
  done
done

Wrap up

post_converge.sh will analyze the outputs of all your convergence runs and put useful information like the total energy and *conventional* (hooray!) lattice parameters into a .csv file that you can import into Excel.
You have to tell it the kpoints and encuts you used with setup_converge so it knows what folders to look in. You also need to tell it your lattice type; cF is face-centered cubic, cI is body-centered cubic, etc.
"species" here just sets the filename, so it can be as long as you want.

You will need convasp, a software written by Dane Morgan and Stefano Curtarolo. The newest version named aconvasp can be downloaded from Curtarolo Group's website.
#!bin/bash

kppra=(2500 5000 7500)
encut=(350 450 550)
targetdir="/home/bmeredig/oxides/Fe3O4/U=4/converge"
species="Fe3O4"
lattype="cF"

cd "$targetdir"
rm "$species.csv"
echo "ENCUT(eV) KPPRA TOTEN(eV) a(ang) b(ang) c(ang) alpha beta gamma" >> "$species.csv"
for kpoint in ${kppra[@]}
do
  for energy in ${encut[@]}
  do
    destdir="${energy}_${kpoint}"
    cd "$destdir"
    thisenergy=`cat energy`
    #echo "convasping"
    convasp -names "$species" < CONTCAR.static | convasp -platon > cont.spf
    #echo "platoning"
    platonout=`platon -c -o cont.spf | grep "Convent $lattype"`
    echo $platonout > ../latparam.tmp
    #echo "awking"
    latparam=`awk '{print $3,$4,$5,$6,$7,$8}' ../latparam.tmp`
    echo "$energy $kpoint $thisenergy $latparam" >> "../$species.csv"
    rm cont.spf
    cd ..
  done
done 

Comments