Skip to content

FFDD — Fission Fragments Decay for Dummies

It is often said that the discovery of nuclear fission, in 1939, changed the course of human history [1]. But the true breakthrough was the realization that fission releases neutrons, unlocking the possibility of self-sustaining chain reactions and nuclear reactors [2]. This raises a fundamental question: Why does nuclear fission release neutrons at all?

Scope and disclaimer

FFDD is a lightweight and educational Python toolbox designed to simulate neutron emission in fission. Its purpose is pedagogical: it aims to help physics students understand the basic mechanisms behind neutron emissions in nuclear fission, and to perform simple but reasonably accurate predictions of neutron multiplicity.

While the toolbox captures key features of fission fragment decay, many advanced phenomena are intentionally omitted. These simplifications were made to keep the physics accessible without significantly impacting the first-order behavior. For advanced users interested in high-accuracy modeling, the "To go further" section of the documentation points to some missing physical processes in FFDD and indicates more comprehensive codes used by nuclear physicists.

Disclaimer: FFDD is not meant to compete with or replace high-fidelity simulation tools. It is not intended for precision nuclear data work or safety-critical applications.

Project layout

ffdd/
    data/          # data from the literature
    decay.py       # decay modules
    energy.py      # energy balance modules
    mass.py        # nuclear mass reader
    sepn.py        # separation energy reader
    tke.py         # kinetic energy modules
    utils.py       # global variables
    yields.py      # fission yields reader

tests/              # unitary tests

visual_tests/
    plot_mass.py   # visual test: nuclear mass map
    plot_sepn.py   # visual test: separation energy map
    plot_tke.py    # visual test: kinetic energy plot
    plot_yields.py # visual test: yields plots

examples/          
    example1.py    # example: study of deformation

Main modules

FFDD is composed of a few main modules (detailed in the "API" section):

  • sepn: reads neutron separation energies.
  • nuclear_mass: reads nuclear masses.
  • fission_fragments_coupled: reads independent fission yields.
  • tke: estimates the total kinetic energy of fragments.
  • q_value: estimates the available energy from mass default.
  • txe_sharing: shares the excitation energy between the two fragments.
  • decay: simulates the decay of a fragment by neutron emissions.
  • nubar: averages the number of emitted neutrons over all the fragments.

Modules are designed as plug-ins that can be easily modified or replaced. This modular structure allows users to perform physics studies or extend the simulation with new features beyond those originally implemented.

References

[1] L. Meitner and O. R. Frisch, Nature 143, 239–240 (1939)

[2] W. H. Zinn and L. Szilard, Phys. Rev. 56, 619 (1939)