MCNP Guide
Cell Cards in MCNP
Define physical volumes and their properties
What you'll learn
- Write a cell card in the order cell number, material, density, geometry, and parameters.
- Apply the density sign rule — negative for g/cm³, positive for atoms/barn·cm — and keep it apart from the fraction sign on the
mcard. - Combine surfaces with a space for intersection,
:for union, and#for complement. - Set
imp:nso physical cells track neutrons and the outer void kills them; tag a reusable block withu=and place it withfill=.
Before you start
What a cell card is
A cell card is a filled region of space: which material sits there, how dense it is, and which surfaces close it. Surfaces alone split the universe into half-spaces; the cell card is where you pick a side of each surface and say what lives in the resulting volume.
cell_number material density geometry parameters $ comment
1 1 -10.4 -1 imp:n=1 $ Fuel region
2 2 -6.56 1 -2 imp:n=1 $ Cladding
3 3 -1.0 2 -3 imp:n=1 $ Water
4 0 3 imp:n=0 $ Outside voidThe first integer is a unique cell label for the rest of the deck. Field two is a material number from an m card — or 0 for void, which carries no density column. For a filled cell the third field is density, and the sign is the whole rule: negative means g/cm³, positive means atoms/barn·cm. Write water as 1.0 instead of -1.0 and the run still finishes; you just transported through 1 atom per barn·cm — roughly 10²⁴ atoms/cm³ — instead of liquid water at 1 g/cm³.
That sign is not the fraction sign on the material card. On an m card, positive is atom fraction and negative is weight fraction — a different convention on a different card. Keep them apart; Material Cards owns the fraction half.
After density comes the geometry expression, then optional parameters such as imp:n=1. A $ comment that names the physical region — fuel, clad, graveyard — is what you will want when a plot later shows the wrong annulus filled.
Surface sense and boolean combinations
The sign in front of a surface number picks a half-space. For a closed surface (sphere, cylinder) negative means the interior and positive (or bare) means the exterior. For a plane, negative is the negative half-space of the plane equation. Flip one sense and you can still get a closed-looking model that fills the wrong side of every boundary.
Nested pin geometry lives on that rule. The expression 1 -2 is the region outside surface 1 and inside surface 2 — the annular shell between two cylinders. That is how a gap or clad cell is written without inventing a new surface type.
Three boolean operators build richer regions. A space is intersection (every condition true). A colon (:) is union (either side true). A pound (#) is complement — everything outside the named cell or parenthesized expression. MCNP still requires every point in the problem to belong to exactly one cell; an overlap is fatal, and a gap that nothing claims is an unbounded path out of the model.
c Simple and complex cell definitions
1 1 -10.4 -1 $ Inside cylinder 1
2 2 -6.56 1 -2 $ Annulus between cylinders 1 and 2
3 3 -7.8 (-3 4 -5):(6 -7 8) $ Two separate regions
4 0 #1 #2 #3 $ Outside all other cellsThe first two cells are plain intersections. Cell 3 unions two multi-surface chunks. Cell 4 uses complement to claim everything the others left — a common pattern for the exterior void, provided that void also carries imp:n=0.
Importance, universes, and fill
imp:n decides whether a neutron history continues in a cell. A value of 1 means normal tracking; 0 kills the particle on entry. You want 0 on the exterior void that closes the problem, and nowhere else in a simple criticality deck. Omit it on a fuel or moderator cell and histories can die there with no fatal error — the run completes and tallies quietly lose particles. Separate keys exist for other particles (imp:p for photons).
Every deck still needs at least one imp:n=0 cell covering the complement of the problem. Without that graveyard, escaping neutrons have nowhere legal to go and the geometry check fails.
For repeated structures, u= tags a cell (or set of cells) as a universe you can reuse, and fill= places that universe inside another cell. A pin defined once as universe 1 can fill every lattice site instead of being rewritten hundreds of times.
c Universe definition
10 1 -10.4 -1 u=1 $ Define universe 1
c Using the universe
20 0 -10 fill=1 $ Fill region with universe 1One consequence of fill= matters for tallies later: a cell that only exists as lattice fill often has no volume MCNP can compute for an F4 or F7. You will need vol or sd on those tallies — the cell card itself does not invent a volume for a filled universe.
The pin cell's cells
The running example for this path is a PWR pin cell. Four materials fill four concentric annuli, and a fifth cell with imp:n=0 mops up everything outside. Material numbers and densities are the ones Material Cards defines. Hover each line for the field-by-field reading.
c Fuel Pin Cell Definitionsc cell mat dens surfaces params1 1 -10.4 -1 imp:n=1 $ UO2 fuel2 2 -0.0001 1 -2 imp:n=1 $ Helium gap3 3 -6.56 2 -3 imp:n=1 $ Zircaloy-4 clad4 4 -0.998 3 -4 imp:n=1 $ Water moderator5 0 4 imp:n=0 $ External void (kills neutrons)cc Density sign: negative = g/cm3, positive = atoms/barn-cmc Surface sign: -N = inside surface N, +N = outside surface Nc Cell 5 has mat 0 and no density (void needs neither)c Surface Cards (referenced above)1 cz 0.4096 $ Fuel pellet radius2 cz 0.4178 $ Clad inner radius (gap outer)3 cz 0.475 $ Clad outer radius4 cz 0.7108 $ Water boundary
Fuel Pin Cell Cards
Hover any highlighted line to see a field-by-field explanation.
Read outward: fuel inside surface 1, gap between 1 and 2, clad between 2 and 3, water between 3 and 4, then the exterior void outside 4 with imp:n=0. Shared surface numbers keep the annuli watertight — each interface appears once as the outer bound of one cell and the inner bound of the next.
Density signs are all negative, so every one is g/cm³. Only cell 5 omits the field, because material 0 is void and a void has nothing to be dense. The one simplification left in the viewer is z: these cylinders run to infinity, while the runnable deck on Example: Pin Cell adds two reflecting pz planes to close a 1 cm slice. That matters as soon as a tally needs a volume to divide by, which is why f4 waits until Tallies.
Try it: cell importance
The pin cell below is missing neutron importances on three of its five cells. Importance decides whether MCNP keeps tracking a particle, and a cell at imp:n=0 kills everything that enters — which is what you want at the problem boundary and nowhere else. Leave the entry off a physical region and histories can vanish there without an error: the run completes and the answer is quietly wrong. Edit the deck and the checker will re-run as you type.
imp:n=1. The third is the outer cell, which is the problem boundary, so it gets imp:n=0 — that is where particles are meant to be killed.These are the same checks the OWEN editor extension and the GROVES desktop app run against your own decks, so a deck that comes back clean here comes back clean in the tools. They catch syntax and convention mistakes, not physics errors — a deck can pass every check and still model the wrong reactor.
Card semantics on this page follow MCNP6.3.1 Theory & User Manual (LA-UR-24-24602 Rev. 1), §5.2 Cell Cards and §2.2.1 Complement Operator.
Full reference list on the attribution page.
Check yourself
- Write a cell card in the order cell number, material, density, geometry, and parameters?
- State the density sign rule, and say how it differs from the fraction sign on an
mcard? - Combine surfaces with a space,
:, and#, and say what goes wrong if two cells overlap? - Set
imp:non physical cells and on the graveyard, and place a universe withu=/fill=?