#!/bin/bash

delete_large_files=1

script_dir=../scripts
cur_dir=`pwd`
TemplateDir=$cur_dir/template

UpdatePOSCARCommand="python $script_dir/update_poscar.py"
VASPCommand="mpirun -n $nCores vasp_std"

post=

cList="1.00"
#cList="1.00 1.01 1.02 1.03 1.04 1.05 1.06"
#cList="0.97 0.98 0.99 1.00 1.01 1.02 1.03"
#cList="0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.9"

#===========================
# Calculate all
#===========================

OriginalDir=`pwd`

PrevDir=
for c in $cList
do
	WorkDir=kc_$c
	echo
	echo Working in $WorkDir...

	if [ -f STOP.`hostname` ]; then
		exit -1
	fi

	if [ -d $WorkDir ]; then
		if [[ "$delete_large_files" == "1" ]]; then
			cd $WorkDir
			echo "  rm WAVECAR CHG CHGCAR"
			rm WAVECAR CHG CHGCAR
			cd $OriginalDir
		fi

		echo "  [$WorkDir] exists."
		echo "  Skip."

		PrevDir=$WorkDir
		continue
	fi

	mkdir $WorkDir

	if [[ "$PrevDir" != "" ]]; then
# continue
		echo "mode: continue"
		echo "  current dir:" `pwd`

		echo "  cp $TemplateDir/INCAR.continue $WorkDir/INCAR"
		cp $TemplateDir/INCAR.continue $WorkDir/INCAR

		echo "  cp $PrevDir/{CHG,CHGCAR,WAVECAR} $WorkDir"
		cp $PrevDir/{CHG,CHGCAR,WAVECAR} $WorkDir

		echo "  $UpdatePOSCARCommand $PrevDir/CONTCAR $WorkDir/POSCAR  $c"
		$UpdatePOSCARCommand $PrevDir/CONTCAR $WorkDir/POSCAR $c
	else
# from scratch
		echo "mode: scratch"
		echo "  current dir:" `pwd`

		echo "  cp $TemplateDir/INCAR.scratch $WorkDir/INCAR"
		cp $TemplateDir/INCAR.scratch $WorkDir/INCAR

		echo "  $UpdatePOSCARCommand $TemplateDir/POSCAR $WorkDir/POSCAR $c"
		$UpdatePOSCARCommand $TemplateDir/POSCAR $WorkDir/POSCAR $c

#		sed -e "s/{scale}/$c/g" $TemplateDir/POSCAR > $WorkDir/POSCAR
	fi

	echo "  cp $TemplateDir/{KPOINTS,POTCAR} $WorkDir"
	cp $TemplateDir/{KPOINTS,POTCAR} $WorkDir

	cd $WorkDir
	wd=`pwd`
	echo "  === Working in $wd"
	echo "  === Files in $wd"
	echo "    " `ls`

	echo "  === Execute [$VASPCommand]"
	$VASPCommand

	if [[ "$delete_large_files" == "1" ]]; then
		ecjp "  rm WAVECAR CHG CHGCAR"
		rm WAVECAR CHG CHGCAR
	fi

	echo "  === Exit to $OriginalDir"
	cd $OriginalDir

	echo ''
	echo ''
	
	PrevDir=$WorkDir
done

