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

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

script_dir=${0%/*}
if [ -e $script_dir/vasp_config.sh ]; then
	. $script_dir/vasp_config.sh
elif [ -e $DataRoot/scripts/vasp_config.sh ]; then
	. $DataRoot/scripts/vasp_config.sh
else
	echo 
	echo *** ERROR: Can not find [$script_dir/vasp_config.sh] nor [$DataRoot/scripts/vasp_config.sh]
	echo
	exit
fi
if [ -e $script_dir/vasp_params.sh ]; then
	. $script_dir/vasp_params.sh
fi


PrecisionSCF=$PrecisionCommon
#PrecisionSCF=Norm
EDIFFSCF=$EDIFFCommon
EDIFFGSCF=$EDIFFGCommon
ALGOSCF=$ALGOCommon
GammaOnlySCF=$GammaOnlyCommon
aKProductSCF=$aKProductCommon
#aKProductSCF=2.0
#aKProductSCF=1.5
#aKProductSCF=fix:8/2,8/2,6/3
ISMEARSCF=$ISMEARCommon
#ISMEARSCF=-5
SIGMASCF=$SIGMACommon

KeepSymmetrySCF=1

CalOpticsSCF=.TRUE.
CSHIFTSCF=0.1

LELFSCF=.TRUE.

#====================================================
# SCF command
#====================================================
#MPIParamsSCF="--Param:NPAR=$NPAR --Param:KPAR=$KPAR --Param:LPLANE=.TRUE."
MPIParamsSCF=$MPIParamsCommon

# For phonon, use LREAL=.FALSE. and large ENCUT like 500 eV
# For usual DFT use default for ENCUT (comment out) and LREAL=Auto
#AdditionalParametersSCF=$AdditionalParametersCommon
#AdditionalParametersSCF="--Param:LREAL=Auto"
AdditionalParametersSCF="--Param:LREAL=Auto --Param::LWANNIER90_RUN=.FALSE."
#AdditionalParametersSCF="--Param:LREAL=Auto --NBANDS=x2"
#AdditionalParametersSCF="--Param:LREAL=.FALSE. --NBANDS=64 --Param:SYMPREC=1e-4";
#AdditionalParametersSCF="--Param:LREAL=Auto --NBANDS=64 --ENCUT=500"
#AdditionalParametersSCF="--Param:LREAL=.FALSE. --ENCUT=500"

CommonParametersSCF="--SpinOrbit=$SpinOrbit --NonCollinear=$NonCollinear --LMAXMIX=$LMAXMIX \
	--SpinPolarized=$SpinPolarized"
HFParametersSCF="--HybridFunctional="
PrecisionParametersSCF="--Precision=$PrecisionSCF --Param:EDIFF=$EDIFFSCF --Param:EDIFFG=$EDIFFGSCF \
	--Param:ISMEAR=$ISMEARSCF --Param:SIGMA=$SIGMASCF \
	--Param:ALGO=$ALGOSCF --Param:LELF=$LELFSCF \
	--GammaOnly=$GammaOnlySCF --aKProduct=$aKProductSCF"

CMDDFTSCF="$CMD --Action=ModifyFiles --Function=$RelaxMode \
	$MPIParamsSCF \
	$CommonParametersSCF \
	$HFParametersSCF \
	$PrecisionParametersSCF \
	$AdditionalParametersSCF \
	--KeepSymmetry=$KeepSymmetrySCF \
	--CalOptics=$CalOpticsSCF --CSHIFT=$CSHIFTSCF \
	$ARG1"


#====================================
# DFTSCF
#====================================
echo ' '
echo '================================================================'
echo "  Modify input files for DFT SCF: [$CMDDFTSCF]"
echo '================================================================'
$CMDDFTSCF

if [ "$UseDBRWIGs" = "1" ]; then
	$CMD --Action=ChangeRWIGS --RWIGSDB=$RWIGSDB . INCAR.RWIGS
	cp INCAR INCAR.prev
	cp INCAR.RWIGS INCAR
fi

echo 
echo ======================================================================
echo vasp_modify_scf.sh finished.
echo ======================================================================
echo 
