Exemplo n.º 1
0
    def test0(self):
        centre, orbiter = self.sun_and_earth()
        mercury = MercuryWayWard()  #,debugger='xterm')
        mercury.initialize_code()
        mercury.central_particle.add_particles(centre)
        mercury.orbiters.add_particles(orbiter)
        mercury.commit_particles()

        self.assertAlmostEqual(mercury.central_particle.j4, .0 | units.AU**4)
        self.assertAlmostEqual(mercury.central_particle.mass,
                               1.98892e+30 | units.kg, 3)
        self.assertAlmostEqual(mercury.central_particle.mass, 1.0 | units.MSun,
                               3)
        self.assertEquals(mercury.get_number_of_orbiters(), 1)
        self.assertEquals(mercury.orbiters.position, [[1, 0, 0]] | units.AU)
        self.assertEquals(mercury.orbiters.density,
                          1.0 | units.g / units.cm**3)
        self.assertEquals(mercury.orbiters.angular_momentum, [[1.0, 0.0, 0.0]]
                          | units.MSun * units.AU**2 / units.day)

        mercury.evolve_model(365.24 | units.day)

        self.assertAlmostEqual(mercury.orbiters.position,
                               [[1.0, 0.0, 0.0]] | units.AU, 1)
        self.assertAlmostEqual(
            mercury.kinetic_energy + mercury.potential_energy,
            mercury.total_energy, 3)

        mercury.stop()
Exemplo n.º 2
0
    def test0(self):
        centre, orbiter = self.sun_and_earth()
        mercury = MercuryWayWard()#,debugger='xterm')
        mercury.initialize_code()
        mercury.central_particle.add_particles(centre)
        mercury.orbiters.add_particles(orbiter)
        mercury.commit_particles()

        self.assertAlmostEqual(mercury.central_particle.j4, .0|units.AU**4)
        self.assertAlmostEqual(mercury.central_particle.mass, 1.98892e+30 |units.kg, 3)
        self.assertAlmostEqual(mercury.central_particle.mass, 1.0 |units.MSun, 3)
        self.assertEquals(mercury.get_number_of_orbiters(),1)
        self.assertEquals(mercury.orbiters.position, [[1,0,0]] | units.AU)
        self.assertEquals(mercury.orbiters.density, 1.0|units.g/units.cm**3 )
        self.assertEquals(mercury.orbiters.angular_momentum, [[1.0, 0.0, 0.0]] | units.MSun*units.AU**2/units.day)

        mercury.evolve_model(365.24 | units.day)

        self.assertAlmostEqual(mercury.orbiters.position, [[1.0, 0.0, 0.0]] | units.AU, 1)
        self.assertAlmostEqual(mercury.kinetic_energy+mercury.potential_energy,mercury.total_energy,3)

        mercury.stop()