示例#1
0
    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()
示例#2
0
文件: test_hop.py 项目: Ingwar/amuse
 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()
示例#3
0
def coreradius(mass,x,y,z):
  hop=Hop()
  ids,err=hop.new_particle(mass,x,y,z)
  hop.set_density_method(2)
  hop.set_nDens(7)
  hop.calculate_densities()
  dens,err=hop.get_density(ids)


  tdens=numpy.sum(dens)
  x_core=numpy.sum(dens*x)/tdens
  y_core=numpy.sum(dens*y)/tdens
  z_core=numpy.sum(dens*z)/tdens

  rc=numpy.sqrt(
      numpy.sum(dens**2*((x-x_core)**2+(y-y_core)**2+(z-z_core)**2))/numpy.sum(dens**2))
  return x_core,y_core,z_core,rc
示例#4
0
def coreradius(mass,x,y,z):
  hop=Hop()
  ids,err=hop.new_particle(mass,x,y,z)
  hop.set_density_method(2)
  hop.set_nDens(7)
  hop.calculate_densities()
  dens,err=hop.get_density(ids)


  tdens=numpy.sum(dens)
  x_core=numpy.sum(dens*x)/tdens
  y_core=numpy.sum(dens*y)/tdens
  z_core=numpy.sum(dens*z)/tdens

  rc=numpy.sqrt(
      numpy.sum(dens**2*((x-x_core)**2+(y-y_core)**2+(z-z_core)**2))/numpy.sum(dens**2))
  return x_core,y_core,z_core,rc