IRSN, Institut de radioprotection et de sûreté nucléaire

Search our site :


Contact us :

En Fr

Enhancing Nuclear Safety


Computer codes

Moret Code

Monte-Carlo code for the evaluation of criticality risk
in nuclear installations


Moret is a Monte-Carlo code(1) for simulating neutron transport in a three-dimensional space.

It has been designed expressly for the evaluation of criticality risk in nuclear installations, i.e. the occurrence of an uncontrolled chain reaction outside an operational reactor core (reactivity accident). This risk is evaluated by reference to a number of values, especially the effective multiplication factor(2) which the Moret code calculates from the geometrical configuration, the characteristics and moderation of hydrogenated products from the fissile material, and from the immediate environment (geometry, constituents, etc.).

Specifically, the Moret code may be used to obtain the following principal values for complex three-dimensional spaces containing fissile materials:

  • The effective multiplication factor (keff) for the neutrons.
  • The neutron flux (the number of neutrons per cm² per second).
  • The reaction rates (fission, absorption, diffusion) in each of the volumes.
  • Leakage of neutrons outside the system.
  • The kinetic parameters of the system.



Calculation overview


Input data


The input data to the Moret code are as follows:

  • The geometry of the system concerned.
  • The materials composition of the system
  • The initial conditions for the simulation:
  1. The type of calculation to be performed: Continuous or multi-groups (see below).
  2. Location of the first neutron generations.
  3. Criteria for halting the simulation.
  4. Simulation method.
  • The basic nuclear data for use in the computation. These are the cross-sections, i.e. the probability of an interaction between the material and the neutrons for each type of reaction (diffusion, adsorption, fission, etc.). 


The first three parameters are defined and entered by the operator. The basic nuclear data are taken directly from the data libraries (continuous computation) or are prepared prior to use by the MORET code using another code (multi-groups computation).


Computation and simulation methods


In order to obtain the values of the required variables, the Moret code • a Monte Carlo method to solve the Boltzmann Equation for the neutron propagation through the system geometry and its materials defined in the input data.


The aim is to achieve the real distribution of neutron sources for the modelized system in order to determine accurately the keff value of this system. For this purpose, the Monte-Carlo method performs a series of iterations until the neutron population becomes stable, i.e. until the value of keff becomes stable from one iteration to the next.


At each step, the neutron population is followed until its death, either by absorption or leakage of the system, by reproducing as accurately as possible the elementary behaviour of the neutrons as described by particle physics. Some absorption reactions are fissions and induce new neutrons rising. Prior to the first step, the initial position of the neutrons to be followed is set by the operator. In subsequent steps, the neutron positions are determined from the neutron collision sites in the fissile material in the previous step. This is the re-sampling or repositioning of the neutrons being followed.

The final system keff is obtained by calculating the mean of the keff values for each step. The Moret code also provides the standard deviation for keff and three indicators that can be used to quantify the confidence level of the result obtained.

  • The Chi-square test.
  • The Lilliefors test.
  • The Shannon entropy.


The first two parameters may be used to evaluate the deviation of the distribution of the population of values of keff obtained at each step from a normal distribution.  The Shannon entropy provides an indicator of the convergence of the distribution of neutron sources in the system.


Weak neutronic coupling between the volumes containing the fissile material may lead to erroneous results for the value of keff. In order to address this problem, the code includes the following five simulation methods in addition to the natural simulation method described above: Stratified, MKIJ, Importance, Super-History and  Wielandt. The operator may choose the simulation method best suited to their objectives. This is one of the main advantages of this code.


The Stratified, MKIJ and Importance simulation methods differ from the natural method in the way in which the neutrons are repositioned (or resampled) at each step of the simulation. They also require the user to place neutrons in each fissile volume prior to the first simulation step in order to ensure that all the fissile volumes are visited during the simulation.

The Super-History and Wielandt methods are very similar. Their main differences from the other methods are the following:

  • The history of a neutron is followed through several generations in each step. This is an alternative way of increasing the probability that all the fissile volumes will be visited. 
  • The absorption sites in the fissile material are selected as potential fission sites rather than the collision sites.
    In the case of the Wielandt method, the number of generations within a simulation step is not fixed, unlike the Super-History method.


These resampling methods have been designed in response to two main concerns:

  1. The need to ensure that all the fissile volumes are visited by neutrons during the simulation in order to avoid weak neutron coupling. 
  2. The need to speed up the convergence by using suitable source resampling algorithms in order to arrive more quickly at a neutron distribution that is representative of the  real distribution, and that can be used to calculate the value of the reactivity of the system (keff).

This wide variety of simulation methods offers users, including design engineers, experts and researchers, the possibility of comparing results and making a better assessment of the criticality risk in the configurations being studied.

