Electron Microscopy Simulation in Python: Multislice Method (2)

And now, for something completely different... By the way, it is a continuation of the previous article. I'm sorry I ended up halfway last time. Please be assured that this article will conclude.

Previous article: Electron microscope simulation with Python: Multislice method (1)

The code is GitHub [^ 1]

Note again: If you are simulating as a hobby (hereinafter referred to as hobby ration), it is difficult to determine whether the result is really correct, and the result shown here may not be physically correct. I would appreciate it if you could point out any mistakes.

Error (aberration) due to the performance of the electron microscope

At the end of the previous article, I said that multi-slice calculations alone are not enough to simulate crystal structures. Specifically, what is lacking is that the multi-slice calculation alone does not take into account the difference from the ideal system due to the nature of the electron microscope, which is the observation instrument. It is not limited to electron microscopes, but when simulating measurements, the purpose is mostly to analyze the measurement results. Therefore, the simulation needs to be as close to the measurement system as possible. There are many differences (aberrations) from the ideal system that can be considered with an electron microscope. Among them, spherical aberration and chromatic aberration are particularly effective for the crystal structure image by HREM.

Spherical aberration

Spherical aberration is an aberration caused by the objective lens of an electron microscope. When an electron beam enters the objective lens, the electron beam incident at an angle close to perpendicular to the objective lens (parallel to the optical axis) properly gathers on the image plane, but the electron beam incident at an angle from the optical axis The focus will be on the distance from the image plane. The blurring of the image due to this is spherical aberration. The magnitude of spherical aberration changes depending on the performance of the objective lens. Spherical aberration is expressed by the following formula. $ \chi(\alpha) = \frac{2\pi}{\lambda}(C_S \frac{\alpha^4}{4} - \Delta f\frac{\alpha^2}{2}) $ $ \ Alpha $ is the scattering angle (the angle between the optical axis and the scattered electron beam), $ C_S $ is the spherical aberration coefficient, which is a constant unique to the performance of the objective lens, and $ \ Delta f $ is the amount of defocus (de). Focus amount). At this point, a seemingly unrelated variable called the defocus amount came out. In fact, by using this change in the amount of defocus, it is possible to observe spherical aberration in the opposite direction. Last time, I said that the phase difference between transmitted and diffracted waves can be observed in the crystal structure image. Diffracted waves under weak phase object approximation $ \psi = \{1 - 2\pi i\sigma V_p \} \psi_0 = \psi_0 - 2\pi i\sigma V_p \psi_0 $ is. The expression that appeared last time is rewritten as $ \ sigma = 1/2 \ lambda E $ for simplicity. Looking at the second term on the right side, we can see that the phase of the diffracted wave changes with respect to the transmitted wave by $-\ pi / 2 $. However, as it is, it is a complex component and is not reflected as an image. Therefore, the phase is intentionally changed by $-\ pi / 2 $ due to spherical aberration. Spherical aberration is adjusted by the amount of defocus. When calculated back as $ \ chi (\ alpha) =-\ pi / 2 $, the defocus amount $ \ Delta f $ is $ \Delta f = 1.2(Cs\lambda)^{1/2} $ It is calculated by. The coefficient has a deviation from 1.1 to 1.2. This amount of defocus is especially called Shelzer focus. Even if the amount of defocus is adjusted, the range in which the phase difference is properly reflected as the contrast on the image is limited. The function that indicates how much the phase difference is reflected with respect to the scattering angle is called the phase contrast transfer function (CTF) and is expressed as follows. $ CTF(\alpha) = cos \{-\frac{\pi}{2} + \chi(\alpha) \} $ As a test, I tried plotting CTF with $ C_S = 0.5 mm $ and $ \ alpha = 0 ~ 0.02 $ below. fig1.png Considering that the phase contrast is reflected properly at $ CTF = -0.5 $, it can be said that if $ \ alpha $ is around 0.0025 to 0.0125, it is within the acceptable range. Since the black and white of the image is inverted when the CTF positive or negative changes, the phase contrast will be messed up where the positive or negative of the CTF after $ \ alpha = 0.0125 $ fluctuates greatly. Now that you know the CTF trends, let's plot the CTF in the range calculated in the previous article. fig2.png Considering only spherical aberration, it was found that the phase contrast seems to be correct in almost the entire range.

chromatic aberration

Chromatic aberration is another factor that has a large effect on the crystal structure image. Color refers to wavelength. Chromatic aberration is due to the width of the electron beam energy. The difference in wave energy is the difference in wavelength, so it is the difference in color. The electron beam emitted from the electron gun of the electron microscope has a spread (fluctuation) of about $ \ Delta E / E = 10 ^ {-5} $ or less. Furthermore, the current of the lens that collects the electron beam also has the same fluctuation $ \ Delta J / J . The focus shift due to chromatic aberration is proportional to these, $ \frac{\Delta f}{f} \propto \frac{\Delta E}{E} - 2\frac{\Delta J}{J} $$ Furthermore, assuming that $ \ Delta f / f $ follows a Gaussian function, the original defocus amount is $ \ Delta f_0 . $ W(\Delta f) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(\Delta f - \Delta f_0)^2}{2\sigma^2}} $$ The symbol is confusing, but $ \ sigma $ here is the deviation of the Gaussian function. $ \sigma = Cc[(\frac{\Delta E}{E})^2 + (\frac{\Delta J}{J})^2]^{1/2} $ $ C_C $ is called the chromatic aberration coefficient. From the above, chromatic aberration $ E_C $ is $ E_C = e^{-\frac{1}{2}(\pi^2\sigma^2\frac{\alpha^4}{\lambda^2})} $ It will be. Below is a plot of chromatic aberration over the CTF. fig3.png Let's look at the previous calculation range as before. fig4.png If you make a crystal structure image based on these, you should be able to make a more correct image.

program

Spherical aberration and chromatic aberration are calculated in advance and convolved into $ \ Psi_ {out} $ output from the multi-slice calculation. $ \psi = F[\Psi_{out}e^{i\chi}E_C] $ Spherical aberration

Cs = 0.5e-3
deltaf = 1.2*(Cs*lamb)**(1/2)
hkl = [h, k, 0]
thkl = np.transpose(hkl)
dk = 1/((np.matmul(np.matmul(invG, thkl), hkl))**(1/2))
u = self.lamb/(2*dk)
chi = 2*np.pi/lamb
chi = chi*(1/4*self.Cs*u**4 - 1/2*deltaf*u**2)

chromatic aberration

deltaE = 1.0e-6
deltaJ = 0.5e-6
Cc = 1.4e-3
sig = Cc*((deltaE)**2 + (2*deltaJ)**2)**(1/2)
hkl = [h, k, 0]
thkl = np.transpose(hkl)
dk = 1/((np.matmul(np.matmul(invG, thkl), hkl))**(1/2))
u = lamb/(2*dk)
w = np.exp(-(1/2)*(np.pi**2)*(u**4)*(sig**2)/(lamb**2))

α-Fe, [001] Incident, accelerating voltage 200 keV, $ C_S $ = 0.5 mm, $ C_C $ = 1.4 mm, $ \ Delta E / E $ = 1.0 μm, $ \ Delta J / J $ = 0.5 μm Then, the crystal structure image looks like this. fig5.png When $ C_S $ is set to 0.5 μm, it becomes as follows. The image is clearer. A microscope with a small aberration coefficient is a good microscope. fig6.png

Summary

It's been a long time, but I made a simulation of the crystal structure image with HREM. Actually, there are some parameters such as convergence angle that have not been taken into consideration yet, so I hope to improve them in the future.

References

-JEOL Ltd. Glossary

code

Recommended Posts

Electron Microscopy Simulation in Python: Multislice Method (1)
Electron Microscopy Simulation in Python: Multislice Method (2)
Simplex method (simplex method) in Python
Private method in python
Implement method chain in Python
Suppressing method overrides in Python
X-ray diffraction simulation in Python
Try implementing extension method in python
Implemented label propagation method in Python
Simulate Monte Carlo method in Python
Hash method (open address method) in Python
Method to build Python environment in Xcode 6
Alignment algorithm by insertion method in Python
Numerical Simulation in Python (2)-Diffusion-Limited Aggregation (DLA)
Quadtree in Python --2
CURL in python
Metaprogramming in Python
Python 3.3 in Anaconda
Geocoding in python
SendKeys in Python
Meta-analysis in Python
Unittest in python
Learn the design pattern "Template Method" in Python
I tried the least squares method in Python
Discord in Python
To dynamically replace the next method in python
DCI in Python
quicksort in python
nCr in python
N-Gram in Python
Programming in python
Plink in Python
ambisonics simulation python
Constant in python
Lifegame in Python.
FizzBuzz in Python
Sqlite in python
StepAIC in Python
N-gram in python
LINE-Bot [0] in Python
Csv in python
Disassemble in Python
Reflection in Python
Constant in python
nCr in Python.
format in python
Scons in Python3
Puyo Puyo in python
python in virtualenv
PPAP in Python
Try implementing the Monte Carlo method in Python
Quad-tree in Python
Reflection in Python
Chemistry in Python
Johnson method (python)
Hashable in python
DirectLiNGAM in Python
LiNGAM in Python
Flatten in python
[Python] Semi-Lagrange method
flatten in python