Determining the three-dimensional atomic structure of a amorphous solid
Yao Yang1*, Jihan Zhou1*, Fan Zhu1*, Yakun Yuan1*, Dillan Chang1, Dennis S. Kim1, Minh Pham2, Arjun Rana1, Xuezeng Tian1, Yonggang Yao3, Stanley Osher2, Andreas K. Schmid4, Liangbing Hu3, Peter Ercius4 & Jianwei Miao1†
1Department of Physics & Astronomy and California NanoSystems Institute, University of California, Los Angeles, CA 90095, USA.
2Department of Mathematics, University of California, Los Angeles, CA 90095, USA.
3Department of Materials Science and Engineering, University of Maryland, College Park, Maryland, 20742, USA.
4National Center for Electron Microscopy, Molecular Foundry, Lawrence Berkeley National Laboratory, Berkeley, CA 94720, USA.
*These authors contributed equally to this work.
†Correspondence and requests for materials should be addressed to J.M. (miao@physics.ucla.edu).
Amorphous solids such as glass are ubiquitous in our daily life and have found broad applications ranging from window glass and solar cells to telecommunications and transformer cores. However, due to the lack of long-range order, the three dimensional (3D) atomic structure of amorphous solids have thus far defied any direct experimental determination. Here, using a glass-forming alloy as a proof-of-principle, we advanced atomic electron tomography to determine the 3D atomic positions and chemical species in an amorphous solid with a precision of 21 picometer. We quantified the short-range order (SRO) and medium-range order (MRO) of the 3D atomic arrangement and measured the size, shape, volume, and structural distortion of the MROs. The experimental data and source codes for the 3D image reconstruction and post analysis are provided here.
We recommend a computer with 16G DRAM, standard i7 4-core CPU, and a GPU to run most data analysis source codes. But for the 3D reconstruction of the experimental data with RESIRE, atomic tracing and the determination of the MROs, we recommend a computer with large memory (256G DRAM, 16-core CPU and 1 GPU).
This package has been tested on the following Operating System:
Linux: CentOS 6 2.6.32
Windows: Windows 10 18368.778
Mac OSX: We have not tested it on a Mac yet, but it should in principle work.
This package has been tested with Matlab
R2019b. All the codes have to run in their own folders. We recommend the use of Matlab
version R2018a or higher to test the data and source codes.
Folder: Measured_data
This folder contains 55 experimental projections after denoising and alignment as well as their corresponding angles.
Folder: RESIRE_package
Run the sample code Main_RESIRE_sample.m to get the 3D reconstruction of a smaller test object. Run the main code Main_RESIRE_MG.m
to obtain the 3D reconstruction of the multi-component glass-forming sample.
Folder: Final_reconstruction_volume
This folder contains the 3D volume of the glass-forming nanoparticle reconstructed from Main_RESIRE_MG.m
.
Folder: Tracing_and_classification
Run the code Main_polynomial_tracing.m
to trace the initial atomic positions from the reconstructed 3D volume. After the manual checking of the 3D atomic positions, run the code Main_classification.m to classify the eight elements in the sample into three different types: Co and Ni as type 1, Ru, Rh, Pd and Ag as type 2, and Ir and Pt as type 3.
Folder: Position_refinement
Run the code Main_position_refinement.m
to refine the 3D atomic coordinates in the glass-forming nanoparticle.
Folder: Final_coordinates
The final 3D atomic model and chemical species (i.e. type 1, 2 and 3) of the glass-forming nanoparticle.
Folder: Data_analysis_sro
Run the code Main_1_pdf_and_boo_calculation_all_atoms.m
to calculate the radial distribution function and the bond orientation order parameter for all the atoms in the glass-forming nanoparticle; Run the code Main_2_pdf_calculation_amorphous_region.m
to compute the radial distribution function and pair distribution function for all the amorphous atoms in the sample; Run the code Main_3_voronoi_calculation_amorphous_region.m
to determine the Voronoi indices for all the atoms in the sample.
Folder: Data_analysis_mro
Run the code Main_1_potential_mro.m
to identify the possible MROs based on the breadth first search algorithm; Run the code Main_2_final_mro.m
to determine the final MROs in the glass-forming nanoparticle.
Folder: Supplementary_Figures
This file contains four Supplementary Figures.