Contribution of Selected Dicarboxylic and ω-Oxocarboxylic Acids in ...
XSPECTRA A Tool for X-ray Absorption Spectroscopy...
Transcript of XSPECTRA A Tool for X-ray Absorption Spectroscopy...
-
XSPECTRAA Tool for X-ray Absorption Spectroscopy
Calculations
Oana Bunău
School on Numerical Methods for Materials Science Related to Renewable EnergyApplications
Trieste28th November 2012
, 1/62
-
XAS is a probe of the empty states projected on theabsorbing atom
σ(ω) = 4π2α~ω∑j
∑f ,g
|〈f |Ô|g〉|2 δ (~ω − (Ef − Eg ))
, 1/62
-
About XSPECTRA
Scope: provides interpretation of XAS spectra
within the single particle approximation
near edge XAS @ K and L1 edges with linear polarization
distributed within the Quantum Espresso package
free (GNU licence)
Please acknowledge:
C. Gougoussis, M. Calandra, A. P. Seitsonen, and F. Mauri in Phys. Rev.B 80, 075102 (2009)
P. Giannozzi et al. in J. Phys. Condens. Matter 21, 395502 (2009)
M. Taillefumier, D. Cabaret, A. M. Flank, F. Mauri in Phys. Rev. B 66,195107 (2002)
, 2/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRA
4 Examples
5 Summary
, 3/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRA
4 Examples
5 Summary
, 4/62
-
The PAW methodWe need to reconstruct the all electron states
Both the probed states |f 〉 and the core level |g〉 are all electron statesWith pseudopotentials we normally get pseudo states.
To reconstruct the all electron ones, use:
The projector augmented wave method PAW
All electron Pseudo
|Ψ〉 mapping←−−−→ |Ψ̃〉
P. E. Blochl, Phys. Rev. B 50, 17953 (1994)
, 5/62
-
The PAW methodP. E. Blochl in Phys. Rev. B 50, 17953 (1994)
|Ψ〉 = T |Ψ̃〉 T is linearT 6= 1̂ in the core (augmentation) region only
T̂ = 1̂ +∑
R TR = 1̂ +∑
R (|ΦRn〉 − |Φ̃Rn〉)〈p̃Rn|
R the coordinates of nuclei
|ΦRn〉 the all electron partial waves|Φ̃Rn〉 the pseudo partial waves
The PAW projectors |p̃Rn〉 are defined as:
〈p̃Rn|Φ̃R′n′〉 = δRR′δnn′ inside0 outside the augmentation region
, 6/62
-
The PAW methodP. E. Blochl in Phys. Rev. B 50, 17953 (1994)
|Ψ〉 = T |Ψ̃〉 T is linearT 6= 1̂ in the core (augmentation) region only
T̂ = 1̂ +∑
R TR = 1̂ +∑
R (|ΦRn〉 − |Φ̃Rn〉)〈p̃Rn|
R the coordinates of nuclei
|ΦRn〉 the all electron partial waves|Φ̃Rn〉 the pseudo partial waves
The PAW projectors |p̃Rn〉 are defined as:
〈p̃Rn|Φ̃R′n′〉 = δRR′δnn′ inside0 outside the augmentation region
, 6/62
-
PAW for XASM. Taillefumier et al. in Phys. Rev. B 66, 195107 (2002)
By using |f 〉 = T |f̃ 〉 and the localization of |g〉:
σ(ω) = 4π2α~ω∑j
∑f ,g
|〈f̃ |Φ̃R0〉|2 δ (~ω − (Ef − Eg ))
where |Φ̃R0〉 =∑
n |p̃nR0〉〈φnR0 |Ô|g〉
|g〉 the all electron initial (core) level, without hole|φnR0〉 the all electron partial waves, localized on the absorberÔ = � · r + 12 (� · r)(k · r) the transition operator|p̃nR0〉 the PAW projectorsR0 the position of the absorbing atom
, 7/62
-
PAW for XASM. Taillefumier et al. in Phys. Rev. B 66, 195107 (2002)
|Φ̃R0〉 =∑n
|p̃nR0〉〈φnR0 |Ô|g〉
The sum runs over a complete set ⇔ infinite number of projectors
In practice a finite number of projectors is enough.
1 projector/channel (l)
generally yields wrong intensitieswrong dipole/quadrupole ratio
2 projectors/channel (l)
correct intensities in the near edge region (≈ 50 eV above the edge,in most of the cases)need to be linearly independent (i.e. ⇔ span a 2×2 subspace)
To simulate the extended edge (EXAFS) more projectors are needed, butthen you might want to use another method
, 8/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRA
4 Examples
5 Summary
, 9/62
-
The sum over the empty states
σ(ω) = 4π2α~ω∑j
∑f ,g
|〈f̃ |Φ̃R0〉|2 δ (~ω − (Ef − Eg ))
The direct sum over the empty states f is very expensive.
Instead, re-write (δ → 0):
σ(ω) = 4πα~ω∑j
∑g
|〈Φ̃R0 |Im(H̃ − Eg − ~ω − iδ)−1|Φ̃R0〉|2
with H̃ = T †HT the pseudo-Hamiltonian
Solve by using the Lanczos algorithm and the continued fraction.
Advantage: the empty states are not calculated explicitly. The sum overempty states depends on the occupied bands only.
, 10/62
-
The sum over the empty states
σ(ω) = 4π2α~ω∑j
∑f ,g
|〈f̃ |Φ̃R0〉|2 δ (~ω − (Ef − Eg ))
The direct sum over the empty states f is very expensive.
Instead, re-write (δ → 0):
σ(ω) = 4πα~ω∑j
∑g
|〈Φ̃R0 |Im(H̃ − Eg − ~ω − iδ)−1|Φ̃R0〉|2
with H̃ = T †HT the pseudo-Hamiltonian
Solve by using the Lanczos algorithm and the continued fraction.
Advantage: the empty states are not calculated explicitly. The sum overempty states depends on the occupied bands only.
, 10/62
-
The Lanczos algorithm and the continued fraction
M(E ) = 〈Φ̃R0 |Im(H̃ − E − iδ)−1|Φ̃R0〉 = ? (E = Eg + ~ω)
Scope: Calculate without brute force diagonalization
1. Use the Lanczos recursive algorithm to bring H̃ in a tridiagonal form.2. Use the continued fraction to evaluate the matrix element above.
See more in:C. Lanczos in J. Res. Natl. Bur. Stand. 45, 255 (1950)C. Lanczos in J. Res. Natl. Bur. Stand. 49, 33 (1952)R. Haydock, V. Heine and M. Kelly in J. Phys C 5, 2845 (1972)M. Taillefumier, D. Cabaret, A. M. Flank, F. Mauri in Phys. Rev. B 66, 195107(2002)B. Walker and R. Gebauer in J. Chem. Phys 127 164106 (2007)C. Gougoussis, M. Calandra, A. P. Seitsonen, and F. Mauri in Phys. Rev. B 80,075102 (2009)
, 11/62
-
The Lanczos algorithm and the continued fraction
M(E ) = 〈Φ̃R0 |Im(H̃ − E − iδ)−1|Φ̃R0〉 = ? (E = Eg + ~ω)
Scope: Calculate without brute force diagonalization
1. Use the Lanczos recursive algorithm to bring H̃ in a tridiagonal form.2. Use the continued fraction to evaluate the matrix element above.
The Lanczos basis {|ui 〉}:
|u0〉 =|Φ̃R0〉√〈Φ̃R0 |Φ̃R0〉
H̃|ui 〉 = ai |ui 〉+ bi+1|ui+1〉+ bi |ui−1〉
H̃ =
a0 b1 0 0 0b1 a1 b2 0 00 b2 a2 b3 0
0 0 b3. . .
. . .
0 0. . .
. . .. . .
, 11/62
-
The Lanczos algorithm and the continued fraction
M(E ) = 〈Φ̃R0 |Im(H̃ − E − iδ)−1|Φ̃R0〉 = ? (E = Eg + ~ω)
Scope: Calculate without brute force diagonalization
1. Use the Lanczos recursive algorithm to bring H̃ in a tridiagonal form.2. Use the continued fraction to evaluate the matrix element above.
The Lanczos basis {|ui 〉}:
|u0〉 =|Φ̃R0〉√〈Φ̃R0 |Φ̃R0〉
H̃|ui 〉 = ai |ui 〉+ bi+1|ui+1〉+ bi |ui−1〉
M(E ) =〈Φ̃R0 |Φ̃R0〉
a0 − E − iδ −b21
a1−E−iδ−b22
...
, 11/62
-
Lanczos within XSPECTRASome useful input parameters
M(E ) =〈Φ̃R0 |Φ̃R0〉
a0 − E − iδ −b21
a1−E−iδ−b22
a2−E−iδ−b23···
will eventually converge when the Lanczos space is large enough.
Related keywords:
xniter = maximum number of iterations (maximum dimension of theLanczos basis)
xerror = convergence threshold on the integral of the XAS crosssection
xcheck conv = number of iteration between two convergence checks
xgamma = Lorentzian broadening (related to the core-hole lifetime)
, 12/62
-
Lanczos within XSPECTRASome useful input parameters
M(E ) =〈Φ̃R0 |Φ̃R0〉
a0 − E − iδ − b21
a1−E−iδ−b22
a2−E−iδ−b23···
will eventually converge when the Lanczos space is large enough.
Related keywords:
xsave = save file storing the Lanczos a and b parameters
terminator = .true. imposes the use of a terminator ⇔(ai , bi ) = (aN , bN) for i > N, allowing an analytical form of thecontinued fraction
The convergence depends strongly on the broadening parameter
, 12/62
-
Case of multiple absorbers
If the unit cell contains several absorbers: σtot =∑
j σj
If two or more equivalent atoms, calculate one of them and infer thecross section of the peers by using group theory ( see C. Brouder in J.Phys.: Condens. Matter 2 70138, 1990)
If two or more non-equivalent atoms of the absorbing species, you needto run as many calculations (pw + XSPECTRA) as the number ofnon-equivalent atoms.Mind the core-level shift (see S. Gao et al. in Phys. Rev. B 77 115122,2008).
, 13/62
-
Case of multiple absorbers
If the unit cell contains several absorbers: σtot =∑
j σj
If two or more equivalent atoms, calculate one of them and infer thecross section of the peers by using group theory ( see C. Brouder in J.Phys.: Condens. Matter 2 70138, 1990)
If two or more non-equivalent atoms of the absorbing species, you needto run as many calculations (pw + XSPECTRA) as the number ofnon-equivalent atoms.Mind the core-level shift (see S. Gao et al. in Phys. Rev. B 77 115122,2008).
, 13/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 14/62
-
cp -r $WORKSHOP/Tutorial XSpectra /scratch/cd /scratch/Tutorial XSpectra/
Directory structure:
./input/ input files for the examples
./outdir/ tmp output
./pseudo/ pseudopotentials for this tutorialthe script upf2plotcore.sh
./Gipaw pseudo generation/ input files necessary to generate GIPAWpseudopotentials with and without a core-hole
./solutions/ reference outputs for the files in ./input/
./References/ relevant papers, the .pdf of these lecturesmanual page INPUT XSPECTRA
, 15/62
-
cp -r $WORKSHOP/Tutorial XSpectra /scratch/cd /scratch/Tutorial XSpectra/
Directory structure:
./input/ input files for the examples
./outdir/ tmp output
./pseudo/ pseudopotentials for this tutorialthe script upf2plotcore.sh
./Gipaw pseudo generation/ input files necessary to generate GIPAWpseudopotentials with and without a core-hole
./solutions/ reference outputs for the files in ./input/
./References/ relevant papers, the .pdf of these lecturesmanual page INPUT XSPECTRA
, 15/62
-
Steps to run XSPECTRA
1 Prepare the GIPAW pseudopotentials2 Extract the core wavefunction ./upf2plotcore.sh pseudo.UPF3 Prepare the (supercell) SCF input file4 Run a SCF calculation: pw.x < prefix.scf.in > prefix.scf.out5 Run XSPECTRA: xspectra.x < prefix.xspectra.in > prefix.xspectra.out
, 16/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 17/62
-
GIPAWGauge independent PAW pseudopotential
The GIPAW pseudopotential includes all the reconstruction informationneeded to run XSPECTRA
needed for the absorbing atom only (non-absorbing atoms acceptany kind of pseudopotential)
contains the following information on the absorbing atom:
the core wavefunction without holethe all electron atomic statesthe Blochl projectors
can be obtained with the atomic code ld1.x
, 18/62
-
Exercise: Generate a C GIPAW in order to calculate the dipolarcontribution at the C K edge in diamond
Projector 1st projector 2nd projectorchannel energy energy
optional s 2s 3smandatory p 2p 3p
Remember that a minimum of 2 projectors/channel is needed !!
, 19/62
-
Generating GIPAW pseudopotentialNo core hole
File ./Gipaw Pseudo Generation/C.ld1.in
&input
title=’C’, ! atomic symbol
prefix=’C’, ! prefix
zed=6.0, ! atomic number
config=’1s2 2s2 2p1.5 3s0 3p0’, ! atomic configuration
iswitch=3,
dft=’PBE’, ! xc functional
rel=1
/
........
”!” marks the beginning of a comment
, 20/62
-
Generating GIPAW pseudopotentialNo core hole
File ./Gipaw Pseudo Generation/C.ld1.in
&input
title=’C’, ! atomic symbol
prefix=’C’, ! prefix
zed=6.0, ! atomic number
config=’1s2 2s2 2p1.5 3s0 3p0’, ! atomic configuration
iswitch=3,
dft=’PBE’, ! xc functional
rel=1
/
........
Atomic configuration of the isolated atom.In the case of C needs a bit of ionization.Since we want to generate projectors at the 2s, 2p, 3s, 3p energies thesestates need to be included.
, 20/62
-
Generating GIPAW pseudopotentialNo core hole
File ./Gipaw Pseudo Generation/C.ld1.in
&input
title=’C’, ! atomic symbol
prefix=’C’, ! prefix
zed=6.0, ! atomic number
config=’1s2 2s2 2p1.5 3s0 3p0’, ! atomic configuration
iswitch=3,
dft=’PBE’, ! xc functional
rel=1
/
........
Exchange correlation functional.Must be the same for all the atoms.
, 20/62
-
Generating GIPAW pseudopotentialNo core hole
File ./Gipaw Pseudo Generation/C.ld1.in
&input
title=’C’, ! atomic symbol
prefix=’C’, ! prefix
zed=6.0, ! atomic number
config=’1s2 2s2 2p1.5 3s0 3p0’, ! atomic configuration
iswitch=3,
dft=’PBE’, ! xc functional
rel=1
/
........
Defaults.No need to touch
, 20/62
-
Generating GIPAW pseudopotentialWith hole
File ./Gipaw Pseudo Generation/C/Ch.ld1.in
&input
title=’Ch’, ! atomic symbol
prefix=’C’, ! prefix
zed=6.0, ! atomic number
config=’1s1 2s2 2p1.5 3s0 3p0’, ! atomic configuration
iswitch=3,
dft=’PBE’, ! xc functional
rel=1
/
........
Keep the same atomic number and put the hole on the 1s state.You can of course define fractional holes (e.g. 1s0.5) but use with care !!
, 21/62
-
Generating GIPAW pseudopotentialWith hole
File ./Gipaw Pseudo Generation/Ch.ld1.in
........
&inputp
file pseudopw=’C.star1s-pbemt gipaw.UPF’,
pseudotype=2 ! type of pseudopotential
lloc=1, ! angular momentum of
! the local channel
tm=.true., ! Trouiller-Martins pseudization
lgipaw reconstruction=.true., ! include GIPAW information
/
........
, 22/62
-
Generating GIPAW pseudopotentialWith hole
File ./Gipaw Pseudo Generation/Ch.ld1.in
........
&inputp
file pseudopw=’C.star1s-pbemt gipaw.UPF’,
pseudotype=2 ! type of pseudopotential
lloc=1, ! angular momentum of
! the local channel
tm=.true., ! Trouiller-Martins pseudization
lgipaw reconstruction=.true., ! include GIPAW information
/
........
2 for norm conserving3 for ultrasoft
, 22/62
-
Generating GIPAW pseudopotentialWith hole
File ./Gipaw Pseudo Generation/Ch.ld1.in
........
&inputp
file pseudopw=’C.star1s-pbemt gipaw.UPF’,
pseudotype=2 ! type of pseudopotential
lloc=1, ! angular momentum of
! the local channel
tm=.true., ! Trouiller-Martins pseudization
lgipaw reconstruction=.true., ! include GIPAW information
/
........
This flag is needed to insert GIPAW reconstruction information
, 22/62
-
Generating GIPAW pseudopotentialWith hole
File ./Gipaw Pseudo Generation/Ch.ld1.in
........
2 ! number of states
2S 1 0 2.0 0 1.5 1.5 ! standard C valence states for
2P 2 1 1.5 0 1.5 1.5 ! pseudization
&test
/
4 ! number of projectors
2S 1 0 2.0 0 1.5 1.5 ! list of projectors
2P 2 1 1.5 0 1.5 1.5
3S 2 0 0.0 0 1.5 1.5
3P 3 1 0.0 0 1.5 1.5
EOF
, 23/62
-
Generating GIPAW pseudopotentialAvailability
Now run:
ld1.x < C.ld1x.in > C.ld1x.out
ld1.x < Ch.ld1x.in > Ch.ld1x.out
to get C.pbe-mt gipaw.UPF and C.star1s.pbe-mt gipaw.UPF pp files
About the notation system:
starNs = core-hole in the Ns state
PBE = the exchange correlation functional
gipaw = contains GIPAW information
Some GIPAW pseudopotentials are already available in the QuantumEspresso pseudopotential table, e.g. Ni.star1s-pbe-sp-mt gipaw.UPF
If not, you may find pslibrary on www.qe-forge.org useful. Add thereconstruction information (gipaw flag + list of projectors) to the existingld1 inputs and generate your own GIPAW pseudopotentials.
, 24/62
-
Generating GIPAW pseudopotentialAvailability
Now run:
ld1.x < C.ld1x.in > C.ld1x.out
ld1.x < Ch.ld1x.in > Ch.ld1x.out
to get C.pbe-mt gipaw.UPF and C.star1s.pbe-mt gipaw.UPF pp files
About the notation system:
starNs = core-hole in the Ns state
PBE = the exchange correlation functional
gipaw = contains GIPAW information
Some GIPAW pseudopotentials are already available in the QuantumEspresso pseudopotential table, e.g. Ni.star1s-pbe-sp-mt gipaw.UPF
If not, you may find pslibrary on www.qe-forge.org useful. Add thereconstruction information (gipaw flag + list of projectors) to the existingld1 inputs and generate your own GIPAW pseudopotentials.
, 24/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 25/62
-
Extracting the core wavefunction
The core wavefunction without hole can be obtained with the ld1.x codeby performing an all electron calculation on the isolated atom.
Alternatively, if you have a GIPAW pseudopotential without core hole youcan use the script upf2plotcore.sh
./upf2plotcore.sh C.pbemt gipaw.UPF > C.wfc
→ C.wfc is needed by XSPECTRA→ a copy of upf2plotcore.sh is saved in ./pseudo
, 26/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 27/62
-
Generating the SCF inputsCalculations with core hole require a supercell
1 use the GIPAW pseudopotentials with core hole for each atom of theabsorbing species
, 28/62
-
Generating the SCF inputsCalculations with core hole require a supercell
1 use the GIPAW pseudopotentials with core hole for each atom of theabsorbing species
2 build a supercell to eliminate spurious interaction between thecore-hole and its periodic images
3 increase gradually the supercell’s dimension until convergence isachieved
Typically 6 to 7 Å are needed between the core hole and its images
, 28/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 29/62
-
Electronic structure generation
File ./Diamond/diamondh.scf.in
&control
calculation=’scf’,
pseudo dir = ’$PSEUDO_DIR/’,
outdir=’$TMP DIR/’,
prefix=’diamondh’,
/
..........
Flag to be specified when performing the electronic structure calculation
, 30/62
-
Electronic structure generationFile ./input/diamondh.scf.in
..........
&system
ibrav = 1, ! type of Bravais lattice
celldm(1) = 6.740256, ! cell parameter
nat=8, ! number of atoms
ntyp=2, ! number of atom types
nbnd=16, ! number of bands
tot charge = 1, ! charge of the cell
ecutwfc=40.0, ! cutoff energy
/
..........
, 31/62
-
Electronic structure generation
File ./input/diamondh.scf.in
..........
&system
ibrav = 1, ! type of Bravais lattice
celldm(1) = 6.740256, ! cell parameter
nat=8, ! number of atoms
ntyp=2, ! number of atom types
nbnd=16, ! number of bands
tot charge = 1, ! charge of the cell
ecutwfc=40.0, ! cutoff energy
/
..........
8 atom supercellThe total charge of the cluster needs to be specified when the core holeis present, to compensate for the extra electron in the empty states.
, 31/62
-
Electronic structure generation
File ./input/diamondh.scf.in
..........
&system
ibrav = 1, ! type of Bravais lattice
celldm(1) = 6.740256, ! cell parameter
nat=8, ! number of atoms
ntyp=2, ! number of atom types
nbnd=16, ! number of bands
tot charge = 1, ! charge of the cell
ecutwfc=40.0, ! cutoff energy
/
..........
The absorbing atom needs to be considered different from the other Catoms. The core hole breaks the symmetry of the crystal.
, 31/62
-
Electronic structure generation
File ./Diamond/diamondh.scf.in
........
ATOMIC SPECIES
C h 12.0 Ch PBE TM 2pj.UPF
C 12.0 C PBE TM 2pj.UPF
ATOMIC POSITIONS crystal
C h 0.0 0.0 0.0
C 0.0 0.5 0.5
C 0.5 0.0 0.5
C 0.5 0.5 0.0
C 0.75 0.75 0.25
C 0.75 0.25 0.75
C 0.25 0.75 0.75
C 0.25 0.25 0.25
K POINTS automatic
4 4 4 0 0 0
EOF
, 32/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 33/62
-
XSPECTRA input file
File ./input/diamondh.xspectra.in
&input xspectra
calculation=’xanes dipole’, ! type of calculation
prefix=’diamondh’,
outdir=’$TMP DIR/’,
xepsilon(1)=1.0; xepsilon(2)=0.0, ! polarization
xepsilon(3)=0.0; xcoordcrys=.true. ! polarization
xiabs=1, ! type of the absorber
ef r=$FERMI LEVEL, ! Fermi energy in Ry
/
........
, 34/62
-
XSPECTRA input file
File ./input/diamondh.xspectra.in
&input xspectra
calculation=’xanes dipole’, ! type of calculation
prefix=’diamondh’,
outdir=’$TMP DIR/’,
xepsilon(1)=1.0; xepsilon(2)=0.0, ! polarization
xepsilon(3)=0.0; xcoordcrys=.true. ! polarization
xiabs=1, ! type of the absorber
ef r=$FERMI LEVEL, ! Fermi energy in Ry
/
........
’xanes dipole’,’xanes quadrupole’If ’xanes quadrupole’, both ~� and ~k need to be specified
, 34/62
-
XSPECTRA input file
File ./input/diamondh.xspectra.in
&input xspectra
calculation=’xanes dipole’, ! type of calculation
prefix=’diamondh’,
outdir=’$TMP DIR/’,
xepsilon(1)=1.0; xepsilon(2)=0.0, ! polarization
xepsilon(3)=0.0; xcoordcrys=.true. ! polarization
xiabs=1, ! type of the absorber
ef r=$FERMI LEVEL, ! Fermi energy in Ry
/
........
Same as for the SCF calculationThe Fermi energy, or LUMO, must be taken from the previous step.Alternatively, it can be calculated in XSPECTRA by settingcalculation=’fermi level’ (insulating case only)
, 34/62
-
XSPECTRA input file
File ./input/diamondh.xspectra.in
&input xspectra
calculation=’xanes dipole’, ! type of calculation
prefix=’diamondh’,
outdir=’$TMP DIR/’,
xepsilon(1)=1.0; xepsilon(2)=0.0, ! polarization
xepsilon(3)=0.0; xcoordcrys=.true. ! polarization
xiabs=1, ! type of the absorber
ef r=$FERMI LEVEL, ! Fermi energy in Ry
/
........
Projections of the polarization vectorxcoordcrys=.true. ⇒ crystal basexcoordcrys=.false. ⇒ cartesian
, 34/62
-
XSPECTRA input file
File ./input/diamondh.xspectra.in
&input xspectra
calculation=’xanes dipole’, ! type of calculation
prefix=’diamondh’,
outdir=’$TMP DIR/’,
xepsilon(1)=1.0; xepsilon(2)=0.0, ! polarization
xepsilon(3)=0.0; xcoordcrys=.true. ! polarization
xiabs=1, ! type of the absorber
ef r=$FERMI LEVEL, ! Fermi energy in Ry
/
........
Rank of the absorbing atom under ATOMIC SPECIES in the electronicstructure calculation input.
, 34/62
-
XSPECTRA input fileParameters controlling the Lanczos process
File ./input/diamond.xspectra.in
&input xspectra
x save file=’diamondh.xspectra.sav’,
xerror=0.001,
xniter=1000,
xcheck conv=50,
xonly plot=.false.
/
........
See explanations on slide no. 12Use xonly plot=.true. to replot spectra from a previous run(stored in the .sav file)
, 35/62
-
XSPECTRA input fileParameters for the plot
File ./input/diamondh.xspectra.in
..........
&plot
xnepoint=300, ! number of energy points
xgamma=0.8, ! core hole linewidth in eV
xemin=-10.0, ! energy min in eV
xemax=30.0, ! energy max in eV
terminator=.true., ! use a terminator for Lanczos (faster!)
cut occ states=.true., ! treatment of occupied states
/
.......
The cut occ states flag controls whether transition below the Fermi levelare considered or not in calculating the cross section.Only cut occ states=.true. has a physical meaning
, 36/62
-
XSPECTRA input fileParameters for the plot
File ./input/diamondh.xspectra.in
..........
&pseudos
filecore=’C.wfc’, ! the core wfc
r paw(1)=3.2, ! PAW radius for l=1 channel
/
&cut occ
cut desmooth=0.1,
/
4 4 4 0 0 0
EOF
, 37/62
-
XSPECTRA input fileParameters for the plot
File ./input/diamondh.xspectra.in
..........
&pseudos
filecore=’C.wfc’, ! the core wfc
r paw(1)=3.2, ! PAW radius for l=1 channel
/
&cut occ
cut desmooth=0.1,
/
4 4 4 0 0 0
EOF
Obtained at the previous step with ./upf2plotcore.sh.
, 37/62
-
XSPECTRA input fileParameters for the plot
File ./input/diamondh.xspectra.in
..........
&pseudos
filecore=’C.wfc’, ! the core wfc
r paw(1)=3.2, ! PAW radius for l=1 channel
/
&cut occ
cut desmooth=0.1,
/
4 4 4 0 0 0
EOF
Radius of the augmentation regionA good choice in general is rpaw = 1.5*rcut with rcut the cutoff radius inthe norm conserving generationDecrease if projectors are linearly dependentDo not touch if in doubt...
, 37/62
-
XSPECTRA input fileParameters for the plot
File ./input/diamondh.xspectra.in
..........
&pseudos
filecore=’C.wfc’, ! the core wfc
r paw(1)=3.2, ! PAW radius for l=1 channel
/
&cut occ
cut desmooth=0.1,
/
4 4 4 0 0 0
EOF
Parameters specifying how to cut smoothly the occupied states (if metal).Full explanation in Ch. Brouder, M. Alouani, K.H. Bennemann in Phys.Rev. B 54 7334 (1996)Accurate but time-consuming. Alternative: use xgamma=0.1 andconvolute as post-process.
, 37/62
-
XSPECTRA input fileParameters for the plot
File ./input/diamondh.xspectra.in
..........
&pseudos
filecore=’C.wfc’, ! the core wfc
r paw(1)=3.2, ! PAW radius for l=1 channel
/
&cut occ
cut desmooth=0.1,
/
4 4 4 0 0 0
EOF
The k point sampling is not necessarily the same as in the SCF run.
, 37/62
-
XSPECTRA output files
prefix.xspectra.out is the talkative file containing information aboutthe run
prefix.xspectra.dat contains the XAS spectrum and can be visualizedwith usual plotting tools (gnuplot, xmgrace)
prefix.xspectra.sav is the save file, containing information on theLanczos process (a and b vectors)
, 38/62
-
XSPECTRA output files
prefix.xspectra.out is the talkative file containing information aboutthe run
prefix.xspectra.dat contains the XAS spectrum and can be visualizedwith usual plotting tools (gnuplot, xmgrace)
prefix.xspectra.sav is the save file, containing information on theLanczos process (a and b vectors)
# final state angular momentum: 1
# broadening parameter (in eV): 0.1
# absorbing atom type: 1
# Energy (eV) sigma
-10.00000000 0.00219117
-9.88988989 0.00229325
-9.77977978 0.00240286
, 38/62
-
XSPECTRA output files
prefix.xspectra.out is the talkative file containing information aboutthe run
prefix.xspectra.dat contains the XAS spectrum and can be visualizedwith usual plotting tools (gnuplot, xmgrace)
prefix.xspectra.sav is the save file, containing information on theLanczos process (a and b vectors)
Keep the save file if you want to:
resume a previously interrupted run
replot spectrum with different
broadeningenergy range
, 38/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 39/62
-
The effect of the core holeC K edge in diamond
Task 1 Apply the previous steps to obtain the spectra with and withoutcore hole, at the C K edge in diamond.
What you’ve already done:generate GIPAW pseudopotentials for C, with and without core holegenerate the core wavefunction without hole C.wfc
What you need to do now:1. Make sure that the C.wfc and C*UPF are in the right directory2. Make sure you have the correct paths in *.scf.in and *.xspectra.in3. Run the SCF calculation:
pw.x < diamond.scf.in > diamond.scf.outpw.x < diamondh.scf.in > diamondh.scf.out
4. Run the XAS calculation:xspectra.x < diamond.xspectra.in > diamond.xspectra.outxspectra.x < diamondh.xspectra.in > diamondh.xspectra.out
What can you tell about the importance of the core hole ?, 40/62
-
The effect of the core holeC K edge in diamond
0.00
0.05
0.10
0.15
0.20
-5 0 5 10 15 20 25 30
XA
S (
u.a
.)
Energy (eV)
C K edge in diamond
with core holeno hole
The effect of the core hole is huge.
It is usually the case when the Fermilevel lies in the same band probed bythe XAS.
What happens when you increase the size of the supercell ?
, 41/62
-
Increasing the size of the supercell
Task 21. Write the SCF input for a larger supercell.2. Perform a XSPECTRA calculation with core hole on this newstructure.
For instance, double the 8 atom supercell in one of the directions⇓
16 atoms.
Check your input with xcrysden –pwi prefix.scf.in
For the sake of comparison, keep a k point sampling equivalent to theone of the 8 atom supercell, both for SCF and XAS calculations.
Precaution For accurate calculations always choose supercells that obeythe symmetry of the crystal. In this case, the 2×2×2 instead of the2×2×1
, 42/62
-
Increasing the size of the supercell
8 atoms supercell
ibrav = 1,
nat=8,
celldm(1) = 6.740256,
celldm(2) = 1,
celldm(3) = 1,
K POINTS automatic
4 4 4 0 0 0
16 atoms supercell
ibrav = 8,
nat=16,
celldm(1) = 6.740256,
celldm(2) = 1,
celldm(3) = 2
K POINTS automatic
4 4 2 0 0 0
, 43/62
-
Increasing the size of the supercell
from M. Taillefumier et al.
Phys. Rev. B 66, 195107 (2002)
+ The appropriate treatment ofthe core hole requires thesolution of the two bodyproblem (Bethe Salpeterequation), but this is veryexpensive.
+ Usually taking into account thecore hole self-consistently is areasonable approximation.
, 44/62
-
C K edge in diamond
Choose one of the two cases (with or without hole).
Task 31. Add another projector to the l = 1 channel.2. Re-run the SCF and XAS calculations.3. Check the linear dependence of the projectors (see *xspectra.out)
Task 4 Eliminate one of the projectors for the l = 0 channel. Whathappens ?
Task 5 Calculate the dipolar spectrum for another polarization direction,e.g. (123), and compare to the (100). Use the 8 atom supercell.
, 45/62
-
Number of projectorsC K edge in diamond
0.00
0.05
0.10
-5 0 5 10 15 20 25 30
XA
S (
u.a
.)
Energy (eV)
C K edge in diamond
3 proj l=12 proj l=1
This is a typical example where 3 projectors / l=1 channel are needed.
Adding a projector will never shift the positions of peaks in the spectra,at most it affects intensities.
Projectors for the l=0 channel are not important @ K edges.
, 46/62
-
Polarization effectsTensor formalism
+ The XAS of non cubic samples depends on the orientation of thepolarization.
+ The absorption tensor of the crystal obeys the symmetry of thespace group
+ The atomic absorption tensors obey the specific point groupsymmetry
Cubic (e.g. diamond):
σ =
σ0 0 00 σ0 00 0 σ0
Hexagonal (e.g. SiO2):
σ =
σ|| 0 00 σ|| 00 0 σ⊥
for dipolar E1-E1 transitions only !
, 47/62
-
Polarization effectsTensor formalism
+ The XAS of non cubic samples depends on the orientation of thepolarization.
+ The absorption tensor of the crystal obeys the symmetry of thespace group
+ The atomic absorption tensors obey the specific point groupsymmetry
(�∗x �∗y �∗z )
σxx σxy σxzσyx σyy σyzσzx σzy σzz
�∗x�∗y�∗z
, 47/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 48/62
-
Si K edge in SiO2Linear dichroism
Task 6 Calculate the spectra for in plane (σ||) and out of plane (σ⊥)polarizations.
1. ./upf2plotcore.sh Si PBE TM 2pj.UPF > Si.wfc2. pw.x < SiO2.scf.in > SiO2.scf.out3. xspectra.x < SiO2.xspectra plane.in > SiO2.xspectra plane.out4. xspectra.x < SiO2.xspectra c.in > SiO2.xspectra c.out
Task 7 Check that the spectra are invariant for any � ⊥ Oz
Task 8 Try to restart the Lanczos from a previously interrupted run (fileSiO2.xspectra restart 1.in). Check the manual page(./References/INPUT XSPECTRA.txt) for more information.
1. Use the time limit keyword to interrupt a run2. Use restart mode = ’restart’ to resume3. Check the output *.out
, 49/62
-
Si K edge in SiO2Linear dichroism
0.0000
0.0025
0.0050
0.0075
-5 0 5 10 15 20 25 30 35 40
XA
S (
u.a
.)
Energy (eV)
Si K edge in SiO2
in planeout of plane
The dipolar spectrum for a given polarization direction can be expressed as alinear combination of these two elementary spectra.
The dipolar spectrum for a powder: σiso =σ100+σ010+σ001
3
, 50/62
-
Si K edge in SiO2Converged results
C. Gougoussis et al. in Phys. Rev. B 80, 075102 (2009)
, 51/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
4 ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
5 Summary
, 52/62
-
Ni K edge in NiOThe magnetic primitive cell
File ./input/NiO.scf.in:
&system
ibrav = 5, celldm(1) =9.67155, celldm(4)=0.8333333333,
starting magnetization(1)=1.0, starting magnetization(2)=-1.0,
tot magnetization = 0
/
ATOMIC SPECIES
Ni 58.6934 Ni PBE TM 2pj.UPF
B 58.6934 Ni PBE TM 2pj.UPF
O 15.9994 O PBE TM.UPF
ATOMIC POSITIONS crystal
Ni 0.0000000000 0.0000000000 0.0000000000
B -.5000000000 1.5000000000 -.5000000000
O 0.7500000000 -.2500000000 -.2500000000
O -.7500000000 0.2500000000 0.2500000000
The magnetic primitive cell contains two Ni atoms AF-coupled., 53/62
-
Ni K edge in NiODipolar E1-E1 and quadrupolar E2-E2 contributions
Task 10 Calculate the dipolar and quadrupolar contributions to thespectra for one of the absorbing Ni.
1. ./upf2plotcore.sh Ni PBE TM 2pj.UPF > Ni.wfc2. pw.x < NiO.scf.in > NiO.scf.out3. xspectra.x < NiO.xspectra fermi.in > NiO.xspectra fermi.out4. xspectra.x < NiO.xspectra dip.in > NiO.xspectra dip.out5. xspectra.x < NiO.xspectra qua.in > NiO.xspectra qua.out
, 54/62
-
Ni K edge in NiODipolar E1-E1 and quadrupolar E2-E2 contributions
0.0000
0.0005
0.0010
0.0015
0.0020
0.0025
0.0030
0 5 10 15 20
XA
S (
u.a
.)
Energy (eV)
Ni K edge in NiO
quadrupole x 15dipole
Dipolar contribution always dominates, due to the higher overlap withthe 1s radial function.
, 55/62
-
Ni K edge in NiOSpin resolved signal
Plot the up and down contributions to the spectra.File NiO *.dat:
# final state angular momentum: 1
# broadening parameter (in eV): 0.900000000000
# absorbing atom type: 1
# Energy (eV) sigmatot sigmaup sigmadown
-10.00000000 0.00001279 0.00000644 0.00000635
-9.89966555 0.00001289 0.00000649 0.00000640
-9.79933110 0.00001298 0.00000654 0.00000645
-9.69899666 0.00001308 0.00000659 0.00000650
, 56/62
-
Ni K edge in NiOSpin resolved signal
0
4
8
12
16
0 5 10 15 20
XA
S (
u.a
.)
Energy (eV)
Ni K edge in NiO
dipole E1-E1
updown
0.0
0.5
1.0
1.5
2.0
-2 0 2 4 6 8 10 12 14
XA
S (
u.a
.)
Energy (eV)
Ni K edge in NiO
quadrupole E2-E2
updown
, 57/62
-
Ni K edge in NiOSpin resolved signal
Task 11 Calculate the second Ni atom and compare with the first one.
Hint: use xiabs = 2 in NiO.xspectra-qua.in
, 58/62
-
Ni K edge in NiOSpin resolved signal
Task 11 Calculate the second Ni atom and compare with the first one.
Hint: use xiabs = 2 in NiO.xspectra-qua.in
0.0
0.5
1.0
1.5
2.0
-2 0 2 4 6 8 10 12 14
XA
S (
u.a
.)
Energy (eV)
Ni K edge in NiO
Up states in
quadrupole E2-E2
transitions
Ni1 upNi2 up
Ni1 ↑ = Ni2 ↓Ni1 ↓ = Ni2 ↑
+Ni1 ≡ Ni2
Calculating only one of the two Ni is enough, since they are symmetry related(time reversal symmetry)
, 58/62
-
Ni K edge in NiOSpin resolved signal
Task 11 Calculate the second Ni atom and compare with the first one.
Hint: use xiabs = 2 in NiO.xspectra-qua.in
0.0
0.5
1.0
1.5
2.0
-2 0 2 4 6 8 10 12 14
XA
S (
u.a
.)
Energy (eV)
Ni K edge in NiO
Up states in
quadrupole E2-E2
transitions
Ni1 upNi2 up
Ni1 ↑ = Ni2 ↓Ni1 ↓ = Ni2 ↑
+Ni1 ≡ Ni2
Task 12 Turn the antiferromagnet into a feeble ferrimagnet.
Hint: Lower the accuracy in the SCF run (pedagogical purpose only).Check what happens.
, 58/62
-
1 The PAW theory
2 The Lanczos algorithm
3 Hands on XSPECTRA
4 Examples
5 Summary
, 59/62
-
XSPECTRA features
calculates K and L1 edges (dipole E1-E1 and quadrupole E2-E2 withlinear polarization)
supports all standard DFT functionals available in QuantumEspresso (PZ,PBE,PZ+U,PBE+U)
supports both ultrasoft and norm conserving pseudopotentials
the pseudopotential of the absorbing species must containinformation on the core states (GIPAW)
the all electron reconstruction is performed within GIPAW
the summation over the empty states is done using a Lanczosalgorithm and a continued fraction approach
a supercell is needed to model the core hole
Not yet supported:
spin-orbit coupling
circular polarization
hybrid functionals
, 60/62
-
XSPECTRA features
calculates K and L1 edges (dipole E1-E1 and quadrupole E2-E2 withlinear polarization)
supports all standard DFT functionals available in QuantumEspresso (PZ,PBE,PZ+U,PBE+U)
supports both ultrasoft and norm conserving pseudopotentials
the pseudopotential of the absorbing species must containinformation on the core states (GIPAW)
the all electron reconstruction is performed within GIPAW
the summation over the empty states is done using a Lanczosalgorithm and a continued fraction approach
a supercell is needed to model the core hole
Not yet supported:
spin-orbit coupling
circular polarization
hybrid functionals
, 60/62
-
History
First implementation of XAS calculation using the PAW method belongsto M. Taillefumier, D. Cabaret, A. M. Flank, F. Mauri in Phys. Rev. B66, 195107 (2002).
norm conserving
dipolar E1-E1 transitions
The method was improved and ported in Quantum Espresso by C.Gougoussis, M. Calandra, A. P. Seitsonen, and F. Mauri in Phys. Rev. B80, 075102 (2009).
norm conserving and ultrasoft pseudopotentials
dipolar E1-E1 and quadrupolar E2-E2 transitions
supports DFT+U
Please cite these works if you use XSPECTRA results in yourpublications, as well as P. Giannozzi et al. in J. Phys. Condens. Matter21, 395502 (2009)
, 61/62
-
Please feel free to contact me: bunau at unizar.es
, 62/62
The PAW theoryThe Lanczos algorithmHands on XSPECTRAPrepare the GIPAW pseudopotentialsExtracting the core wavefunctionPrepare the (supercell) SCF input fileRun a SCF calculationRun XSPECTRA
ExamplesC K edge in diamondSi K edge in SiO2Ni K edge in NiO
Summary