def test1(self): print "First test: adding particles, setting and getting." hop = HopInterface() hop.initialize_code() n, err = hop.get_number_of_particles() self.assertEquals(n, 0) self.assertEquals(err, 0) for i in range(6): id, err = hop.new_particle(0, i * i, 0, 0) n, err = hop.get_number_of_particles() self.assertEquals(n, i + 1) self.assertEquals(err, 0) for i in range(6): x, y, z, err = hop.get_position(i) self.assertEquals(x, i * i) self.assertEquals(y, 0) self.assertEquals(z, 0) self.assertEquals(err, 0) hop.set_position(i, x, i * i, 0) for i in range(6): x, y, z, err = hop.get_position(i) self.assertEquals(x, y) self.assertEquals(z, 0) self.assertEquals(err, 0) hop.stop()
def test1(self): print "First test: adding particles, setting and getting." hop = HopInterface() hop.initialize_code() n, err = hop.get_number_of_particles() self.assertEquals(n, 0) self.assertEquals(err, 0) for i in range(6): id, err = hop.new_particle(0, i*i, 0, 0) n, err = hop.get_number_of_particles() self.assertEquals(n, i+1) self.assertEquals(err, 0) for i in range(6): x, y, z, err = hop.get_position(i) self.assertEquals(x, i*i) self.assertEquals(y, 0) self.assertEquals(z, 0) self.assertEquals(err, 0) hop.set_position(i, x, i*i, 0) for i in range(6): x, y, z, err = hop.get_position(i) self.assertEquals(x, y) self.assertEquals(z, 0) self.assertEquals(err, 0) hop.stop()
def test2(self): random.seed(1001) hop = HopInterface() hop.initialize_code() particles = new_plummer_model(1000) ids, errors = hop.new_particle( particles.mass.value_in(nbody_system.mass), particles.x.value_in(nbody_system.length), particles.y.value_in(nbody_system.length), particles.z.value_in(nbody_system.length)) n, err = hop.get_number_of_particles() self.assertEquals(n, 1000) self.assertEquals(err, 0) #distance_to_center = (particles.position - particles.center_of_mass()).lengths() #print distance_to_center ds = {0: 0.482308834791, 1: 0.4885137677192688, 2: 0.27442726492881775} for method in [0, 1, 2]: hop.set_nDens(7) hop.set_density_method(method) hop.calculate_densities() d, err = hop.get_density(0) self.assertAlmostRelativeEquals(d, ds[method], 5) hop.stop()
def test2(self): random.seed(1001) hop = HopInterface() hop.initialize_code() particles = new_plummer_model(1000) ids, errors = hop.new_particle( particles.mass.value_in(nbody_system.mass), particles.x.value_in(nbody_system.length), particles.y.value_in(nbody_system.length), particles.z.value_in(nbody_system.length) ) n, err = hop.get_number_of_particles() self.assertEquals(n, 1000) self.assertEquals(err, 0) #distance_to_center = (particles.position - particles.center_of_mass()).lengths() #print distance_to_center ds = {0: 0.482308834791, 1:0.4885137677192688, 2:0.27442726492881775} for method in [0,1,2]: hop.set_nDens(7) hop.set_density_method(method) hop.calculate_densities() d, err = hop.get_density(0) self.assertAlmostRelativeEquals(d,ds[method], 5) hop.stop()