示例#1
0
    def test5(self):
        instance = SeBaInterface(
        )  #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEqual(error, 0)

        index, error = instance.new_particle([1., 2., 3.])
        self.assertEqual(error, 0)
        self.assertEqual(index, [1, 2, 3])

        mass, error = instance.get_mass(2)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 2, 6)

        mass, error = instance.get_mass(3)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 3, 6)

        error = instance.evolve_model(4600)
        self.assertEqual(error, 0)

        mass, error = instance.get_mass(index)
        print(mass)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass[0], 1.0, 6)
        self.assertAlmostRelativeEqual(mass[1], 0.62973, 4)
        self.assertAlmostRelativeEqual(mass[2], 0.75012, 4)

        instance.stop()
示例#2
0
文件: test_seba.py 项目: Ingwar/amuse
    def test5(self):
        instance = SeBaInterface() #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEquals(error, 0)

        index,error = instance.new_particle([1., 2., 3.])
        self.assertEquals(error, 0)
        self.assertEquals(index, [1,2,3])

        mass, error = instance.get_mass(2)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 2 , 6)

        mass, error = instance.get_mass(3)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 3, 6)


        error = instance.evolve_model(4600)
        self.assertEquals(error, 0)

        mass, error = instance.get_mass(index)
        print mass
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass[0], 1.0, 6)
        self.assertAlmostRelativeEqual(mass[1], 0.62973, 4)
        self.assertAlmostRelativeEqual(mass[2], 0.75012, 4)


        instance.stop()
示例#3
0
    def test2(self):
        instance = SeBaInterface(
        )  #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEqual(error, 0)

        index, error = instance.new_particle(1.)
        self.assertEqual(error, 0)
        self.assertEqual(index, 1)
        mass, error = instance.get_mass(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 1.0, 6)
        value, error = instance.get_radius(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(value, 0.88824945029751212, 6)

        stellar_type, error = instance.get_stellar_type(index)
        self.assertEqual(error, 0)
        self.assertEqual(stellar_type, 1)

        instance.stop()
示例#4
0
    def test6(self):
        instance = SeBaInterface(
        )  #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEqual(error, 0)

        index, error = instance.new_particle([1., 2., 3.])
        self.assertEqual(error, 0)
        self.assertEqual(index, [1, 2, 3])

        for t in range(46):
            error = instance.evolve_model((t + 1) * 100)
            self.assertEqual(error, 0)

        mass, error = instance.get_mass(index)
        print(mass)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, [1.0, 0.62973, 0.75072], 4)

        instance.stop()
示例#5
0
文件: test_seba.py 项目: Ingwar/amuse
    def test2(self):
        instance = SeBaInterface() #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEquals(error, 0)

        index,error = instance.new_particle(1.)
        self.assertEquals(error, 0)
        self.assertEquals(index, 1)
        mass, error = instance.get_mass(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 1.0, 6)
        value, error = instance.get_radius(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(value, 0.88824945029751212, 6)

        stellar_type, error = instance.get_stellar_type(index)
        self.assertEquals(error, 0)
        self.assertEquals(stellar_type, 1)

        instance.stop()
示例#6
0
文件: test_seba.py 项目: Ingwar/amuse
    def test6(self):
        instance = SeBaInterface() #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEquals(error, 0)

        index,error = instance.new_particle([1., 2., 3.])
        self.assertEquals(error, 0)
        self.assertEquals(index, [1,2,3])

        for t in range(46):
            error = instance.evolve_model((t+1) * 100)
            self.assertEquals(error, 0)

        mass, error = instance.get_mass(index)
        print mass
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, [1.0, 0.62973, 0.75072], 4)

        instance.stop()
