Fast CUDA-enabled simulator for electron scattering processes in materials.
Dependencies of the core simulator:
- C++14 compiler (tested with GCC 5)
- CUDA 8.0 or newer
- CUB
- CMake 3.8 or newer
Build the program:
cd e-scatter
mkdir build
cd build
cmake ..
makeTo also build all of the utilities, append -DWITH_UTILS=ON to the cmake command.
Dependencies required to build the utilities:
- Boost
- muParser
- ImageMagick
- FFTW
- SDL2
- OpenGL
- GLEW
The main program is located at bin/csdem. It requires a geometry file, which
can be generated with bin/line-gen, and an exposure file, which can be
generated with scripts/pri-gen.py.
To run the unit tests, the googletest library should be available in the
3rdparty directory; clone it from github and run cmake with -DWITH_TEST=ON.
cd 3rdparty
git clone https://github.com/google/googletest.git
mkdir -p ../build
cd ../build
cmake .. -DWITH_TEST=ON
make
make testThe material files contain most of the physics involved.
-
ELSEPA can be downloaded from the Computer Physics communications Program library. It has an attribute-only license for non-commercial use. We use ELSEPA to compute Mott cross-sections.
-
Livermore database EPDL97 or ENDF/B-VII.1