#!/bin/bash

SCRIPTDir=`pwd`/script
VASPDir=$TkPerlDir/VASP
CMD="/usr/bin/perl $VASPDir/VASP.pl"
SEDPath=/bin/sed

TemplateDir=./Original
TemplateSymDir=Original.sym
RelaxedSymPOSCAR=$TemplateSymDir/POSCAR.relaxed
TemplateCIF=$TemplateDir/AtomonCsF.cif

iSite=16
AtomType=
post=
Substrate=MgO

OriginalDir=`pwd`

#===========================
# Functions
#===========================
ExecuteOne ()
{
	x=$1
	y=$2
	Atom=$3
	Substrate=$4
	NELECT=$5

	cd $OriginalDir

	WorkDir=${Atom}on$x$y-${Substrate}$post

	cif=${Atom}onO-${Substrate}.cif

	if [ -d $WorkDir ]; then
		echo "[Work]: [$WorkDir] exists. Skip."
	elif [ ! -f $TemplateCIF ]; then
		echo "[Work]: [$TemplateCIF] does not exist. Skip."
	else
		mkdir $WorkDir
		cp $TemplateDir/{DoVASP.sh,hosts} $WorkDir
		$SEDPath -e "s/{Atom}/$Atom/g" $TemplateCIF > $WorkDir/$cif

		cd $WorkDir

		./DoVASP.sh init
		$CMD --Action=ModifyPOSCAR --Positions=$iSite:x:0.$x\;$iSite:y:0.$y\ $WorkDir/POSCAR
		if [ "$NELECT" = "" ]; then
			echo ""
		else
			$CMD --Action=ModifyFiles  --Function=scf --NELECT=$NELECT ./INCAR
		fi

		./DoVASP.sh
	fi
}

ExecuteAll ()
{
	Atom=$1
	Substrate=$2
	NELECT=$3
	ExecuteOne 00 00 $Atom $Substrate $NELECT
	ExecuteOne 02 05 $Atom $Substrate $NELECT
	ExecuteOne 00 50 $Atom $Substrate $NELECT
	ExecuteOne 02 55 $Atom $Substrate $NELECT
	ExecuteOne 00 25 $Atom $Substrate $NELECT
	ExecuteOne 05 27 $Atom $Substrate $NELECT
	ExecuteOne 25 25 $Atom $Substrate $NELECT
	ExecuteOne 27 30 $Atom $Substrate $NELECT
}

#===========================
# Calculate
#===========================
for Atom in F Cl O S Se Sn Zn In Ga Mg
do 
	ExecuteAll $Atom $Substrate
done

#post=-Cation
#for Atom in Mg
#do 
#	ExecuteAll $Atom $Substrate 64
#done

#===========================
# Post processors
#===========================
#$SCRIPTDir/MergePositionsInCIFs.pl --Positions=$iSite 2525/SCF MergedCIF.cif
$SCRIPTDir/MakeSummaryCSV2.pl --Positions=$iSite --AtomType=$AtomType


