siesta pseudo howto

Post on 07-Apr-2015

183 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

How to generate and test pseudopotentials

Alberto GarcíaICMAB

CECAM--Siesta Tutorial -- June 2007

## Pseudopotential generation for Silicon# pg: simple generation#

pg Silicontm2 3.0 # PS flavor, logder R

n=Si c=car # Symbol, XC flavor,{ |r|s}0.0 0.0 0.0 0.0 0.0 0.0

3 4 # norbs_core, norbs_valence3 0 2.00 0.00 # 3s23 1 2.00 0.00 # 3p23 2 0.00 0.00 # 3d04 3 0.00 0.00 # 4f0

1.90 1.90 1.90 1.90 0.00 0.00## Last line (above):# rc(s) rc(p) rc(d) rc(f) rcore_flag rcore##23456789012345678901234567890123456789012345678901234567890

Generation Mechanics

$ pg.sh Si.tm2.inpCalculation for Si.tm2 completed. Output in directory Si.tm2$ ls Si.tm2AECHARGE AEWFNR3 PSLOGD3 PSPOTR3 PSWFNR3 charge.gplotAELOGD0 CHARGE PSPOTQ0 PSWFNQ0 RHO charge.gpsAELOGD1 INP PSPOTQ1 PSWFNQ1 SCRPSPOTR0 pots.gplotAELOGD2 OUT PSPOTQ2 PSWFNQ2 SCRPSPOTR1 pots.gpsAELOGD3 PSCHARGE PSPOTQ3 PSWFNQ3 SCRPSPOTR2 pseudo.gplotAEWFNR0 PSLOGD0 PSPOTR0 PSWFNR0 SCRPSPOTR3 pseudo.gpsAEWFNR1 PSLOGD1 PSPOTR1 PSWFNR1 VPSFMT pt.gplotAEWFNR2 PSLOGD2 PSPOTR2 PSWFNR2 VPSOUT pt.gps$ cd Si.tm2$$ # PLOTTING$$ gnuplot pseudo.gps==> Postscript output in pseudo.ps

-6

-5

-4

-3

-2

-1

0

0 0.5 1 1.5 2 2.5 3 3.5 4

l=0 Pseudopot r

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

0 5 10 15 20

l=0 Pseudopot q

-0.4

-0.2

0

0.2

0.4

0.6

0.8

0 0.5 1 1.5 2 2.5 3 3.5 4

AE wfn l=0PS wfn l=0

-20

0

20

40

60

80

100

120

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5

AE logder l=0PS logder l=0

-6

-5

-4

-3

-2

-1

0

0 0.5 1 1.5 2 2.5 3 3.5 4

l=1 Pseudopot r

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0 5 10 15 20

l=1 Pseudopot q

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 0.5 1 1.5 2 2.5 3 3.5 4

AE wfn l=1PS wfn l=1

-250

-200

-150

-100

-50

0

50

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

AE logder l=1PS logder l=1

-16

-14

-12

-10

-8

-6

-4

-2

0

0 0.5 1 1.5 2 2.5 3 3.5 4

l=2 Pseudopot r

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0 5 10 15 20

l=2 Pseudopot q

0

1e-05

2e-05

3e-05

4e-05

5e-05

6e-05

0 0.5 1 1.5 2 2.5 3 3.5 4

AE wfn l=2PS wfn l=2

-20

0

20

40

60

80

100

120

140

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

AE logder l=2PS logder l=2

-12

-10

-8

-6

-4

-2

0

0 0.5 1 1.5 2 2.5 3 3.5 4

l=3 Pseudopot r

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0 5 10 15 20

l=3 Pseudopot q

0

1e-07

2e-07

3e-07

4e-07

5e-07

6e-07

7e-07

8e-07

9e-07

0 0.5 1 1.5 2 2.5 3 3.5 4

AE wfn l=3PS wfn l=3

-0.5

0

0.5

1

1.5

2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

AE logder l=3PS logder l=3

0

2

4

6

8

10

12

14

16

0 0.5 1 1.5 2 2.5 3

AE core chargeAE valence charge

PS core chargePS valence charge

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

0 1 2 3 4 5

AE valence chargePS valence charge

$ grep ’&v’ OUTATM3 11-JUL-02 Silicon3s 0.5 2.0000 -0.79937161 0.000000003p -0.5 0.6667 -0.30807129 0.000000003p 0.5 1.3333 -0.30567134 0.000000003d -0.5 0.0000 0.00000000 0.000000003d 0.5 0.0000 0.00000000 0.000000004f -0.5 0.0000 0.00000000 0.000000004f 0.5 0.0000 0.00000000 0.00000000---------------------------- &v3s 0.5 2.0000 -0.79936061 0.505553153p -0.5 0.6667 -0.30804995 0.772438053p 0.5 1.3333 -0.30565760 0.767024603d -0.5 0.0000 0.00000000 0.001405053d 0.5 0.0000 0.00000000 0.001405054f -0.5 0.0000 0.00000000 0.002434114f 0.5 0.0000 0.00000000 0.00243411---------------------------- &v

Testing Mechanics

ae Si Test -- 3s0 3p3 3d1Si ca

0.03 33 0 0.003 1 3.003 2 1.00

# (Same configuration)pt Si Test -- 3s0 3p3 3d1Si ca

0.03 33 0 0.003 1 3.003 2 1.00

