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()
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()
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()
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()
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()
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()
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()
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)
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()
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()
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()
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)
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()
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()