X-Ray Spectroscopy (XAS, XES, ROCIS)

Computational core-level (or X-ray ) spectroscopy has been implemented in ORCA in various ways. Currently, X-ray absorption and emission calculations can be performed in a few different ways using either a ground-state or time-dependent DFT formalism. In the future, it is expected that currently developed wavefunction approaches (such as using the ROCIS methodology) will replace DFT approaches.

K-edge X-ray Absorption spectra with TD-DFT

Calculating K-edge XAS spectra with time-dependent DFT (TD-DFT) is almost like doing a regular TD-DFT calculation, the difference being that you restrict the excitation window by allowing only excitations from a particular orbital (i.e. the 1s orbital for K-edges etc.) and you account for quadrupole contributions to the total intensity.

- The following calculation is performed at the ZORA-B3LYP level and uses the RIJCOSX approximation which considerably speeds up hybrid TD-DFT calculations a lot (see Figure 1 in TDDFT chapter).

- Note that when using the RI-J/RIJCOSX approximation it is not unusual to see a rather large systematic error of up to 3 eV in the transition energies (as compared to NORI calculations). While this seems uncomfortably large, this is a systematic error due to the contraction of the basis set in the core region and will not matter when comparing relative energies of peaks in the spectrum. To approach more closely the NORI result for absolute transition energies, one can decontract the auxiliary basis set (DecontractAux keyword).


! UKS B3LYP ZORA-def2-TZVP def2/J RIJCOSX TightSCF ZORA

%tddft
orbwin[0] = 0,0,-1,-1 # Selecting the alpha set (orbwin[0]). Selecting donor orbital range : 0 to 0 (Mo 1s orbital only) and acceptor orbital range: -1 to -1 (meaning all virtual orbitals)
orbwin[1] = 0,0,-1,-1 # Selecting the beta set in the same way as the alpha set. Not necessary if system is closed-shell.
doquad true # Calculate quadrupole contributions.
nroots 60 # Setting the number of roots (transitions) to be calculated.
maxdim 10 # Setting the scaling of maximum dimension of the expansion space.
end

If a molecule contains more than one atom of the XAS element and the 1s orbitals are symmetry equivalent it may be necessary to localize them first. This should only be done when necessary. Can lead to artifacts if done when not necessary.

%tddft
XASLoc[0] = 0,1 # Localizing alpha orbitals of range 0 to 1.
XASLoc[1] = 0,1 # Localizing beta orbitals of range 0 to 1.
.....
end

Plotting the Mo K-edge XAS spectrum (with quadrupole contributions) in the 20000-21000 eV range, 1 eV broadening and 5000 points:

orca_mapspc jobname.out ABSQ -eV -x020000 -x121000 -w1.0 -n5000

See Printing and visualization for more details on using orca_mapsc.

X-ray Emission Spectra from ground-state DFT (Contributor : TK)

X-ray emission spectra can be calculated in ORCA by a ground-state DFT procedure where orbital energy differences are used as approximations to the transition energies. Below is an example for calculating the Fe X-ray emission spectrum of an arbitrary open-shell iron complex. See Lee et al. or ORCA Manual for more on the XES implementation in ORCA.

! UKS BP86 def2-TZVP(-f) def2/J TightSCF SlowConv COSMO grid4 nofinalgrid Normalprint

# specifying the CP(PPP) basis set for Fe

%basis newgto Fe "CP(PPP)" end
end

%xes
CoreOrb 0,0
OrbOp 0,1
DoQuad true
end

# Coreorb 0,0: lists the core orbital(s) that act as the acceptor orbitals; in UKS calculations (this example) the orbital number needs to be defined twice; for RKS this number needs to be specified only once (“0”)

# OrpOp 0,1 : defines the spin-manifold for the core orbital (here α (=0) and β (=1)); in this example the calculation is done with UKS, and therefore both orbital operators need to be defined. Again, for RKS only “0” needs to be specified.

