SERPENT Guide
Basic Concepts & Workflow
Monte Carlo Basics
Before diving into Serpent, let's review some fundamental concepts of Monte Carlo neutron transport:
Random Walk Process
- Neutrons move through space randomly
- Each interaction is sampled probabilistically
- Large number of histories for statistical accuracy
- Tracks individual particle histories
Key Physics
- Cross sections determine interaction probabilities
- Different reaction types (scatter, fission, capture)
- Energy-dependent interactions
- Continuous-energy treatment
Note: Unlike deterministic codes that solve the transport equation directly, Monte Carlo methods simulate individual particle histories to build up the solution statistically.
Serpent Input Structure
A typical Serpent input file consists of several key sections:
1. Material Definitions
Define materials using composition and temperature:
mat fuel -10.4 tmp 900
92235.09c -0.04
92238.09c -0.96
2. Geometry Description
Define surfaces and cells:
surf 1 cyl 0.0 0.0 0.4
cell 1 0 fuel -1
3. Physics Parameters
Set simulation parameters:
set pop 10000 100 20
set acelib "endfb71.xsdata"
Pro Tip: Always organize your input file in logical sections and use comments to document your choices. This makes it easier to modify and debug later.
Typical Workflow
The typical workflow for running Serpent simulations follows these steps:
- Preparation
- Define problem geometry and materials
- Choose appropriate cross-section libraries
- Set up simulation parameters
- Create input file with text editor
- Running the Simulation
- Execute Serpent with input file
- Monitor progress in terminal
- Check for warning messages
- Wait for completion
- Post-processing
- Examine output files
- Check convergence and statistics
- Process results (using scripts if needed)
- Visualize data
File Structure
Serpent uses several file types during simulation:
Input Files
*.inp- Main input file*.xsdata- Cross section library index*.dec- Decay data (optional)*.nfy- Fission yield data (optional)
Output Files
_res.m- Main results_det.m- Detector output_dep.m- Depletion output_out- Running log
Recommended Organization:
- Keep input files in a dedicated directory
- Use descriptive filenames
- Maintain version control
- Back up important results
Understanding Output
Serpent generates several output files with different purposes:
Main Output (_res.m)
- k-effective and other global parameters
- Reaction rates and fluxes
- Statistical uncertainties
- Group constants (if requested)
Running Log (_out)
- Progress information
- Warning messages
- Memory usage
- Timing statistics
Detector Output (_det.m)
- User-defined tallies
- Mesh plots
- Energy spectra
- Spatial distributions
Statistical Uncertainties: Always verify the relative errors in your results. Monte Carlo calculations without uncertainty quantification provide no reliable information about solution quality.
Best Practices
Input File Organization
- Use consistent naming conventions
- Comment your input files thoroughly
- Break complex geometries into manageable pieces
- Keep a template for common configurations
Simulation Management
- Start with simple models and add complexity gradually
- Test convergence with different particle populations
- Save input files with results for reproducibility
- Document any modifications or special conditions
Quality Control
- Verify geometry using visualization tools
- Check material compositions and temperatures
- Monitor statistical convergence
- Compare results with known benchmarks when possible
Next Steps
Now that you understand the basic concepts and workflow, you're ready to:
- Create your first Serpent input file
- Run a simple simulation
- Analyze basic output
Continue to the next section to create and run your first Serpent simulation.