Пример #1
0
    def test5(self):
        print("Test 2: delete particles")
        instance = SimpleXInterface(**default_options)
        self.assertEqual(
            0,
            instance.set_simplex_output_directory(instance.output_directory))
        self.assertEqual(0, instance.initialize_code())
        self.assertEqual(0, instance.commit_parameters())

        input_file = os.path.join(os.path.dirname(__file__),
                                  "test_simplex_data.txt")
        x, y, z, n_H, flux, X_ion, u = read_input_file(input_file)
        x = numpy.array(x)
        y = numpy.array(y)
        z = numpy.array(z)
        number_of_particles = len(x)
        indices, errors = instance.new_particle(x, y, z, n_H, flux, X_ion, u)
        self.assertEqual(errors, [0] * number_of_particles)
        self.assertEqual(indices, list(range(number_of_particles)))
        error = instance.delete_particle(indices[0])
        self.assertEqual(error, -1)
        instance.commit_particles()
        error = instance.delete_particle(indices[0])
        # this one I don't understand:
        self.assertEqual(error, -1)
        self.assertEqual(0, instance.evolve_model(0.125))
        error = instance.delete_particle(indices[0])
        self.assertEqual(error, 0)
Пример #2
0
    def test5(self):
        print "Test 2: delete particles"
        instance = SimpleXInterface(**default_options)
        self.assertEqual(0, instance.set_simplex_output_directory(instance.output_directory))
        self.assertEqual(0, instance.initialize_code())
        self.assertEqual(0, instance.commit_parameters())
        
        input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
        x, y, z, n_H, flux, X_ion,u = read_input_file(input_file)
        x=numpy.array(x)
        y=numpy.array(y)
        z=numpy.array(z)
        number_of_particles = len(x)
        indices, errors = instance.new_particle(x, y, z, n_H, flux, X_ion,u)
        self.assertEqual(errors, [0]*number_of_particles)
        self.assertEqual(indices, range(number_of_particles))
        error=instance.delete_particle(indices[0])
        self.assertEqual(error, -1)
        instance.commit_particles()
        error=instance.delete_particle(indices[0])
# this one I don't understand:
        self.assertEqual(error, -1)
        self.assertEqual(0, instance.evolve_model(0.125))
        error=instance.delete_particle(indices[0])
        self.assertEqual(error, 0)
Пример #3
0
    def test3(self):
        print("Test 3: evolve")
        instance = SimpleXInterface(**default_options)
        self.assertEqual(
            0,
            instance.set_simplex_output_directory(instance.output_directory))
        self.assertEqual(0, instance.initialize_code())
        self.assertEqual(0, instance.commit_parameters())

        input_file = os.path.join(os.path.dirname(__file__),
                                  "test_simplex_data.txt")
        x, y, z, n_H, flux, X_ion, u = read_input_file(input_file)

        number_of_particles = len(x)
        indices, errors = instance.new_particle(x, y, z, n_H, flux, X_ion, u)
        self.assertEqual(errors, [0] * number_of_particles)
        self.assertEqual(indices, list(range(number_of_particles)))

        self.assertEqual(0, instance.commit_particles())

        X_ion, errors = instance.get_ionisation(indices)
        self.assertEqual(errors, [0] * number_of_particles)
        self.assertAlmostEqual(X_ion.sum() / number_of_particles, 0.0)

        density, errors = instance.get_density(indices)
        self.assertEqual(errors, [0] * number_of_particles)
        self.assertAlmostEqual(density.sum(), 1.0, 6)

        self.assertEqual(0, instance.evolve_model(0.5))

        density, errors = instance.get_density(indices)
        self.assertEqual(errors, [0] * number_of_particles)
        self.assertAlmostEqual(density.sum(), 1.0, 6)

        flux, errors = instance.get_flux(indices)
        self.assertEqual(errors, [0] * number_of_particles)
        self.assertEqual(flux.sum(), 5.0)

        X_ion, errors = instance.get_ionisation(indices)
        self.assertEqual(errors, [0] * number_of_particles)
        self.assertAlmostEqual(X_ion.sum() / number_of_particles,
                               0.000845247683257)

        self.assertEqual(0, instance.cleanup_code())
        instance.stop()
Пример #4
0
    def test3(self):
        print "Test 3: evolve"
        instance = SimpleXInterface(**default_options)
        self.assertEqual(0, instance.set_simplex_output_directory(instance.output_directory))
        self.assertEqual(0, instance.initialize_code())
        self.assertEqual(0, instance.commit_parameters())
        
        input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt")
        x, y, z, n_H, flux, X_ion,u = read_input_file(input_file)

        number_of_particles = len(x)
        indices, errors = instance.new_particle(x, y, z, n_H, flux, X_ion,u)
        self.assertEqual(errors, [0]*number_of_particles)
        self.assertEqual(indices, range(number_of_particles))
        
        self.assertEqual(0, instance.commit_particles())
        
        X_ion, errors = instance.get_ionisation(indices)
        self.assertEqual(errors, [0]*number_of_particles)
        self.assertAlmostEqual(X_ion.sum()/number_of_particles, 0.0)
        
        density, errors = instance.get_density(indices)
        self.assertEqual(errors, [0]*number_of_particles)
        self.assertAlmostEqual(density.sum(), 1.0,6)
        
        self.assertEqual(0, instance.evolve_model(0.5))

        density, errors = instance.get_density(indices)
        self.assertEqual(errors, [0]*number_of_particles)
        self.assertAlmostEqual(density.sum(), 1.0,6)
        
        flux, errors = instance.get_flux(indices)
        self.assertEqual(errors, [0]*number_of_particles)
        self.assertEqual(flux.sum(), 5.0)
        
        X_ion, errors = instance.get_ionisation(indices)
        self.assertEqual(errors, [0]*number_of_particles)
        self.assertAlmostEqual(X_ion.sum()/number_of_particles, 0.000845247683257)
        
        self.assertEqual(0, instance.cleanup_code())
        instance.stop()