#DoQuad : include quadrupole contributions to the XES intensity

To include spin-orbit coupling in the calculation, the lines CoreOrbSOC and DoSOC true should be added:

%xes
CoreOrb 0,0
OrbOp 0,1
CoreOrbSOC 0,1 # Core orbitals defined again for SOC.
DoSOC true
end

The list of orbitals in CoreOrbSOC should refer to the orbitals you want after spin-orbit coupling has been applied. This list of orbitals is a single set of orbitals with the original alpha and beta orbitals appearing one after the other
It is usually best to look at the ORCA output after SOC has been applied (guess the CoreOrbSOC orbitals to begin with):

SOC CORRECTED OCCUPIED ORBITALS

-------------------------------

E[ 0] = -13513.500 eV: ( 0.985 i* -0.175)| 0a>

E[ 1] = -13513.476 eV: ( 0.990 i* -0.142)| 0b>

E[ 2] = -7651.911 eV: ( 0.984 i* 0.175)| 1a>

E[ 3] = -7651.910 eV: ( -1.000 i* -0.000)| 1b>

E[ 4] = -1742.354 eV: ( 0.949 i* 0.314)| 2a>

E[ 5] = -1742.338 eV: ( 1.000 i* -0.000)| 2b>

E[ 6] = -1571.038 eV: ( -0.000 i* -0.578)| 4a> ( -0.576 i* 0.000)| 5a> ( 0.578 i* 0.000)| 3b>

E[ 7] = -1571.018 eV: ( 0.578 i* 0.001)| 3a> ( 0.001 i* -0.577)| 4b> ( 0.577 i* 0.001)| 5b>

Here one can usually easily identify the desired orbitals (the orbitals should have roughly the same energy as before SOC).

The resulting regular XES spectrum can be plotted using orca_mapspc:

orca_mapspc filename.out XESQ -eV -x040 -x18000 -w2.5 -n5000

where -x040 -x18000 is the spectral range to be plotted (40 eV to 8000 eV), 2.5 eV is the broadening width and 5000 is the number of calculated points.

To get a SOC-corrected spectrum:

orca_mapspc filename.out XESSOC -eV -x040 -x18000 -w2.5 -n5000

The output can also be directly opened with MOAnalyzer for further analysis of the spectra.

X-ray Absorption spectra from ground-state DFT

It is also possible get X-ray absorption spectra based on a ground-state DFT calculation and this is in fact automatically performed by the XES module when requesting the calculation of the X-ray emission spectra as shown above. The same defined core orbitals (CoreOrb X,Y) are used to calculate an XAS spectrum. Note that in contrast to the TDDFT module, a list of orbitals is defined, not a range. The transition energies are then calculated by simple orbital energy differences of occupied and virtual orbitals. Reliable transition energies can only be expected from this approach when using pure (non-hybrid) functionals as only then is the orbital energy difference a well-defined approximation to the transition energy. Note that the TDDFT approach to XAS spectra is usually recommended for better results. The simplicity and low computational cost of this method has its advantages, however.

%xes
CoreOrb 0,0
OrbOp 0,1
end

# Coreorb 0,0: lists the core orbital(s) that act as the XAS donor orbital(s); in UKS calculations (this example) the orbital number needs to be defined twice.

# OrpOp 0,1 : defines the spin-manifold for the core orbital (here α (=0) and β (=1)); in this example the calculation is done with UKS.

The XAS spectrum from the ORCA XAS/XES job can be plotted using orca_mapspc:

orca_mapspc test.out XASQ -eV -x06000 -x18000 -w1.0 -n5000

where -x06000 -x18000 is the spectral range to be plotted (6000 eV to 8000 eV), 1.0 eV is the broadening width and 5000 is the number of calculated points.

ROCIS calculations of L-edge spectra

Todo...

X-ray Emission spectra by RAS-CI calculations

Todo...