Esempio n. 1
0
    def test05(self):
        if MODULES_MISSING:
            self.skip("Failed to import a module required for Sakura")
        print "Test SakuraInterface evolve_model, binary"
        instance = SakuraInterface(redirection='none')  #,debugger="gdb")
        self.assertEquals(0, instance.initialize_code())
        self.assertEquals(0, instance.commit_parameters())

        self.assertEquals([0, 0],
                          instance.new_particle(0.5, 0.5, 0, 0, 0, 0.5, 0,
                                                0.001).values())
        self.assertEquals([1, 0],
                          instance.new_particle(0.5, -0.5, 0, 0, 0, -0.5, 0,
                                                0.001).values())
        self.assertEquals(0, instance.commit_particles())

        P = 2 * math.pi
        self.assertEquals(0, instance.evolve_model(P / 2))  # half an orbit
        for result, expected in zip(
                instance.get_position(0).values(), [-0.5, 0.0, 0.0, 0]):
            self.assertAlmostEquals(result, expected, 2)
        self.assertEquals(0, instance.evolve_model(P))  # full orbit
        for result, expected in zip(
                instance.get_position(0).values(), [0.5, 0.0, 0.0, 0]):
            self.assertAlmostEquals(result, expected, 2)
        self.assertEquals(0, instance.cleanup_code())
        instance.stop()
Esempio n. 2
0
    def test05(self):
        if MODULES_MISSING:
            self.skip("Failed to import a module required for Sakura")
        print "Test SakuraInterface evolve_model, binary"
        instance = SakuraInterface(redirection="none")  # ,debugger="gdb")
        self.assertEquals(0, instance.initialize_code())
        self.assertEquals(0, instance.commit_parameters())

        self.assertEquals([0, 0], instance.new_particle(0.5, 0.5, 0, 0, 0, 0.5, 0, 0.001).values())
        self.assertEquals([1, 0], instance.new_particle(0.5, -0.5, 0, 0, 0, -0.5, 0, 0.001).values())
        self.assertEquals(0, instance.commit_particles())

        P = 2 * math.pi
        self.assertEquals(0, instance.evolve_model(P / 2))  # half an orbit
        for result, expected in zip(instance.get_position(0).values(), [-0.5, 0.0, 0.0, 0]):
            self.assertAlmostEquals(result, expected, 2)
        self.assertEquals(0, instance.evolve_model(P))  # full orbit
        for result, expected in zip(instance.get_position(0).values(), [0.5, 0.0, 0.0, 0]):
            self.assertAlmostEquals(result, expected, 2)
        self.assertEquals(0, instance.cleanup_code())
        instance.stop()