Source code for pacman.lib.models.transit

import batman
import numpy as np


[docs]def transit(t, data, params, visit: float = 0.): p = batman.TransitParams() t0, per, rp, a, inc, ecc, w, u1, u2 = params if data.ld_model == 2: p.limb_dark = "quadratic" elif data.ld_model == 1: p.limb_dark = "linear" elif data.ld_model == 'kipping2013': p.limb_dark = "quadratic" else: print("unsupported limb darkening parameter") return 0 p.t0 = t0[visit] + data.toffset p.per = per[visit] p.rp = rp[visit] p.a = a[visit] p.inc = inc[visit] p.ecc = ecc[visit] p.w = w[visit] if data.ld_model == 2: p.u = [u1[visit], u2[visit]] elif data.ld_model == 1: p.u = [u1[visit]] elif data.ld_model == 'kipping2013': u1_quad = 2 * np.sqrt(u1[visit]) * u2[visit] # Eq. 15 in Kipping 2013 u2_quad = np.sqrt(u1[visit]) * (1 - 2 * u2[visit]) # Eq. 16 in Kipping 2013 p.u = np.array([u1_quad, u2_quad]) m = batman.TransitModel( p, t, supersample_factor=3, exp_time = data.exp_time/24./60./60. ) return m.light_curve(p)