Material Cards

What the model is made of, and which nuclear data describes it

What you'll learn

First pin cell · 5 / 1012 min read
  • Write an m card, keeping the fraction sign on the m card apart from the density sign on the cell card.
  • Read a library suffix such as .80c for what it is — an index into a processed library, not a version number.
  • Attach an mt table to a moderator, and say what silently goes wrong without one.
  • Write the four materials the pin cell needs: fuel, gap, cladding, and moderator.

Before you start

What a material card is

An m card is a composition and nothing else: a list of nuclides paired with fractions. It carries no density, no temperature, and no geometry. Density arrives later, on whichever cell card fills itself with this material, which is why one material can describe both hot and cold water in the same deck.

mcnp — hover a line to explain it
c Material card structure
c mN ZAID.XXc fraction $ comment
m1 92235.80c 0.045 $ U-235 (4.5 at% enriched)
92238.80c 0.955 $ U-238 (remainder)
8016.80c 2.000 $ O-16 (stoichiometric oxygen)
 
c Breaking down the format:
c m1 = material number 1 (referenced on cell cards)
c 92235 = ZAID: Z=92 (uranium), A=235
c .80c = library identifier + class letter
c 0.045 = atom fraction (positive = atom, negative = weight)
c $ ... = inline comment

Material Card Format

Hover any highlighted line to see a field-by-field explanation.

U-235 — material line
U-238 — continuation line
O-16 — stoichiometric oxygen
Material number (m1)
ZAID — target identifier
Library identifier and class letter
Isotope fractions

Two sign conventions run through MCNP and they mean different things on different cards. On the m card, a positive fraction is an atom fraction and a negative fraction is a weight fraction. On the cell card, a negative density is g/cm³ and a positive density is atoms/barn·cm. Getting the second one backwards is the classic way to build a model that runs happily and reports the wrong answer — see Cell Cards for that half.

A single card must pick one convention. MCNP rejects a card that mixes positive and negative entries rather than trying to interpret it. It does not care whether the numbers sum to one, though: unnormalized ratios are normalized for you, which is what lets the UO₂ card above be written as a plain 0.045 / 0.955 / 2.0 stoichiometry.

Where you have a choice, prefer atom fractions. Converting weight fractions to atom fractions requires atomic weight ratios, which MCNP reads from the transport tables, and the manual recommends atom fractions specifically to avoid that step. Natural isotopic abundances are tabulated by atom, so a natural-composition card takes positive entries — writing those negative describes a different mix, quietly.

What the suffix actually points at

The two digits before the class letter identify a processed library, and they encode the evaluation and the temperature together. They are not a version number. In the ACE files LANL publishes with MCNP6:

mcnp
c Same nuclide, same temperature, three different evaluations
m1    92235.00c   1.0   $ ENDF/B-VIII.0 (Lib80x)  at 293.6 K
m2    92235.80c   1.0   $ ENDF/B-VII.1  (ENDF71x) at 293.6 K
m3    92235.70c   1.0   $ ENDF/B-VII.0  (ENDF70)  at 293.6 K

c Same evaluation, four different temperatures
c   .80c = 293.6 K   .81c = 600 K   .82c = 900 K   .83c = 1200 K
c Lib80x runs the same ladder at .00c through .03c

The resemblance between .80c and the name ENDF/B-VIII.0 is a coincidence, and a costly one — .80c is VII.1. Nor is the numbering portable between vendors: KAERI issues ENDF/B-VI.8 as .80c, and JAEA ships JENDL-5 at .20c. The MCNP manual declines to publish a mapping at all and points you at your own xsdir instead, which is the right instinct. The NRDP library reference collects the LANL numbering in one table.

Rather than editing every ZAID when you switch libraries, set a default. NLIB on an m card changes the default neutron library for that material, and an M0 card applies its keywords to every other material in the deck. A ZAID that names its own suffix still wins over both.

mcnp
M0    NLIB=80c              $ every bare ZAID below resolves to ENDF/B-VII.1
m1    92235 0.045  92238 0.955  8016 2.0
m2    1001  2.0    8016  1.0
m3    26056.00c 1.0            $ explicit suffix overrides the M0 default

Thermal scattering, and the failure that makes no noise

Below roughly 10 eV a neutron can no longer treat a hydrogen nucleus as a free particle at rest: the nucleus is bound into a molecule, and scattering has to account for the molecular and lattice modes it can excite. An mt card supplies that treatment by naming an S(α,β) table.

mcnp
m3    1001.80c    2.0     $ hydrogen in H2O
      8016.80c    1.0     $ oxygen
mt3   lwtr.20t            $ binds the hydrogen — ENDF71SaB at 293.6 K

m4    6000.80c    1.0     $ natural carbon
mt4   grph.20t            $ binds the carbon

Each table alters exactly one target element, and MCNP matches on that target. Point an mt card at a material that does not contain the target and nothing happens — no error, no warning, and a thermal spectrum that is wrong in a way no summary table will show you. The same matching rule means the effect is all-or-nothing: you cannot bind some of the hydrogen in a material and leave the rest free.

