Exercises on basis set generation Control of the range of the second-ς orbital: the split norm Javier Junquera Most important reference followed in this lecture Default mechanism to generate multiple- in SIESTA: “Split-valence” method Starting from the function we want to suplement 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 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 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) Default mechanism to generate multiple- in SIESTA: “Split-valence” method Finally, the second- is normalized rm controlled with PAO.SplitNorm 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) 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 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 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 The splitnorm: Variables to control the range of the second-ς shells in the basis set The splitnorm: Run SIESTA for different values of the PAO.SplitNorm Edit the input file and set up PAO.SplitNorm 0.10 Then, run SIESTA $siesta < Al.splitnorm.fdf > Al.splitnorm.0.10.out For each splitnorm, search for the range of the orbitals Edit each output file and search for: For each splitnorm, search for the range of the orbitals Edit each output file and search for: We are interested in this number For each splitnorm, search for the range of the orbitals Edit each output file and search for: The lattice constant in this particular case would be 2.037521 Å × 2 = 4.075042 Å For each energy shift, search for the timer per SCF step We are interested in this number The SplitNorm: Run SIESTA for different values of the PAO.SplitNorm Edit the input file and set up PAO.SplitNorm 0.15 Then, run SIESTA $siesta < Al.splitnorm.fdf > Al.splitnorm.0.15.out Try different values of the PAO.EnergyShift PAO.SplitNorm 0.10 $siesta < Al.splitnorm.fdf > Al.splitnorm.0.10.out 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 $siesta < Al.splitnorm.fdf > Al.splitnorm.0.30.out 0.30 Analyzing the results Edit in a file (called, for instance, splitnorm.dat) the previous values as a function of the SplitNorm 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 The larger the SplitNorm, the smaller the orbitals