meepmeep.numba3d.light_travel_time_od

meepmeep.numba3d.light_travel_time_od#

meepmeep.numba3d.light_travel_time_od(t, tpa, p, e, w, rstar, dt, ep_table, ep_times, coeffs, dcoeffs)[source]#

Light travel time correction with gradients.

Accepts a scalar time or a 1-D array of times and dispatches to the scalar (_light_travel_time_osd()) or vector (light_travel_time_ovd()) kernel at compile time (inside @njit) or at call time (pure Python).

The correction is referenced to primary transit:

\[\mathrm{ltt}(t) = -(z(t) - z(t_\mathrm{transit}))\,r_\star\,(R_\odot / c)\]

where \(t_\mathrm{transit} = t_\mathrm{pa} + M_\mathrm{tr}(e, w)\,p/(2\pi)\).

Per spec, the partial derivative w.r.t. rstar is not returned - only the seven orbital derivatives in the canonical (tc, p, a, i, e, w, lan) order. The reference z(t_transit) and its parameter derivatives are computed by _ltt_transit_z_and_d(), which includes the chain rule through t_transit(p, e, w) using vz(t_transit).

Parameters:
tfloat or ndarray

Time(s) at which to evaluate the correction and gradient.

tpafloat

Periastron time anchoring the expansion-point grid (see _pos_osd()).

pfloat

Orbital period [days].

efloat

Eccentricity.

wfloat

Argument of periastron [radians].

rstarfloat

Stellar radius [R_sun].

dt, ep_table, ep_times, coeffs, dcoeffs

Multi-expansion-point dispatch arrays.

Returns:
lttfloat or ndarray

Light travel time correction [days]. Arrays of shape (N,) for an array time argument.

dlttndarray

Gradient w.r.t. (tc, p, a, i, e, w, lan). Shape (7,) for a scalar time, (N, 7) for an array time.