示例#7
0
    def test4(self):
        instance = SeBaInterface(
        )  #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEqual(error, 0)

        index, error = instance.new_particle(1.)
        self.assertEqual(error, 0)
        self.assertEqual(index, 1)
        for t in range(46):
            error = instance.evolve_model((t + 1) * 100)
            self.assertEqual(error, 0)

        mass, error = instance.get_mass(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 1.0, 6)
        value, error = instance.get_radius(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(value, 0.9856, 4)
        value, error = instance.get_temperature(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(value, 5751, 4)
        value, error = instance.get_time_step(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(value, 1089.3, 4)

        stellar_type, error = instance.get_stellar_type(index)
        self.assertEqual(error, 0)
        self.assertEqual(stellar_type, 1)

        instance.stop()
示例#8
0
    def test9(self):
        instance = SeBaInterface(
        )  #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEqual(error, 0)
        instance.set_metallicity(0.001)

        index, error = instance.new_particle([3.0, 0.3])
        self.assertEqual(error, 0)
        self.assertEqual(index, [1, 2])

        mu = (3.3 | units.MSun) * constants.G
        orbital_period = 200.0 | units.day
        semi_major_axis = (((orbital_period / 2.0 * numpy.pi)**2) * mu)**(1.0 /
                                                                          3.0)
        print(semi_major_axis.value_in(units.RSun))

        eccentricity = 0.5
        index, error = instance.new_binary(
            semi_major_axis.value_in(units.RSun), eccentricity, index[0],
            index[1])
        self.assertEqual(error, 0)
        self.assertEqual(index, 3)

        mass, error = instance.get_mass(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 3.3, 4)
        mass, error = instance.get_mass(2)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.3, 4)

        error = instance.evolve_model(300)
        self.assertEqual(error, 0)
        mass, error = instance.get_mass(1)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 2.98777, 4)
        mass, error = instance.get_mass(2)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.29999, 4)

        error = instance.evolve_model(400)
        self.assertEqual(error, 0)
        mass, error = instance.get_mass(1)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.86679, 4)
        mass, error = instance.get_mass(2)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.3, 4)

        error = instance.delete_binary(index)
        self.assertEqual(error, 0)
        mass, error = instance.get_mass(index)
        self.assertEqual(error, -1)

        # check if singles are still in the mode and evolve
        value, error = instance.get_age([1, 2])
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(value, 400, 4)
        error = instance.evolve_model(500)
        self.assertEqual(error, 0)
        value, error = instance.get_age([1, 2])
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(value, 500, 4)
示例#9
0
    def test8(self):
        instance = SeBaInterface(
        )  #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEqual(error, 0)

        index, error = instance.new_particle([3.0, 1.0, 2.0])
        self.assertEqual(error, 0)
        self.assertEqual(index, [1, 2, 3])

        error = instance.delete_star(1)
        self.assertEqual(error, 0)

        error = instance.evolve_model(4600)

        mass, error = instance.get_mass(2)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 1, 6)

        error = instance.delete_star(3)
        self.assertEqual(error, 0)

        index, error = instance.new_particle([5.0])
        self.assertEqual(error, 0)

        mass, error = instance.get_mass(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 5.0, 6)
        error = instance.evolve_model(5000)

        mass, error = instance.get_mass(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.99057, 4)

        error = instance.delete_star(2)
        self.assertEqual(error, 0)
        error = instance.delete_star(index)
        self.assertEqual(error, 0)

        for i in range(4):
            mass, error = instance.get_mass(index + 1)
            self.assertEqual(error, -1)

        index, error = instance.new_particle([5.0])
        self.assertEqual(error, 0)

        error = instance.evolve_model(10000)

        mass, error = instance.get_mass(index)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.99057, 4)

        instance.stop()
示例#10
0
    def test7(self):
        instance = SeBaInterface(
        )  #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEqual(error, 0)

        index, error = instance.new_particle([1., 2., 3.])
        self.assertEqual(error, 0)
        self.assertEqual(index, [1, 2, 3])

        mass, error = instance.get_mass(2)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 2, 6)

        mass, error = instance.get_mass(3)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 3, 6)

        mass, error = instance.get_mass(4)
        self.assertEqual(error, -1)

        error = instance.delete_star(2)
        self.assertEqual(error, 0)

        mass, error = instance.get_mass(2)
        self.assertEqual(error, -1)

        mass, error = instance.get_mass(3)
        self.assertEqual(error, 0)
        self.assertAlmostRelativeEqual(mass, 3, 6)

        index, error = instance.new_particle(4.)
        self.assertEqual(error, 0)
        self.assertEqual(index, 4)

        instance.stop()
