Skip to content
/ SPM Public

finite volume solver for radiative transfer equation

License

Notifications You must be signed in to change notification settings

vavrines/SPM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SPM: Finite Volume Solver for Radiative Transfer

CI License: MIT

The SPM framework is a high-performance open source platform for solving the linear Boltzmann equation, which is commonly adopted to describe radiative transfer. The implementation solvers includes SN (discrete ordinate), PN (spherical harmonics), and MN (moment closure) methods. A short description of kinetic theory can be found here.

Build

Required dependencies

  • Compiler with C++17 support
  • cmake >= v3.16
  • LAPACK
  • OpenMP
  • MPI
  • python3
  • VTK
  • git

Obtain submodules

Note that an active internet connection is required for the first build in order to download the suitable versions of the required submodules! For the first build only, download all submodules:

git submodule update --init --recursive

Compile the code

The executable file can be build with cmake workflow:

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ../
make -j N

Run

Execute the compiled binary by handing over a valid config file, e.g.:

./SPM ../input/linesource_SN.cfg

In order to run the code in parallel execute:

OMP_NUM_THREADS=N mpirun -np J ./SPM ../examples/linesource_SN.cfg

with N equal to the number of shared memory threads and J equal to the number of distrubuted memory threads.

About

finite volume solver for radiative transfer equation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published