#!/bin/bash

echo "Printing electronic bands ..."
./bin/gnubands < graphene.bands > bands.dat
gnuplot plot-ebands.gp

echo "Printing DOS ..."
gnuplot plot-DOS.gp

echo "Printing PDOS ..."
mkdir pdos
cd pdos
../bin/pdosxml.py ../pdos.xml -s
gnuplot ../plot-PDOS.gp
mv *.ps ..
cd ..

echo "Extracting information about wave functions ..."
./bin/readwfx < readwfx.input

echo "Converting a new wave functions file to the old format for denchar ..."
ln -s graphene.WFSX WFSX
./bin/wfsx2wfs
mv WFS graphene.WFS
rm WFSX

echo "Printing 1D wave functions ..."
for s in kmk mgm zkz kmkgkmkgk zgz zmz; do
    echo "Processing denchar-$s.fdf ..."
    ./bin/denchar < denchar-$s.fdf > denchar-$s.output;
    mkdir denchar-$s;
    mkdir denchar-$s/K1;
    mkdir denchar-$s/K2;
    mkdir denchar-$s/K3;
    mv *CON.K1* denchar-$s/K1;
    mv *CON.K2* denchar-$s/K2;
    mv *CON.K3* denchar-$s/K3;
    mv *CON* denchar-$s;
    cd denchar-$s/K2;
    ln -s ../../body.gp body.gp;
    for f in *.REAL; do
        ../../bin/ygrp.py $f > $f.y0
    done;
    gnuplot ../../plot-$s.gp;
    mv *.ps ../..;
    cd ../..;
done

echo "Printing 2D wave functions ..."
for s in xky xkz; do
    echo "Processing denchar-2D-$s.fdf ..."
    ./bin/denchar < denchar-2D-$s.fdf > denchar-2D-$s.output;
    mkdir denchar-2D-$s;
    mkdir denchar-2D-$s/K1;
    mkdir denchar-2D-$s/K2;
    mkdir denchar-2D-$s/K3;
    mv *CON.K1* denchar-2D-$s/K1;
    mv *CON.K2* denchar-2D-$s/K2;
    mv *CON.K3* denchar-2D-$s/K3;
    mv *CON* denchar-2D-$s;
    cd denchar-2D-$s/K2;
    gnuplot ../../plot-2D-$s.gp;
    mv *.ps ../..;
    cd ../..;
done

echo "Printing 3D wave functions ..."
./bin/denchar < denchar-3D.fdf > denchar-3D.output
mkdir denchar-3D
mkdir denchar-3D/K1
mkdir denchar-3D/K2
mkdir denchar-3D/K3
mv *K1*.cube denchar-3D/K1
mv *K2*.cube denchar-3D/K2
mv *K3*.cube denchar-3D/K3
mv *.cube denchar-3D

echo "Converting *.ps to *.pdf ..."
for f in *.ps; do ps2pdf $f; done
