Skip to content

WHopkins-git/ML4ND

Repository files navigation

Machine Learning for Nuclear Data Validation

A comprehensive tutorial series for physics students exploring nuclear data and machine learning applications in the validation process.

πŸ“š Overview

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.

🎯 Learning Objectives

  • 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

πŸ“‚ Project Structure

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

πŸš€ Getting Started

Prerequisites

  • Python 3.8 or higher
  • Jupyter Notebook or JupyterLab
  • Basic knowledge of Python and physics
  • ~5 GB free disk space (for nuclear data files)

Installation

  1. Clone or download this repository:

    cd ML4ND
  2. Create a virtual environment (recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install required packages:

    pip install -r requirements.txt
  4. Launch Jupyter:

    jupyter notebook
  5. Navigate to the tutorials/ directory and start with 00_Introduction.ipynb

πŸ“– Tutorial Contents

Tutorial 0: Introduction to Nuclear Cross-Sections

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


Tutorial 1: ENDF (Evaluated Nuclear Data File)

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!)


Tutorial 2: EXFOR (Experimental Nuclear Reaction Data)

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


Tutorial 3: TENDL (TALYS-based Evaluated Nuclear Data Library)

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


Tutorial 4: JANIS (Multi-Library Access)

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

πŸ—„οΈ Nuclear Data Sources

Evaluated Libraries (Validated)

Experimental Data

Unified Access

πŸ”¬ Machine Learning Applications

These tutorials prepare data for various ML applications:

  1. Anomaly Detection: Identify unusual patterns in experimental data
  2. Interpolation: Predict cross-sections at unmeasured energies
  3. Uncertainty Quantification: Estimate evaluation uncertainties
  4. Data Comparison: Systematic comparison of experimental vs evaluated data
  5. Pattern Recognition: Find systematic errors or trends
  6. Ensemble Methods: Combine multiple evaluations

πŸ’‘ Tips for Success

  1. Start with Tutorial 0: It provides essential background
  2. Run cells sequentially: Each notebook builds on previous cells
  3. Explore the data: Modify parameters to test different isotopes
  4. Save your work: Data downloads can take time
  5. Ask questions: Nuclear data is complex - confusion is normal!

πŸ“Š Expected Outputs

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.

πŸ› οΈ Troubleshooting

OpenMC installation issues

# If OpenMC fails to install, try:
conda install -c conda-forge openmc

Data download issues

  • Some databases require registration (free)
  • Check your internet connection
  • Use university network if available (better bandwidth)

Memory issues

  • Reduce the number of energy points in examples
  • Close other applications
  • Consider processing data in chunks

πŸ“š Additional Resources

Nuclear Physics

  • "Introduction to Nuclear Engineering" - Lamarsh & Baratta
  • "Nuclear Reactor Analysis" - Duderstadt & Hamilton

Nuclear Data

Machine Learning

Python for Science

🀝 Contributing

This is an educational project. If you find errors or have suggestions:

  1. Document the issue clearly
  2. Suggest improvements
  3. Share interesting findings!

πŸ“§ Getting Help

If you encounter issues:

  1. Check the troubleshooting section
  2. Review the notebook markdown explanations
  3. Consult the official documentation for each database
  4. Ask your instructor or peers

πŸŽ“ Next Steps

After completing these tutorials, consider:

  1. Exploring other isotopes (Pu-239, Fe-56, etc.)
  2. Analyzing other reaction types (capture, elastic, inelastic)
  3. Applying machine learning algorithms
  4. Contributing to nuclear data evaluation efforts

πŸ“ License

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

πŸ™ Acknowledgments

  • 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

πŸ“… Version History

  • 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!

About

MSci

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published