First principles calculation of ELNES/XANES using CASTEP

 

Teruyasu Mizoguchi

English Ver.2021812

Institute of Industrial Science, The University of Tokyo
[
Mizoguchi Research Laboratory]

 

This page describes the first-principles calculation method of ELNES/XANES using the CASTEP code, which is the first principles pseudopotential method. We will explain a technique using a GUI called Materials Studio of the Dassault system. In this paper, the O-K end of magnesium oxide (MgO) is calculated as an example. CASTEP uses files with .cell, .param, .castep extensions, but the name before the extension is case.castep in this article.

 

If you are License holder of CASTEP source code, you may already have .elnes file. Then, please go to "Calculate Theoretical transition energy" below.

 


1.Constructing supercell using Materials Studio

The first step is to create a model of MgO, which can be obtained from Materials Project, Mat navi, or other databases, or from a space group and atomic coordinates. In this case, go to the Materials Studio menu File-> Import, go to the Structures shortcut, and call MgO.msi in Metal-oxides.

 

In the above figure, oxygen is shown in red and Mg in green. This structure is a unit cell of the rock-salt type structure, so it is changed to a primitive cell to reduce the computational cost.

 

A primitive cell of MgO consisting of two atoms, Mg 1 O 1, is created. Ground-state calculations (band structure, density of states, etc.) are performed using the primitive cell with an increased number of k-points. However, a core-hole effect, which is essential for the ELNES/XANES calculations, cannot be calculated accurately using this primitive cell.

The core-hole affects to the electronic state very much. In the case of band structure calculation, the cell to be calculated is extended (periodic boundary condition), so that interactions occur between the core-hole-introduced atoms (excited atoms) in the neighboring cells (see the figure below).

 

 

 

Thus, we need to use an extended cell (supercell) instead of a small primitive (or unit) cell to reduce the interactions between atoms with core-hole. Previous studies have shown that it is necessary to keep 1 nm (10 Å) separation between atoms with core-hole. Here, for rapid computation, we use a 2x2x2 super cell, which is a 2x2x2 expansion of the MgO primitive cell as shown below. (Officially, you need to use more than 54atoms supercell for the accurate simulation of O-K edge of MgO).

 

 

For instance, a 16-atom supercell can be generated by multiplying by 2 x 2 x 2, as shown below.

 

 

Here, it should be mentioned that the symmetry of the crystal goes to P1 (no symmetry) when you construct the supercell using the Materials Studio.

 


2.Introduction of core-hole

Since we are going to calculate the K-edge of oxygen, we will choose an oxygen atom by click. It doesn't matter which oxygen you choose. In the "Line" view, it is difficult to understand, so right-click and select "Ball and stick" in the Display style, and select one oxygen atom. In this example, the oxygen atom in the lower left corner of the cell (yellow) is selected.

 

To introduce an inner-shell vacancy into this oxygen, select Modify-> Electronic Configuration from the menu while it is selected.

 

 

Select the rightmost tab "Core hole" in the window that appears.

 

Normally, the "Shell" is in the ground state, so the "Shell" column is set to None. To calculate the K-edge of oxygen, we introduce core-hole in 1s.

 

 

After selecting 1s, close the window. To check whether the core-hole has really been introduced, select Edit->Atom Selection and click

 

  

 

In the window that appears, select "Contain Core Hole" in the Select by Property: field, and then select the atom with the core hole. To make it easier to understand, we will use the Display style to change the size of the ball for the atom with the core hole.

 

 

Next, Material Studio set the symmetry to be P1 when you make the supercell, and since it is inefficient to compute with P1, we will give symmetry to the supercell.

 

Here, you have to be careful because the symmetry will be searched only by element type when you use the default settings of "Find symmetry". In this case, we are introducing core-hole, and we should distinguish between the excited state oxygen with core-hole and the ground state oxygen without core-hole. For this, select Options on the right tab of the Find symmetry window, and select CoreShellWithHole.

 

 

Then, go to "Find symmetry".

 

 

You may get Fm-3m symmetry, then impose symmetry.

 

 

As a result, a super cell that extends the Unit cell is created as shown in the above figure. This time, we want to perform the calculation of a super cell that is 2 x 2 x 2 of the primitive cell, so select Build->Symmetry->Primitive Cell again to make it the (expanded) primitive cell.

 

 

Then you can obtain the following supercell.

 

 

