Discrete Ordinates Mini-App.
A multigroup discrete ordinates radiation transport solver for 1D/2D/3D orthogonal cartesian grids. This started as project for MCSC 6020U at Ontario Tech; it is under continuous improvement for my final projects in NPRE 555 and NPRE 560 at UIUC. This toy transport solver currently implements:
- Transient calculations using the transient fixed source method (constant delayed neutron precursor fission source between timesteps);
- Power iteration for criticality eigenvalue (k_eff) calculations;
- Gauss-Seidel iteration for converging the in-scattering and fission matrices;
- Scattering source iteration;
- Parallel-in-angle naive transport sweeps;
- Theta-weighted upwinded diamond differences for spatial discretization;
- Arbitrary cartesian meshes with an input syntax similar to MOOSE's CartesianMeshGenerator.
- OpenMP (included by default in GCC 4.2.0). If on Ubuntu and using older GCC compilers:
sudo apt install libomp-dev
.
Eigenfluxes in a 2D, 3 group subcritical assembly: cases/2D_assembly_eig.xml
Eigenfluxes in a 3D, 3 group subcritical assembly: cases/3D_assembly_eig.xml
Source-driven fluxes in a 3D, 3 group subcritical assembly: cases/3D_assembly_fs.xml
Scalar flux in the fixed-source Kobayashi benchmark (problem 3): cases/3D_kobayashi_3.xml