The MCNP Cross-Section File Generator: A Guide to makxsf.exe

  • Home
  • The MCNP Cross-Section File Generator: A Guide to makxsf.exe
The MCNP Cross-Section File Generator: A Guide to makxsf.exe

The MCNP Cross-Section File Generator: A Guide to makxsf.exe

Within the ecosystem of MCNP, a leading software package for simulating nuclear processes, makxsf.exe is a vital pre-processing tool. Its name stands for "Make Cross-Section File," and it is responsible for generating the specialized nuclear data libraries that MCNP requires to run its simulations.

Executive Summary

makxsf.exe is the executable for the NJOY nuclear data processing system, which is often bundled and used directly with MCNP. Its primary function is to convert evaluated nuclear data from libraries like ENDF/B (Evaluated Nuclear Data File) into the application-specific, pointwise cross-section format that MCNP can read, typically creating a xsdir file and accompanying binary data files.


1. What is makxsf.exe and Why is it Necessary?

MCNP simulations track individual particles (neutrons, photons, electrons) as they interact with materials. The probability of an interaction (e.g., fission, scattering, absorption) is defined by "cross-sections." These cross-sections are complex, energy-dependent datasets.

  • Raw Data Source: The international nuclear science community maintains massive, evaluated nuclear data libraries (like ENDF/B, JEFF, or JENDL). These are considered the "raw truth" data.

  • The Problem: These raw libraries are in a generalized format and are not optimized for a Monte Carlo code like MCNP. They require significant processing to be usable.

  • The Solution: makxsf.exe (via NJOY) is the processing engine. It reads the raw ENDF files and performs a series of complex operations to create a tailored cross-section library that MCNP can efficiently use during runtime.

2. Primary Usage and Function

When you run makxsf.exe, it executes a script or reads input commands that tell it how to process the nuclear data. The key steps it manages include:

  1. RECONR: Reconstructs pointwise (energy-dependent) cross-sections from the parameters provided in the ENDF file.

  2. BROADR: Doppler-broadens the cross-sections to account for the temperature of the material in your simulation. This is why you need different cross-section libraries for different temperatures.

  3. UNRESR: Processes the unresolved resonance region, where cross-sections are too complex to be described point-by-point and must be treated with probability distributions.

  4. THERMR: Handles the thermal scattering of neutrons bound in materials like water (H₂O), graphite, or polyethylene. This is critical for modeling moderators in nuclear reactors.

  5. GROUPR: Can generate multi-group cross-sections (though MCNP primarily uses continuous-energy, pointwise cross-sections).

  6. ACER: The final, critical step. It takes the processed data and formats it into the ACE (A Compact ENDF) format, which is the binary format that MCNP directly reads. It also creates or updates the xsdir file, which is the "table of contents" that tells MCNP which isotopes are available and where to find their data.

3. Typical Workflow with MCNP

A user's interaction with makxsf.exe typically follows this pattern:

  1. Identify Need: You need to simulate a material or isotope that is not present in your standard MCNP data library distribution (e.g., endf70a).

  2. Acquire Raw Data: Download the specific ENDF file for your desired isotope from a repository like the IAEA Nuclear Data Services.

  3. Create an Input Script: Write a detailed input file (e.g., my_isotope.inp) for makxsf.exe. This script specifies the input ENDF file, the desired output ACE filename, the temperature(s) for broadening, and which isotopes and reactions to process.

  4. Run makxsf.exe: Execute the processor from the command line:

    bash
    makxsf.exe < my_isotope.inp > my_isotope.out
  5. Update the Library: Copy the newly created ACE file (e.g., my_isotope.80c) to your MCNP data directory and update the xsdir file to include a pointer to this new file.

  6. Run MCNP: Now, your MCNP input deck can use the new isotope, for example: m1 92235.80c 1.0

4. Why is it a Separate Executable?

MCNP separates the data processing step from the simulation engine for several key reasons:

  • Performance: Processing nuclear data is computationally intensive and only needs to be done once for a given isotope and temperature. MCNP itself is optimized for fast particle tracking using the pre-processed data.

  • Flexibility: Users can create custom libraries for specific projects, research isotopes, or unique temperatures without needing to modify the main MCNP code.

  • Modularity: The cross-section processing community uses NJOY (makxsf.exe) as a standard tool for other codes as well, not just MCNP.

5. Security Considerations (Revisited)

In the context of MCNP, makxsf.exe is a 100% legitimate and safe file. However, you should always be sure of its provenance:

  • Source: It should come directly from the official MCNP or NJOY distributors (e.g., the Radiation Safety Information Computational Center - RSICC, or the International Atomic Energy Agency - IAEA).

  • Location: It will reside in your MCNP or NJOY installation directory.

  • Context: You will only run it intentionally as part of a nuclear data processing workflow.

If you find makxsf.exe running on a computer not used for nuclear simulation work, or located in a suspicious folder like C:\Users\Temp\, then it is likely a virus impersonating the legitimate file and should be investigated with antivirus software.


Conclusion

For an MCNP user, makxsf.exe is a powerful and essential tool that unlocks the full potential of the code. It bridges the gap between fundamental nuclear data and practical simulation, allowing users to build custom, problem-specific cross-section libraries. Understanding how to use makxsf.exe is a key skill for advanced MCNP practitioners working beyond the scope of standard pre-built data libraries.