1D Neutron Transport Equation Solver
Computational Physics, Python, Reactor Physics
This project was a computational physics exercise for a Reactor Physics course, where I developed a 1D steady-state neutron transport solver. The goal was to numerically model neutron behavior in a multi-material slab geometry, a fundamental concept in nuclear engineering and reactor design. This project was written in **Python**, showcasing my ability to translate complex physical principles into a working computational model.
Technical Approach
- **Modeling:** The solver is based on the **Boltzmann Transport Equation (BTE)**, which was simplified to a 1D form for slab geometry, with assumptions of isotropic scattering and a steady-state, monoenergetic system[cite: 1, 6, 8, 11].
- **Numerical Method:** The solution was achieved using the **discrete ordinates method ($S_N$)** to handle angular discretization and an **upwind finite difference scheme** for spatial discretization[cite: 33, 59]. This approach ensures numerical stability and accurately models the directionality of neutron motion.
- **Implementation:** The solver was implemented in **Python** using libraries like NumPy and Matplotlib. It performs iterative angular sweeps to solve for the scalar flux until convergence is achieved[cite: 84, 85].
Results and Discussion
The final output is a plot of the relative neutron flux across different material regions: **Fuel**, **Moderator ($D_2O$)**, and a **Reflector (Be)**. The results, as seen in the figure above, show excellent agreement with theoretical predictions from my coursework, with a characteristic peak in the fuel region and kinks at the material interfaces[cite: 96, 114, 115]. The solver converged in as few as 10 iterations, demonstrating its efficiency[cite: 116].
For a complete technical breakdown and access to the code, you can view the full report and the GitHub repository.