Exemplo n.º 1
0
    def test_b_circular(self):
        """Impact parameter mapping test for circular orbits.
        
        Test impact parameter mapping to ensure that b == z(t0) for circular orbits.
        """
        Is = o.i_from_ba(self.bs, self.a)

        zs = np.concatenate(
            [of.z_circular(self.t, self.t0, self.p, self.a, i, 1) for i in Is])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([
            of.z_eccentric_newton(self.t, self.t0, self.p, self.a, i, 0, 0, 1)
            for i in Is
        ])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([
            of.z_eccentric_iter(self.t, self.t0, self.p, self.a, i, 0, 0, 1)
            for i in Is
        ])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([
            of.z_eccentric_ps3(self.t, self.t0, self.p, self.a, i, 0, 0, 1)
            for i in Is
        ])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([
            of.z_eccentric_ps5(self.t, self.t0, self.p, self.a, i, 0, 0, 1)
            for i in Is
        ])
        npt.assert_array_almost_equal(self.bs, zs)
Exemplo n.º 2
0
 def compute_lc_model(self, pv):
     _tc, _p, _b = pv[0], pv[1], pv[3]
     _ld = pv[self.ldc_slice]
     _a = as_from_rhop(pv[2], pv[1])
     _i = m.acos(_b/_a)
     
     k = np.sqrt(pv[self.k2_slice])
     _k = k.mean()
     kf = (k/_k)**2
     
     z = of.z_circular(self.time, _tc, _p, _a, _i, 4)
     flux = self.tmodel(z, _k, pv[self.ldc_slice])
     
     return (kf*(flux-1.)+1.).reshape((self.npt,self.npb))
Exemplo n.º 3
0
    def compute_lc_model(self, pv):
        _tc, _p, _b = pv[0], pv[1], pv[3]
        _ld = pv[self.ldc_slice]
        _a = as_from_rhop(pv[2], pv[1])
        _i = m.acos(_b/_a)

        self.ld[0::2] = 2.*np.sqrt(_ld[0::2])*_ld[1::2]
        self.ld[1::2] = np.sqrt(_ld[0::2])*(1.-2.*_ld[1::2])
        
        k = np.sqrt(pv[self.k2_slice])
        _k = k.mean()
        kf = (k/_k)**2
        
        z = of.z_circular(self.time, _tc, _p, _a, _i, 4)
        flux = self.tmodel(z, _k, self.ld)
        
        return kf*(flux-1.)+1.
Exemplo n.º 4
0
    def test_b_circular(self):
        """Impact parameter mapping test for circular orbits.
        
        Test impact parameter mapping to ensure that b == z(t0) for circular orbits.
        """
        Is = o.i_from_ba(self.bs, self.a)

        zs = np.concatenate([of.z_circular(self.t, self.t0, self.p, self.a, i, 1) for i in Is])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([of.z_eccentric_newton(self.t, self.t0, self.p, self.a, i, 0, 0, 1) for i in Is])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([of.z_eccentric_iter(self.t, self.t0, self.p, self.a, i, 0, 0, 1) for i in Is])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([of.z_eccentric_ps3(self.t, self.t0, self.p, self.a, i, 0, 0, 1) for i in Is])
        npt.assert_array_almost_equal(self.bs, zs)

        zs = np.concatenate([of.z_eccentric_ps5(self.t, self.t0, self.p, self.a, i, 0, 0, 1) for i in Is])
        npt.assert_array_almost_equal(self.bs, zs)
Exemplo n.º 5
0
 def test_circular(self):
     for (i, t0), w in product(enumerate(self.t0s), self.ws):
         z = of.z_circular(self.t, t0, self.p, self.a, self.i, nth=1)
         npt.assert_array_almost_equal(z, self.ref_zs[i])
Exemplo n.º 6
0
 def test_circular(self):
     for (i,t0), w in product(enumerate(self.t0s), self.ws):
         z = of.z_circular(self.t, t0, self.p, self.a, self.i, nth=1)
         npt.assert_array_almost_equal(z, self.ref_zs[i])