#!/bin/bash

cd `dirname $0`
#============================
# Global parameters
#============================
#nCPU=16

VASPCommandinit="./DoVASP.sh init"
VASPCommand="./DoVASP.sh"
BTP2interpolate="btp2 -vvv interpolate . -e -0.5 -E 0.5 -m 20"
BTP2integrate="btp2 -vvv integrate -b 3001 interpolation.bt2 300"
# echo VC:[$VASPCommand]

BaseDir=`pwd`

OriginalDir=$BaseDir
TemplateDir=$BaseDir/template
SourceDir=$BaseDir/../red_materials

FileList=$SourceDir/mp-*.cif


#===========================
# Perform DFT
#===========================

#ls $FileList


for FullPath in $FileList
do
	FileName=${FullPath#$SourceDir/} #cifのPathをmp-*.cifにする
	Header=${FileName%.cif} #mp-*にする

	WorkDir=$Header

	echo "Working for cif [$FullPath]"
	echo "  cif file: [$FileName]"
	echo "  Create dir [$WorkDir]"

	if [ -d $WorkDir ]; then #mp-*が存在する場合
		echo
		echo "   Warning: Work dir [$WorkDir] exists."
		echo "   Skip."
		echo
	else #mp-*が存在しない場合
		mkdir $WorkDir #mp-*というディレクトリを直下に作る
		if [ -d $WorkDir ]; then
			echo "   Succeeded: Create dir [$WorkDir]"
		else
			echo 
			echo "Error: Failed to create dir [$WorkDir]"
			echo

			exit
		fi

		echo "  Execute [cp $TemplateDir/* $WorkDir]"
		cp $FullPath $WorkDir/$FileName
		echo "  Execute [cp $TemplateDir/* $WorkDir]"
		cp $TemplateDir/* $WorkDir
		echo "  Execute [cp $FullPath $WorkDir/$FileName]"
		cp $FullPath $WorkDir/$FileName

		echo "  [cd $WorkDir]"
		cd $WorkDir
		echo "  Execute [$VASPCommand]"
		$VASPCommandinit
		vaspkit -task 303
		mv KPATH.in KPATH.KPOINTS
		rm KPOINTS
		FILE="./KPATH.KPOINTS"
		echo "$FILE"
		if [ -f "$FILE" ]; then
			LINE=$(wc -l < "$FILE");
			if [ "$LINE" -ge 5 ]; then
				echo "OK"
				$VASPCommand
				cd SCF
				$BTP2interpolate
				$BTP2integrate >& btp.log
			else
				echo "NG"
			fi
		else
			echo "file $FILE does not exist."
		fi
		echo ''
		echo === Exit to \"$OriginalDir\"
		cd $OriginalDir
	fi
	
	echo ''
	echo ''

	PrevDir=$WorkDir
done


#===========================
# Post processors
#===========================

./postprocess.sh