sh ../pt.sh Si.test.inp Si.tm2.vpsOutput data in directory Si.test-Si.tm2...$ cd Si.test-Si.tm2$ ls [A-Z]*AECHARGE AEWFNR1 CHARGE OUT PTWFNR0 PTWFNR2 VPSINAEWFNR0 AEWFNR2 INP PTCHARGE PTWFNR1 RHO$$ ## EIGENVALUE TEST$$ grep ’&v’ OUTATM3 11-JUL-02 Si Test -- 3s0 3p3 3d13s 0.0 0.0000 -1.14358268 3.714627703p 0.0 3.0000 -0.60149474 2.689645133d 0.0 1.0000 -0.04725203 0.46423687----------------------------ATM3 11-JUL-02 Si Test -- 3s0 3p3 3d11s 0.0 0.0000 -1.14353959 0.569457412p 0.0 3.0000 -0.59931810 0.956138083d 0.0 1.0000 -0.04733135 0.45664551----------------------------

-0.4

-0.2

0

0.2

0.4

0.6

0.8

0 0.5 1 1.5 2 2.5 3 3.5 4

AE wfn sPT wfn s

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 0.5 1 1.5 2 2.5 3 3.5 4

AE wfn pPT wfn p

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0 0.5 1 1.5 2 2.5 3 3.5 4

AE wfn dPT wfn d

&d total energy differences in series&d 1 2 3 4 5&d 1 0.0000&d 2 0.4308 0.0000&d 3 0.4961 0.0653 0.0000&d 4 0.9613 0.5305 0.4652 0.0000&d 5 1.4997 1.0689 1.0036 0.5384 0.0000

ATM3 11-JUL-02 Si Test -- GS 3s2 3p2ATM3 11-JUL-02 Si Test -- 3s2 3p1 3d1ATM3 11-JUL-02 Si Test -- 3s1 3p3ATM3 11-JUL-02 Si Test -- 3s1 3p2 3d1ATM3 11-JUL-02 Si Test -- 3s0 3p3 3d1

&d 1 2 3 4 5&d 1 0.0000&d 2 0.4299 0.0000&d 3 0.4993 0.0694 0.0000&d 4 0.9635 0.5336 0.4642 0.0000&d 5 1.5044 1.0745 1.0051 0.5409 0.0000

Large core-valence overlap

-5

0

5

10

15

20

25

30

35

0 0.5 1 1.5 2 2.5 3

AE core chargeAE valence charge

Standard pseudopotential unscreening:Valence charge only

V ps(r) = V psscr[!v](r)!VH[!v](r)!Vxc[!v](r)

But

Vxc[!v + !c](r) "= Vxc[!v](r) + Vxc[!c](r)

Error due to non-linearity of XC potential.

Corrected unscreening: Keep core chargein pseudopotential generation

V ps(r) = V psscr[!v + !c](r)

!VH[!v](r)! Vxc[!v + !c](r)

(Actually it is enough with a pseudo core)

Non-linear core-corrections

## PS generation with core corrections# GGA (Perdew-Burke-Ernzerhof) XC , relativistic#

pe Fe, GGA, rcore=0.70tm2 3.0

n=Fe c=pbr0.0 0.0 0.0 0.0 0.0 0.0

5 44 0 2.00 0.00 # 4s24 1 0.00 0.00 # 4p03 2 6.00 0.00 # 3d64 3 0.00 0.00 # 4f0

2.00 2.00 2.00 2.00 0.00 0.70# |# Radius of pseudocore

Pseudo-core charge

0

5

10

15

20

25

30

35

0 0.5 1 1.5 2 2.5 3

AE core chargeAE valence charge

PS core chargePS valence charge

Smooth Fourier Transform

-1

0

1

2

3

4

5

6

7

8

9

10

0 5 10 15 20

Core Charge (q)

0

2

4

6

8

10

12

14

16

18

0 5 10 15 20

Core Charge (q)

Soft pseudo-core

Hard core

Real-Space Grid

Charge density and local potentials arehandled on a real-space grid, whosefineness is determined by the MeshCutoffparameter:

Cuto! = (qmax)2

MeshCutoff 100 Ryd

Ba: (Large core)+6s2

0

10

20

30

40

50

60

70

80

90

100

0 1 2 3 4 5

AE core chargeAE valence (x20)

Ba: Large core + 6s2

Semicore states

Put 5s2 and 5p6 in valence complex## Note that this configuration is ionic (+2)#

pg Ba with 5s as semicore, 5p in valence -- soft Vftm2 3.00

n=Ba c=car0.0 0.0 0.0 0.0 0.0 0.0

9 45 0 2.00 # 5s25 1 6.00 # 5p65 2 0.004 3 0.00

1.75 2.00 2.50 2.50 0.00 0.00

(Semicore States)

5s 6s

Ba: s-channel pseudopotential construction

6s 6p

5d 6s and 6p pseudo-orbitalshave nodes

Ba: The pseudopotential reproduces higher states

Constructing KB projectors

-16

-14

-12

-10

-8

-6

-4

-2

0

0 0.5 1 1.5 2 2.5 3 3.5 4

VsVpVdVfs

f

d

p

Pseudopotential semi-local components

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

L=0

N=1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

L=1

N=1

-6

-5

-4

-3

-2

-1

0

1

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

L=2

N=1

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

L=3

N=1

Kleinman-Bylander projectors

Ba: Semicore states in s and p

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0 0.5 1 1.5 2 2.5 3 3.5

L=0

N=1

N=2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

0 0.5 1 1.5 2 2.5 3 3.5 4

L=1

N=1

N=2

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

0 0.5 1 1.5 2 2.5 3 3.5

L=2

N=1

-12

-10

-8

-6

-4

-2

0

2

0 0.5 1 1.5 2 2.5 3 3.5

L=3

N=1

Ba: Extra projectors for semicore states

top related