/DeepMD-EM

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Contributors Forks Stargazers Issues GPLv3 License


Logo

DeepMD-EM

Mulitislice electron scattering simulation with realistic phonon and deep potential
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

Scanning transmission electron microscopy (STEM) is widely used for probing the crystal structure, chemistry and electronic structure at the atomic scale. To quantify the observed signals, we need to run detailed electron scattering simulations using the multislice algorithm -- treating materials as collections of slices (i.e. atomic planes) that electrons get scattered at those slices and freely propagate between slices.

Among different contributions, thermal diffuse scattering dominates the observed diffraction intensities at high angles. Since the incident electrons travel fast as compared to the vibration period of the atoms, the atoms are seen as a frozen snapshot. The traditional frozen phonon calculation uses the uncorrelated Einstein model of phonons generation that displaces atoms in 2D with Dybe-Waller factors extracted from bulk experimental measurements or simulations. This approach clearly breaks down for atoms at the surface of nanoparticles or at the interface of heterophase which are of general interest to material science. In addition, the detailed phonon correlation and anisotropy may affect the fine structure of imaging, diffraction and spectroscopy that are largely unexplored until now.

To close this gap, here we developed a workflow (based on dflow) to use realistic phonon configurations generated from deep potential molecular dynamics for electron scattering simulations. For the molecular dynamics, we designed a heating strategy to reach the targeted thermal equilibrium with DeepMD potential and EAM potential tested. For the scattering simulation, the STEM intensity was calculated for each phonon configuration and then incoherently summed over phonon configurations. After testing the bulk crystal cases, we will explore surfaces, interfaces and crystal defects which are otherwise difficult for conventional frozen phonon scattering simulations.

The code is still in its early stage and heavily under development.

(back to top)

Built With

To run the workflow, please install the following packages:

(back to top)

Getting Started

To get code running locally, let's first create a conda environment.

conda create -n deepmd-em python=3.8
conda activate deepmd-em

Then, install the required packages.

Prerequisites

  • dflow
pip install pydflow
  • python-multem
export CUDACXX=${PATH_TO_CUDA}/bin/nvcc
python -m pip install git+https://github.com/rosalindfranklininstitute/python-multem.git@master
  • lammps-dp
conda install -c deepmodeling lammps-dp
  • phononpy
pip install phonopy
  • phonoLAMMPS
pip install phonoLAMMPS

Installation

Then we can install the DeepMD-EM code.

git clone https://github.com/zezhong-zhang/DeepMD-EM.git
pip install -e DeepMD-EM

(back to top)

Usage

To run the workflow, please check the tutorials for the MD simulation, phonon calculation and the scattering simulation.

The proper Documentation is under construction

(back to top)

Roadmap

Science

  • Check the Debye-Waller factors in agreement with experiments
  • Check the phonon DOS and band strcuture in agreement with DFT
  • Compare STEM scattering cross-sections from the DeepMD and Einstein model results
  • Explore surfaces, interfaces and crystal defects and investigate the phonon effects for atom counting under realistic doses

Engineering

  • Add phonon calculations to dflow OP
  • Add multem calculations to dflow OP
  • Add unit tests
  • Add documentation

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GPLv3 License. See LICENSE.txt for more information.

(back to top)

Contact

Zezhong Zhang - zezhong.zhang@uantwerpen.be

Project Link: https://github.com/zezhong-zhang/DeepMD-EM

(back to top)

Acknowledgments

  • Thanks to Dr. Ivan Lobato, Prof. Sandra Van Aert and Prof. Dirk Lamoen for their support and suggestions.
  • Readme page based on Best-README-Template

(back to top)