A basic simulation of a Neutron Transport System for a sphrical bulk (medium) containing U235 and U238 nuclei.
Thermal neutrons are relased from the center of a shperical bulk of radius m_radius and mass m_mass
containing only two nuclei U235 and U238. Using Monte Carlo methods, program simulates
the trajectories (i.e. the positions) of the secondary neutrons propagating in the bulk.
The secondaries can be prompt neutrons (from fission reaction) or scattered neutrons.
Transport algorithm is as follows:
0. Determine initial number of thermal neutrons(m_evtMax), the radius(m_radius) of the bulk and
purity(m_purity) of U235 in the medium.
1. Take a thermal neutron at the center of the sphere, and send it a isotropically random direction.
DO FOLLOWING FOR EACH NEUTRON IN THE MEDIUM
2. Using cross-section data for U235 and U238, calculate mean free path for the neutron
3. Determine the reaction type
IF
the neutron is out of bulk the stop the event go to next event
ELSE
IF the neutron is absorbed
* check if the reaction is fission, then determine number of prompt neutrons, their energies and directions.
else remove this neutron from the bulk.
* check if the neutron is out of bulk
ELSE the neutron is scattered
* using cross-sections, determine the scttering type (elastic or in elastic)
* determine the energy and direction of the scattered neutron
* check if the neutron is out of bulk
END IF
4. Calculate number of neutrons for each generation
5. Calculate <keff>
5. End
At the and, program gives the average neutron multiplication factor (<keff>) of the
system defined as the ratio:
keff = (# neutrons generated in one generation) / (# neutrons generated in preceding generation)
keff < 1 ==> results in sub-critial mass (means no chain reaction occurs)
keff = 1 ==> results in critial mass (means a chain reaction can start)
keff > 1 ==> results in super-critial mass (means a chain reaction definitely starts)
The computer implementations:
fission.cpp
See also:
fission.h |
fission-cross-section.data