meepmeep.numba3d.solve3d_orbit

Contents

meepmeep.numba3d.solve3d_orbit#

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

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

For each interior expansion point this calls solve3d() once and stacks the resulting (3, 5) matrices into a single (npt, 3, 5) array. 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. Each coeffs[ix] is a (3, 5) matrix in the layout produced by solve3d (rows: x, y, z; columns: position, velocity, acceleration, jerk, snap; pre-scaled by factorial of the Taylor order).

Notes

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