Introduction to Serpent

A modern Monte Carlo code for reactor physics and burnup analysis

What is Serpent?

Serpent is a three-dimensional continuous-energy Monte Carlo particle transport code developed at VTT Technical Research Centre of Finland. It was originally designed as a simplified reactor physics tool for generating homogenized group constants for deterministic reactor simulator calculations. Since then, it has expanded to cover reactor physics, fuel cycle analysis, radiation shielding, and multi-physics coupling.

What distinguishes Serpent from older Monte Carlo codes is its user-friendly input format and its tight integration of burnup calculation capability directly into the transport solver. Where MCNP depletion workflows have historically been more complex to set up, Serpent was designed from the outset to handle the entire coupled transport-depletion sequence internally.

Serpent is available at no cost to academic users through formal licensing from the NEA Data Bank or RSICC, and is widely adopted in universities and research institutions. VTT maintains active development with regular updates, and the Serpent discussion forum provides a well-documented knowledge base for user support.

Main Applications

Serpent's primary strength lies in reactor physics calculations. It handles criticality eigenvalue problems, fuel assembly homogenization, and group constant generation for deterministic codes. The built-in burnup solver handles fuel cycle studies, tracking how fuel composition changes over months or years of reactor operation. It also supports isotope inventory tracking, decay heat analysis, and spent fuel characterization.

Beyond traditional reactor analysis, Serpent supports multi-physics coupling interfaces that connect it with thermal-hydraulic and fuel performance codes. This allows coupled simulations where neutronics, heat transfer, and material behavior are solved together, capturing feedback effects that single-physics calculations miss. Serpent can also import CAD-based geometries, bridging the gap between engineering design tools and neutronics analysis.

While Serpent can handle fusion neutronics, radiation shielding, and detector modeling, this guide focuses on reactor physics applications.

Key Features

Serpent uses a Constructive Solid Geometry (CSG) approach to define problem geometries, similar to other Monte Carlo codes. However, it also provides a built-in universe-based geometry system with dedicated pin and lattice definitions that simplify the construction of regular reactor geometries. A 17x17 PWR fuel assembly that might require hundreds of surface and cell definitions in other codes can be expressed in Serpent with a compact pin definition and a lattice map.

The integrated depletion solver couples the neutron transport calculation with the Bateman equations that govern isotopic transmutation. Serpent automatically updates cross sections as fuel composition changes during irradiation, using sophisticated predictor-corrector algorithms to maintain accuracy across burnup steps. The code ships with comprehensive depletion chains covering actinides, fission products, and activation products.

Performance-wise, Serpent employs delta-tracking (also known as Woodcock rejection sampling) that can significantly accelerate particle transport in complex geometries. It supports shared-memory parallelism through OpenMP and distributed-memory parallelism through MPI, enabling efficient use of modern computing hardware from laptops to high-performance clusters.

Learning Path

This primer is thirteen lessons: installation, the basic workflow, a first simple simulation, the input file shape, and materials with nuclear-data identifiers and thermal scattering. Geometry stops at surfaces, cells, and a pin cell you can run.

After that you run the calculation, read the output, and work a complete PWR pin-cell example, with a troubleshooting page at the end. The site is a student on-ramp, not a substitute for serpent.vtt.fi/docs.

Lessons on lattices, universes, physics options, burnup, visualization, and a fuel assembly remain at their old URLs but are archived until they are rechecked against the current VTT documentation. They are not in the sidebar.

Prerequisites

To get the most from this guide, you should have a basic understanding of nuclear physics and reactor theory — concepts like neutron cross sections, fission chain reactions, and criticality should be familiar. Experience with a command-line interface is helpful since Serpent is executed from the terminal, and you will need a text editor for writing input files.

Serpent runs on Linux natively, and most production work is done on Linux systems or clusters. A Windows installation through WSL (Windows Subsystem for Linux) is also possible for learning purposes. Access to Serpent itself requires registration through the official VTT distribution channels. The official documentation is at serpent.vtt.fi/docs; the older Serpent Wiki still carries card detail the docs have not absorbed yet, but VTT no longer updates it. The discussion forum at ttuki.vtt.fi/serpent is the primary venue for user support.