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