コード例 #1
0
    def slowtest3(self):
        print "Testing ParallelStellarEvolution evolve_model"
        particles = Particles(4)
        particles.mass = range(1, 1 + len(particles)) | units.MSun

        serial = MESA()
        inserial = serial.particles.add_particles(particles)
        self.assertAlmostEqual(inserial.mass,
                               range(1, 1 + len(particles)) | units.MSun)
        serial.evolve_model(0.2 | units.Myr)

        parallel = ParallelStellarEvolution(MESA,
                                            number_of_workers=3,
                                            **default_options)
        inparallel = parallel.particles.add_particles(particles)
        self.assertAlmostEqual(inparallel.mass,
                               range(1, 1 + len(particles)) | units.MSun)
        parallel.evolve_model(0.2 | units.Myr)
        self.assertEqual(parallel.model_time, 0.2 | units.Myr)
        self.assertTrue(numpy.all(inparallel.age >= (0.2 | units.Myr)))
        self.assertTrue(
            numpy.all(
                inparallel.age - inparallel.time_step <= (0.2 | units.Myr)))

        self.assertEqual(inserial.luminosity, inparallel.luminosity)
        self.assertEqual(inserial.time_step, inparallel.time_step)
        self.assertEqual(inserial.temperature, inparallel.temperature)
        serial.stop()
        parallel.stop()
コード例 #2
0
 def slowtest3(self):
     print "Testing ParallelStellarEvolution evolve_model"
     particles = Particles(4)
     particles.mass = range(1, 1+len(particles)) | units.MSun
     
     serial = MESA()
     inserial = serial.particles.add_particles(particles)
     self.assertAlmostEqual(inserial.mass, range(1, 1+len(particles)) | units.MSun)
     serial.evolve_model(0.2 | units.Myr)
     
     parallel = ParallelStellarEvolution(MESA, number_of_workers=3, **default_options)
     inparallel = parallel.particles.add_particles(particles)
     self.assertAlmostEqual(inparallel.mass, range(1, 1+len(particles)) | units.MSun)
     parallel.evolve_model(0.2 | units.Myr)
     self.assertEqual(parallel.model_time, 0.2 | units.Myr)
     self.assertTrue(numpy.all(inparallel.age >= (0.2 | units.Myr)))
     self.assertTrue(numpy.all(inparallel.age - inparallel.time_step <= (0.2 | units.Myr)))
     
     self.assertEqual(inserial.luminosity, inparallel.luminosity)
     self.assertEqual(inserial.time_step, inparallel.time_step)
     self.assertEqual(inserial.temperature, inparallel.temperature)
     serial.stop()
     parallel.stop()