Bash scripts: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 57: | Line 57: | ||
rep 'References/o-HF_15Ry.hf' u 3:($4-$3) w p t "15Ry" | rep 'References/o-HF_15Ry.hf' u 3:($4-$3) w p t "15Ry" | ||
=== | === parse_gap.sh (shell script to parse the gap corrections) === | ||
#!/bin/bash | #!/bin/bash | ||
if [ ! -f GAMMA/References/$1 ] | |||
then | |||
echo "File not found" | |||
exit | |||
fi | |||
rm -f $2 | |||
kpts='GAMMA 2x2x2 4x4x4 6x6x6 8x8x8' | kpts='GAMMA 2x2x2 4x4x4 6x6x6 8x8x8' | ||
NK=(1 8 64 216 512) | NK=(1 8 64 216 512) | ||
j=0 | j=0 | ||
for i in ${kpts} | for i in ${kpts} | ||
do | do | ||
VBMo=`grep " 1.00000 4.00000 " $i/References/$1 | awk '{print $3}'` | |||
VBM=`grep " 1.00000 4.00000 " $i/References/$1 | awk '{print $4}'` | |||
CBMo=`grep " 2.576" $i/References/$1 | grep " 5.000" | awk '{print $3}'` | |||
CBM=`grep " 2.576" $i/References/$1 | grep " 5.000" | awk '{print $4}'` | |||
echo ${NK[$j]} $VBMo $VBM $CBMo $CBM | awk '{print $1 " " $5-$3 }' >> "$2" | |||
j=`expr $j + 1` | j=`expr $j + 1` | ||
done | done |
Revision as of 09:38, 5 November 2019
Hexagonal-BN tutorial
generate_inputs_1.sh (NGsBlkXp and BndsRnXp convergence input files)
#!/bin/bash bands='10 20 30 40' blocks='1 2 3 4 5' for i in ${bands} do for j in ${blocks} do sed -e "s/1 | 10/1 | $i/g" gw_ppa.in > tmp$i sed -e "s/NGsBlkXp= 1/ NGsBlkXp= $j/g" tmp$i > gw_ppa_$i'b_'$j'Ry.in' rm tmp* done done
parse_qps.sh (parse QP energies from output files calculated with BndsRnXp bands and put them in files ordered by NGsBlkXp)
#!/bin/bash grep "NGsBlkXp" o-10b_* | awk '{print $4}' > tmp1 grep "used" o-10b_* |awk '{print $5}' > tmp2 cat o-10b* | grep "8.000" | awk '{print $3+$4}' > tmp3 cat o-10b* | grep "9.000" | awk '{print $3+$4}' > tmp4 paste tmp1 tmp2 tmp3 tmp4 > 10b.dat rm tmp1 tmp2 tmp3 tmp4
generate_inputs_2.sh (Gbnd convergence input files)
#!/bin/bash bands='10 20 30 40 50 60 70 80' for i in ${bands} do sed -e "s/1 | 40/1 | $i/g" gw_ppa_30b_3Ry.in > gw_ppa_Gbnd$i'.in' done
generate_inputs_3.sh (Real axis convergence input files)
#!/bin/bash bands='10 20 50 100 150 200 250' for i in ${bands} do sed -e "s/ETStpsXd= 100/ETStpsXd=$i/g" gw_ff.in > gw_ff$i'.in' done
Silicon Tutorial
hf_vs_cutoff.gnuplot (Gnuplot script to plot the HF corrections)
set xrange [-2:8] set yrange [-5:10] set xlabel "Eo [eV]" set ylabel "E_hf-Eo [eV]" p 'References/o-HF_3Ry.hf' u 3:($4-$3) w p t "3Ry" rep 'References/o-HF_6Ry.hf' u 3:($4-$3) w p t "6Ry" rep 'References/o-HF_7Ry.hf' u 3:($4-$3) w p t "7Ry" rep 'References/o-HF_15Ry.hf' u 3:($4-$3) w p t "15Ry"
parse_gap.sh (shell script to parse the gap corrections)
#!/bin/bash if [ ! -f GAMMA/References/$1 ] then echo "File not found" exit fi rm -f $2 kpts='GAMMA 2x2x2 4x4x4 6x6x6 8x8x8' NK=(1 8 64 216 512) j=0 for i in ${kpts} do VBMo=`grep " 1.00000 4.00000 " $i/References/$1 | awk '{print $3}'` VBM=`grep " 1.00000 4.00000 " $i/References/$1 | awk '{print $4}'` CBMo=`grep " 2.576" $i/References/$1 | grep " 5.000" | awk '{print $3}'` CBM=`grep " 2.576" $i/References/$1 | grep " 5.000" | awk '{print $4}'` echo ${NK[$j]} $VBMo $VBM $CBMo $CBM | awk '{print $1 " " $5-$3 }' >> "$2" j=`expr $j + 1` done