pub fn ks_strang_step<R, A>(
position: [R; 3],
velocity: [R; 3],
gm: R,
dt: R,
accel: A,
) -> Result<([R; 3], [R; 3]), PhysicsError>Expand description
One Strang-split perturbed step (the B1 between-step perturbation hook): half-kick the velocity
with the caller-supplied non-conformal Cartesian acceleration, drift exactly along the KS conformal
core for dt, then half-kick again. The perturbation is never expressed inside the KS algebra
(FS-2). 2nd-order accurate; the exact core is untouched when accel returns zero.
accel(position, velocity) -> acceleration is the non-conformal force per unit mass (e.g. the ④
aero force + J2).
§Errors
As KsPropagator::from_state / KsPropagator::propagate (the half-kicked state must stay bound).