def test1(self):
     print("Test collect_required_attributes")
     in_memory = self.new_colliders()
     gravity = BHTree(nbody_system.nbody_to_si(1|units.MSun, 1.0|units.RSun))
     gravity.particles.add_particles(in_memory)
     stellar = SeBa()
     stellar.particles.add_particles(in_memory)
     
     collision = StellarEncounterInHydrodynamics(None, None, verbose=True)
     
     self.assertFalse(hasattr(in_memory, "radius"))
     collision.collect_required_attributes(in_memory, gravity, stellar)
     self.assertTrue(hasattr(in_memory, "radius"))
     self.assertAlmostRelativeEqual(in_memory.radius.sum(), 4.2458 | units.RSun, 3)
     
     from_stellar = stellar.particles.copy()
     for attribute in ["x", "y", "z", "vx", "vy", "vz"]:
         self.assertFalse(hasattr(from_stellar, attribute))
     collision.collect_required_attributes(from_stellar, gravity, stellar)
     
     gravity.stop()
     stellar.stop()
     
     for attribute in ["x", "y", "z", "vx", "vy", "vz"]:
         self.assertTrue(hasattr(from_stellar, attribute))
     self.assertAlmostEqual(from_stellar.position, in_memory.position)
     self.assertAlmostEqual(from_stellar.velocity, in_memory.velocity)
Exemple #2
0
 def test1(self):
     print "Test collect_required_attributes"
     in_memory = self.new_colliders()
     gravity = BHTree(nbody_system.nbody_to_si(1|units.MSun, 1.0|units.RSun))
     gravity.particles.add_particles(in_memory)
     stellar = SeBa()
     stellar.particles.add_particles(in_memory)
     
     collision = StellarEncounterInHydrodynamics(None, None, verbose=True)
     
     self.assertFalse(hasattr(in_memory, "radius"))
     collision.collect_required_attributes(in_memory, gravity, stellar)
     self.assertTrue(hasattr(in_memory, "radius"))
     self.assertAlmostRelativeEqual(in_memory.radius.sum(), 4.2458 | units.RSun, 3)
     
     from_stellar = stellar.particles.copy()
     for attribute in ["x", "y", "z", "vx", "vy", "vz"]:
         self.assertFalse(hasattr(from_stellar, attribute))
     collision.collect_required_attributes(from_stellar, gravity, stellar)
     
     gravity.stop()
     stellar.stop()
     
     for attribute in ["x", "y", "z", "vx", "vy", "vz"]:
         self.assertTrue(hasattr(from_stellar, attribute))
     self.assertAlmostEqual(from_stellar.position, in_memory.position)
     self.assertAlmostEqual(from_stellar.velocity, in_memory.velocity)