#!/bin/bash
# use -x option for debug


#==========================================
# Prameters
#==========================================

. $DataRoot/scripts/vasp_config.sh


CIFFile=auto
if [ "$1" != "" ]; then
	CIFFile=$1
fi

if [ -f ./vasp_params.sh ]; then
	. ./vasp_params.sh
else
	. $DataRoot/scripts/vasp_params.sh
fi

#====================================================
# MakeCIF command
#====================================================
if [ "$SpinOrbit" = ".TRUE." -a "$NoSOCForIonDynamics" != "1" ]; then
	$SpinOrbitForIonDynamics=.TRUE.
	if [ "$LMAXMIXForSO" != "" ]; then
		LMAXMIX=$LMAXMIXForSO
	fi

	echo Parameters modified for spin-orbit coupling
	echo "  Use SOC: $SpinOrbitForIonDynamics"
	echo "  LMAXMIX=$LMAXMIX"
	echo "  VASP=$VASP"
	echo "  VASPDOS=$VASPDOS"
	echo "  VASPRaman=$VASPRaman"
fi

MakeCIFOption="--UseConventionalCell=$UseConventionalCell \
	--UseRecommendedPOTCAR=$UseRecommendedPOTCAR --Function=scf \
	--HybridFunctional=$HybridFunctional \
	--BurstPOTCAR=$BurstPOTCAR \
	$MPIParams $MakeCIFParams $AdditionalParameters \
	--SpinOrbit=$SpinOrbitForIonDynamics --NonCollinear=$NonCollinear --LMAXMIX=$LMAXMIX \
	--SpinPolarized=$SpinPolarized $CIFFile ./"
#	--NKRED=$NKRED --ISMEARHybridFunctional=$ISMEARHybridFunctional \
#	--SIGMAHybridFunctionl=$SIGMAHybridFunctionl \

CMDMakeCIF="$CMD --Action=MakeINCAR --Functional=$Functional \
	    --METAGGA=$METAGGA --CMBJ=$CMBJ --LASPH=$LASPH --IMIX=$IMIX \
	    $MakeCIFOption"
CMDMakeCIFForMBJ="$CMD --Action=MakeINCAR --Functional=$FunctionalForMBJ --METAGGA=$METAGGA $MakeCIFOption"


#====================================
# Make input files
#====================================
echo ' '
echo '================================================================'
echo "  Make Input Files from CIF [$CIFFile]"
echo '================================================================'
if [ "$CIFFile" = "auto" -o -f $CIFFile ]; then
	echo
else
	echo Error: [$CIFFile] does not exist.
	exit
fi
if [ "$METAGGA" = "MBJ" ]; then
	echo run [$CMDMakeCIFForMBJ]
	$CMDMakeCIFForMBJ
	mv POTCAR POTCAR.MBJ
	rm *-Primitive.cif
fi
echo run [$CMDMakeCIF]
$CMDMakeCIF


#====================================
# Copy script files
#====================================
function copy_file
{
	local source=$1

	echo ' '
	if [ -f ./$source ]; then
		echo == ./$source exists. Skip
	else
		echo == Copy $DataRoot/scripts/$source to ./$source
		cp $DataRoot/scripts/$source .
	fi
}

function copy_vasprun_file
{
	local source=$1
	local key=$2

	echo ' '
	if [ -f ./$source ]; then
		echo == ./$source exists. Skip
	else
		echo == Copy $DataRoot/scripts/$source.$key to ./$source
		cp $DataRoot/scripts/$source.$key ./$source
	fi
}

copy_vasprun_file qvasp vasp_run
copy_vasprun_file vasp-info vasp_run
#copy_file vasp_config.sh
copy_file vasp_params.sh
copy_file vasp_modify_md.sh
copy_file vasp_modify_relax1.sh
copy_file vasp_modify_relax2.sh
copy_file vasp_modify_scf.sh
copy_file vasp_modify_dos.sh
copy_file vasp_modify_band.sh
copy_file vasp_modify_phonon.sh
copy_file vasp_modify_phonopy.sh
copy_file vasp_modify_ir.sh
copy_file vasp_modify_raman.sh
copy_file vasp_run_all.sh


echo 
echo ==============================================================================================
echo === IMPORTANT: Re-run vasp_init \($0\) if you edit vasp_params.sh               
echo ==============================================================================================

echo 
echo ======================================================================
echo $0 finished.
echo ======================================================================
echo 
