令举,关于为什么分波态不等于总波态,我写邮件问了问VASP,他们给出了解释。下面是他们的回信:
Dear Colleague
vasp is NOT based on local orbitals basis sets, but on (augmented) plane waves.
all projected quatities are calculated by integrating the related quatnities (here: charge density) over spheres with r=RWIGS, centered at the atoms' positions. if the spheres overlap, part of the cell's volume is integrated twice, the contributions to the volume which are not covered by these spheres are not accounted for at all. Therefore, it is very unlikely that the local DOS sum up to the total DOS exactly.
This behaviour is common to all PW or mixed basis set methods.
yours sincerely
vasp-support
# Script to break the VASP DOSCAR file into segments for
# each atomic site.
# JMS NRL 5/0/02
# Modified to also align the Fermi level from the ground state
# to E=0.0
# JMS NRL 6/19/02
# Executables reside here
BIN=~/bin
if [ $# -ne 0 ]; then
echo "Usage: split_dos"
exit 2
fi
# Script to split the DOSCAR file into the atomic
# projections labeled by atom number
dosfile=DOSCAR
outfile=OUTCAR
infile=INCAR
# Token for splitting the files
token=$(sed -n '6 p' $dosfile | awk '{print $1}')
# Number of points
nl=$(sed -n '6 p' $dosfile | awk '{print $3}')
# Number of atoms
natom=$(sed -n '1 p' $dosfile | awk '{print $1}')
# Get the Fermi level if the OUTCAR file is present,
# else we set it to zero.
if [ -a $outfile ]; then
echo "The" $outfile "exists, we use it to get the Fermi level,"
echo "the RWIGS tag and the number of spins."
efermi=$(grep "E-fermi" $outfile | tail -1 | awk '{print $3}')
echo "Fermi level:" $efermi
nspin=$(grep "ISPIN" $outfile | tail -1 | awk '{print $3}')
if [ $nspin -eq 2 ]; then
echo "Spin polarized calculation"
else
echo "Unpolarized calculation"
fi
# 2.a
# JMS 2/3/03 Modified to accept specification by LORBIT token.
#
lorbit=$(grep "LORBIT" $outfile | tail -1 | awk '{print $3}')
if [ $lorbit -ge 10 ]; then
echo "LORBIT > 10"
echo "WARNING: not completely test for vasp.4.*"
echo "Use at your own risk. Please check results for consistency."
form=1
else
# 2.a
rwigs=$(grep "RWIGS" $outfile | tail -1 | awk '{print $3}' | sed 's/\.//g')
if [ $rwigs -eq -100 ]; then
echo "RWIGS token not set"
form=0
else
echo "RWIGS token set"
form=1
fi
# 2.a
fi
# 2.a
else
echo "The" $outfile "does not exist, we set the Fermi level to 0"
echo "assume an unpolarized calculation, and RWIGS not set"
form=0
nspin=1
efermi=0.0
fi
# If the outcar file is not present and you wish to set something by hand
# you should do it here. Uncomment the tokens below and set them by hand.
请教电子局域函数的物理意义是什麽啊? 博主回复:the electron localization function (ELF) is a measure of the likelihood of finding an electron in the neighborhood space of a reference electron located at a given point and with the same spin. Physically, this measures the extent of spatial localization of the reference electron and provides a method for the mapping of electron pair probability in multielectronic systems.