meepmeep.numba3d.lambert_phase_curve_c#
- meepmeep.numba3d.lambert_phase_curve_c(time: float | ndarray[tuple[Any, ...], dtype[_ScalarT]], ag: float, k: float, c: ndarray[tuple[Any, ...], dtype[_ScalarT]]) float | ndarray[tuple[Any, ...], dtype[_ScalarT]][source]#
Evaluate the Lambertian phase-curve flux contribution at an expansion-point-centered time.
Centered counterpart of lambert_phase_curve: assumes time has already been shifted to be relative to the expansion point. Evaluates \(F = (k/r)^2\, A_g\, f(\alpha)\) where \(f\) is the Lambert kernel, \(\alpha\) the instantaneous phase angle, and \(r\) the instantaneous star-planet distance in stellar radii. The result is the planet-to-star flux ratio of reflected light.
Accepts a scalar time or a 1-D array of times and dispatches to the appropriate kernel at compile time (inside
@njit) or at call time (pure Python).- Parameters:
- Returns:
- flux
floatorNDArray Reflected planet-to-star flux ratio. Shape (N,) for an array time.
- flux
Notes
The inverse-square illumination uses the instantaneous 3D distance \(r = \sqrt{x^2 + y^2 + z^2}\) recovered from the coefficient matrix, so the result is exact for eccentric orbits and does not need a separate semi-major axis argument.