Skip to content

Repository files navigation

OpenEdge

License: GPL-2.0 C++17 Platform

A kinetic transport package for plasma-material and plasma-wall interactions.

OpenEdge evolves neutrals, impurity ions, and dust/droplets in prescribed plasma and magnetic backgrounds, with surface and volume interactions (sputtering, reflection, recycling, ionisation, recombination, CX, dissociation). Used for edge / SOL transport studies, PMI / PWI workflows, and plasma-wall.

Build

CPU build (MPI):

git clone https://github.com/ORNL-Fusion/OpenEdge.git
mkdir buildOpenEdge && cd buildOpenEdge
cmake -C ../OpenEdge/cmake/presets/mpi.cmake ../OpenEdge/cmake -DPKG_OPENEDGE=ON
make -j$(nproc)

Produces ./src/spa_mpi.

GPU build (Kokkos + CUDA):

mkdir buildOpenEdge_gpu && cd buildOpenEdge_gpu
cmake -C ../OpenEdge/cmake/presets/kokkos_cuda.cmake ../OpenEdge/cmake \
    -DPKG_OPENEDGE=ON -DPKG_KOKKOS=ON \
    -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_AMPERE80=ON
make -j$(nproc)

Set Kokkos_ARCH_* to your GPU (AMPERE80, HOPPER90, VOLTA70, PASCAL60).

Optional VTK output (enables the grid/vtk, surf/vtk, and particle/vtk dump styles, for ParaView/VisIt):

cmake -C ../OpenEdge/cmake/presets/mpi.cmake ../OpenEdge/cmake \
    -DPKG_OPENEDGE=ON -DPKG_VTK=ON

Requires an external VTK installation (>= 7.1; both pre- and post-8.90 component naming are handled). Works with any preset, including the GPU build.

Run a case

CPU (MPI):

cd OpenEdge/examples/workflows/west_impurity_transport
mpirun -np 8 ../../../../buildOpenEdge/src/spa_mpi -in in.axi_west_emission

GPU (Kokkos + CUDA, one rank per GPU):

mpirun -np 1 ../../../../buildOpenEdge_gpu/src/spa_mpi \
    -k on g 1 -sf kk -in in.axi_west_emission

Quick sanity check of the whole suite:

./regression/run_regression.sh --exe path/to/spa_mpi

Outputs (log, dumps, surface tallies) land in the case directory. See each leaf README.md under examples/ for case-specific post-processing.

Requirements

  • CMake >= 3.18, C++17 compiler (GCC, Clang, ICC)
  • HDF5 with C++ bindings (+MPI for distributed runs)
  • MPI (OpenMPI or MPICH)
  • VTK >= 7.1 (optional, only for -DPKG_VTK=ON)

Documentation

Per-feature reference docs live under docs/ — fixes, computes, converters, performance, migration guides. Start at docs/index.md.

License

GPL-2.0, following SPARTA. See LICENSE for details.

About

Direct Simulation Monte Carlo transport of charged and neutral particles in fusion edge plasmas

Topics

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages