-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues related to lower frequency amplitude points in diffraction patterns. #116
Comments
Hi, The large number of spots would be a result of low symmetry, which is expected when you rotate a crystal in an arbitrary direction. Rotating crystals in arbitrary directions with multislice is not trivial. We are working on making this possible, but it is not available right now. I need to know what atomic model you are trying to simulate and why you want to simulate this to give a more detailed answer.
Our code is very well tested against this. Can you check it again? if you continue to get the same issue, send me the code, and I will try to reproduce it. |
I don't think these square bright spots are caused by a lack of symmetry in my crystal structure, but by limitations in the FFT code itself, as mentioned in this link below. I'm trying to use abtem to generate some diffraction maps at different rotation angles to train my deep learning model, and I've been unsuccessful, so I'm now refocusing on the part of the abtem code that deals with the FFT. Below is my code. `import matplotlib.pyplot as plt a2 = ase.io.read("/home/phD/xiankang/abtem/examples/data/Fe_Im-3m.cif") atoms *= repetitions atoms.center(vacuum=None, axis=2) atoms.rotate(60, 'z', center='cop') fig, (ax1,ax2,ax3) = plt.subplots(1, 3, figsize=(15, 10)) gridpoints = 2048 exit_wave = wave.multislice(potential) exit_wave.array.shape diffracte=exit_wave.diffraction_pattern(max_angle=50, block_zeroth_order=2) diffracte.show(power=.25) a = get_array_module(exit_wave) |
Please also provide the .cif file so that we can reproduce the simulation. |
Hi Toma, This is the .cif file I used for my simulation, I converted it to text because github doesn't support this format. |
Thanks for the structure file and the code. Your rotated structure model is unphysical – the atoms do not fit into the simulation cell and thus the structure is not periodic: Furthermore, the atoms that fall outside the simulation cell are in fact wrapped into the cell, making them overlap and causing an entirely unphysical potential. Any simulation of exit waves or diffraction patterns for such a structure is nonsensical and thus we cannot conclude anything from what you see there. As Jacob mentioned above, arbitrary rotations in multislice simulations are very tricky, and while we are working on a solution, it's not ready to be shared yet. For specific rotation angles along high-symmetry axes, you might be able to use orthogonalize_cell as described here, but it will not be a general solution by any means. |
Please keep an eye on the related issue to hear when we are able to share our general solution: |
Hi Toma,
I tried to calculate the diffraction pattern of a 101010 FCC Fe after rotating its supercell. Since the program obtains the diffraction pattern by calculating the Fourier transform of the exit wave, this results in a large number of bright spots due to low frequencies in the calculated image. What can be done to solve this problem?
Also, I recalculated the Fourier transform of the exit wave using numpy, and the calculations show that the amplitude spectrum does not match the diffraction profile obtained from the abtem calculations.
The text was updated successfully, but these errors were encountered: