Computational Nuclear Engineering and Radiological Science Using Python provides the necessary knowledge users need to embed more modern computing techniques into current practices, while also helping practitioners replace Fortran-based implementations with higher level languages. The book is especially unique in the market with its implementation of Python into nuclear engineering methods, seeking to do so by first teaching the basics of Python, then going through different techniques to solve systems of equations, and finally applying that knowledge to solve problems specific to nuclear engineering.
Along with examples of code and end-of-chapter problems, the book is an asset to novice programmers in nuclear engineering and radiological sciences, teaching them how to analyze complex systems using modern computational techniques.
For decades, the paradigm in engineering education, in particular, nuclear engineering, has been to teach Fortran along with numerical methods for solving engineering problems. This has been slowly changing as new codes have been written utilizing modern languages, such as Python, thus resulting in a greater need for the development of more modern computational skills and techniques in nuclear engineering.
- Offers numerical methods as a tool to solve specific problems in nuclear engineering
- Provides examples on how to simulate different problems and produce graphs using Python
- Supplies accompanying codes and data on a companion website, along with solutions to end-of-chapter problems
Part I Introduction to Python 1. Getting Started in Python 2. Digging Deeper into Python 3. Functions, Scoping, and Other Fun Stuff 4. NumPy and Matplotlib 5. Dictionaries and Functions as Arguments 6. Testing and Debugging
Part II Numerical Methods 7. Gaussian Elimination 8. LU Factorization and Banded Matrices 9. Iterative Methods for Linear Systems 10. Interpolation 11. Curve Fitting 12. Closed Root Finding Methods 13. Newton's Methods and Related Root-Finding Techniques 14. Finite Difference Derivative Approximations 15. Numerical Integration with Newton-Cotes Formulas 16. Gauss Quadrature and Multi-dimensional Integrals 17. Initial Value Problems 18. One-Group Diffusion Equation 19. One-Group k-Eigenvalue Problems 20. Two-Group k-Eigenvalue Problems
Part III Monte Carlo Methods 21. Introduction to Monte Carlo Methods 22. Non-analog and Other Monte Carlo Variance Reduction Techniques 23. Monte Carlo Eigenvalue Calculations
Part IV Appendices Appendix A. Installing and Running Python Appendix B. Jupyter Notebooks
Ryan McClarren is Associate Professor in the Department of Aerospace and Mechanical Engineering at the University of Notre Dame. He has spent his professional career educating students in the mathematics and computation required for modern engineering. His research centers around the study of uncertainties in large-scale simulation, and numerical methods for radiation transport problems. Additionally, he is the author of 44 publications in refereed journals and has been the editor of a special issue of the journal Transport Theory and Statistical Physics. He is well known in the computational nuclear engineering community and has research awards and grants from the NSF, DOE, and three national labs.