SERPENT Guide
Tutorial: Pin Cell Model
Overview
This tutorial walks through creating a complete PWR pin cell model in Serpent. We'll build a realistic fuel pin with UO₂ fuel, Zircaloy cladding, and light water moderator, then run criticality calculations to determine the neutron multiplication factor.
Learning Goals: By the end of this tutorial, you'll understand material definition, geometry construction, source specification, and results analysis in Serpent. This foundation applies to all reactor physics calculations.
Model Specifications
PWR Pin Cell Parameters:
- Fuel pellet radius: 0.4096 cm
- Gap thickness: 0.0082 cm (He gap)
- Clad inner radius: 0.4178 cm
- Clad outer radius: 0.4750 cm
- Pin pitch: 1.26 cm (square lattice)
- Active fuel height: 365.76 cm
- Fuel enrichment: 4.5 wt% U-235
- Operating conditions: 310°C, 15.5 MPa
Step 1: Material Definitions
We start by defining the three main materials: UO₂ fuel, Zircaloy-4 cladding, and light water moderator. Each material includes realistic densities and operating temperatures.
% ========================================
% PWR Pin Cell Model - Materials
% ========================================
% UO2 fuel pellet (4.5% enriched at 900K)
mat fuel -10.4 tmp 900
92235.09c 0.045 % 4.5 at% U-235
92238.09c 0.955 % 95.5 at% U-238
8016.09c 2.0 % Stoichiometric oxygen (2 atoms per UO2)
% Helium gap (low pressure)
mat gap -0.0018 tmp 600
2004.09c -1.0 % Helium-4
% Zircaloy-4 cladding at 600K
mat clad -6.56 tmp 600
40090.09c -0.9845 % Zirconium-90 (98.45%)
50120.09c -0.0155 % Tin-120 (1.55%)
% Light water moderator at 574K (301°C)
mat water -0.714 tmp 574 moder lwtr 1001
1001.09c 2.0 % Hydrogen-1
8016.09c 1.0 % Oxygen-16
% Thermal scattering library for H in light water
therm lwtr lwj3.22tMaterial Notes: Temperature specifications (tmp) are crucial for accurate cross sections. The S(α,β) thermal scattering data for hydrogen in water is essential for correct neutron thermalization in the moderator.
Step 2: Geometry Definition
Next, we define the geometry using cylindrical surfaces and cells. The pin cell uses reflective boundary conditions to simulate an infinite lattice of identical fuel pins.
% ========================================
% PWR Pin Cell Model - Geometry
% ========================================
% Surface definitions (all dimensions in cm)
surf fuel_radius cylz 0.0 0.0 0.4096 % Fuel pellet outer radius
surf gap_radius cylz 0.0 0.0 0.4178 % Gap outer radius (clad inner)
surf clad_radius cylz 0.0 0.0 0.4750 % Clad outer radius
% Square lattice boundaries
surf left px -0.63 % Left boundary (half pitch)
surf right px 0.63 % Right boundary
surf front py -0.63 % Front boundary
surf back py 0.63 % Back boundary
surf bottom pz -182.88 % Bottom boundary (half height)
surf top pz 182.88 % Top boundary
% Cell definitions (cell NAME UNIVERSE MATERIAL SURFACES)
cell 1 0 fuel -fuel_radius
cell 2 0 gap fuel_radius -gap_radius
cell 3 0 clad gap_radius -clad_radius
cell 4 0 water clad_radius left -right front -back bottom -top
% Outside boundary (implicit complement)
cell 5 0 outsideGeometry Tips: Boolean operators define regions: minus (-) means inside a surface, plus (+) means outside. The moderator cell excludes the clad region but includes the lattice boundaries.
Step 3: Boundary Conditions and Settings
We apply reflective boundary conditions to simulate an infinite lattice and configure the criticality calculation parameters.
% ========================================
% PWR Pin Cell Model - Boundary Conditions
% ========================================
% Reflective boundary conditions (infinite lattice)
set bc 2 % 2 = reflective boundaries on all universe boundaries
% Criticality calculation parameters
set pop 20000 200 50 % 20k neutrons/cycle, 200 active, 50 inactive
% Enable source convergence monitoring
set entropy 1 % Calculate Shannon entropy
set entropymat fuel % Monitor entropy in fuel regionPhysics Settings
% Physics options for accurate PWR calculations
set title "PWR Pin Cell k-infinity Calculation"
% Neutron physics
set tms 1 % Temperature-dependent cross sections
set doppler 2 % TMS Doppler broadening
set ures 1 % Unresolved resonance treatment
set ncut 1E-11 % Thermal neutron cutoff (eV)
% Memory and performance
set memfrac 0.8 % Use 80% of available memory
set omp 4 % OpenMP threads (adjust for your system)Step 4: Complete Input File
Here's the complete Serpent input file. Save this as pin_cell.inp and run it with sss2 pin_cell.
% ========================================
% PWR Pin Cell k-infinity Calculation
% Created for Nuclear Monte Carlo Guide
% ========================================
set title "PWR Pin Cell k-infinity Calculation"
% ========================================
% MATERIALS
% ========================================
% UO2 fuel pellet (4.5% enriched at 900K)
mat fuel -10.4 tmp 900
92235.09c 0.045 % 4.5 at% U-235
92238.09c 0.955 % 95.5 at% U-238
8016.09c 2.0 % Stoichiometric oxygen (2 atoms per UO2)
% Helium gap
mat gap -0.0018 tmp 600
2004.09c -1.0 % Helium-4
% Zircaloy-4 cladding at 600K
mat clad -6.56 tmp 600
40090.09c -0.9845 % Zirconium-90
50120.09c -0.0155 % Tin-120
% Light water moderator at 574K
mat water -0.714 tmp 574 moder lwtr 1001
1001.09c 2.0 % Hydrogen-1
8016.09c 1.0 % Oxygen-16
therm lwtr lwj3.22t % Thermal scattering for H in water
% ========================================
% GEOMETRY
% ========================================
% Cylindrical surfaces (cm)
surf fuel_radius cylz 0.0 0.0 0.4096
surf gap_radius cylz 0.0 0.0 0.4178
surf clad_radius cylz 0.0 0.0 0.4750
% Square lattice boundaries
surf left px -0.63
surf right px 0.63
surf front py -0.63
surf back py 0.63
surf bottom pz -182.88
surf top pz 182.88
% Cell definitions
cell 1 fuel -fuel_radius
cell 2 gap +fuel_radius -gap_radius
cell 3 clad +gap_radius -clad_radius
cell 4 water +clad_radius +left -right +front -back +bottom -top
cell 5 0 outside
% ========================================
% BOUNDARY CONDITIONS
% ========================================
set bc 2 % Reflective boundaries
% ========================================
% PHYSICS SETTINGS
% ========================================
set tms 1 % Temperature-dependent cross sections
set doppler 2 % TMS Doppler broadening
set ures 1 % Unresolved resonance treatment
set ncut 1E-11 % Thermal cutoff
% ========================================
% CRITICALITY CALCULATION
% ========================================
set pop 20000 200 50 % Population, active cycles, inactive cycles
set entropy 1 % Source convergence monitoring
set entropymat fuel % Monitor entropy in fuel
% ========================================
% OUTPUT OPTIONS
% ========================================
set his 1 % History output
set pcc 0 % Disable probability table cacheStep 5: Running the Calculation
Run the calculation and monitor the output for convergence and results.
# Run Serpent calculation
sss2 pin_cell
# Monitor calculation progress
tail -f pin_cell.out
# Key output files generated:
# pin_cell.out - Main output with k-eff results
# pin_cell_res.m - Results in MATLAB format
# pin_cell.seed - Random number seed
# pin_cell.his - History fileExpected Results
Typical PWR Pin Cell Results:
- k-infinity: ~1.31-1.35 (highly supercritical)
- Statistical uncertainty: < 10 pcm (0.00010)
- Thermal utilization: ~0.92-0.95
- Resonance escape: ~0.86-0.89
- Fast fission factor: ~1.02-1.04
Understanding Results: Pin cell k-infinity is much higher than critical (1.0) because it assumes infinite geometry with no neutron leakage. Real reactors achieve criticality through control rod insertion and neutron leakage.
Step 6: Analysis and Visualization
Analyze the results and create visualizations to understand the physics.
MATLAB Analysis
% Load results in MATLAB
res = importdata('pin_cell_res.m');
% Extract key parameters
keff = res.IMP_KEFF(1);
keff_err = res.IMP_KEFF(2);
fprintf('k-infinity = %.5f ± %.5f\n', keff, keff_err);
% Load history data
his = importdata('pin_cell.his');
% Plot k-eff convergence
figure;
plot(his(:,1), his(:,2));
xlabel('Cycle Number');
ylabel('k-effective');
title('Source Convergence');
grid on;
% Check for convergence
final_cycles = his(end-100:end, 2); % Last 100 cycles
std_dev = std(final_cycles);
fprintf('Standard deviation (last 100 cycles): %.1e\n', std_dev);Geometry Visualization
% Add to your input file for visualization
plot 3 500 500 % 500x500 pixel plot
% Detector for flux mapping
det flux_map dx -0.63 0.63 50 dy -0.63 0.63 50
de 1E-11 1E-6 0.625 20 % Energy bins for flux spectrum
% Surface current detectors
det fuel_current ds fuel_radius du 0
det clad_current ds clad_radius du 0Validation Exercise: Compare your results with published PWR pin cell benchmarks. Small differences (< 100 pcm) are normal due to cross section library variations and modeling assumptions.
Extensions and Variations
Parameter Studies
Try these variations to understand PWR physics:
Suggested Modifications:
- Enrichment study: Vary U-235 from 3% to 5%
- Temperature effects: Change fuel temperature 600-1200K
- Geometry variations: Modify fuel/moderator ratio
- Burnup analysis: Add depletion calculation
- Poison effects: Add soluble boron to moderator
Advanced Features
% Burnup calculation extension
set power 15.0 % Pin power (kW)
set powdens 1 fuel % Power in fuel
dep daystep % Burnup time steps (days)
1 5 10 30 100 300 500 1000
% Branch calculation for control studies
dep branch
temp_fuel 1200 % Hot conditions
boron_ppm 1000 % High boron case
moderator_temp 320 % Hot moderator