Physics-Process Coverage
This page mirrors the current public package registry. Status describes code availability inside the quoted scope:
implemented: available for that narrow declared mechanism;model_limited: usable with named model or table limits;experimental: executable but still a restricted capability claim;unsupported: deliberately unavailable.
Status does not mean experimental validation. See Comparison results for evidence tied to measured observables.
Applications can turn a required process into a model-compilation check:
packages.required_capabilities = {
SimulationRequiredTransportCapability{
.package = TransportPackageId::coupled_em,
.capability = "em_photon_transport",
.minimum_status = TransportCapabilityStatus::implemented,
},
SimulationRequiredTransportCapability{
.package = TransportPackageId::neutron,
.capability = "neutron_reaction_secondary_handoff",
.minimum_status = TransportCapabilityStatus::experimental,
},
};Coupled EM
Overall package status: model_limited.
| Capability | Status | Registry scope |
|---|---|---|
| photon transport | implemented | EPDL tabulated photon collisions with relaxation policies |
| charged EM transport | model_limited | electron/positron step physics, continuous loss, production cuts and multiple scattering |
| positron annihilation | model_limited | in-flight and at-rest annihilation with photon accounting |
| atomic relaxation | model_limited | emitted relaxation secondaries with explicit unresolved-energy policy |
| photonuclear cross-section data | experimental | reaction-resolved data can enter material rates and observables |
| photonuclear transport | experimental | supported exclusive reactions and inclusive product marginals can hand products to mixed transport |
| general hadronic transport | unsupported | not owned by the EM package |
Proton
Overall package status: model_limited.
| Capability | Status | Registry scope |
|---|---|---|
| CSDA stopping | model_limited | continuous material stopping to a transport floor |
| material total stopping | model_limited | total table for paths without explicit nuclear elastic recoil |
| material electronic stopping | model_limited | electronic table within declared material and energy coverage |
| Bohr straggling | experimental | optional continuous-loss fluctuation |
| nuclear reactions | experimental | target-nuclide reaction competition and supported evaluated events |
| reaction-secondary handoff | experimental | products routed to enabled owning packages |
| multiple scattering | model_limited | Highland or evaluated screened-Coulomb model within declared use |
Alpha
Overall package status: model_limited.
| Capability | Status | Registry scope |
|---|---|---|
| material stopping tables | implemented | material electronic, nuclear and total stopping inputs |
| CSDA range | model_limited | range-to-floor transport for covered material tables |
| Bohr straggling | model_limited | optional energy-loss fluctuation |
| multiple scattering | model_limited | Highland or evaluated screened-Coulomb angular/lateral model |
| charge-state evolution | model_limited | equilibrium effective-charge scaling |
| nuclear reactions | experimental | reaction competition, residual disposition and mixed products |
| evaluated reaction response | implemented | runtime-bound integral response and evaluated two-body MT2 differential response in its declared frame |
Alpha configuration also states continuous nuclear-stopping ownership so total stopping and explicit hard recoil are not counted twice.
Light Ions
Overall package status: model_limited.
| Capability | Status | Registry scope |
|---|---|---|
| material stopping tables | implemented | deuteron, triton and helium-3 electronic stopping |
| CSDA range | model_limited | range-to-floor transport for covered particles and materials |
| Bohr straggling | model_limited | optional continuous-loss fluctuation |
| multiple scattering | model_limited | Highland-like angular/lateral model |
| charge-state evolution | model_limited | equilibrium effective-charge scaling |
| nuclear reactions | experimental | declared-particle reaction competition and product handoff |
Neutron
Overall package status: experimental.
| Capability | Status | Registry scope |
|---|---|---|
| MF3 total/elastic/capture | implemented | microscopic interpolation in prepared data |
| temperature-resolved MF3 | experimental | selection or interpolation between prepared material temperatures |
| free flight | experimental | macroscopic rate and boundary competition |
| capture event model | experimental | product/residual, optional prompt gamma, recoil and energy accounting |
| nuclear de-excitation | experimental | evaluated lines, spectra and transition cascades for supported reactions |
| elastic final state | model_limited | evaluated angular data or explicitly selected simplified policy |
| isotope materials | experimental | nuclide-resolved material components |
| free-gas thermal scattering | experimental | Maxwellian thermal exchange with accounting |
| tabulated thermal scattering | experimental | material-bound evaluated outgoing energy-angle law |
| reaction-secondary handoff | experimental | compiled reaction and fission products routed through mixed transport |
| delayed reaction products | experimental | evaluated delayed emissions with time accounting |
| fission transport law | experimental | prompt/delayed products and declared fragment disposition |
| fission-product yields | experimental | per-product source-term accounting, not fragment transport |
Read The Scope Correctly
A status applies only when the model's:
- particle and energy range;
- material, nuclide and temperature;
- selected data representation;
- process competition and product disposition;
- final observable
match the declared capability. A successful run outside that chain does not expand the status.
Query the registry before offering a preset in an application:
const TransportPackageCapability *capability =
find_transport_package_capability(
TransportPackageId::alpha,
"alpha_evaluated_reaction_response");
if (capability != nullptr) {
std::cout << capability->name << ": "
<< transport_capability_status_name(capability->status)
<< '\n'
<< capability->scope << '\n';
}