/cyrsoxs

Cy-RSoXS Forward Simulator for Resonant Soft X-Ray Scattering

Primary LanguageC++MIT LicenseMIT

CyRSoXS: GPU enabled RSoXS simulation

  • CyRSoXS is a GPU-accelerated codebase that calculates resonant X-ray scattering in the Born Approximation. It takes a voxel-based model and optical constants as input, and returns simulated X-ray scattering patterns. These models can be derived from real space measurements (AFM, TEM, 4DSTEM), or synthetically generated using procedural morphology generators. Currently, it supports both 32 bit and 64 bit float data types.

  • The code can be executed through Python (enabled through Pybind11) or directly through the executable.

Version : 1.1.5.0

The developer version of the CyRSoXS code is available at https://bitbucket.org/baskargroup/CyRSoXS, and all stable future releases will be merged with the current usnistgov repository.

Dependencies

Required Dependencies

  • A C++ compiler with C++14 support is required.
  • gcc >= 7 (CUDA specific versions might have GCC requirements )
  • Cuda Toolkit (>=9)
  • HDF5
  • OpenMP

Additional dependencies for building with Pybind

  • Python >= 3.6

Additional dependencies for building without Pybind

  • libconfig

Optional Dependencies

  • Doxygen
  • Docker

Running CyRSoXS with Docker

The Docker image for CyRSoXS is available at Docker Hub. This comes installed with Nvidia toolkit and other dependencies. See docs/DOCKER.md for detailed instructions on how to build CyRSoXS with the Docker image.

Contributors

This software was developed at Iowa State University in collaboration with NIST. The Iowa State team provided expertise in high performance computing, and the NIST team provided scientific expertise on the RSoXS technique.

Iowa State University

NIST

Acknowledgement

We thank the Office of Naval Research Multidisciplinary University Research Initiative (ONR MURI) Center for Self-Assembled Organic Electronics for providing support for this work.

Frequently Asked Questions

See docs/FAQ.md for some of the known issues or Frequently asked questions.

Contact

Questions and comments should be sent to Dr. Baskar Ganapathysubramanian at baskarg@iastate.edu, Dr. Adarsh Krishnamurthy adarsh@iastate.edu, or Dr. Dean DeLongchamp at dean.delongchamp@nist.gov