示例#11
0
文件: test_seba.py 项目: Ingwar/amuse
    def test4(self):
        instance = SeBaInterface() #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEquals(error, 0)

        index,error = instance.new_particle(1.)
        self.assertEquals(error, 0)
        self.assertEquals(index, 1)
        for t in range(46):
            error = instance.evolve_model((t+1) * 100)
            self.assertEquals(error, 0)

        mass, error = instance.get_mass(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 1.0, 6)
        value, error = instance.get_radius(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(value, 0.9856, 4)
        value, error = instance.get_temperature(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(value, 5751, 4)
        value, error = instance.get_time_step(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(value, 1089.3, 4)

        stellar_type, error = instance.get_stellar_type(index)
        self.assertEquals(error, 0)
        self.assertEquals(stellar_type, 1)

        instance.stop()
示例#12
0
文件: test_seba.py 项目: Ingwar/amuse
    def test9(self):
        instance = SeBaInterface() #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEquals(error, 0)
        instance.set_metallicity(0.001)

        index,error = instance.new_particle([3.0,0.3])
        self.assertEquals(error, 0)
        self.assertEquals(index, [1,2])

        mu = (3.3 | units.MSun) * constants.G
        orbital_period = 200.0 | units.day
        semi_major_axis = (((orbital_period / 2.0 * numpy.pi)**2)*mu)**(1.0/3.0)
        print semi_major_axis.value_in(units.RSun)


        eccentricity = 0.5
        index,error = instance.new_binary(
            semi_major_axis.value_in(units.RSun),
            eccentricity,
            index[0],
            index[1]
        )
        self.assertEquals(error, 0)
        self.assertEquals(index, 3)

        mass, error = instance.get_mass(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 3.3, 4)
        mass, error = instance.get_mass(2)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.3, 4)

        error = instance.evolve_model(300)
        self.assertEquals(error, 0)
        mass, error = instance.get_mass(1)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 2.98777, 4)
        mass, error = instance.get_mass(2)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.29999, 4)


        error = instance.evolve_model(400)
        self.assertEquals(error, 0)
        mass, error = instance.get_mass(1)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.86679, 4)
        mass, error = instance.get_mass(2)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.3, 4)

        error = instance.delete_binary(index)
        self.assertEquals(error, 0)
        mass, error = instance.get_mass(index)
        self.assertEquals(error, -1)

        # check if singles are still in the mode and evolve
        value, error = instance.get_age([1,2])
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(value, 400, 4)
        error = instance.evolve_model(500)
        self.assertEquals(error, 0)
        value, error = instance.get_age([1,2])
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(value, 500, 4)
示例#13
0
文件: test_seba.py 项目: Ingwar/amuse
    def test8(self):
        instance = SeBaInterface() #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEquals(error, 0)

        index,error = instance.new_particle([3.0,1.0,2.0])
        self.assertEquals(error, 0)
        self.assertEquals(index, [1,2,3])

        error = instance.delete_star(1)
        self.assertEquals(error, 0)

        error = instance.evolve_model(4600);

        mass, error = instance.get_mass(2)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 1, 6)

        error = instance.delete_star(3)
        self.assertEquals(error, 0)


        index,error = instance.new_particle([5.0])
        self.assertEquals(error, 0)

        mass, error = instance.get_mass(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 5.0, 6)
        error = instance.evolve_model(5000);


        mass, error = instance.get_mass(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.99057, 4)

        error = instance.delete_star(2)
        self.assertEquals(error, 0)
        error = instance.delete_star(index)
        self.assertEquals(error, 0)

        for i in range(4):
            mass, error = instance.get_mass(index+1)
            self.assertEquals(error, -1)

        index,error = instance.new_particle([5.0])
        self.assertEquals(error, 0)

        error = instance.evolve_model(10000);

        mass, error = instance.get_mass(index)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 0.99057, 4)

        instance.stop()
示例#14
0
文件: test_seba.py 项目: Ingwar/amuse
    def test7(self):
        instance = SeBaInterface() #self.new_instance_of_an_optional_code(SeBaInterface)
        error = instance.initialize_code()
        self.assertEquals(error, 0)

        index,error = instance.new_particle([1., 2., 3.])
        self.assertEquals(error, 0)
        self.assertEquals(index, [1,2,3])

        mass, error = instance.get_mass(2)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 2 , 6)

        mass, error = instance.get_mass(3)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 3, 6)

        mass, error = instance.get_mass(4)
        self.assertEquals(error, -1)

        error = instance.delete_star(2)
        self.assertEquals(error, 0)

        mass, error = instance.get_mass(2)
        self.assertEquals(error, -1)

        mass, error = instance.get_mass(3)
        self.assertEquals(error, 0)
        self.assertAlmostRelativeEqual(mass, 3, 6)

        index, error = instance.new_particle(4.)
        self.assertEquals(error, 0)
        self.assertEquals(index, 4)

        instance.stop()