meepmeep.numba3d.solve3d_orbit_d

meepmeep.numba3d.solve3d_orbit_d#

meepmeep.numba3d.solve3d_orbit_d(ep_times, p, a, i, e, w, lan=0.0, npt=15)[source]#

Pre-compute Taylor and derivative coefficients at every expansion point of one orbit.

Derivative-returning counterpart of solve3d_orbit(). Calls solve3d_d() once per interior expansion point and stacks the resulting (3, 5) and (6, 3, 5) matrices into per-orbit arrays. The last slot is the periodic image of the first and is copied rather than recomputed.

Parameters:
ep_timesndarray, shape (npt,)

Normalised expansion-point phases in [0, 1], with ep_times[-1] equal to ep_times[0] + 1. Built by create_expansion_points().

pfloat

Orbital period [days].

afloat

Scaled semi-major axis \(a/R_\star\).

ifloat

Inclination [radians].

efloat

Eccentricity, \(0 \le e < 1\).

wfloat

Argument of periastron [radians].

lanfloat, optional

Longitude of the ascending node [radians]. Constant rotation of the sky-plane (x, y) coordinates about the line of sight. Defaults to 0.0.

nptint, optional

Number of expansion points, including the periodic-image slot. Defaults to 15.

Returns:
coeffsndarray, shape (npt, 3, 5)

Taylor coefficient matrices at every expansion point (same layout as in solve3d_orbit()).

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

Parameter-derivative tensors at every expansion point. The second axis is ordered (tc, p, a, i, e, w, lan).

Notes

If you hand-roll ep_times you must enforce the periodic-image contract yourself; expansion points.create_expansion_points does this automatically.