Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The...

19
Javier Junquera Exercises on basis set generation Control of the range of the second-ς orbital: the split norm

Transcript of Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The...

Page 1: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Javier Junquera

Exercises on basis set generation

Control of the range of the second-ς orbital: the split norm

Page 2: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Most important reference followed in this lecture

Page 3: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Default mechanism to generate multiple- ζ in SIESTA: “Split-valence” method

Starting from the function we want to suplement

Page 4: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Default mechanism to generate multiple- ζ in SIESTA: “Split-valence” method

The second-ζ function reproduces the tail of the of the first-ζ outside a radius rm

Page 5: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Default mechanism to generate multiple- ζ in SIESTA: “Split-valence” method

And continuous smoothly towards the origin as

(two parameters: the second-ζ and its first derivative continuous at rm

Page 6: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Default mechanism to generate multiple- ζ in SIESTA: “Split-valence” method

The same Hilbert space can be expanded if we use the difference, with the advantage that now the second-ζ vanishes at rm (more efficient)

Page 7: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Default mechanism to generate multiple- ζ in SIESTA: “Split-valence” method

Finally, the second-ζ is normalized

rm controlled with PAO.SplitNorm

Page 8: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Meaning of the PAO.SplitNorm parameter

PAO.SplitNorm is the amount of the norm (the full norm tail + parabolla norm)

that the second-ς split off orbital has to carry (typical value 0.15)

Page 9: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Bulk Al, a metal that crystallizes in the fcc structure

Go to the directory with the exercise on the energy-shift

Inspect the input file, Al.energy-shift.fdf More information at the Siesta web page http://www.icmab.es/siesta and follow the link Documentations, Manual

2

I. ENERGY FUNCTIONAL FOR A DIELECTRIC INSIDE AN ELECTRIC FIELD.

Cite1,2.

un!k(!r) =

!Rµ

cnµ(!k)ei!k·(!rµ+!R−!r)φµ(!r − !rµ −

!R), (1)

where φµ(!r − !rµ −!R) is an atomic orbital of the basis set centered on atom µ in the unit cell !R, and cnµ(!k) are the

coefficients of the wave function, that must be identical that the ones used for wannierization in Mmn.

## General system descriptors#

SystemName Bulk Aluminium in the FCC latticeSystemLabel AlNumberOfAtoms 1NumberOfSpecies 1

## Lattice, coordinates, k-sampling#

%block ChemicalSpeciesLabel1 13 Al # Species index, atomic number, species label

%endblock ChemicalSpeciesLabel

LatticeConstant 4.05 Ang # Experimental lattice parameter 4.05 Ang

%block LatticeVectors0.000 0.500 0.5000.500 0.000 0.5000.500 0.500 0.000

%endblock LatticeVectors

AtomicCoordinatesFormat ScaledCartesian

%block AtomicCoordinatesAndAtomicSpecies0.000 0.000 0.000 1

%endblock AtomicCoordinatesAndAtomicSpecies

%block kgrid_Monkhorst_Pack20 0 0 0.50 20 0 0.50 0 20 0.5

%endblock kgrid_Monkhorst_Pack

## Variables to run a calculation at constant displacement field, D#

SlabDipoleCorrection .true. # SIESTA calculates the electric field# required to compensate the dipole of# the system at every iteration of# the self-consistent cycle.# The potential added to the grid# corresponds to that of a dipole layer# at the middle of the vacuum layer.

As starting point, we assume the theoretical lattice constant of bulk Al

FCC lattice

Sampling in k in the first Brillouin zone to achieve self-consistency

Page 10: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

For each basis set, a relaxation of the unit cell is performed

Variables to control the Conjugate Gradient minimization

Two constraints in the minimization:

- the position of the atom in the unit cell (fixed at the origin)

- the shear stresses are nullified to fix the angles between the unit cell lattice vectors to 60°, typical of a fcc lattice

Page 11: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

The splitnorm:

Variables to control the range of the second-ς shells in the basis set

2

I. ENERGY FUNCTIONAL FOR A DIELECTRIC INSIDE AN ELECTRIC FIELD.

Cite1,2.

un!k(!r) =

!Rµ

cnµ(!k)ei!k·(!rµ+!R−!r)φµ(!r − !rµ −

!R), (1)

where φµ(!r − !rµ −!R) is an atomic orbital of the basis set centered on atom µ in the unit cell !R, and cnµ(!k) are the

coefficients of the wave function, that must be identical that the ones used for wannierization in Mmn.

## Basis definition#PAO.BasisSize DZPAO.SplitNorm 0.15

SPLIT: Orbitals with angular momentum L= 0 *** s-shell

SPLIT: Basis orbitals for state 3s

SPLIT: PAO cut-off radius determined from anSPLIT: energy shift= 0.02000 Ry ****** ENERGY SHIFT (default value in

this example)izeta = 1

lambda = 1.000000rc = 5.669024 ****** Cutoff radius of the first-zeta

energy = -0.555418kinetic = 0.418589

potential(screened) = -0.974006potential(ionic) = -2.483577

izeta = 2rmatch = 5.194051 ****** Cutoff radius of the second-zeta

splitnorm = 0.150000 ****** SPLIT NORM (default value here)energy = -0.496638

kinetic = 0.602424potential(screened) = -1.099062

potential(ionic) = -2.666314

SPLIT: Orbitals with angular momentum L= 1 *** p-shell

SPLIT: Basis orbitals for state 3p

SPLIT: PAO cut-off radius determined from anSPLIT: energy shift= 0.020000 Ry

izeta = 1lambda = 1.000000

rc = 7.099496 ****** Cutoff radius of the first-zetaenergy = -0.185076

kinetic = 0.619725potential(screened) = -0.804801

potential(ionic) = -2.166893

izeta = 2rmatch = 5.959691 ****** Cutoff radius of the second-zeta

splitnorm = 0.150000 ****** SPLIT NORM (default value here)energy = -0.118050

Page 12: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

The splitnorm:

Run SIESTA for different values of the PAO.SplitNorm

PAO.SplitNorm 0.10

Edit the input file and set up Then, run SIESTA

$siesta < Al.splitnorm.fdf > Al.splitnorm.0.10.out

Page 13: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

For each splitnorm, search for the range of the orbitals

Edit each output file and search for:

2

I. ENERGY FUNCTIONAL FOR A DIELECTRIC INSIDE AN ELECTRIC FIELD.

Cite1,2.

un!k(!r) =∑

!Rµ

cnµ(!k)ei!k·(!rµ+!R−!r)φµ(!r − !rµ −

!R), (1)

SPLIT: Orbitals with angular momentum L= 0 *** s-shell

SPLIT: Basis orbitals for state 3s

SPLIT: PAO cut-off radius determined from anSPLIT: energy shift= 0.02000 Ry ****** ENERGY SHIFT (default value in

this example)izeta = 1

lambda = 1.000000rc = 5.669024 ****** Cutoff radius of the first-zeta

energy = -0.555418kinetic = 0.418589

potential(screened) = -0.974006potential(ionic) = -2.483577

izeta = 2rmatch = 5.194051 ****** Cutoff radius of the second-zeta

splitnorm = 0.150000 ****** SPLIT NORM (default value here)energy = -0.496638

kinetic = 0.602424potential(screened) = -1.099062

potential(ionic) = -2.666314

SPLIT: Orbitals with angular momentum L= 1 *** p-shell

SPLIT: Basis orbitals for state 3p

SPLIT: PAO cut-off radius determined from anSPLIT: energy shift= 0.020000 Ry

izeta = 1lambda = 1.000000

rc = 7.099496 ****** Cutoff radius of the first-zetaenergy = -0.185076

kinetic = 0.619725potential(screened) = -0.804801

potential(ionic) = -2.166893

izeta = 2rmatch = 5.959691 ****** Cutoff radius of the second-zeta

splitnorm = 0.150000 ****** SPLIT NORM (default value here)energy = -0.118050

kinetic = 0.885316potential(screened) = -1.003366

potential(ionic) = -2.477113atom: Total number of Sankey-type orbitals: 8

Page 14: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Edit each output file and search for:

We are interested in this number

2

I. ENERGY FUNCTIONAL FOR A DIELECTRIC INSIDE AN ELECTRIC FIELD.

Cite1,2.

un!k(!r) =∑

!Rµ

cnµ(!k)ei!k·(!rµ+!R−!r)φµ(!r − !rµ −

!R), (1)

siesta: Program’s energy decomposition (eV):siesta: Ebs = -25.348082siesta: Eions = 88.830648siesta: Ena = 22.110454siesta: Ekin = 22.645541siesta: Enl = 7.275412siesta: DEna = 1.808097siesta: DUscf = 0.046434siesta: DUext = 0.000000siesta: Exc = -21.656651siesta: eta*DQ = 0.000000siesta: Emadel = 0.000000siesta: Emeta = 0.000000siesta: Emolmec = 0.000000siesta: Ekinion = 0.000000siesta: Eharris = -56.601357siesta: Etot = -56.601362siesta: FreeEng = -56.601453

For each splitnorm, search for the range of the orbitals

Page 15: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Edit each output file and search for:

The lattice constant in this particular case would be 2.037521 Å × 2 = 4.075042 Å

For each splitnorm, search for the range of the orbitals

2

I. ENERGY FUNCTIONAL FOR A DIELECTRIC INSIDE AN ELECTRIC FIELD.

Cite1,2.

un!k(!r) =∑

!Rµ

cnµ(!k)ei!k·(!rµ+!R−!r)φµ(!r − !rµ −

!R), (1)

outcoor: Relaxed atomic coordinates (scaled):0.00000000 0.00000000 0.00000000 1 1 Al

outcell: Unit cell vectors (Ang):0.000000 2.037521 2.0375212.037521 0.000000 2.0375212.037521 2.037521 0.000000

outcell: Cell vector modules (Ang) : 2.881490 2.881490 2.881490outcell: Cell angles (23,13,12) (deg): 60.0000 60.0000 60.0000outcell: Cell volume (Ang**3) : 16.9175

Page 16: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

2

I. ENERGY FUNCTIONAL FOR A DIELECTRIC INSIDE AN ELECTRIC FIELD.

Cite1,2.

un!k(!r) =∑

!Rµ

cnµ(!k)ei!k·(!rµ+!R−!r)φµ(!r − !rµ −

!R), (1)

Routine Calls Time/call Tot.time %siesta 1 198.732 198.732 100.00Setup 1 1.009 1.009 0.51bands 1 0.000 0.000 0.00writewave 1 0.000 0.000 0.00KSV_init 1 0.000 0.000 0.00IterMD 8 24.603 196.827 99.04STinit 8 0.839 6.715 3.38hsparse 8 0.009 0.069 0.03overlap 8 0.007 0.052 0.03naefs 16 0.000 0.004 0.00MolMec 16 0.000 0.000 0.00kinefsm 16 0.004 0.068 0.03nlefsm 16 0.293 4.686 2.36DHSCF_Init 8 0.529 4.234 2.13DHSCF1 8 0.108 0.865 0.44INITMESH 8 0.000 0.000 0.00DHSCF2 8 0.421 3.369 1.70REMESH 8 0.096 0.767 0.39REORD 130 0.000 0.008 0.00PHION 8 0.276 2.206 1.11COMM_BSC 90 0.000 0.006 0.00POISON 41 0.001 0.051 0.03fft 82 0.000 0.027 0.01IterSCF 25 6.791 169.781 85.43DHSCF 33 0.698 23.041 11.59DHSCF3 33 0.472 15.574 7.84rhoofd 33 0.294 9.701 4.88cellXC 33 0.025 0.830 0.42vmat 33 0.151 4.979 2.51compute_dm 25 6.319 157.973 79.49diagon 25 6.315 157.868 79.44c-eigval 100000 0.001 52.085 26.21c-buildHS 100000 0.000 48.513 24.41cdiag 200000 0.000 7.926 3.99cdiag1 200000 0.000 0.579 0.29cdiag2 200000 0.000 1.097 0.55cdiag3 200000 0.000 3.123 1.57cdiag4 200000 0.000 0.240 0.12c-eigvec 100000 0.001 53.110 26.72c-buildD 100000 0.001 51.385 25.86MIXER 25 0.001 0.036 0.02SCFconv 25 0.000 0.012 0.01PostSCF 8 1.720 13.760 6.92DHSCF4 8 0.933 7.467 3.76dfscf 8 0.679 5.429 2.73overfsm 8 0.003 0.020 0.01STanaly 8 0.002 0.016 0.01SIMOVE 8 0.001 0.006 0.00optical 1 0.000 0.000 0.00

For each energy shift, search for the timer per SCF step

We are interested in this number

Page 17: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

The SplitNorm:

Run SIESTA for different values of the PAO.SplitNorm

PAO.SplitNorm 0.15

Edit the input file and set up Then, run SIESTA

$siesta < Al.splitnorm.fdf > Al.splitnorm.0.15.out

Try different values of the PAO.EnergyShift

PAO.SplitNorm 0.20 $siesta < Al.splitnorm.fdf > Al.splitnorm.0.20.out PAO.SplitNorm 0.25 $siesta < Al.splitnorm.fdf > Al.splitnorm.0.25.out PAO.SplitNorm 0.30 $siesta < Al.splitnorm.fdf > Al.splitnorm.0.30.out

PAO.SplitNorm 0.10 $siesta < Al.splitnorm.fdf > Al.splitnorm.0.10.out

Page 18: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Analyzing the results

Edit in a file (called, for instance, splitnorm.dat) the previous values as a function of the SplitNorm

2

I. ENERGY FUNCTIONAL FOR A DIELECTRIC INSIDE AN ELECTRIC FIELD.

Cite1,2.

un!k(!r) =∑

!Rµ

cnµ(!k)ei!k·(!rµ+!R−!r)φµ(!r − !rµ −

!R), (1)

$ more splitnorm.dat# SplitNorm rc(s) (au) rc(p) (au) Lat cons (Ang) FreeEner(eV) TimeSCFstep# ( Cutoff only for second-zeta)

0.10 5.529051 6.344070 4.086859 -56.624804 6.3700.15 5.194051 5.959691 4.075042 -56.601453 6.7910.20 4.879348 5.598600 4.110056 -56.582389 5.7790.25 4.699754 5.325544 4.144207 -56.590748 5.2230.30 4.470535 5.065805 4.139516 -56.595867 5.215

Page 19: Exercises on basis set generation Control of the range of the … · 2014. 6. 16. · The splitnorm: Variables to control the range of the second-ς shells in the basis set 2 I. ENERGY

Analyzing the results: range of the orbitals as a function of the split norm

$ gnuplot $ gnuplot> plot ”splitnorm.dat" u 1:2 w l, ”splitnorm.dat" u 1:3 w l

$ gnuplot> set terminal postscript color $ gnuplot> set output “range-2zeta.ps” $ gnuplot> replot

4.4

4.6

4.8

5

5.2

5.4

5.6

5.8

6

6.2

6.4

0.08 0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.3

"splitnorm.dat" u 1:2"splitnorm.dat" u 1:3

The larger the SplitNorm, the smaller the orbitals