Exemplo n.º 1
0
    def test3(self):
        print("Test 3: evolve")
        instance = SimpleX(**default_options)
        instance.initialize_code()
        instance.commit_parameters()

        input_file = os.path.join(os.path.dirname(__file__),
                                  "test_simplex_data.txt")
        particles = particles_from_input_file(input_file)
        particles.du_dt = particles.u / (10 | units.Myr)
        instance.particles.add_particles(particles)
        #        instance.particles.du_dt=particles.du_dt
        #        instance.commit_particles()
        instance.particles.du_dt = particles.du_dt
        self.assertAlmostEqual(instance.particles.xion.mean(), 0.0)
        self.assertAlmostEqual(
            instance.particles.du_dt.mean().in_(units.cm**2 / units.s**3),
            particles.du_dt.mean().in_(units.cm**2 / units.s**3))
        instance.evolve_model(0.5 | units.Myr)
        self.assertAlmostEqual(
            instance.particles.du_dt.mean().in_(units.cm**2 / units.s**3),
            particles.du_dt.mean().in_(units.cm**2 / units.s**3))
        self.assertAlmostEqual(instance.particles.xion.mean(),
                               0.000845247683257)
        instance.cleanup_code()
        instance.stop()
Exemplo n.º 2
0
 def test1(self):
     print "Test 1: initialization"
     instance = SimpleX(**default_options)
     instance.initialize_code()
     instance.commit_parameters()
     instance.cleanup_code()
     instance.stop()
Exemplo n.º 3
0
 def test1(self):
     print("Test 1: initialization")
     instance = SimpleX(**default_options)
     instance.initialize_code()
     instance.commit_parameters()
     instance.cleanup_code()
     instance.stop()
Exemplo n.º 4
0
 def test8(self):
     print "Test 8: two step evolve"
     instance = SimpleX(**default_options)
     
     input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
     particles = particles_from_input_file(input_file)
     instance.particles.add_particles(particles)
     self.assertAlmostEqual(instance.particles.xion.mean(), 0.0)
     instance.evolve_model(0.25 | units.Myr)
     instance.evolve_model(0.5 | units.Myr)
     self.assertEqual( instance.particles.flux.max().value_in(1.e48* units.s**-1), 5)
     self.assertAlmostRelativeEqual(instance.particles.xion.mean(),0.00084660917243,3)
     instance.cleanup_code()
     instance.stop()
Exemplo n.º 5
0
 def test8(self):
     print "Test 8: two step evolve"
     instance = SimpleX(**default_options)
     
     input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
     particles = particles_from_input_file(input_file)
     instance.particles.add_particles(particles)
     self.assertAlmostEqual(instance.particles.xion.mean(), 0.0)
     instance.evolve_model(0.25 | units.Myr)
     instance.evolve_model(0.5 | units.Myr)
     self.assertEqual( instance.particles.flux.max().value_in(1.e48* units.s**-1), 5)
     self.assertAlmostRelativeEqual(instance.particles.xion.mean(),0.00084660917243,3)
     instance.cleanup_code()
     instance.stop()
Exemplo n.º 6
0
    def test2(self):
        print "Test 2: commit_particles, getters and setters"
        instance = SimpleX(**default_options)
        instance.initialize_code()
        instance.commit_parameters()
        
        input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
        particles = particles_from_input_file(input_file)
        instance.particles.add_particles(particles)
        instance.commit_particles()
#        for attribute in ['position', 'rho', 'flux', 'xion']:
#            self.assertAlmostEqual(13200.*getattr(particles, attribute),
#                                   13200.*getattr(instance.particles, attribute), 5)
#            setattr(instance.particles, attribute, getattr(particles, attribute)/2.0)
#            self.assertAlmostEqual(13200.*getattr(particles, attribute)/2.0,
#                                   13200.*getattr(instance.particles, attribute), 5)
        instance.cleanup_code()
        instance.stop()
Exemplo n.º 7
0
    def test2(self):
        print "Test 2: commit_particles, getters and setters"
        instance = SimpleX(**default_options)
        instance.initialize_code()
        instance.commit_parameters()
        
        input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
        particles = particles_from_input_file(input_file)
        instance.particles.add_particles(particles)
        instance.commit_particles()
#        for attribute in ['position', 'rho', 'flux', 'xion']:
#            self.assertAlmostEqual(13200.*getattr(particles, attribute),
#                                   13200.*getattr(instance.particles, attribute), 5)
#            setattr(instance.particles, attribute, getattr(particles, attribute)/2.0)
#            self.assertAlmostEqual(13200.*getattr(particles, attribute)/2.0,
#                                   13200.*getattr(instance.particles, attribute), 5)
        instance.cleanup_code()
        instance.stop()
Exemplo n.º 8
0
 def test7(self):
     print "Test 7: two step evolve"
     instance = SimpleX(**default_options)
     instance.parameters.recombination_radiation_flag=1
     
     input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
     particles = particles_from_input_file(input_file)
     instance.particles.add_particles(particles)
     self.assertAlmostEqual(instance.particles.xion.mean(), 0.0)
     instance.evolve_model(0.25 | units.Myr)
     flux_before=instance.particles.flux.sum()
     instance.particles.flux=particles.flux
     flux_after=instance.particles.flux.sum()
     self.assertEqual(flux_before,flux_after)
     instance.evolve_model(0.5 | units.Myr)
     self.assertAlmostRelativeEqual(instance.particles.xion.mean(),0.00084660917243,3)
     self.assertEqual( instance.particles.flux.max().value_in(1.e48* units.s**-1), 5)
     instance.cleanup_code()
     instance.stop()
Exemplo n.º 9
0
 def test7(self):
     print "Test 7: two step evolve"
     instance = SimpleX(**default_options)
     instance.parameters.recombination_radiation_flag=1
     
     input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
     particles = particles_from_input_file(input_file)
     instance.particles.add_particles(particles)
     self.assertAlmostEqual(instance.particles.xion.mean(), 0.0)
     instance.evolve_model(0.25 | units.Myr)
     flux_before=instance.particles.flux.sum()
     instance.particles.flux=particles.flux
     flux_after=instance.particles.flux.sum()
     self.assertEqual(flux_before,flux_after)
     instance.evolve_model(0.5 | units.Myr)
     self.assertAlmostRelativeEqual(instance.particles.xion.mean(),0.00084660917243,3)
     self.assertEqual( instance.particles.flux.max().value_in(1.e48* units.s**-1), 5)
     instance.cleanup_code()
     instance.stop()
Exemplo n.º 10
0
    def test3(self):
        print "Test 3: evolve"
        instance = SimpleX(**default_options)
        instance.initialize_code()
        instance.commit_parameters()
        
        input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
        particles = particles_from_input_file(input_file)
        particles.du_dt = particles.u/(10|units.Myr)
        instance.particles.add_particles(particles)
#        instance.particles.du_dt=particles.du_dt
#        instance.commit_particles()
        instance.particles.du_dt=particles.du_dt
        self.assertAlmostEqual(instance.particles.xion.mean(), 0.0)
        self.assertAlmostEqual(instance.particles.du_dt.mean().in_(units.cm**2/units.s**3),particles.du_dt.mean().in_(units.cm**2/units.s**3))
        instance.evolve_model(0.5 | units.Myr)
        self.assertAlmostEqual(instance.particles.du_dt.mean().in_(units.cm**2/units.s**3),particles.du_dt.mean().in_(units.cm**2/units.s**3))
        self.assertAlmostEqual(instance.particles.xion.mean(), 0.000845247683257)
        instance.cleanup_code()
        instance.stop()