Skip to content

Instantly share code, notes, and snippets.

@MrCheatak
Created December 6, 2023 20:44
Show Gist options
  • Select an option

  • Save MrCheatak/a20c5d767fd442b6e1a877c7edd048b7 to your computer and use it in GitHub Desktop.

Select an option

Save MrCheatak/a20c5d767fd442b6e1a877c7edd048b7 to your computer and use it in GitHub Desktop.
Charged particle Monte Carlo scattering simulations

Particle scattering simulation software based on Monte Carlo approach

Description

The simulations colected here present an outlook on the current open-source projects (maintained and abundened) that support particle scattering parallelization in any form.

State: 05.12.2023

A simple chraged particle scattering simulation. Only elastic scattering is implemented with Rutherford Differential cross-section. The scattering occurs in a semi-infinite bulk material. The simulation utilizes a fixed trajectory length appoach, where particles path is terminated when a maximum path length is reached.

Features
  • Maintained

  • A hybrid Single/Plural Scattering model

  • Goudsmit-Saunderson(GS) theory for angular distribution

  • Rutherford elastic cross-section

  • Language: C++

  • Parallelization: GPU (Cuda)

Extra links

A Multi-Slice Algorithm (MSA) based simulation with the focus on efficient parallelization.

Features
  • Abandoned

  • Language: Python

  • Parallelization: GPU (Cuda)

Extra links
# [mcgpu](https://code.google.com/archive/p/mcgpu/) A simple chraged particle scattering simulation. Only elastic scattering is implemented with Rutherford Differential cross-section. The scattering occurs in a semi-infinite bulk material. The simulation utilizes a fixed trajectory length appoach, where particles path is terminated when a maximum path length is reached.
Features
  • Maintained

  • A hybrid Single/Plural Scattering model

  • Goudsmit-Saunderson(GS) theory for angular distribution

  • Rutherford elastic cross-section

  • Language: C++

  • Parallelization: GPU (Cuda)

Extra links
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment