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 ..
make
To 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 test
The 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