A comprehensive tutorial series for physics students exploring nuclear data and machine learning applications in the validation process.
This project provides hands-on tutorials for downloading, visualizing, and analyzing neutron cross-section data from multiple nuclear databases. The tutorials are designed to help students understand nuclear data sources and prepare them for applying machine learning techniques to the validation process.
- Understand nuclear cross-sections and their importance
- Access and download data from major nuclear databases
- Visualize cross-section data across different energy ranges
- Compare evaluated libraries with experimental measurements
- Prepare datasets for machine learning applications
ML4ND/
βββ tutorials/ # Jupyter notebook tutorials
β βββ 00_Introduction.ipynb
β βββ 01_ENDF_Data.ipynb
β βββ 02_EXFOR_Data.ipynb
β βββ 03_TENDL_Data.ipynb
β βββ 04_JANIS_API.ipynb
βββ data/ # Downloaded nuclear data (created during tutorials)
β βββ endf/
β βββ exfor/
β βββ tendl/
β βββ janis/
βββ requirements.txt # Python dependencies
βββ README.md # This file
- Python 3.8 or higher
- Jupyter Notebook or JupyterLab
- Basic knowledge of Python and physics
- ~5 GB free disk space (for nuclear data files)
-
Clone or download this repository:
cd ML4ND -
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install required packages:
pip install -r requirements.txt
-
Launch Jupyter:
jupyter notebook
-
Navigate to the
tutorials/directory and start with00_Introduction.ipynb
File: 00_Introduction.ipynb
- What are nuclear cross-sections?
- Types of reactions (fission, capture, elastic scattering)
- Overview of nuclear data sources
- Why machine learning for validation?
Duration: 20-30 minutes
File: 01_ENDF_Data.ipynb
Topics covered:
- Understanding evaluated nuclear data
- Downloading ENDF data from JANIS web interface
- Loading and visualizing cross-section data
- Understanding MT numbers (reaction types)
- Comparing multiple reactions
- Preparing data for machine learning
Key concepts:
- Evaluated vs experimental data
- MT numbers and reaction types
- Energy regions (thermal, resonance, fast)
- Fissile vs fissionable isotopes
- Using JANIS for easy CSV export
Duration: 30-45 minutes (no installation complexity!)
File: 02_EXFOR_Data.ipynb
Topics covered:
- Accessing experimental measurements
- Using the IAEA EXFOR database
- Working with measurement uncertainties
- Comparing multiple experiments
- Comparing experimental data with evaluations
Key concepts:
- Experimental uncertainties
- Data validation
- Scatter between experiments
- Residual analysis
Duration: 45-60 minutes
File: 03_TENDL_Data.ipynb
Topics covered:
- Automated vs manual evaluations
- Accessing TENDL data
- Comparing TENDL with ENDF
- Working with exotic isotopes
- Understanding evaluation uncertainties
Key concepts:
- Systematic evaluations
- Extended isotope coverage
- Uncertainty quantification
- Evaluation methodologies
Duration: 45-60 minutes
File: 04_JANIS_API.ipynb
Topics covered:
- Accessing multiple libraries simultaneously
- Comparing ENDF, JEFF, JENDL, TENDL, CENDL
- Statistical analysis of library differences
- Using library spread for uncertainty estimation
Key concepts:
- Multi-library validation
- International cooperation in nuclear data
- Evaluation uncertainty
- Ensemble methods
Duration: 45-60 minutes
- ENDF/B-VIII.0 (USA): https://www.nndc.bnl.gov/endf/
- JEFF-3.3 (Europe): https://www.oecd-nea.org/dbdata/jeff/
- JENDL-5.0 (Japan): https://wwwndc.jaea.go.jp/jendl/
- TENDL-2021 (PSI/IAEA): https://tendl.web.psi.ch/
- EXFOR (IAEA): https://www-nds.iaea.org/exfor/
- JANIS (OECD NEA): https://www.oecd-nea.org/janisweb/
These tutorials prepare data for various ML applications:
- Anomaly Detection: Identify unusual patterns in experimental data
- Interpolation: Predict cross-sections at unmeasured energies
- Uncertainty Quantification: Estimate evaluation uncertainties
- Data Comparison: Systematic comparison of experimental vs evaluated data
- Pattern Recognition: Find systematic errors or trends
- Ensemble Methods: Combine multiple evaluations
- Start with Tutorial 0: It provides essential background
- Run cells sequentially: Each notebook builds on previous cells
- Explore the data: Modify parameters to test different isotopes
- Save your work: Data downloads can take time
- Ask questions: Nuclear data is complex - confusion is normal!
Each tutorial generates:
- Visualizations: High-quality plots of cross-section data
- Data files: CSV files for further analysis
- Comparisons: Side-by-side library and experiment comparisons
All outputs are saved to the data/ directory.
# If OpenMC fails to install, try:
conda install -c conda-forge openmc- Some databases require registration (free)
- Check your internet connection
- Use university network if available (better bandwidth)
- Reduce the number of energy points in examples
- Close other applications
- Consider processing data in chunks
- "Introduction to Nuclear Engineering" - Lamarsh & Baratta
- "Nuclear Reactor Analysis" - Duderstadt & Hamilton
- ENDF Format Manual: https://www.nndc.bnl.gov/endfdocs/
- IAEA Nuclear Data Services: https://www-nds.iaea.org/
- "Hands-On Machine Learning" - AurΓ©lien GΓ©ron
- scikit-learn documentation: https://scikit-learn.org/
- NumPy documentation: https://numpy.org/doc/
- Matplotlib tutorials: https://matplotlib.org/stable/tutorials/
This is an educational project. If you find errors or have suggestions:
- Document the issue clearly
- Suggest improvements
- Share interesting findings!
If you encounter issues:
- Check the troubleshooting section
- Review the notebook markdown explanations
- Consult the official documentation for each database
- Ask your instructor or peers
After completing these tutorials, consider:
- Exploring other isotopes (Pu-239, Fe-56, etc.)
- Analyzing other reaction types (capture, elastic, inelastic)
- Applying machine learning algorithms
- Contributing to nuclear data evaluation efforts
This educational material is provided for learning purposes.
Nuclear data accessed through these tutorials is subject to the respective database licenses:
- ENDF: Public domain
- EXFOR: IAEA open data
- TENDL: Free for research use
- JANIS: OECD NEA open access
- NNDC for ENDF data
- IAEA for EXFOR and nuclear data services
- PSI for TENDL
- OECD NEA for JANIS
- OpenMC development team
- Nuclear data evaluation community
- v1.0 (2025): Initial release with 5 comprehensive tutorials
- Introduction to nuclear cross-sections
- ENDF data access and visualization
- EXFOR experimental data
- TENDL automated evaluations
- JANIS multi-library comparison
Happy Learning! πβ’οΈπ€
Questions? Comments? Discoveries? Document your journey through nuclear data!