コード例 #1
0
ファイル: test_sphray.py プロジェクト: Ingwar/amuse
    def test2(self):
        print "test2: test parameters"
        instance=SPHRay()

        self.assertEquals(instance.get_name_of_current_state(), 'UNINITIALIZED')

        for par,val in [("isothermal_flag", False),
            ("hydrogen_case_A_flag", True),("helium_case_A_flag", True)]:
            val1=getattr(instance.parameters,par)
            self.assertEqual(val,val1)            
            setattr(instance.parameters, par, False)
            val1=getattr(instance.parameters,par)
            self.assertEqual(val1,False)            
            setattr(instance.parameters, par, True)
            val1=getattr(instance.parameters,par)
            self.assertEqual(val1,True)            
            setattr(instance.parameters, par, False)
            val1=getattr(instance.parameters,par)
            self.assertEqual(val1,False)            

        for par,val in [
            ("ionization_temperature_solver", 2),("boundary_condition", 0)]:
            val1=getattr(instance.parameters,par)
            self.assertEqual(val,val1)            
            setattr(instance.parameters, par, 123)
            val1=getattr(instance.parameters,par)
            self.assertEqual(val1,123)            

        for par,val in [
            ("spectra_file", "./spectra/thermal1e5.cdf")]:
            val1=getattr(instance.parameters,par)
            self.assertEqual(val,val1)            
            setattr(instance.parameters, par, "somefile")
            val1=getattr(instance.parameters,par)
            self.assertEqual(val1,"somefile")

        for par,val,tval in [ ("number_of_rays", 1022.69032205 | (units.Myr**-1) , 10000| units.Myr**-1),
                              ("box_size",13.2 | units.kpc,  10. | units.kpc),
                              ("default_spectral_type", -1.,1.)]:
            val1=getattr(instance.parameters,par)
            self.assertAlmostRelativeEqual(val,val1,6)            
            setattr(instance.parameters, par, tval)
            val1=getattr(instance.parameters,par)
            self.assertAlmostRelativeEqual(val1,tval,6)            

        
        self.assertEquals(instance.get_name_of_current_state(), 'INITIALIZED')
        instance.stop()
コード例 #2
0
ファイル: test_sphray.py プロジェクト: Ingwar/amuse
    def test3(self):
        instance=SPHRay()

        instance.src_particles.add_particle(
            Particle(
                luminosity = 1 | 1e48 * units.s**-1,
                x = 2 | units.m,
                y = 3 | units.m,
                z = 4 | units.m,
                SpcType = 12.3
            )
        )
        self.assertAlmostRelativeEquals(instance.src_particles.luminosity, 1 | 1e48 * units.s**-1, 6)
        self.assertAlmostRelativeEquals(instance.src_particles.x, 2 | units.m,7)
        self.assertAlmostRelativeEquals(instance.src_particles.y, 3 | units.m,7)
        self.assertAlmostRelativeEquals(instance.src_particles.z, 4 | units.m,7)
        self.assertAlmostRelativeEquals(instance.src_particles.SpcType, 12.3,7)
        instance.stop()
コード例 #3
0
ファイル: test_sphray.py プロジェクト: rjfarmer/amuse
    def test3(self):
        instance = SPHRay()

        instance.src_particles.add_particle(
            Particle(luminosity=1 | 1e48 * units.s**-1,
                     x=2 | units.m,
                     y=3 | units.m,
                     z=4 | units.m,
                     SpcType=12.3))
        self.assertAlmostRelativeEquals(instance.src_particles.luminosity,
                                        1 | 1e48 * units.s**-1, 6)
        self.assertAlmostRelativeEquals(instance.src_particles.x, 2 | units.m,
                                        7)
        self.assertAlmostRelativeEquals(instance.src_particles.y, 3 | units.m,
                                        7)
        self.assertAlmostRelativeEquals(instance.src_particles.z, 4 | units.m,
                                        7)
        self.assertAlmostRelativeEquals(instance.src_particles.SpcType, 12.3,
                                        7)
        instance.stop()
コード例 #4
0
    def test4(self):
        instance=SPHRay()

        instance.gas_particles.add_particle(
            Particle(
                mass = 1 | (10**10*units.MSun),
                x = 2 | units.kpc,
                y = 3 | units.kpc,
                z = 4 | units.kpc,
                h_smooth = 0.1 | (units.kpc),
                rho = 0.5 | ((10**10*units.MSun) /(units.kpc)**3),
                xion = 0.01,
                u = 0.2 | (10**5 * units.cm/units.s)**2
            )
        )
        instance.src_particles.add_particle(
            Particle(
                luminosity = 1 | 1e48 * units.s**-1,
                x = 2 | units.m,
                y = 3 | units.m,
                z = 4 | units.m,
                SpcType = 12.3
            )
        )
        instance.commit_particles()
        self.assertAlmostRelativeEquals(instance.src_particles.luminosity, 1 | 1e48 * units.s**-1, 6)
        self.assertAlmostRelativeEquals(instance.src_particles.x, 2 | units.m,7)
        self.assertAlmostRelativeEquals(instance.src_particles.y, 3 | units.m,7)
        self.assertAlmostRelativeEquals(instance.src_particles.z, 4 | units.m,7)
        self.assertAlmostRelativeEquals(instance.src_particles.SpcType, 12.3,7)
               
        print instance.src_particles
        instance.stop()
