SMURE: Serpent - MCNP Utility for Reactor Evolution (see home page)

The main aim of the MURE/SMURE package is to perform nuclear reactor time-evolution using the widely-used particle transport Monte-Carlo codes MCNP or Serpent2. This tool is mainly developped at LPSC, in close collaboration with PACS group of IPN d’Orsay and Subatech Nantes.

Many depletion codes exist for determining time-dependent fuel composition and reaction rates. These codes are either based on solving Boltzman equation using deterministic methods or based on Monte-Carlo method for neutron transport. Among them, one has to cite MCNPX/CINDER 90, MONTEBURN, KENO/ORIGEN, MOCUP, MCB, VESTA/MORET, TRIPOLI-4D, Serpent, ... which provide neutron transport and depletion capabilities. However, the way to control (or interact with) the evolution are either limited to specific procedure and/or difficult to implement.

In (S)MURE, due to the Object-oriented programming, any user can define his own way to interact with evolution. From an academic point of view, it is also good to have lots of M-C evolution codes to compare and benchmark them to understand physics approximations of each one. Moreover, SMURE provides a simple graphical interface to visualize the results. It also provides a way to couple the neutronics (with or without fuel burn-up) and thermohydraulics using either an open source simple code developed in SMURE (BATH, Basic Approach of Thermal Hydraulics) or a sub-channel 3D code, COBRA-EN. But SMURE can also be used just as an interface to MCNP or Serpent to build geometries (e.g. for neutronics experiments simulation).

SMURE is based on C++ objects allowing a great flexibility in the use. There are 4 main parts in this library:

  • Definition of the geometry, materials, neutron source, tallies, ...
  • Construction of the nuclear tree, the network of links between neighbouring nuclei via radioactive decays and nuclear reactions.
  • Evolution of some materials, by solving the corresponding Bateman's equations.
  • Thermal-hydraulics: it couples neutronics, thermal-hydraulics and, if needed, fuel evolution.
  • A robust diffusion method (Nodal Drift Method, NDM) for both spatial kinetics and burnup calculations (full core evolution with a precise refueling scheme).
$textcolor{red}{bullet}$ Part 1 can be used independently of the 3 others; it allows easy generation of Serpent/MCNP input files by providing a set of classes for describing complex geometries. The ability to make quick global changes to reactor component dimensions and the ability to create large lattices of similar components are two important features that can be implemented by the C++ interface. It should be noted that some knowledge of MCNP or Serpent is very useful in understanding the geometry generation philosophy.
$textcolor{red}{bullet}$ Part 2 builds the specific nuclear tree from an initial material composition (list of nuclei). The tree of each evolving nucleus is created by following the links between neighbours via radioactive decay and/or reactions until a self-consistent set of linked nuclei is extracted. Nuclei with half-lives very much shorter than the evolution time steps, could be removed from the tree; mothers and daughters of these removed nuclei are re-linked in the correct way. Part 2 can also be used independently of the other two parts to process cross-sections for MCNP/Serpent at the desired temperature.
$textcolor{red}{bullet}$ Part 3 simulates the evolution of the fuel within a given reactor over a time period of up to several years, by successive steps of Serpent/MCNP calculation and numerical integration of Bateman's equations. Each time the MC code is called, the reactor fuel composition will change due to the fission/capture/decay process occurring inside. Changes in geometry, temperature, external feeding or extraction during the evolution can also be taken into account. Obviously this part is not independent of the 2 others (see figure).
$textcolor{red}{bullet}$ Part 4 consists of coupling the Oak Ridge National Laboratory code COBRA-EN (COolant Boiling in Rod Arrays) with MURE. COBRA is a sub-channel code that allows steady-state and transient analysis of the coolant in rod arrays. The simulation of flow is based on a three or four partial differential equations : conservation of mass, energy and momentum vector for the water liquid/vapor mixture (optionally a fourth equation can be added which tracks the vapor mass separately). The heat transfer model is featured by a full boiling curve, comprising the basic heat transfer regimes : single phase forced convection, sub-cooled nucleate boiling, saturated nucleate boiling, transition and film boiling. Heat conduction in the fuel and the cladding is calculated using the balance equation.
$textcolor{red}{bullet}$ Part5, essential to core design studies, has been recently added. NDM has been originally conceived for the calculation of transients by spatial kinetics from representative diffusion data (previously computed and tabulated). After validation on a CANDU LOCA (cf. Nuttin et al., 2016), this method has been generalized for the calculation of a Rod Ejection Accident in a PWR (cf. Prévot et al., 2017 ). Used on the much longer times of fuel cycle studies, NDM allows also to evaluate the final burnup which depends on the way the core is refueled.