Now, you have the supercell to be simulated!!

 


3.Running CASTEP

Next, select the CASTEP icon from the toolbar and select Calculation.

 

The CASTEP Calculation window will be launched. Each tab is explained below. First, let's look at the Set up tab.

 

First, since MgO is not Metal, uncheck Metal.

(Here, it depends on your Materials Studio version. If your Materials Studio is 2019 or newer, I have confirmed it is OK. But it is old version, like 2018, you need to set Charge to -1. This is old Materials studio’s bug!! This operation is necessary to correct Material Studio's arbitrary setting of the cell's charge to +1 when the core hole is in the supercell. This bug was fixed in at least Ver.2019-2021!! )

 

Next, go to Electronic tab

 

First, select Use core-hole in the lower left corner. In order to introduce a core-hole, the type of pseudopotential must be On the fly (OTFG), which means that the pseudopotential is created "on the fly".

In the case of ELNES/XANES calculations, the Energy cutoff and k-points are particularly important for theoretical transition energies. It is necessary to compare calculations under several conditions (e.g., Medium, Fine, Ultra-fine) to verify the accuracy of the calculations.

 

Lets go to Properties tab.

 

Select Core level spectroscopy to calculate ELNES/XANES. The Energy range is the number of eV behind the absorption edge. 25eV means you can get the spectrum up to 25eV behind the absorption edge. If you increase this value, the calculation time will be very long. Actually, ELNES simulation is almost 10~100 times time consuming than SCF simulation!!

 

k-point set is a k-point for the ELNES/XANES calculation. k-point set is also available in Electronic tab, but Electronic tab has k-points for SCF calculation, and Properties tab has k-points for calculating the spectrum based on the result of SCF calculation. The more k-points you have, the smoother the spectrum will be, but it will take more time to calculate.

 

Next, lets go to Job control tab.

 

 

Run in parallel is the number of cores on the PC. Also, Runtime optimization is set to Default, but if you set it to Speed, all temporary files are stored in memory.

 


4.Visualization of ELNES/XANES spectrum

After the simulation was finished, Materials studio will be like below

 

 

Then, lets go to Analysis of the Castep button(as below)

 

 

Next, select the MgO.xsd file used for the calculation, select the oxygen that introduced the core-hole (the big red oxygen), and select Core level spectroscopy in the CASTEP Analysis window.

 

 

In the Core level spectroscopy section of CASTEP Analysis, select More as shown above. Then, the following window is launched.

 

 

Here you can set the width of the broadening. At the bottom, there is a checkpoint called "Normalize spectrum". Remove this checkpoint. Otherwise the spectral intensity was normalized by the topmost peak of your spectrum.

 

Next, go back to the CASTEP Analysis window. In addition, you can select Absorption or Emission in Type, and Unpolarized or Polarized in Calculation. If there is an anisotropy in the electronic structure of an atom of interest, the spectrum will show an orientation dependence. In the case of MgO, there is no anisotropy in either oxygen or Mg, so select Unpolarized and press view.

 

 

Press "View" to display the O-K-edge ELNES/XANES of the selected oxygen atom in the Materials Studio window. In this case, the following spectra were obtained.

If you look at the horizontal axis, you can see that the peak rises from zero. This indicates that the transitioned electrons are at the bottom of the conduction band (the calculation is well done!!). Next, let's look at the values at the top of the vertical axis. You can see that the value is not normalized (non-one).

 

To get text file of this graph, please copy (Ctrl+c) this.

 

 

Then, you can paste (Ctrl+v) it to Excel or other text editor as below.

 

 


5.Calculate Theoretical transition energy

 

Finally, lets calculate the theoretical transition energy using the simulated data. Details are described in the article: T. Mizoguchi et al. J. Phys.: Cond. Matter.,21 (2009) 104204-1-6.

First, you have to simulate "Ground state" as below.

 

 

Actually, you do not need to simulate the spectrum. SCF simulation of the ground state is enough to calculate the transition energy.

Now, you have performed two simulations, that is Excited/Final state and Ground state. To obtain the transition energy, you need following 6 values (which have been already simulated).

 

1.Total energy @ Ground state  à this value is around middle of case.castep.

2.Total energy @ Final state   à this value is around middle of case.castep.

3.Single atom total energy @ Ground state   à this value is around initial of case.castep.

4.Single atom total energy @ Final state   à this value is around initial of case.castep.

