Caustics

pyLIMA.caustics.binary_caustics.caustic_points_at_phi_0(separation, mass_ratio)

Find caustics points at phi=0 binary caustics. See http://adsabs.harvard.edu/abs/1990A%26A…236..311W

Parameters:
  • separation (float, the projected normalised angular distance between)

  • bodies (the two)

  • mass_ratio (float, the mass ratio of the two bodies)

Returns:

caustic_points

Return type:

array, the complex caustic points at phi=0

pyLIMA.caustics.binary_caustics.compute_2_lenses_caustics_points(separation, mass_ratio, resolution=1000)

Find the critical curve points and caustics points associated to a binary lens. See http://adsabs.harvard.edu/abs/1995ApJ…447L.105W http://adsabs.harvard.edu/abs/1990A%26A…236..311W

Parameters:
  • separation (float, the projected normalised angular distance between) – the two bodies

  • mass_ratio (float, the mass ratio of the two bodies)

  • resolution (int, number of points desired in the caustic computation.)

Returns:

  • caustics (array, the complex caustic points)

  • critical_curves (array, the complex critical curves points)

pyLIMA.caustics.binary_caustics.find_2_lenses_caustic_regime(separation, mass_ratio)

Find the caustic regime. See http://adsabs.harvard.edu/abs/2008A%26A…491..587C http://adsabs.harvard.edu/abs/2014ApJ…790..142P

Parameters:
  • separation (float, the projected normalised angular distance between)

  • bodies (the two)

  • mass_ratio (float, the mass ratio of the two bodies)

Returns:

caustic_regime

Return type:

str, close, wide or resonant

pyLIMA.caustics.binary_caustics.find_2_lenses_caustics_and_critical_curves(separation, mass_ratio, resolution=1000)

Find and sort caustics for a binary lens

Parameters:
  • separation (float, the projected normalised angular distance between) – the two bodies

  • mass_ratio (float, the mass ratio of the two bodies)

  • resolution (int, number of points desired in the caustic computation.)

Returns:

  • caustic regime (str, the caustic regime (Close, Resonant or Wide))

  • caustics (list, list of caustics)

  • critical_curve (list, list of critical curves)

pyLIMA.caustics.binary_caustics.lens_equation(z, lenses_mass, lenses_pos)

The complex lens equation See http://adsabs.harvard.edu/abs/1990A%26A…236..311W

Parameters:
  • z (array, the complex position in the image plane)

  • lenses_mass (array, the masses of the lenses (scale to 1))

  • lenses_pos (array, the complex position of the lenses)

Returns:

zeta

Return type:

array, the associated complex position in the source plane

pyLIMA.caustics.binary_caustics.poly_binary_eiphi_0(separation, mass_ratio)

Build the polynomial associated to phi=0 binary caustics. See http://adsabs.harvard.edu/abs/1990A%26A…236..311W

Parameters:
  • separation (float, the projected normalised angular distance between)

  • bodies (the two)

  • mass_ratio (float, the mass ratio of the two bodies)

Returns:

polynomial_coefficients

Return type:

array, the associated polynomial coefficients

pyLIMA.caustics.binary_caustics.sort_2lenses_close_caustics(caustic_points, critical_curves_points)

Sort the caustic points to have one central caustic and two “planetary” caustics

Parameters:
  • caustic_points (array, the points of the caustics, in complex notation)

  • critical_curves_points (array, the points of the critical curve,)

Returns:

  • central_caustic (array, the central caustic)

  • close_top_caustic (array, the top planetary caustic)

  • close_bottom_caustic (array, the bottom planetary caustic)

  • central_cc (array, the central critical curve)

  • close_top_cc (array, the top planetary critical curve)

  • close_bottom_cc (array, the bottom planetary critical curve)

pyLIMA.caustics.binary_caustics.sort_2lenses_resonant_caustic(caustic_points, critical_curves_points)

Sort the caustic points to have regular resonant caustic

Parameters:
  • caustic_points (array, the points of the caustics, in complex notation)

  • critical_curves_points (array, the points of the critical curve,)

Returns:

  • resonant_caustic (array, the resonant caustic)

  • resonant_cc (array, the resonant critical curve)

pyLIMA.caustics.binary_caustics.sort_2lenses_wide_caustics(caustic_points, critical_curves_points)

Sort the caustic points to have one central caustic and one “planetary” caustics

Parameters:
  • caustic_points (array, the points of the caustics, in complex notation)

  • critical_curves_points (array, the points of the critical curve,)

Returns:

  • central_caustic (array, the central caustic)

  • wide_caustic (array, the wide planetary caustic)

  • central_cc (array, the central critical curve)

  • wide_cc (array, the wide planetary critical curve)