solution#

Functions#

solution_vector(...)

kappas(→ tuple[jaxoplanet.types.Array, ...)

q_integral(→ jaxoplanet.types.Array)

p_integral(→ jaxoplanet.types.Array)

Numerical integration of the P integral using the Gauss-Legendre quadrature.

rT(→ jaxoplanet.types.Array)

Module Contents#

solution.solution_vector(l_max: int, order: int = 20) collections.abc.Callable[[jaxoplanet.types.Array, jaxoplanet.types.Array], jaxoplanet.types.Array][source]#
solution.kappas(b: jaxoplanet.types.Array, r: jaxoplanet.types.Array) tuple[jaxoplanet.types.Array, jaxoplanet.types.Array][source]#
solution.q_integral(l_max: int, lam: jaxoplanet.types.Array) jaxoplanet.types.Array[source]#
solution.p_integral(order: int, l_max: int, b: jaxoplanet.types.Array, r: jaxoplanet.types.Array, kappa0: jaxoplanet.types.Array) jaxoplanet.types.Array[source]#

Numerical integration of the P integral using the Gauss-Legendre quadrature.

As described in Equation D32 of Luger et al. (2019), there are 6 cases to consider. Empirically, we notice that the numerical integration of the first case (mu/2 even) is precise at very low order. Hence low_order=30``is used for the first case. For the other cases, we use the order specified by the user, renamed in the function ``high_order. We also note that outside the linear limb-darkening case (i.e. (l,m)=(1, 0), or n=2) the integrand is symmetrical in phi, so we can evaluate the integral over half the range and multiply by 2.

Parameters:
  • order (int) – The order of the Gauss-Legendre quadrature.

  • l_max (int) – The maximum degree of the spherical harmonic expansion.

  • b (Array) – Impact parameter.

  • r (Array) – Occultor radius.

  • kappa0 (Array) – k0 angle.

Returns:

The integral of the P function over the occultor surface.

Return type:

Array

solution.rT(lmax: int) jaxoplanet.types.Array[source]#