slokhorst / e-scatter

Fast simulator for physical scattering processes in materials

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

e-scatter

Fast CUDA-enabled simulator for electron scattering processes in materials.

Build Status

Building

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

Usage

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.

Testing

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

Creating materials

The material files contain most of the physics involved.

About

Fast simulator for physical scattering processes in materials


Languages

Language:C++ 52.6%Language:Cuda 30.9%Language:Python 14.4%Language:CMake 1.7%Language:GLSL 0.2%Language:QMake 0.1%Language:M 0.1%