Page actions
instrument mechanism / verified-with-binding-errata
Radioactive Decay Chain Simulator mechanism
The inspectable method record for Radioactive Decay Chain Simulator, kept separate from implementation and qualification.
Model scope
The core Bateman method is standard for a linear, closed, single-branch decay chain, but the specification is incomplete enough that deterministic behavior and the meaning of the reported secular-equilibrium point cannot be verified. Resolve the algorithm choice, units and quantity type, chain/branching model, equal-rate handling, data-table contract, and equilibrium criterion before release.
- The specification does not state whether quantities are atoms, moles, activities, or concentrations; Bateman populations require a clearly defined quantity and consistent initial conditions.
- “Coupled first-order ODEs / closed-form solution” is algorithmically ambiguous. A deterministic simulator must specify either closed-form Bateman evaluation or a numerical ODE method, including tolerances and step size.
- The closed-form Bateman expression has singular denominators when two decay constants are equal; the repeated-rate limiting form is not specified.
- Branching decays, branching fractions, multiple daughters, stable terminal nuclides, and nonzero initial quantities for intermediate daughters are not specified.
- “Secular equilibrium point” is not uniquely defined. Secular equilibrium is generally an asymptotic regime requiring a criterion such as an activity ratio within a stated tolerance; it is not generally a unique finite time.
- A half-life table is listed as a data need, but the required isotope identifiers, version, decay branches, and behavior when data are unavailable are unspecified.
Units and conventions
- All quantities are numbers of atoms and are dimensionless counts; if moles or activity are accepted, the conversion and output units must be stated.
- Half-lives and time use the same unit within each vector; decay constants are lambda = ln(2)/T_half in inverse time units.
- The test chains are closed, linear, single-branch chains with no external production or loss and with the stated initial populations.
- For a two-member chain with parent P and daughter D, D(0)=0 unless explicitly stated; P(t)=P0 exp(-lambda_P t), and D(t)=P0 lambda_P/(lambda_D-lambda_P)[exp(-lambda_P t)-exp(-lambda_D t)].
- For the three-member vector, the chain is P1 -> P2 -> P3 with unit branching fractions and P2(0)=P3(0)=0.
- The expected calculations use exact closed-form Bateman evaluation; no iterative numerical method or convergence tolerance is applicable. If the implementation instead integrates the ODEs numerically, it must specify the integrator, step size, and tolerance.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"chain": [
{
"isotope": "P",
"half_life": 10,
"initial_quantity": 1000
},
{
"isotope": "D",
"half_life": 100,
"initial_quantity": 0
}
],
"time": 0,
"time_unit": "hours",
"algorithm": "closed_form_Bateman",
"step_size": "not applicable"
},
"expected_outputs": {
"quantities": {
"P": 1000,
"D": 0
},
"activities": {
"P": 69.3147180559945,
"D": 0
},
"secular_equilibrium": "not defined from the specification"
},
"working": "lambda_P = ln(2)/10 = 0.0693147180559945 h^-1; lambda_D = ln(2)/100 = 0.00693147180559945 h^-1. At t=0, exp(-lambda_P t)=exp(0)=1 and exp(-lambda_D t)=1. P(0)=1000*1=1000. D(0)=1000*[0.0693147180559945/(0.00693147180559945-0.0693147180559945)]*(1-1)=0. Activities: A_P=lambda_P P=0.0693147180559945*1000=69.3147180559945; A_D=lambda_D D=0."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The distinct-rate Bateman expression is undefined when two consecutive half-lives are equal because its decay-rate denominator becomes zero; a repeated-rate limit branch is required. Unit omission also permits materially different results for the same bare time value.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche6/tranche6-results.jsonBOUNDARY_HAZARD_CATALOG.json