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.

text
% ========================================
% 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.22t

Material 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.

text
% ========================================
% 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 outside

Geometry 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.

text
% ========================================
% 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 region

Physics Settings

text
% 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.

text
% ========================================
% 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 cache

Step 5: Running the Calculation

Run the calculation and monitor the output for convergence and results.

bash
# 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 file

Expected 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

matlab
% 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

text
% 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 0

Validation 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

text
% 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