コード例 #5
0
ファイル: test_sphray.py プロジェクト: Ingwar/amuse
    def test1(self):
        print "test1: adding particles"

        instance=SPHRay()

        gasparts=self.read_gas_file(os.path.join(os.path.dirname(__file__), "test_sphray_data_4K"))
        srcparts=self.read_src_file(os.path.join(os.path.dirname(__file__), "test_sphray_data_sources_001.1"))
                
        self.assertEqual(len(instance.gas_particles),0)
        self.assertEqual(len(instance.src_particles),0)
        instance.gas_particles.add_particles(gasparts)
        instance.src_particles.add_particles(srcparts)
        self.assertEqual(len(instance.gas_particles),len(gasparts))
        self.assertEqual(len(instance.src_particles),len(srcparts))

        self.assertEquals(instance.get_name_of_current_state(), 'EDIT')

        gaspart2=instance.gas_particles.copy()

        self.assertAlmostRelativeEquals(gasparts.position,gaspart2.position,6)
        self.assertAlmostRelativeEquals(gasparts.rho,gaspart2.rho,6)
        self.assertAlmostRelativeEquals(gasparts.u,gaspart2.u,6)

        instance.cleanup_code()
        instance.stop()
コード例 #6
0
ファイル: test_sphray.py プロジェクト: rjfarmer/amuse
    def test2(self):
        print("test2: test parameters")
        instance = SPHRay()

        self.assertEqual(instance.get_name_of_current_state(), 'UNINITIALIZED')

        for par, val in [("isothermal_flag", False),
                         ("hydrogen_case_A_flag", True),
                         ("helium_case_A_flag", True)]:
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val, val1)
            setattr(instance.parameters, par, False)
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val1, False)
            setattr(instance.parameters, par, True)
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val1, True)
            setattr(instance.parameters, par, False)
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val1, False)

        for par, val in [("ionization_temperature_solver", 2),
                         ("boundary_condition", 0)]:
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val, val1)
            setattr(instance.parameters, par, 123)
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val1, 123)

        for par, val in [("spectra_file", "./spectra/thermal1e5.cdf")]:
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val, val1)
            setattr(instance.parameters, par, "somefile")
            val1 = getattr(instance.parameters, par)
            self.assertEqual(val1, "somefile")

        for par, val, tval in [
            ("number_of_rays", 1022.69032205 | (units.Myr**-1),
             10000 | units.Myr**-1),
            ("box_size", 13.2 | units.kpc, 10. | units.kpc),
            ("default_spectral_type", -1., 1.)
        ]:
            val1 = getattr(instance.parameters, par)
            self.assertAlmostRelativeEqual(val, val1, 6)
            setattr(instance.parameters, par, tval)
            val1 = getattr(instance.parameters, par)
            self.assertAlmostRelativeEqual(val1, tval, 6)

        self.assertEqual(instance.get_name_of_current_state(), 'INITIALIZED')
        instance.stop()
コード例 #7
0
def iliev_test_7(N=10000,
                 Ns=10,
                 L=6.6 | units.kpc,
                 dt=1 | units.Myr,
                 rad_parameters=dict()):

    rad_parameters["box_size"] = 2 * L

    gas, sources = iliev_test_7_ic(N, Ns, L)
    #print (len(gas), len(sources))

    conv = nbody_system.nbody_to_si(1.0e9 | units.MSun, 1.0 | units.kpc)

    sph = Fi(conv, mode='periodic')

    sph.parameters.use_hydro_flag = True
    sph.parameters.radiation_flag = False
    sph.parameters.self_gravity_flag = False
    sph.parameters.gamma = 1
    sph.parameters.isothermal_flag = True
    sph.parameters.integrate_entropy_flag = False
    sph.parameters.timestep = dt / 2
    sph.parameters.verbosity = 0
    sph.parameters.periodic_box_size = 2 * L
    sph.gas_particles.add_particles(gas)
    print sph.parameters.timestep.in_(units.Myr)

    rad = SPHRay(redirection='none')  #,debugger='gdb')

    for x in rad_parameters:
        print x, rad_parameters[x]
        rad.parameters.__setattr__(x, rad_parameters[x])


#  gas.u=100*gas.u
    rad.gas_particles.add_particles(gas)
    rad.src_particles.add_particles(sources)

    return sph, rad
コード例 #8
0
    def test0(self):
        print "test1: basic startup and flow"
        instance=SPHRay()
        self.assertEquals(instance.get_name_of_current_state(), 'UNINITIALIZED')
        instance.initialize_code()
        self.assertEquals(instance.get_name_of_current_state(), 'INITIALIZED')
        instance.parameters.box_size = 100 | units.parsec
        self.assertAlmostRelativeEquals(instance.parameters.box_size, 100 | units.parsec,7)
        instance.commit_parameters()
        self.assertEquals(instance.get_name_of_current_state(), 'EDIT')
        instance.commit_particles()
        self.assertEquals(instance.get_name_of_current_state(), 'RUN')

        self.assertAlmostRelativeEquals(instance.parameters.box_size, 100 | units.parsec,7)
        instance.cleanup_code()
        instance.stop()