def test_small_star(): from batman import _rsky m_star = 0.151 r_star = 0.189 period = 0.4626413 t0 = 0.2 b = 0.5 ecc = 0.1 omega = 0.1 t = np.linspace(0, period, 500) orbit = KeplerianOrbit( r_star=r_star, m_star=m_star, period=period, t0=t0, b=b, ecc=ecc, omega=omega) a = orbit.a.eval() incl = orbit.incl.eval() r_batman = _rsky._rsky(t, t0, period, a, incl, ecc, omega, 1, 1) m = r_batman < 100.0 assert m.sum() > 0 func = theano.function([], orbit.get_relative_position(t)) x, y, z = func() r = np.sqrt(x**2 + y**2) # Make sure that the in-transit impact parameter matches batman utt.assert_allclose(r_batman[m], r[m], atol=2e-5)
def test_small_star(): from batman import _rsky m_star = 0.151 r_star = 0.189 period = 0.4626413 t0 = 0.2 b = 0.5 ecc = 0.1 omega = 0.1 t = np.linspace(0, period, 500) orbit = KeplerianOrbit( r_star=r_star, m_star=m_star, period=period, t0=t0, b=b, ecc=ecc, omega=omega, ) a = orbit.a.eval() incl = orbit.incl.eval() r_batman = _rsky._rsky(t, t0, period, a, incl, ecc, omega, 1, 1) m = r_batman < 100.0 assert m.sum() > 0 func = theano.function([], orbit.get_relative_position(t)) x, y, z = func() r = np.sqrt(x**2 + y**2) # Make sure that the in-transit impact parameter matches batman utt.assert_allclose(r_batman[m], r[m], atol=2e-5)
def test_sky_coords(): from batman import _rsky t = np.linspace(-100, 100, 1000) t0, period, a, e, omega, incl = (x.flatten() for x in np.meshgrid( np.linspace(-5.0, 5.0, 2), np.exp(np.linspace(np.log(5.0), np.log(50.0), 3)), np.linspace(50.0, 100.0, 2), np.linspace(0.0, 0.9, 5), np.linspace(-np.pi, np.pi, 3), np.arccos(np.linspace(0, 1, 5)[:-1]), )) r_batman = np.empty((len(t), len(t0))) for i in range(len(t0)): r_batman[:, i] = _rsky._rsky(t, t0[i], period[i], a[i], incl[i], e[i], omega[i], 1, 1) m = r_batman < 100.0 assert m.sum() > 0 orbit = KeplerianOrbit(period=period, a=a, t0=t0, ecc=e, omega=omega, incl=incl, tol=1e-8, maxiter=5000) func = theano.function([], orbit.get_relative_position(t)) x, y, z = func() r = np.sqrt(x**2 + y**2) # Make sure that the in-transit impact parameter matches batman utt.assert_allclose(r_batman[m], r[m], atol=2e-5) # In-transit should correspond to negative z in our parameterization assert np.all(z[m] < 0) # Therefore, when batman doesn't see a transit we shouldn't be transiting no_transit = z[~m] > 0 no_transit |= r[~m] > 2 assert np.all(no_transit)
def test_sky_coords(): from batman import _rsky t = np.linspace(-100, 100, 1000) t0, period, a, e, omega, incl = (x.flatten() for x in np.meshgrid( np.linspace(-5.0, 5.0, 2), np.exp(np.linspace(np.log(5.0), np.log(50.0), 3)), np.linspace(50.0, 100.0, 2), np.linspace(0.0, 0.9, 5), np.linspace(-np.pi, np.pi, 3), np.arccos(np.linspace(0, 1, 5)[:-1]), )) r_batman = np.empty((len(t), len(t0))) for i in range(len(t0)): r_batman[:, i] = _rsky._rsky(t, t0[i], period[i], a[i], incl[i], e[i], omega[i], 1, 1) m = r_batman < 100.0 assert m.sum() > 0 orbit = KeplerianOrbit( period=period, a=a, t0=t0, ecc=e, omega=omega, incl=incl) func = theano.function([], orbit.get_relative_position(t)) x, y, z = func() r = np.sqrt(x**2 + y**2) # Make sure that the in-transit impact parameter matches batman utt.assert_allclose(r_batman[m], r[m], atol=2e-5) # In-transit should correspond to negative z in our parameterization assert np.all(z[m] > 0) # Therefore, when batman doesn't see a transit we shouldn't be transiting no_transit = z[~m] < 0 no_transit |= r[~m] > 2 assert np.all(no_transit)