Example #1
0
 def test3(self):
     print "Testing HalogenInterface generate_particles"
     number_of_particles = 100000
     instance = HalogenInterface(**default_options)
     self.assertEquals(instance.initialize_code(), 0)
     self.assertEquals(instance.set_model_alpha(2.0), 0)
     self.assertEquals(instance.set_model_beta(5.0), 0)
     self.assertEquals(instance.set_model_gamma(0.0), 0)
     self.assertEquals(instance.set_target_number_of_particles(number_of_particles), 0)
     self.assertEquals(instance.set_random_seed(1), 0)
     self.assertEquals(instance.set_output_path(instance.get_output_directory()), 0)
     self.assertEquals(instance.commit_parameters(), 0)
     
     self.assertEquals(instance.get_number_of_particles_updated().values(), [0, 0])
     self.assertEquals(instance.generate_particles(), 0)
     self.assertEquals(instance.get_number_of_particles_updated().values(), [number_of_particles, 0])
     
     masses, errors = instance.get_mass(range(number_of_particles))
     self.assertEquals(errors, numpy.zeros(number_of_particles))
     self.assertEquals(masses, numpy.ones(number_of_particles)/number_of_particles)
     
     x_positions, y_positions, z_positions, errors = instance.get_position(range(number_of_particles))
     self.assertEquals(errors, numpy.zeros(number_of_particles))
     self.assertAlmostEquals(numpy.array([numpy.mean(x_positions), numpy.mean(y_positions), 
         numpy.mean(z_positions)]), numpy.array([0.0]*3))
     self.assertAlmostEquals(numpy.array([numpy.mean(abs(x_positions)), numpy.mean(abs(y_positions)), 
         numpy.mean(abs(z_positions))]), numpy.array([1.0]*3), 1)
     
     x_velocities, y_velocities, z_velocities, errors = instance.get_velocity(range(number_of_particles))
     self.assertEquals(errors, numpy.zeros(number_of_particles))
     self.assertAlmostEquals(numpy.array([numpy.mean(x_velocities), numpy.mean(y_velocities), 
         numpy.mean(z_velocities)]), numpy.array([0.0]*3))
     self.assertAlmostEquals(numpy.array([numpy.mean(abs(x_velocities)), numpy.mean(abs(y_velocities)), 
         numpy.mean(abs(z_velocities))]), numpy.array([0.25]*3), 1)
     
     self.assertEquals(instance.cleanup_code(), 0)
     instance.stop()
Example #2
0
    def test3(self):
        print "Testing HalogenInterface generate_particles"
        number_of_particles = 100000
        instance = HalogenInterface(**default_options)
        self.assertEquals(instance.initialize_code(), 0)
        self.assertEquals(instance.set_model_alpha(2.0), 0)
        self.assertEquals(instance.set_model_beta(5.0), 0)
        self.assertEquals(instance.set_model_gamma(0.0), 0)
        self.assertEquals(
            instance.set_target_number_of_particles(number_of_particles), 0)
        self.assertEquals(instance.set_random_seed(1), 0)
        self.assertEquals(
            instance.set_output_path(instance.get_output_directory()), 0)
        self.assertEquals(instance.commit_parameters(), 0)

        self.assertEquals(instance.get_number_of_particles_updated().values(),
                          [0, 0])
        self.assertEquals(instance.generate_particles(), 0)
        self.assertEquals(instance.get_number_of_particles_updated().values(),
                          [number_of_particles, 0])

        masses, errors = instance.get_mass(range(number_of_particles))
        self.assertEquals(errors, numpy.zeros(number_of_particles))
        self.assertEquals(
            masses,
            numpy.ones(number_of_particles) / number_of_particles)

        x_positions, y_positions, z_positions, errors = instance.get_position(
            range(number_of_particles))
        self.assertEquals(errors, numpy.zeros(number_of_particles))
        self.assertAlmostEquals(
            numpy.array([
                numpy.mean(x_positions),
                numpy.mean(y_positions),
                numpy.mean(z_positions)
            ]), numpy.array([0.0] * 3))
        self.assertAlmostEquals(
            numpy.array([
                numpy.mean(abs(x_positions)),
                numpy.mean(abs(y_positions)),
                numpy.mean(abs(z_positions))
            ]), numpy.array([1.0] * 3), 1)

        x_velocities, y_velocities, z_velocities, errors = instance.get_velocity(
            range(number_of_particles))
        self.assertEquals(errors, numpy.zeros(number_of_particles))
        self.assertAlmostEquals(
            numpy.array([
                numpy.mean(x_velocities),
                numpy.mean(y_velocities),
                numpy.mean(z_velocities)
            ]), numpy.array([0.0] * 3))
        self.assertAlmostEquals(
            numpy.array([
                numpy.mean(abs(x_velocities)),
                numpy.mean(abs(y_velocities)),
                numpy.mean(abs(z_velocities))
            ]), numpy.array([0.25] * 3), 1)

        self.assertEquals(instance.cleanup_code(), 0)
        instance.stop()