def test11(self): print "Test 11: add test" instance = SimpleX(number_of_workers=1) input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt") particles = particles_from_input_file(input_file) N=len(particles) toadd=particles[0:10].copy() particles=particles[10:].copy() instance.particles.add_particles(particles) instance.commit_particles() instance.particles.add_particles(toadd) self.assertEqual( len(instance.particles), N)
def test11(self): print "Test 11: add test" instance = SimpleX(number_of_workers=1) input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt") particles = particles_from_input_file(input_file) N=len(particles) toadd=particles[0:10].copy() particles=particles[10:].copy() instance.particles.add_particles(particles) instance.commit_particles() instance.particles.add_particles(toadd) self.assertEqual( len(instance.particles), N)
def test2(self): print "Test 2: commit_particles, getters and setters" instance = SimpleX(**default_options) instance.initialize_code() instance.commit_parameters() input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt") particles = particles_from_input_file(input_file) instance.particles.add_particles(particles) instance.commit_particles() # for attribute in ['position', 'rho', 'flux', 'xion']: # self.assertAlmostEqual(13200.*getattr(particles, attribute), # 13200.*getattr(instance.particles, attribute), 5) # setattr(instance.particles, attribute, getattr(particles, attribute)/2.0) # self.assertAlmostEqual(13200.*getattr(particles, attribute)/2.0, # 13200.*getattr(instance.particles, attribute), 5) instance.cleanup_code() instance.stop()
def test2(self): print "Test 2: commit_particles, getters and setters" instance = SimpleX(**default_options) instance.initialize_code() instance.commit_parameters() input_file = os.path.join(os.path.dirname(__file__), "test_simplex_data.txt") particles = particles_from_input_file(input_file) instance.particles.add_particles(particles) instance.commit_particles() # for attribute in ['position', 'rho', 'flux', 'xion']: # self.assertAlmostEqual(13200.*getattr(particles, attribute), # 13200.*getattr(instance.particles, attribute), 5) # setattr(instance.particles, attribute, getattr(particles, attribute)/2.0) # self.assertAlmostEqual(13200.*getattr(particles, attribute)/2.0, # 13200.*getattr(instance.particles, attribute), 5) instance.cleanup_code() instance.stop()
def iliev_test_5( N=10000, Ns=10, L=15. | units.kpc, dt=None): """ prepare iliev test and return SPH and simplex interfaces """ gas,sources=iliev_test_5_ic(N,Ns,L) conv=nbody_system.nbody_to_si(1.0e9 | units.MSun, 1.0 | units.kpc) sph=Fi(conv,use_gl=False,mode='periodic',redirection='none') sph.initialize_code() 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 sph.parameters.verbosity=0 sph.parameters.pboxsize=2*L sph.commit_parameters() sph.gas_particles.add_particles(gas) sph.commit_particles() # sph.start_viewer() rad=SimpleX(number_of_workers = 1,redirection='none') rad.initialize_code() rad.parameters.box_size=2*L rad.parameters.hilbert_order=0 rad.commit_parameters() gas.add_particles(sources) rad.particles.add_particles(gas) rad.commit_particles() return sph,rad
def iliev_test_5(N=10000, Ns=10, L=15. | units.kpc, dt=None): """ prepare iliev test and return SPH and simplex interfaces """ gas, sources = iliev_test_5_ic(N, Ns, L) conv = nbody_system.nbody_to_si(1.0e9 | units.MSun, 1.0 | units.kpc) sph = Fi(conv, use_gl=False, mode='periodic', redirection='none') sph.initialize_code() 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 sph.parameters.verbosity = 0 sph.parameters.pboxsize = 2 * L sph.commit_parameters() sph.gas_particles.add_particles(gas) sph.commit_particles() # sph.start_viewer() rad = SimpleX(number_of_workers=1, redirection='none') rad.initialize_code() rad.parameters.box_size = 2 * L rad.parameters.hilbert_order = 0 rad.commit_parameters() gas.add_particles(sources) rad.particles.add_particles(gas) rad.commit_particles() return sph, rad
gas_particles.flux = 0. | units.s**-1 gas_particles.u = (Tcloud * constants.kB) / (1.008 * constants.u) gas_particles.rho = Mcloud / (4. / 3. * np.pi * Rcloud**3) gas_particles.xion = 0. radiative = SimpleX(redirection='none', number_of_workers=8) radiative.parameters.blackbody_spectrum_flag = True radiative.parameters.thermal_evolution_flag = True radiative.parameters.box_size = box_size radiative.parameters.timestep = 1. | 1e3 * units.yr radiative.particles.add_particles(gas_particles) radiative.commit_particles() start = time.time() radiative.evolve_model(0.05 | units.Myr) end = time.time() print("Rad 1 in {a} s".format(a=end - start), flush=True) start = time.time() radiative.evolve_model(0.1 | units.Myr) end = time.time()