Exercises on basis set generation Javier Junquera

Exercises on basis set generation
Control of the range: the energy shift
Javier Junquera
Most important reference followed in this lecture
How to control the range of the orbitals in a balanced way:
the energy shift
Particle in a confinement
potential:
Imposing a finite
+
Continuous function and first derivative

E is quantized (not all values allowed)
Increasing E 
has a node
and tends to - when x + 
Complement M III “Quantum Mechanics”,
C. Cohen-Tannoudji et al.
How to control de range of the orbitals in a balanced way:
the energy shift
Energy increase  Energy shift
PAO.EnergyShift (energy)
Cutoff radius, rc, = position where each orbital has the node
A single parameter for all cutoff radii
The larger the Energy shift, the shorter the rc’s
Typical values: 100-200 meV
E. Artacho et al. Phys. Stat. Solidi (b) 215, 809 (1999)
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 energy shift:
Variables to control the range of the basis set
The energy shift:
Run SIESTA for different values of the PAO.EnergyShift
Edit the input file and set up
PAO.EnergyShift
0.002 Ry
Then, run SIESTA
$siesta < Al.energy-shift.fdf > Al.0.002.out
For each energy shift,
search for the range of the orbitals
Edit each output file and search for:
For each energy shift,
search for the free energy
Edit each output file and search for:
We are interested in
this number
For each energy shift,
search for the free energy
Edit each output file and search for:
We are interested in
this number
For each energy shift,
search for the relaxed lattice constant
Edit each output file and search for:
The lattice constant in this particular case would be
2.108073 Å × 2 = 4.216146 Å
For each energy shift,
search for the timer per SCF step
We are interested in
this number
The energy shift:
Run SIESTA for different values of the PAO.EnergyShift
Edit the input file and set up
PAO.EnergyShift
0.002 Ry
Then, run SIESTA
$siesta < Al.energy-shift.fdf > Al.0.002.out
Try different values of the PAO.EnergyShift
PAO.EnergyShift
0.005 Ry
$siesta < Al.energy-shift.fdf > Al.0.005.out
PAO.EnergyShift
0.010 Ry
$siesta < Al.energy-shift.fdf > Al.0.010.out
PAO.EnergyShift
0.015 Ry
$siesta < Al.energy-shift.fdf > Al.0.015.out
PAO.EnergyShift
0.020 Ry
$siesta < Al.energy-shift.fdf > Al.0.020.out
PAO.EnergyShift
0.025 Ry
$siesta < Al.energy-shift.fdf > Al.0.025.out
PAO.EnergyShift
0.030 Ry
$siesta < Al.energy-shift.fdf > Al.0.030.out
PAO.EnergyShift
0.035 Ry
$siesta < Al.energy-shift.fdf > Al.0.035.out
PAO.EnergyShift
0.040 Ry
$siesta < Al.energy-shift.fdf > Al.0.040.out
Analyzing the results
Edit in a file (called, for instance, cutoff-ef.dat) the previous values as a function
of the Energy shift
Analyzing the results:
range of the orbitals as a function of the energy shift
$ gnuplot
$ gnuplot> plot "cutoff-ef.dat" u 1:2 w l, "cutoff-ef.dat" u 1:3 w l
$ gnuplot> set terminal postscript color
$ gnuplot> set output “range.ps”
$ gnuplot> replot
Analyzing the results:
lattice constant as a function of the energy shift
$ gnuplot
$ gnuplot> plot "cutoff-ef.dat" u 1:4 w l
$ gnuplot> set terminal postscript color
$ gnuplot> set output “latcon.ps”
$ gnuplot> replot
Analyzing the results:
free energy as a function of the energy shift
$ gnuplot
$ gnuplot> plot "cutoff-ef.dat" u 1:5 w l
$ gnuplot> set terminal postscript color
$ gnuplot> set output “freener.ps”
$ gnuplot> replot
Analyzing the results:
time per SCF step as a function of the energy shift
$ gnuplot
$ gnuplot> plot "cutoff-ef.dat" u 1:6 w l
$ gnuplot> set terminal postscript color
$ gnuplot> set output “timer.ps”
$ gnuplot> replot