Use two moving scattering populations
Choose a locally plane, parallel shock and use its rest frame. Upstream and downstream scattering centres move with the gas at and , with . A relativistic proton moves at nearly and is scattered into an approximately isotropic distribution in each local fluid frame. The converging populations provide a systematic gain during a full crossing-and-return cycle.
Bell’s parallel leading-order calculation gives the mean log-momentum gain and the downstream escape probability below. These expressions retain first order in the small fluid speed divided by light speed. Alfvén-wave drift, oblique fields and nonlinear particle feedback are outside this calculation.
For a cold monatomic strong shock, , so both and equal to this order. In the default fixed-age snapshot, that is about 0.0191. Roughly 1.91 percent of the current expected weight escapes in a cycle, and surviving representative momenta increase by .
Reading: Bell (1978), The acceleration of cosmic rays in shock fronts—I, MNRAS182,147–156
Count survivors before drawing a spectrum
Assign the seed group a positive expected weight and representative momentum . At each cycle, remove fraction at its current momentum, then give the survivors the logarithmic increment . After cycles, the surviving weight and representative momentum are the two sequences below.
Eliminate to obtain the retained weight as a power of momentum. The escaped weight per equal log-momentum interval has the same power. Converting to a density per unit momentum introduces another , which gives the index . This distinction matters when comparing a logarithmic histogram with a differential spectrum.
As the flow speed becomes very small, , and a strong shock tends to . At a finite step the explicitly defined geometric model has . It keeps that small difference instead of forcing an exactly two slope. The escaped distribution also stops at the end of the saved window.
Reading: Bell (1978), The acceleration of cosmic rays in shock fronts—I, MNRAS182,147–156 · Sandbox Physics independent supernova-remnant Python science reader
Give the cycles a diffusion clock
A diffusion coefficient measures how quickly scattering spreads particles; its units are square metres per second. Prescribe a scattering mean free path equal to the gyroradius. For an ultrarelativistic particle with charge magnitude , this gives the Bohm prescription . In the parallel geometry the normal field is unchanged, so .
The residence time can be checked independently of the cycle implementation. Upstream, the stationary population decays with distance as an exponential of scale . Its number per unit area is density times that length. Divide by the nearly isotropic crossing flux to obtain .
Downstream, a uniform population extending to infinity would have an infinite inventory. Instead condition a drifting diffusive trajectory on returning to the shock. For the leading-order launch distance , the conditional mean return time is . The independent first-passage integral tests that result. Adding both times and dividing by the mean log gain gives the acceleration time per logarithmic momentum interval.
A stronger prescribed field makes the scattering length shorter and speeds up these cycles. This relation uses an assigned scattering law. It does not show that the shock generated the necessary magnetic fluctuations.
Reading: Bell (1978), The acceleration of cosmic rays in shock fronts—I, MNRAS182,147–156 · Sandbox Physics independent supernova-remnant Python science reader
A mean gain has a measurable mathematical limitation
Taking the mean logarithm and then exponentiating generally differs from taking the mean amplification itself. This is an example of Jensen’s inequality: an exponential curve is convex. Even two equally likely gains of 1 and 2 have arithmetic mean 1.5 but geometric mean .
Our independent angular integration retains the nonzero difference accumulated over the registered cycles. It uses a stated independent-angle isotropic ansatz, so it diagnoses a limitation of the mean-log closure. It does not calibrate the real particle-energy spread or provide measured error bars for this remnant.
The practical reading is simple: a saved representative momentum summarizes a model group. Different particles can have different energies while sharing that group summary.
Reading: Sandbox Physics independent supernova-remnant Python science reader
Stop before the fixed-shock picture loses its meaning
The App takes one n7 gas snapshot at about 148.578 years and allows a particle window no longer than one percent of that age. In that interval the corresponding self-similar radius would change by about 0.57 percent and the shock speed by about 0.43 percent. The gas scene therefore stays fixed while the saved mean-cycle sequence is played.
A next complete cycle is refused if it would exceed the time window, let a characteristic diffusion length exceed one percent of the forward radius, or make the energy gain exceed the declared passive fraction of shock kinetic throughflow. Seeds enter with external energy; their origin is not thermal injection. The field-to-ram comparison and reverse-shock core condition are checked as well.
The seed input refers to representative momentum in the downstream fluid frame. Its total energy in that frame is . For an isotropic downstream group, the mean total energy in the shock frame is , where . The retained, escaped and gained energies use shock-frame kinetic energy . The seed momentum input is therefore distinct from both total and kinetic energy.
All escaped and retained weights are counted, and the defined mean-group energies balance the external seed energy plus the assigned gain. A small numerical residual verifies this calculation. It does not prove that energetic-particle pressure is dynamically negligible. The last saved momentum is the endpoint of a chosen short window, with an unresolved distribution and prescribed scattering; interpreting it as a real maximum proton energy would require much more physics.
Reading: Sandbox Physics independent supernova-remnant Python science reader