Theory primer
This page distills the physics encoded in the LW Integrator and mirrors the
notation used in the internal design notes that accompany the project. It connects the
covariant Liénard–Wiechert formalism to the concrete data structures exposed in
core/trajectory_integrator.py and the validation studies under
examples/validation.
Note that throughout the codebase Gaussian units are used. The unorthodox choice of amu-millimeter-nanosecond units is implemented to avoid numerical overflows.
Retarded fields
The solver models every source particle as a point charge whose fields are sampled at the observer’s retarded time. Starting from Jackson’s form of the Liénard–Wiechert fields, the magnetic field is obtained from the electric field via a cross product, while the electric field splits into a velocity term and an acceleration term:
where \(\kappa = 1 - \boldsymbol{\beta} \cdot \mathbf{n}\), \(R\) is the
retarded source–observer separation, \(\boldsymbol{\beta} = \mathbf{v}/c\),
and \(\gamma = (1-\beta^{2})^{-1/2}\). Each quantity is evaluated at the
retarded time \(t - R/c\). The implementation samples these terms inside
core.trajectory_integrator.retarded_integrator(), looping over all
available source trajectories.
A key limit for the benchmark problems is the near head-on configuration where \(\mathbf{n}\) aligns with \(\boldsymbol{\beta}\). Neglecting transverse components yields
which explains the asymptotic growth of the longitudinal field as
\(\beta \rightarrow 1\). This is the regime probed by the aperture-loss
studies and the recoil-reduction scenarios in examples/validation.
Covariant potentials
Instead of tracking fields directly, the integrator evolves the covariant potential \(A^{\alpha}\) for each source trajectory. Using proper time \(\tau\) as the integration variable, the retarded potential reads
with \(V^{\alpha} = \{c\gamma, \gamma \mathbf{u}\}\) the four-velocity, \(r^{\alpha}(\tau)\) the source worldline, and \(\tau_{0}\) obtained from light-cone constraint \([x - r(\tau_{0})]^{2} = 0\). The denominator reduces to \(\gamma c R \kappa\), linking the potential back to the geometry used in (1).
Conjugate momentum and equations of motion
Each observer particle carries a conjugate four-momentum
where \(m\) and \(e\) are the observer mass and charge. Differentiating \(\mathcal{P}^{\alpha}\) with respect to proper time leads to the mixed-field force law used inside the stepping kernel:
Expanding \(\partial^{\alpha} A^{\beta}\) in terms of
\(V^{\alpha}\), \(R^{\alpha}\), \(\dot{V}^{\alpha}\), and
\(\kappa\) yields the component-wise form implemented in
core.trajectory_integrator._update_conjugate_momentum. The spatial
components couple velocity, acceleration, and retarded distance, ensuring that
head-on image-charge interactions reproduce the steep gradients reported in the
reference study.
Position updates follow directly from the Hamiltonian identity
which the solver evaluates after each momentum update to keep particle states in
sync. Proper-time stepping avoids runaway behaviour at high \(\gamma\)
while keeping the integration scheme close to the legacy implementation (see
legacy/covariant_integrator_library.py for a verbatim reference).
Radiation pressure and reaction
The validation notebooks explore scenarios where residual fields act on a test particle once a conducting surface or driving bunch is withdrawn. Two secondary forces are monitored to confirm that their contribution is negligible for the reported configurations:
- Radiation pressure. Using Jackson’s scaling, the momentum transfer to an
observer with area \(a_{T}\) receiving power \(P_{R}\) across solid angle \(\Omega\) is \(\dot{P}_{\text{RP}} = (P_{R}/c)\,(a_{T}/\Omega R^{2})\). For the millimetre-to-micron geometries in this repository, this quantity is orders of magnitude smaller than the Lorentz force recovered from (1).
Radiation reaction. Medina’s reduced-order form of the Lorentz–Abraham–Dirac force is used to damp numerical instabilities near conducting boundaries:
\[\mathbf{F}_{\text{rad}} = \frac{2}{3}\frac{e^{2}}{m c^{3}}\left[\frac{d\gamma}{dt}\,\mathbf{F}_{\text{ext}} - \frac{\gamma^{3}}{c^{2}} (\mathbf{F}_{\text{ext}} \cdot \mathbf{a})\, \mathbf{v}\right].\]The implementation only activates this term when image-charge interactions drive \(R\) toward the micron scale so that the retarded integrator can report a stable pre-impact energy.
Bridging back to the code
The mathematical relationships above surface in the codebase as follows:
core.trajectory_integrator.IntegratorConfigcaptures the physical parameters (\(\Delta\tau\), aperture radius, wall position) implied by the analytical terms.core.trajectory_integrator.generate_conducting_image()andcore.trajectory_integrator.generate_switching_image()encode the boundary conditions assumed when taking the head-on limit to model conducting apertures and switching walls.examples.validation.core_vs_legacy_benchmarkand the accompanyingnotebooks reproduce the asymptotic field growth predicted by (1), offering numerical confirmation of the paper’s scenarios.
For deeper derivations and experimental context, see the technical note in
LW_local_refs/main.tex.