Limb Darkening#

These are convenience functions designed to transform limb darkening coefficients of commonly used limb darkening laws into coefficients of high-order polynomials that squishyplanet can use to model the intensity profile of the star.

limb_darkening_laws.kipping_ld_law(q1: float, q2: float, return_profile: bool = False) Array | dict[str, Array][source]#

Kipping limb-darkening law.

A restriction of the quadratic law from Kipping 2013 that guaratees a monotonic increasing intensity profile

\[\frac{I(\mu)}{I(\mu = 1)} = 1 - u_1 (1 - \mu) - u_2 (1 - \mu)^2\]

where

\[u_1 = 2 \sqrt{q_1} q_2\]
\[u_2 = \sqrt{q_1} (1 - 2 q_2)\]
Parameters:
  • q1 (float) – Kipping limb-darkening coefficient

  • q2 (float) – Kipping limb-darkening coefficient

  • return_profile (bool, default=False) – Whether to return a dictionary describing the intensity profile

Returns:

If return_profile is False, returns an array of u coefficients used by squishyplanet to compute the intensity profile.

If return_profile is True, returns a dictionary describing the intensity profile.

Return type:

Array or dict

limb_darkening_laws.linear_ld_law(u1: float, return_profile: bool = False) Array | dict[str, Array][source]#

Linear limb-darkening law.

\[\frac{I(\mu)}{I(\mu = 1)} = 1 - u_1 (1 - \mu)\]
Parameters:
  • u1 (float) – Linear limb-darkening coefficient

  • return_profile (bool, default=False) – Whether to return a dictionary describing the intensity profile

Returns:

u coefficients used by squishyplanet to compute the intensity profile

(here it’s just [u1, 0], since we always need at least two coefficients)

dict (if return_profile=True):

Dictionary describing the intensity profile

Return type:

Array

limb_darkening_laws.nonlinear_3param_ld_law(u1: float, u2: float, u3: float, order: int = 12, return_profile: bool = False) Array | dict[str, Array][source]#

Non-linear 3-parameter limb-darkening law.

\[\frac{I(\mu)}{I(\mu = 1)} = 1 - u_1 (1 - \mu) - u_2 (1 - \mu^{1.5}) - u_3 (1 - \mu^2)\]
Parameters:
  • u1 (float) – Linear limb-darkening coefficient

  • u2 (float) – Square root limb-darkening coefficient

  • u3 (float) – Square limb-darkening coefficient

  • order (int, default=5) – Order of the polynomial fit to the intensity profile

  • return_profile (bool, default=False) – Whether to return a dictionary describing the intensity profile

Returns:

u coefficients of the least-squares polynomial fit to the intensity profile

created by the limb-darkening law across a dense grid of mu values

dict (if return_profile=True):

Dictionary describing the intensity profile

Return type:

Array

limb_darkening_laws.nonlinear_4param_ld_law(u1: float, u2: float, u3: float, u4: float, order: int = 12, return_profile: bool = False) Array | dict[str, Array][source]#

Non-linear 4-parameter limb-darkening law.

\[\frac{I(\mu)}{I(\mu = 1)} = 1 - u_1 (1 - \mu^{0.5}) - u_2 (1 - \mu) - u_2 (1 - \mu^{1.5}) - u_3 (1 - \mu^2)\]
Parameters:
  • u1 (float) – Linear limb-darkening coefficient

  • u2 (float) – Square root limb-darkening coefficient

  • u3 (float) – Square limb-darkening coefficient

  • u4 (float) – Square limb-darkening coefficient

  • order (int, default=5) – Order of the polynomial fit to the intensity profile

  • return_profile (bool, default=False) – Whether to return a dictionary describing the intensity profile

Returns:

u coefficients of the least-squares polynomial fit to the intensity profile

created by the limb-darkening law across a dense grid of mu values

dict (if return_profile=True):

Dictionary describing the intensity profile

Return type:

Array

limb_darkening_laws.quadratic_ld_law(u1: float, u2: float, return_profile: bool = False) Array | dict[str, Array][source]#

Quadratic limb-darkening law.

\[\frac{I(\mu)}{I(\mu = 1)} = 1 - u_1 (1 - \mu) - u_2 (1 - \mu)^2\]
Parameters:
  • u1 (float) – Linear limb-darkening coefficient

  • u2 (float) – Quadratic limb-darkening coefficient

  • return_profile (bool, default=False) – Whether to return a dictionary describing the intensity profile

Returns:

u coefficients used by squishyplanet to compute the intensity profile

(here it’s just [u1, u2], without modification: this is a silly function included only to give a consistent interface to the limb-darkening laws)

dict (if return_profile=True):

Dictionary describing the intensity profile

Return type:

Array

limb_darkening_laws.squareroot_ld_law(u1: float, u2: float, order: int = 12, return_profile: bool = False) Array | dict[str, Array][source]#

Square root limb-darkening law.

\[\frac{I(\mu)}{I(\mu = 1)} = 1 - u_1 (1 - \mu) - u_2 (1 - \sqrt{\mu})\]
Parameters:
  • u1 (float) – Linear limb-darkening coefficient

  • u2 (float) – Square root limb-darkening coefficient

  • order (int, default=5) – Order of the polynomial fit to the intensity profile

  • return_profile (bool, default=False) – Whether to return a dictionary describing the intensity profile

Returns:

u coefficients of the least-squares polynomial fit to the intensity profile

created by the limb-darkening law across a dense grid of mu values

dict (if return_profile=True):

Dictionary describing the intensity profile

Return type:

Array