Moreover, when using the natural, Super-History and Wielandt methods, the Moret code enables the use of a variance in the simulation of the neutron paths (the Woodcock tracking method), which improves the computation time for heterogeneous systems containing a large number of volumes.



Preparation of the input data


Spatial data


The user defines the physical space to be considered, together with the composition of the materials of which it is made including the fissile material that it contains.

The Moret code uses modules and combinatorial geometric operators to describe the geometry of the space (modular or combinatorial geometry). The modules are relatively complex assemblies of elementary  volumes (simple convex forms such as spheres, cylinders and parallelepipeds). These modules may be used several times in different areas of the space without needing to be defined each time.

The combinatorial operators (contains, intersection, union, replacement and truncation) are derived from assembly theory, and are used to describe complex volumes from a set of elementary volumes positioned relative to each other.



Example of the use of modular geometry




Material data


The description of the neutronic characteristics of the fissile material and the materials constituting the physical space depend on the mode in which the MORET code is being used.


Multi-groups approximation

When used as part of an industrial study, the computation time needs to be optimised in order to achieve a reasonable cost while still maintaining sufficient accuracy. A number of approximations may be used to limit the number of calculations, including the division of the neutron energy spectrum into discrete ranges each characterised by mean neutronic values, or the replacement of a heterogeneous environment such as a set of fuel rods in a fuel assembly by an equivalent homogeneous environment. This is known as multi-groups approximation. The material data are then prepared prior to use in the Moret code using a cell code which calculates the physical characteristics of these materials to provide values that are homogenous in space, condensed in terms of energy, and self-shielding (3) . This operation is carried out by means of deterministic codes such as the Apollo2 code (CEA), Dragon (Ecole Polytechnique de Montréal) or Scale (Los Alamos National Laboratory - LANL) that make use of nuclear data libraries.

The condensed homogenised and self-shielding data is supplied to the Moret code by coupling with the codes mentioned above.



Total effective cross-section of U238 shown continuously

or in 172 energy groups 




The continuous approach


If a more precise result is required, the effective cross-sections are not averaged but are taken directly by the Moret code from libraries built from evaluations of nuclear data such as JEF 2.2. This is the continuous approach. A version of the Moret code able to accept raw data for a continuous approach (version 5.A) is currently undergoing validation. The calculations performed using this approach will not require the Moret code to be coupled to any other code. 



Multi-groups                                                     Continuous




The Moret code offers various output options for the interpretation of the results. These include:

  • Outputs in postscript format: Graphical sections along the X, Y and Z axes, and convergence graphs for the multiplication factor calculated at each calculation step.
  • Standard value outputs in an XML format file for ergonomic display in a web browser. Each category of values is shown on a different tab.



Example of an XML file






Example of a postscript file 



Application and prospects 


 The MORET code has been used in most criticality studies relating to nuclear installations, nuclear fuel cycle facilities and fissile material transport in France. It has also been used for a number of years in reactors safety studies (criticality risk in loading operation due to an error in positioning a fuel assembly,  corium criticality, and analysis of BORAX accidents, etc.).

Industrial companies have used it in the dimensioning of their installations, and research organisations have used it in the analysis of criticality experiments. The IRSN has used it in this way in the Mirte and Midas programmes.


Some new functions for the Moret code are currently under development, including:

  • The rotation of volumes and geometric modules. 
  • Sensitivity calculations to the nuclear data uncertainties and the propagation of these uncertainties during the simulation.


Version 5.A of the code is expected to be released to the Nuclear Energy Agency (NEA) before the end of 2011 in order for it to be distributed to university and industrial partners.


(1) Method for calculating a numerical value using random or probabilistic processes.

(2) The effective multiplication factor (k-effective or keff) is defined as the ratio of the number of neutrons generated to the number of neutrons lost by leakage and absorption within a system containing fissile materials. If the value is less than one, then the system is sub-critical and the nuclear installation is in a safe state. If the value is equal to one, the neutron population is constant. This is the case in a nuclear reactor under normal operating conditions. A value of keff greater than one indicates a runaway fission reaction in which the production of new neutrons is not cancelled out by an equal number of losses.

(3) Self shielding takes into account any sudden large-scale variations in the effective cross-section in the energy domain.

Send Print
Exemple de fichier au format XML  Crédits: IRSN/DSU


Loïc Heulers, engineer at the Study, Research, Codes Development and Research Laboratory (LERD)

Involved IRSN laboratory

The Cristal package



Send to a friend

The information you provide in this page are single use only and will not be saved.
* Required fields

Recipient's email:*  

Sign with your name:* 

Type your email address:*   

Add a message :

Do you want to receive a copy of this email?