Ejemplo n.º 1
0
 def test_allocate(self):
     orb = Orbit(M0=self.M, G=self.G, m=0.1, **self.kep_orb)
     assert orb.num == 1
     orb.allocate(10)
     assert orb.num == 10
     orb.add(num=5)
     assert orb.num == 15
     orb.allocate(10)
     assert orb.num == 10
     assert np.all(np.isnan(orb.cartesian))
     assert np.all(np.isnan(orb.kepler))
     nt.assert_array_almost_equal(orb.m, np.zeros_like(orb.m))
Ejemplo n.º 2
0
    def test_delete(self):
        orb = Orbit(M0=self.M, G=self.G, m=0.1, **self.kep_orb)

        a0 = self.kep_orb['a']
        inds = [2,4,6]

        orb.add(num=9, **self.kep_orb)
        a = orb.a
        a[inds] = a0 + 2
        orb.a = a

        orb.delete(inds)

        assert orb.num == 10-3
        assert np.all(orb.a < a0 + 1)
Ejemplo n.º 3
0
    def test_dtype(self):
        orb = Orbit(1)
        assert orb.cartesian.dtype==np.float64
        assert orb.dtype==np.float64
        orb = Orbit(1, dtype = np.float32)
        assert orb.cartesian.dtype==np.float32
        assert orb.kepler.dtype==np.float32
        assert orb.dtype==np.float32

        orb.add(num=10)
        orb.x = 2.0

        assert orb.cartesian.dtype==np.float32
        assert orb.kepler.dtype==np.float32
        assert orb.x.dtype==np.float32
        assert orb.dtype==np.float32