Keep the thermal and neutron libraries from the same generation. ENDF71SaB runs .20t at 293.6 K up to .28t at 800 K and pairs with .80c; the older endf70sab covers the same ladder at .10t.18t and pairs with .70c. ENDF/B-VIII.0's thermal set also renamed the tables, so lwtr becomes h-h2o there.

Temperature reaches the physics through three separate mechanisms and it is worth keeping them apart. The library suffix carries Doppler-broadened resonances, baked in during processing. The mt table carries the bound-scattering kernel. The TMP card carries only the free-gas scattering temperature.

mcnp
c Hot fuel at 1200 K
c   kT(MeV) = 8.617e-11 x T(K), so 1200 K -> 1.0340e-7
m10   92235.83c   0.045   $ resonances broadened to 1200 K by the library
      92238.83c   0.955
      8016.83c    2.000

c TMP takes one entry per cell in the problem, in that cell order.
c A zero entry for a non-void cell is a fatal error.
TMP   1.0340e-7  1.0340e-7  5.1702e-8  2.5300e-8

That TMP card is easy to get wrong in two ways. It is not a single global value — the data-card form takes one entry per cell in the problem, in cell order. And it runs in the opposite direction from most people's intuition: leave it off and MCNP adjusts scattering back toward room temperature using an approximation that does not touch resonances at all. A deck built on .83c data with no TMP cards is therefore inconsistent, and the manual asks you to set TMP on every cell whose library is not at room temperature.

The pin cell's four materials

The running example for this path is a PWR pin cell, and it needs four materials: fuel, the helium in the pellet–clad gap, the cladding, and the moderator. This is the block that opens the deck on Example: Pin Cell, and it matches mcnp-examples/example_pin/pin_cell.i line for line.

mcnp
c --- Materials ---
c Fuel: UO2 at 4.5% enrichment, 10.4 g/cm3 on the cell card
m1    92235.70c   0.045   $ U-235
      92238.70c   0.955   $ U-238
      8016.70c    2.0     $ O-16, two per formula unit

c Gap: helium at fill-gas density
m2    2004.70c    1.0     $ He-4

c Cladding: natural zirconium, atom fractions from natural abundance
m3    40090.70c   0.5145  $ Zr-90
      40091.70c   0.1122  $ Zr-91
      40092.70c   0.1715  $ Zr-92
      40094.70c   0.1738  $ Zr-94
      40096.70c   0.0280  $ Zr-96

c Moderator: light water, atom fractions, with the thermal kernel
m4    1001.70c    2.0     $ H-1
      8016.70c    1.0     $ O-16
mt4   lwtr.10t            $ binds the hydrogen at 293.6 K

Three things in that block are worth noticing. Every fraction is positive, because all four compositions come from ratios of atoms — stoichiometry for UO₂ and water, natural abundance for zirconium. Natural abundances in particular are tabulated by atom, so writing those five zirconium entries as negative numbers would describe a different metal.

The cladding is modelled as pure natural zirconium rather than true Zircaloy-4. The 1.5 wt% tin and the trace iron and chromium are neglected, which is a standard simplification for a single pin cell and worth about a few tens of pcm; the density stays at the alloy's 6.56 g/cm³. Add the alloying elements when the absorption in the cladding is the thing you are trying to measure.

And only the water gets an mt card. Zirconium is a structural solid here, not a moderator, so there is no thermal kernel to attach.

The neutron suffix here is .70c and the thermal table is lwtr.10t — both ENDF/B-VII.0, deliberately paired. Swap one and you should swap the other.

Try it: one card, one convention

Enrichment gets quoted both ways in the literature, so the first job when copying a composition is working out which kind of number you are holding. The deck below gets it half right.

Try it yourself — materials.i
m1 mixes the two conventions. The uranium entries are atom fractions for 4.5 at% enrichment, so the oxygen has to be one too — two oxygen atoms per uranium atom. Leave m2 alone: an all-negative card is consistent and correct.
1 errorChecked by the OWEN rule set

Neither sign is the right one in general. Match the source you are copying from, stay consistent within the card, and reach for atom fractions when the choice is yours.

Try it: thermal scattering

This is the failure mode from earlier, made concrete. Both mt cards below name a real table and both materials are physically sensible, so nothing in the output will announce the problem.

Try it yourself — moderators.i
The two mt cards are swapped. lwtr binds hydrogen in water and grph binds carbon in graphite; give each material the kernel for the element it actually contains.
2 errorsChecked by the OWEN rule set

Card semantics on this page follow MCNP6.3.1 Theory & User Manual (LA-UR-24-24602 Rev. 1), §5.6.1 M: Material Specification, §5.6.2 MT: S(α,β) Thermal Neutron Scattering, §5.7.5 TMP: Free-gas Thermal Temperature and §1.2.3 Table Identifiers.

The sign conventions — negative density for g/cm3, negative fraction for weight fraction — are the most misremembered part of the card. §5.6.1 also records the recommendation to prefer atom fractions, and that M0 sets defaults for every other material.

Full reference list on the attribution page.

Check yourself

  • Write an m card, keeping the fraction sign rule apart from the density sign rule on the cell card?
  • Say what .80c points at, and where to look when you do not know?
  • Attach the right mt table to a moderator, and describe what changes when you leave it off?
  • Explain why Doppler broadening comes from the library while TMP does not?
  • Write the four materials of the pin cell from memory?