Source: https://guthlabs.ai/docs/instruments/radioactive-decay-chain-simulator/mechanism/

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.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **verified-with-binding-errata**

## 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

[01**Overview**](<https://guthlabs.ai/docs/instruments/radioactive-decay-chain-simulator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/radioactive-decay-chain-simulator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/radioactive-decay-chain-simulator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
