def test4(self):
     print "Test binary_will_collide"
     collision = StellarEncounterInHydrodynamics(None, None, verbose=True)
     collision.dynamical_timescale = zero
     collision.start_kepler(7 | units.MSun, 10 | units.RSun)
     # at periastron, close enough:
     colliders = self.new_colliders()
     colliders.radius = 1 | units.RSun
     self.assertTrue(
         collision.binary_will_collide(colliders[0], colliders[1]))
     # at periastron, distance too large:
     colliders.radius = 0.4 | units.RSun
     self.assertFalse(
         collision.binary_will_collide(colliders[0], colliders[1]))
     # at apastron, will collide at periastron:
     colliders.velocity = [[0.0, 0.0, 0.0], [0.0, 1000.0, 0.0]
                           ] | units.km / units.s
     self.assertTrue(
         collision.binary_will_collide(colliders[0], colliders[1]))
     # hyperbolic orbits, moving away from each other:
     colliders.position = [[0.0, 0.0, 0.0], [1.0, 100.0, 0.0]] | units.RSun
     self.assertFalse(
         collision.binary_will_collide(colliders[0], colliders[1]))
     # hyperbolic orbits, moving towards each other:
     colliders.velocity = [[0.0, 0.0, 0.0], [0.0, -1000.0, 0.0]
                           ] | units.km / units.s
     self.assertTrue(
         collision.binary_will_collide(colliders[0], colliders[1]))
     collision.kepler.stop()
Exemple #2
0
 def test4(self):
     print "Test binary_will_collide"
     collision = StellarEncounterInHydrodynamics(None, None, verbose=True)
     collision.dynamical_timescale = zero
     collision.start_kepler(7 | units.MSun, 10 | units.RSun)
     # at periastron, close enough:
     colliders = self.new_colliders()
     colliders.radius = 1 | units.RSun
     self.assertTrue(collision.binary_will_collide(colliders[0], colliders[1]))
     # at periastron, distance too large:
     colliders.radius = 0.4 | units.RSun
     self.assertFalse(collision.binary_will_collide(colliders[0], colliders[1]))
     # at apastron, will collide at periastron:
     colliders.velocity = [[0.0, 0.0, 0.0], [0.0, 1000.0, 0.0]] | units.km / units.s
     self.assertTrue(collision.binary_will_collide(colliders[0], colliders[1]))
     # hyperbolic orbits, moving away from each other:
     colliders.position = [[0.0, 0.0, 0.0], [1.0, 100.0, 0.0]] | units.RSun
     self.assertFalse(collision.binary_will_collide(colliders[0], colliders[1]))
     # hyperbolic orbits, moving towards each other:
     colliders.velocity = [[0.0, 0.0, 0.0], [0.0, -1000.0, 0.0]] | units.km / units.s
     self.assertTrue(collision.binary_will_collide(colliders[0], colliders[1]))
     collision.kepler.stop()