5.Single atom valence energy @ Ground state   à this value is around initial of case.castep.

6.Single atom valence energy @ Final stateà this value is around initial of case.castep.

 

This is very simple math. For convenience, you can use this Excel file (Here)The file is as follows (sorry this is Japanese version Excel, but it must be used in any Languages).

 

 

Column-E is "Theoretical transition energy" (x-axis) and Columnn-F is "Theoretical spectrum" (y-axis). The mathematics is as below : (please see above reference for detail!!)

 

 

ETE is the transition energy. By using above 1~6 values, you can obtain each values as below:

 

ΔEvalence= 2 - 1

ΔEcore(atom)= (4 – 3) – (6 – 5)

*ΔEAll orbitals (atom)= 4 – 3,ΔEvalence (atom)= 6 - 5

 

First, lets copy and paste the spectrum data from Materials Studio at B1-cell as below:

 

 

Then, lets input values in the 1st column.

1.Total energy @ Ground state  à this value is around middle of case.castep.

2.Total energy @ Final state   à this value is around middle of case.castep.

 

 

This "Final energy" at Ground state and Final state are 1. and 2., respectively. Input these values as below:

 

 

Then, lets obtain following values:

3.Single atom total energy @ Ground state   à this value is around initial of case.castep.

4.Single atom total energy @ Final state   à this value is around initial of case.castep.

For instance, the value 3 is given as below in case.castep file.

 

 

The corresponding value at the final state is as below:

 

 

Now, you can see the number of electron at 1s orbital is one (1s1) at the Final state. Input these values as values of 3. and 4. as below.

 

 

5.Single atom valence energy @ Ground state   à this value is around initial of case.castep.

6.Single atom valence energy @ Final stateà this value is around initial of case.castep.

 

Next is 5 and 6. Please find "Pseudo atomic calculation performed for" in your case.castep file.

For instance, you may find following values. This is the valence energy of ground state.

 

 

The final state is as blow:

 

 

Be care that you have introduced core-hole at O:2 (Not O:1!!), so you have to use the valence energy of O:2. Input these values in 5 and 6.

 

 

Congratulations! Now you got the transition energy to be around 541.8eV!! This value is the threshold energy of the calculated spectrum. You also obtain the theoretical spectrum with theoretical transition energy.

 

 


Reference

CASTEP:

"First principles methods using CASTEP"

S. J. Clark, M. D. Segall, C. J. Pickard, P. J. Hasnip, M. J. Probert, K. Refson and M. C. Payne,

Z. Kristallogr., 220, 567570 (2005).

 

CASTEP-ELNES/XANES:

"First principles calculation of spectral feature, chemical shift, and absolute threshold of ELNES and XANES using plane wave pseudopotential method"

T. Mizoguchi, I. Tanaka, S Gao, and C.J. Pickard,

J. Phys.: Cond. Matter.,21 (2009) 104204-1-6.

 

Liquid ELNES/XANES using CASTEP:

"An estimation of molecular dynamic behaviour in a liquid using core-loss spectroscopy"

Y. Matsui, K. Seki, H. Hibara, T. Mizoguchi

Scientific Reports, 3 (2013) 3503-1-7.  [free access]

 

Gas ELNES/XANES using CASTEP:

"Estimation of the molecular vibration of gases using electron microscopy"

H. Katsukura, T. Miyata, M. Shirai, H. Matsumoto, and T. Mizoguchi

Scientific Reports, 7 (2017), 16434-1-9. [free access]

 

First principles simulation of ELNES/XANES using one-particle (DFT-GGA/LDA), two-particle (BSE), and multi-particle (CI) methods:

"Basics and Applications of ELNES calculation" (Invited Review)

H. Ikeno and T. Mizoguchi

Microscopy, 66 (2017) 305327. [free access]

 

"Theoretical ELNES: one particle and many particle calculations"(Invited Review)

T. Mizoguchi, W. Olovsson, H. Ikeno, and I. Tanaka

Micron 41 (2010) 695709.

 

Acknowledgements:

Students in my group, Prof. Hidekazu Ikeno@Osaka Pef. Univ., Prof. Kobayashi@ Kyoto Inst. Tech., Mr. Saito@JEOL, Dr. A. Chatterjee@BIOVIA, Prof. Chris J. Pickard @Cambridge University, Prof. SP. Gao@Fudan University, and Prof. Isao Tanaka@Kyoto University.