meepmeep.numba3d.pos_od

Contents

meepmeep.numba3d.pos_od#

meepmeep.numba3d.pos_od(t, tpa, p, dt, ep_table, ep_times, coeffs, dcoeffs)[source]#

Planet (x, y, z) position and orbital-parameter derivatives for any orbital phase.

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

Parameters:
tfloat or ndarray

Time at which to evaluate the position and gradient.

tpafloat

Periastron time anchoring the expansion-point grid. Note the convention difference: the high-level Orbit API takes the transit-center time as tc and converts it to periastron time before calling functions in this module (see Orbit.__init__).

pfloat

Orbital period [days].

dtfloat

ep_table bucket width in fraction of the period.

ep_tablendarray of int

Time-to-expansion-point lookup table.

ep_timesndarray, shape (npt,)

Normalised expansion-point phases in [0, 1].

coeffsndarray, shape (npt, 3, 5)

Per-expansion-point Taylor coefficient matrices from solve3d_orbit_d().

dcoeffsndarray, shape (npt, 7, 3, 5)

Per-expansion-point derivative-coefficient tensors from solve3d_orbit_d().

Returns:
px, py, pzfloat or ndarray

Sky-frame position components in units of the stellar radius. Arrays of shape (N,) for an array t.

dpx, dpy, dpzndarray

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