Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] Fwd: Pseudopotential observation (fwd)

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] Fwd: Pseudopotential observation (fwd)


Chronological Thread 
  • From: Sebastien Hamel <hamel2@llnl.gov>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] Fwd: Pseudopotential observation (fwd)
  • Date: Wed, 31 May 2006 23:49:53 -0700

Thank you for the clarification.

Sebastien

On May 31, 2006, at 1:41 PM, Martin Fuchs wrote:

Dear ***,

I have some comments. First on the Si case you discuss, then on
the pseudopotentials on the abinit website in general.

Using the present fhipp version I can reverse-engineer this potential,
and conclude:

1) the abinit website Si *potentials* for l=s,p,d,f were generated from
a neutral atom

2) the 3s and 3p *wavefunctions* were too

3) the 4f wavefunction corresponds to a scattering state (at the 3p energy),
obtained from the neutral atom; this is just the construction proposed by
D. Hamann in his 1989 paper and is well defined, even if it looks ugly

4) the 3d wavefunction that for a Si++ with 3s1 3p0.75 3d0.25 occupation,
generated by a separate run; the occupation is like in the BHS paper;
this yields a bound eigenstate, i.e. a localized function, to be prefered
e.g. for the Kleinman-Bylander form of the pseudopotential (of course
irrelevant if d is used as local component, see below too!) or for
projected DOS purposes

5) you can't get this abinit file from a single run of fhipp, but need to
paste the l-components of the potentials and wavefunctions from
two different runs (Si and Si++); that's done by hand or using a
script like in fhipp/bin/tools/multiconfig-script, try yourself with the
attached for Si

6) thus this is not a problem of changing fhipp versions but
of how fhipp has been used:)

... and perhaps more importantly

7) the abinit files for Si and N (and presumably other main group
elements) contain f components. If I understand alright, those f's
are included in an actual abinit run!? Usually, s,p,d should be sufficient
for Si and N, and d is an appropriate local potential (this holds for
many other main group elements too, not for transition metals).
Why the extra computational effort (5 more pseudopotential projections)
for including also the f's???

Best wishes,
Martin

Sebastien Hamel wrote:

Matthieu Verstraete wrote:


Aaaaah! But your curve isn't just smoothed, it's ugly! It looks like the state is unbounded, explodes, and gets cut off at r = 2.1 If it depends on the exact energy of the unbounded exploding state it could be machine dependent. At this stage, without looking into the innards of fhipp (which I will not do again for any amount of chocolate) we don't know how it treats the unbound states and whether this cutoff has changed from version to version. At any rate mine is prettier... and you should be using local d psp anyway for first row(s) elements.

Matthieu

I know! This what I thought too. But yes i am using d local anyway so this is not really an issue.
I was just curious as to how your curve was obtained since our inputs are identical.

Thanks,
Seb





--
Martin Fuchs
Phone: +30 8413 4802 | Fritz-Haber-Institut der MPG
Fax: +30 8413 4701 | Faradayweg 4-6
E-Mail: fuchs@fhi-berlin.mpg.de | D-14195 Berlin (Germany)

1-0.0735-11600-23.05

#! /bin/csh -f
#
# generic script for collecting pseudopotential components or
# wavefunctions from two different reference states, e.g.
# to obtain
# - a bound pseudo wavefunction for the KB potential
# - a semilocal pseudopotential component with the BHS recipe
#
# here for Si:
# 1. run 1 - generate 3s,p,d,4f components from the neutral atom
# 2. run 2 - generate the from an the Si 3s1 3p0.75 3d0.25 f0 atom (see BHS paper table II)
# 3. replace the 3d pseudo wavefunction from run 1 by that from run 2
# and put together the usual .cpi file

cd $cwd

set INI = si-test
set COMMENT = "u_d from ionic configuration"
set RC = 0.0d0
set XC = 6

#---------------- neutral configuration

rm fort.* coredensity

cat << otto >! $INI.ini
14.00 3 2 $XC $RC : z nc nv
1 0 2.00 : n l f
2 0 2.00
2 1 6.00
3 0 2.00
3 1 2.00
3 "t" : lmax s_pp_def
0 0.0 0 "t"
1 0.0 0 "t"
2 0.0 0 "t"
3 0.0 0.01 "t"
otto

psgen -o $INI $INI.ini -g

#---------------- store pseudopotential components

mv fort.40 1.s
mv fort.41 1.p
mv fort.42 1.d
mv fort.43 1.f

#---------------- ionic configuration

cat << akka >! wp.ini
14.00 3 4 $XC $RC : z nc nv
1 0 2.00 : n l f
2 0 2.00
2 1 6.00
3 0 1.00
3 1 0.75
3 2 0.25
4 3 0.00
3 "t" : lmax s_pp_def
0 0.0 0 "t"
1 0.0 0 "t"
2 0.0 0 "t"
3 0.0 0 "t"
akka

#a frozen core calculation (use this if potentials are from ionic config)
#psgen -xv -o wp wp.ini -g -fc $INI.fc
#a relaxed core calculation
psgen -xv -o wp wp.ini -g

#---------------- store pseudopotentials from ionic configuration

mv fort.40 2.s
mv fort.41 2.p
mv fort.42 2.d
mv fort.43 2.f
cp fort.27 coredensity

#---for p-component: use potential from calculation 1
# and wavefunction from calc. 2
# the result is put into file 1.d
# in fort.40 etc: $1 ... index, $2 ... radius, $3 ... wavefct, $4 ... potential

paste 2.d 1.d | awk '{if (NR == 1) {print $0} else {print $1,$2,$3, $NF}}' >! junk
mv junk 1.d

rm fort.*

#---------------- assemble .cpi file for fhi96md code

echo `grep 'integrated valence' $INI.dat | awk '{print $NF"E+00"}'` `ls 1.* | wc -l` >! ${INI}.cpi
cat << unused_fit_parameters >>! ${INI}.cpi
0.0000 0.0000 0.0000 0.0000
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
0.0000 .00e+00 .00e+00
unused_fit_parameters

awk < 1.s '{if (NR == 1) {print $2,$3} else {print $0}}' >>! $ {INI}.cpi
awk < 1.p '{if (NR == 1) {print $2,$3} else {print $0}}' >>! $ {INI}.cpi # substitute only wfct
#awk < 2.p '{if (NR == 1) {print $2,$3} else {print $0}}' >>! $ {INI}.cpi # substitute pot & wfct
awk < 1.d '{if (NR == 1) {print $2,$3} else {print $0}}' >>! $ {INI}.cpi
awk < 1.f '{if (NR == 1) {print $2,$3} else {print $0}}' >>! $ {INI}.cpi
cat coredensity >>! ${INI}.cpi

if( $?COMMENT ) echo "comment: " $COMMENT >>! $INI.dat
cat wp.dat >>! ${INI}.dat
exit

rm fort.* coredensity 1.* 2.* *wp* *fc

exit

================================
Sebastien Hamel, PhD
Lawrence Livermore National Laboratory
Physics and Advanced Technologies
H-division
Bldg. 211, Rm. 214, L-415
Phone: (925) 423-8048
Email: hamel2@llnl.gov
================================






Archive powered by MHonArc 2.6.16.

Top of Page