Scope and overview
Given a material specified by its chemical composition and mass density, GRASP-X computes a comprehensive set of photon interaction, attenuation, and shielding parameters, together with fast neutron removal cross sections and photon buildup factors.
Buildup factors are obtained by two independent routes that share no intermediate data:
- XCOM–ANSI. Attenuation from the NIST XCOM database; buildup factors from the geometric-progression (G-P) fitting coefficients of the ANSI/ANS-6.4.3-1991 standard, indexed through an equivalent atomic number.
- LSPBF. A Large-Scale Photon Buildup Factor database generated by Monte-Carlo transport with a comprehensive physical model, carrying its own attenuation data and equivalent-atomic-number solution.
Presenting the two approaches side by side enables direct comparison between the standard ANSI-based methodology and the Monte Carlo–based LSPBF approach, allowing users to assess their agreement and any systematic differences.
Material specification
A material is entered as a chemical formula, a set of weight fractions, or a set of mole fractions, optionally as a multi-component mixture. Mole-based input is first converted to mass (weight) fractions. The composition is reduced to a set of elemental weight fractions $w_i$ (with $\sum_i w_i = 1$), each element carrying its atomic number $Z_i$ and atomic mass $A_i$. All subsequent mixture quantities are built from these $w_i$ together with the target mass density $\rho$.
Photon interaction processes
Photons interact with matter through a number of interaction mechanisms:
- Coherent (Rayleigh) scattering.
- Incoherent (Compton) scattering.
- Photoelectric absorption.
- Pair production.
Each interaction is characterized by its own cross section. The sum of these partial contributions constitutes the total photon attenuation coefficient under narrow-beam geometry. GRASP-X reports the individual interaction components, allowing the physical origin of the attenuation to be examined at any photon energy of interest.
Mass attenuation coefficient
The mass attenuation coefficient $\mu/\rho$ (cm$^2$ g$^{-1}$) is the fundamental quantity from which most other quantities are derived. For a single element it is the sum of the partial process contributions,
For compounds and mixtures, the mass attenuation coefficient is calculated using the mixture rule (mass-weighted additivity of the elemental values under the independent-atom approximation),
where the sum runs over the constituent elements. The XCOM–ANSI approach uses elemental attenuation coefficients from the NIST XCOM database, whereas the LSPBF approach uses the EPRDATA14 photon library employed in the underlying Monte Carlo simulations. Consequently, the attenuation coefficients—and all quantities derived from them—are computed independently for the two approaches.
Attenuation and penetration parameters
The linear attenuation coefficient $\mu$ (cm$^{-1}$) is related to the mass attenuation coefficient $\mu/\rho$ (cm$^2$ g$^{-1}$) according to $\mu = (\mu/\rho)\,\rho$. Under narrow-beam geometry, photon transmission through a thickness $t$ follows the exponential attenuation law, $I/I_0 = e^{-\mu t}$, from which the standard penetration parameters follow directly:
The half-value layer (HVL) and tenth-value layer (TVL) are the thicknesses that reduce the primary beam by factors of two and ten; the mean free path (mfp) is the average distance between interactions. Penetration depth throughout the buildup-factor treatment is expressed in units of mean free paths (mfp), $x \equiv \mu t$.
Atomic and electronic cross sections
The mass attenuation coefficient can be recast in terms of effective atomic and electronic cross sections. The effective atomic cross section $\sigma_a$ (cm$^2$ atom$^{-1}$) is the attenuation per average atom,
where $N_A$ is Avogadro's number and $\sum_i w_i/A_i$ is the number of moles of atoms per gram of mixture. The effective electronic cross section $\sigma_e$ (cm$^2$ electron$^{-1}$) is the corresponding per-electron quantity,
with the effective atomic number $Z_{\text{eff}}$ defined in the next section. These quantities describe the same attenuation process as the mass attenuation coefficient, but normalized on a per-atom and per-electron basis, respectively. They form the basis for calculating the effective atomic number and effective electron density.
Effective atomic number and electron density
The effective atomic number $Z_{\text{eff}}$ is the atomic number of a hypothetical single element that would produce the same attenuation behavior. GRASP-X evaluates it, energy by energy, as the ratio of the atomic to the electronic cross section — equivalently,
Because the partial cross sections carry different $Z$ dependences, $Z_{\text{eff}}$ is not constant but varies with photon energy, tracking whichever interaction dominates. The effective electron density (effective number of electrons per unit mass) then follows as
Fast-neutron removal cross section
For materials that also serve as neutron shields, GRASP-X reports the macroscopic fast-neutron removal cross section $\Sigma_R$ (cm$^{-1}$), which characterises the attenuation of fast (fission-spectrum) neutrons in shielding materials. It is built from the tabulated mass removal cross sections of the constituents,
where the elemental mass removal cross section is represented by the standard empirical fit in atomic number,
This quantity is independent of the photon buildup-factor treatment and is provided as a complementary neutron-shielding indicator.
Equivalent atomic number for buildup factors
Buildup-factor data are tabulated for elements. To apply them to a compound or mixture, one first maps the mixture onto an equivalent atomic number $Z_{\text{eq}}$ — a concept distinct from $Z_{\text{eff}}$ and specific to the buildup-factor problem. Following the Harima procedure, the mapping is made through the ratio of the incoherent (Compton) to the total attenuation, a smooth indicator of the scattering–absorption balance that governs buildup:
Interpolation and multiple roots
At each energy, the mixture value $R(E)$ is located between the tabulated elemental values $R(Z_1)$ and $R(Z_2)$ of two adjacent elements, and $Z_{\text{eq}}$ is obtained by logarithmic interpolation,
Because $R(Z)$ need not be strictly monotonic across the full element range, more than one bracket may enclose the mixture value at a given energy, producing several equally valid $Z_{\text{eq}}$ roots. GRASP-X retains all of them so that the resulting spread of buildup factors is visible.
Reporting every root is complete but not directly usable: a single-valued estimate is needed to draw one buildup curve. GRASP-X therefore also reports a single recommended trace.
The recommended branch
For a single continuous estimate, the tool follows one physically consistent $Z_{\text{eq}}$ branch across the energy axis (the Recommended trace). Starting from the atomic-number range of the constituent elements, at each energy, the root nearest to the branch's predicted continuation is selected — either by nearest-neighbour matching or by linear extrapolation of the preceding selections. Energies where the branch choice is ill-conditioned (near a multi-root edge, or where the only available root falls outside the composition's $[Z_{\min}, Z_{\max}]$ range) are marked in the corresponding charts: the energies themselves carry a marker, with a light band drawn behind them. The marker records how the root was chosen, not a value established to be wrong. The selection rule is reliable in general and has not been found in error where it has been examined, but it has not been examined at every material and every energy; a marked point therefore warrants more caution than the remainder of the curve.
Absorption edges in the recommended branch
Both steps of the calculation — solving for $Z_{\text{eq}}$, then reading a buildup factor at it — are interpolations between two tabulated elements. Both are only meaningful if the two elements are in the same physical regime, and an absorption edge is exactly what breaks that condition.
Just above its K edge an element becomes unusually transparent to its own fluorescence: the K photons it emits fall just below the edge, where the photoelectric channel has closed and the attenuation coefficient is at its smallest, so they travel far and the buildup factor rises steeply. The effect is strong, narrow in energy and specific to each element. In the reference tables lead at ten mean free paths reads $B = 2.98$ immediately below its K edge at 88.3 keV and $B = 969$ immediately above it, returning to $3.37$ by 150 keV. Interpolating between two elements caught at different points of that excursion returns a number belonging to neither, and it appeared in earlier versions as a peak that Monte Carlo does not reproduce.
Four conditions are therefore imposed. Write $E_K(Z)$ for the K-edge energy of element $Z$, and let $Z_r$ be the heaviest constituent carrying appreciable weight — the element whose edges govern the compound's own behaviour at low energy.
- The bracketing pair must be internally consistent. For every shell the two tabulated elements $Z_1$ and $Z_2$ have in common, the energy must lie on the same side of both edges. No shell is privileged: what invalidates the interpolation is a discontinuity in the cross section, and the L edges produce one just as the K edge does.
- The pair must agree with the material. Being consistent with each other is not enough. The pair must also lie on the same side as $Z_r$, since it is the compound's own regime that the result is meant to describe. Where it does not, the two nearest elements that are in the compound's regime are used instead; where those are too far from $Z_{\text{eq}}$ to reach, the value is clamped to the nearest of them and the row is marked.
- $Z_{\text{eq}}$ itself must not be solved across an edge. The elemental curve $R(Z)$ is discontinuous at an edge, because an element whose K edge lies just above the energy has not yet opened its photoelectric channel and its $R$ jumps upward. A crossing of $R_{\text{mix}}$ found inside that jump is not a root of $R(Z)$ but an interpolation of a value the curve never takes, and it is discarded.
- Distance above the edge must also bracket the material. Lying on the same side is not sufficient above an edge, because the fluorescence window fades with distance from it. The ordinary requirement of an interpolation is that the target lie inside the interval being interpolated over, and here the relevant coordinate is not $Z$ but $E/E_K$. The condition imposed is $\min(\rho_1,\rho_2) \le \rho_r \le \max(\rho_1,\rho_2)$ with $\rho_i = E/E_K(Z_i)$, asked only while one end is still inside its own window. Where it fails the value is left as computed but the row is marked.
Where none of these can be satisfied — typically just below a heavy constituent's K edge, where $R_{\text{mix}}$ rises above the $R$ of every heavy element and the only remaining root sits at an atomic number the compound does not contain — no value is selected. The branch is carried across by its own predicted continuation and the region is shaded, rather than filled with a number obtained from an element that does not represent the material.
The absorption-edge window
The conditions above keep the interpolation from returning a value belonging to neither of the elements it was read between. They do not, by themselves, supply the value that is missing. Immediately above an absorption edge the buildup factor of the compound rises by several orders of magnitude, and the equivalent atomic number cannot represent that rise: the element whose edge it is need not lie between the two elements being interpolated.
In that region the calculation therefore asks a different question. Rather than which atomic number the mixture scatters like, it asks which tabulated element stands in the same place relative to its own edge. Write $E_{\mathrm{e}}$ for the highest absorption edge lying below the source energy $E_0$, taken over every constituent above the weight threshold, and $\rho = E_0 / E_{\mathrm{e}}$ for the position relative to it. The window parameter
is the smallest attenuation coefficient reachable by degradation, normalised to its value at the source energy. It is read from the same tabulation the calculation already requires; $g \to 1$ means the medium is at its most transparent at $E_0$ itself and no window exists.
The substitution is made where two conditions hold together: $\rho \ge 1$, and the mixture is in fact more transparent below that edge than at the source energy. The second is not a threshold and introduces no adjustable constant — the ratio falls orders of magnitude below unity where a window exists and rises above unity where it does not, and it closes by itself as the energy moves away from the edge. Where both hold, the tabulated element $Z_s$ standing at the same reduced energy on the same shell is selected and its factor is corrected for the difference in window depth,
The correction multiplies the buildup above unity rather than the factor itself, a buildup factor being bounded below by one. K and L edges are treated alike, the cross section being discontinuous at both, and every constituent above the weight threshold is a candidate: a glass carrying both bismuth and lead has a window at each of their edges. Nothing is fitted. For a pure element the substitute is the element itself, the exponent is zero, and the expression returns the tabulated value unchanged.
Rows produced this way are marked. The value comes from a table rather than from an extrapolation, but it did not come by the standard route, and in such a row the column that ordinarily carries $Z_{\text{eq}}$ carries the atomic number of the substituted element instead. The treatment is applied on both databases; on the ANSI route the substitute is drawn from the elements that standard tabulates, and where it carries no coefficients at that energy the value is left as computed rather than invented.
Gamma-ray buildup factors
Narrow-beam attenuation counts only uncollided photons. In a real (broad-beam) geometry, scattered photons also reach the detector, so the detector response exceeds the uncollided estimate. The buildup factor $B$ is the dimensionless correction that restores this,
as a function of source energy $E$ and penetration depth $x$ (in mean free paths). The numerical value depends on the physical quantity the detector measures — the response function:
- Exposure buildup factor (EBF) — response weighted by energy absorption in air.
- Energy-absorption buildup factor (EABF) — response weighted by energy deposition in the attenuating medium.
- Effective-dose buildup factor — response weighted by fluence-to-effective-dose conversion coefficients.
- Flux (number) buildup factor — unweighted particle fluence.
The XCOM–ANSI route provides the exposure and energy-absorption factors; the LSPBF route provides the exposure, effective-dose and flux factors (see below).
ANSI/ANS-6.4.3 geometric-progression factors
The ANSI/ANS-6.4.3-1991 standard supplies buildup factors through the geometric-progression (G-P) fitting formula of Harima and co-workers. For each element and each standard energy the factor is reconstructed from five energy-dependent parameters $(b, a, c, d, X_k)$ as
where $b$ is the buildup factor at one mean free path and $K(E,x)$ is the dose-multiplication factor,
To apply these element-indexed coefficients to a mixture, the fitting parameters are taken at the equivalent atomic number $Z_{\text{eq}}$ of the preceding section (by interpolation between adjacent elements). The standard tabulates coefficients for 23 elements ($Z = 4$–$92$) at 25 standard photon energies up to a penetration depth of 40 mean free paths; GRASP-X evaluates the fit on the user's mfp grid and extends it smoothly beyond 40 mfp where required.
The LSPBF database
LSPBF (Large-Scale Photon Buildup Factor) is an open, Monte-Carlo photon buildup-factor database constructed with a complete physical model — that is, transport that retains all relevant photon interactions (coherent and incoherent scattering, photoelectric absorption with characteristic-line and fluorescence production, and pair production with annihilation) together with the associated secondary radiation. It was introduced to overcome known limitations of the tabulated G-P standard, whose simplified physical model may lead to reduced accuracy at low energies, in the vicinity of atomic absorption edges, and under deep-penetration conditions.
The database spans 28 materials over $0.01$–$10$ MeV and penetration depths up to 100 mean free paths, and is organised along two independent axes that GRASP-X exposes directly:
| Axis | Options | Meaning |
|---|---|---|
| Geometric model | Infinite medium; Finite medium | Isotropic point source in an unbounded medium, versus an equivalent finite spherical medium. |
| Dosimetric type (response) | Exposure; Effective dose; Flux | The detector response the factor is weighted by (air energy absorption; fluence-to-effective-dose; unweighted fluence). |
Pipeline
The LSPBF route is fully self-contained. Its mass attenuation coefficients, and hence its penetration parameters and its equivalent atomic number, are computed from the EPRDATA14 photon library rather than from XCOM. For a mixture at energy $E$, the buildup factor is obtained by bracketing $Z_{\text{eq}}$ between two database elements $Z_1 < Z_{\text{eq}} < Z_2$ and interpolating linearly in the logarithm of the atomic number,
evaluated separately for each mean-free-path value on the grid. The chosen geometric model and dosimetric type determine which of the tabulated response surfaces the interpolation is performed on. GRASP-X evaluates all enabled combinations in a single calculation, allowing the displayed results to be switched instantly.
Energy grid
The LSPBF buildup factors are reported on the database's own tabulated energy grid — 30 energies spanning $0.01$–$10$ MeV — rather than on the 25 standard energies of the ANSI/ANS-6.4.3 table. The two routes therefore do not share an energy axis: each is evaluated only where its own source data exist. In particular the LSPBF table extends down to $0.01$ MeV and stops at $10$ MeV, whereas the XCOM–ANSI table begins at $0.015$ MeV and continues to $15$ MeV. No buildup value is reported outside the range covered by the database it is drawn from.
Absorption-edge treatment
Near the K- and L-shell absorption edges of medium- and high-$Z$ constituents, the attenuation — and therefore the buildup factor — changes abruptly. The LSPBF route augments the reference energy grid with the shell-edge energies of the constituent elements (evaluated just below and just above each edge), so that the sharp discontinuity is represented faithfully rather than smoothed over. These edge points are labelled explicitly in the tabulated output.
Representing the edge on the energy axis is one thing; not interpolating across it in atomic number is another, and it is the second that governs which values the recommended branch is willing to report. The conditions are set out under the equivalent atomic number above.
Because the equivalent-atomic-number solution, the energy grid and the shell-edge structure are dictated by the cross sections and not by the response, they are computed once and shared across all response/geometry combinations; only the buildup values themselves differ between variants.
Numerical methods and data provenance
- Interpolation. Cross sections and buildup factors are interpolated log–log in energy (and log-linear in $Z$ for the LSPBF surfaces), preserving the near power-law behaviour of the underlying physics between tabulated points.
- Penetration grid. Buildup factors are reported on a user-defined mean-free-path grid; the XCOM–ANSI fit is evaluated analytically on this grid, the LSPBF surfaces by interpolation.
- Data sources. XCOM (NIST) for the XCOM–ANSI attenuation; EPRDATA14 for the LSPBF attenuation; ANSI/ANS-6.4.3-1991 G-P coefficients for the tabulated buildup factors; the LSPBF Monte-Carlo database for the simulated buildup factors.
- Independence. The two pipelines share no intermediate quantities, so any agreement between them is a genuine cross-check rather than an artefact of shared inputs.