#!/bin/bash

VASPDir=$TkPerlDir/VASP
CMD="/usr/bin/perl $VASPDir/VASP.pl"

UseCalculatedPOSCAR=$1
SCRIPTDir=$2
TemplateDir=$3
xarray=($4)
yarray=($5)
iSite=$6
post=$7
DebugMode=0

ny=${#yarray[@]}
nx=${#xarray[@]}

lastxy=

if [ "$UseCalculatedPOSCAR" = "" ]; then
	echo UseCalculatedPOSCAR is not specified.
	echo usage: CalcMap.sh UseCalculatedPOSCAR iSite
	exit 0
fi
if [ "$iSite" = "" ]; then
	echo iSite is not specified.
	echo usage: CalcMap.sh UseCalculatedPOSCAR iSite
	exit 0
fi

for ((iy = 0; iy < $ny; iy++)) {
	iym1=`expr $iy - 1`
	y=${yarray[$iy]}

	if [ "$UseCalculatedPOSCAR" = "1" ]; then
		if [ $iy -gt 0 ]; then
			ym1=${yarray[$iym1]}
			x0=${xarray[0]}
			SourcePOSCAR=$x0$ym1$post/VCRelax/POSCAR
			cp $SourcePOSCAR Original
		fi
	fi

	for ((ix = 0; ix < $nx; ix++)) {
		ixm1=`expr $ix - 1`
		x=${xarray[$ix]}

#================================
# Main calculation
#================================
		WorkDir=$x$y$post
		if [ -d $WorkDir ]; then
			echo "[Work]: [$WorkDir] exists. Skip."
		else
# Copy the final POSCAR to WorkDir
			if [ "$UseCalculatedPOSCAR" = "1" ]; then
				SourcePOSCAR=${xarray[$ixm1]}$y$post/VCRelax/POSCAR
				if [ -f "$SourcePOSCAR" ]; then
					cp $SourcePOSCAR $TemplateDir
				elif [ "$lastxy" != "" ]; then
					SourcePOSCAR=$lastxy/VCRelax/POSCAR
					if [ -f "$SourcePOSCAR" ]; then
						cp $SourcePOSCAR $TemplateDir
					fi
				elif [ $iy -gt 0 ]; then
					SourcePOSCAR=${xarray[$iym1]}$post/VCRelax/POSCAR
					if [ -f $SourcePOSCAR ]; then
						cp $SourcePOSCAR $TemplateDir
					fi
				fi
			fi

# Execute VASP
			$SCRIPTDir/CalcOne.sh $SCRIPTDir $TemplateDir $iSite $x $y $post
			lastxy=$WorkDir
		fi
	}
	lastxy=
}

exit 1
