Skip to main content

Calculate diffraction patterns from first principles

Project description

License: GPL v3 Python Versions PyPI PyPI - Wheel

DiffSim

Introduction

DiffSim provides an atomistic approach to efficiently simulate Bragg coherent x-ray diffraction imaging (BCDI) diffraction patterns by factorising and eliminating certain redundancies in the conventional approach. The method used is able to reduce the computation time by several orders of magnitude without compromising the recovered phase information and therefore enables feasible atomistic simulations on nanoscale crystals with arbitrary lattice distortions.

Please cite the following article when using Diffsim in published work:

Ahmed Mokhtar, David Serban and Marcus Newton, Simulation of Bragg coherent diffraction imaging, J. Phys. Commun. Volume 6, 055003 (2022)

Installation

DiffSim requires:

  • Python >= 3.7
  • Numba >= 0.58.1
  • NumPy >= 1.25.0
  • scipy
  • mpi4py

Installation via pip:

$ pip install diffsim

Reporting Bugs

Please send any bugs, problems, and proposals to: Bonsu.Devel@gmail.com or visit: http://github.com/bonsudev/diffsim

Library Usage and Examples

Example scripts are available in the examples folder.

Version History

Version 1.2 🗓 ️(02/11/2023)

🔧 Minor bug fixes.

Version 1.1 🗓 ️(29/10/2023)

✨ Refactored code for speed improvements.
✨ Added attenuation and refraction corrections.
🔧 Minor bug fixes.

Version 1.0 🗓 ️(14/09/2022)

✨ First major release. 

Licence

GNU GPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffsim-1.2.tar.gz (52.1 kB view hashes)

Uploaded Source

Built Distribution

diffsim-1.2-py3-none-any.whl (43.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page