def write_input_file(galaxy_data, name, null_gas_ids=False): Npart = [len(galaxy_data['pos']['gas']), len(galaxy_data['pos']['dm']), len(galaxy_data['pos']['disk']), len(galaxy_data['pos']['bulge']), 0, 0] coords = np.concatenate((galaxy_data['pos']['gas'], galaxy_data['pos']['dm'], galaxy_data['pos']['disk'], galaxy_data['pos']['bulge'])) coords.shape = (1, -1) # Linearizing the array. vels = np.concatenate((galaxy_data['vel']['gas'], galaxy_data['vel']['dm'], galaxy_data['vel']['disk'], galaxy_data['vel']['bulge'])) vels.shape = (1, -1) # Linearizing the array. if null_gas_ids: ids = np.concatenate((np.zeros(Npart[0]), np.arange(Npart[0]+1, sum(Npart)+1, 1))) else: ids = np.arange(1, sum(Npart)+1, 1) m_gas = np.empty(Npart[0]) m_gas.fill(M_gas/Npart[0]) m_dm = np.empty(Npart[1]) m_dm.fill(M_dm/Npart[1]) m_disk = np.empty(Npart[2]) m_disk.fill(M_disk/Npart[2]) m_bulge = np.empty(Npart[3]) m_bulge.fill(M_bulge/Npart[3]) masses = np.concatenate((m_gas, m_dm, m_disk, m_bulge)) U = np.zeros(Npart[0]) rhos = np.zeros(Npart[0]) smooths = np.zeros(Npart[0]) write_snapshot(n_part=Npart, outfile=name, data_list=[coords[0], vels[0], ids, masses, U, rhos, smooths])
def write_input_file(cluster_data): coords = cluster_data[0] vels = cluster_data[1] if (gas): U = cluster_data[2] rho = cluster_data[3] smooths = np.zeros(N_gas) masses_gas = np.empty(N_gas) masses_gas.fill((M_gas * factor_gas) / N_gas) Zs = np.zeros(N_gas) Zs.fill(Z) if (dm): masses_dm = np.empty(N_dm) masses_dm.fill((M_dm * factor_dm) / N_dm) masses = np.concatenate((masses_gas, masses_dm)) ids = np.arange(1, N_gas + N_dm + 1) write_snapshot( n_part=[N_gas, N_dm, 0, 0, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths, Zs]) else: masses = masses_gas ids = np.arange(1, N_gas + 1) write_snapshot( n_part=[N_gas, 0, 0, 0, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths, Zs]) else: ids = np.arange(1, N_dm + 1) masses_dm = np.empty(N_dm) masses_dm.fill(M_dm / N_dm) masses = masses_dm write_snapshot(n_part=[0, N_dm, 0, 0, 0, 0], outfile=output, data_list=[coords, vels, ids, masses])
def write_input_file(cluster_data): coords = cluster_data[0] vels = cluster_data[1] if(gas): U = cluster_data[2] rho = cluster_data[3] smooths = np.zeros(N_gas) masses_gas = np.empty(N_gas) masses_gas.fill((M_gas*factor_gas) / N_gas) Zs = np.zeros(N_gas) Zs.fill(Z) if(dm): masses_dm = np.empty(N_dm) masses_dm.fill((M_dm*factor_dm) / N_dm) masses = np.concatenate((masses_gas, masses_dm)) ids = np.arange(1, N_gas + N_dm + 1) write_snapshot(n_part=[N_gas, N_dm, 0, 0, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths, Zs]) else: masses = masses_gas ids = np.arange(1, N_gas + 1) write_snapshot(n_part=[N_gas, 0, 0, 0, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths, Zs]) else: ids = np.arange(1, N_dm + 1) masses_dm = np.empty(N_dm) masses_dm.fill(M_dm / N_dm) masses = masses_dm write_snapshot(n_part=[0, N_dm, 0, 0, 0, 0], outfile=output, data_list=[coords, vels, ids, masses])
def write_input_file(galaxy_data): coords = galaxy_data[0] vels = galaxy_data[1] ids = np.arange(1, N_total+1, 1) m_halo = np.empty(N_halo) m_halo.fill(M_halo/N_halo) m_disk = np.empty(N_disk) m_disk.fill(M_disk/N_disk) m_bulge = np.empty(N_bulge) m_bulge.fill(M_bulge/N_bulge) if(gas): U = galaxy_data[2] rho = galaxy_data[3] m_gas = np.empty(N_gas) m_gas.fill(M_gas/N_gas) masses = np.concatenate((m_gas, m_halo, m_disk, m_bulge)) smooths = np.zeros(N_gas) if Z > 0: Z_gas = np.zeros(N_gas) Z_gas.fill(Z) write_snapshot(n_part=[N_gas, N_halo, N_disk, N_bulge, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths, Z_gas]) else: write_snapshot(n_part=[N_gas, N_halo, N_disk, N_bulge, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths]) else: masses = np.concatenate((m_halo, m_disk, m_bulge)) write_snapshot(n_part=[0, N_halo, N_disk, N_bulge, 0, 0], outfile=output, data_list=[coords, vels, ids, masses])
def write_input_file(galaxy_data): coords = galaxy_data[0] vels = galaxy_data[1] ids = np.arange(1, N_total+1, 1) m_halo = np.empty(N_halo) m_halo.fill(M_halo/N_halo) m_disk = np.empty(N_disk) m_disk.fill(M_disk/N_disk) m_bulge = np.empty(N_bulge) m_bulge.fill(M_bulge/N_bulge) if(gas): U = galaxy_data[2] rho = galaxy_data[3] m_gas = np.empty(N_gas) m_gas.fill(M_gas/N_gas) masses = np.concatenate((m_gas, m_halo, m_disk, m_bulge)) smooths = np.zeros(N_gas) if Z > 0: Zs = np.zeros(N_gas + N_disk + N_bulge) Zs.fill(Z) write_snapshot(n_part=[N_gas, N_halo, N_disk, N_bulge, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths, Zs], file_format=file_format) else: write_snapshot(n_part=[N_gas, N_halo, N_disk, N_bulge, 0, 0], outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths], file_format=file_format) else: masses = np.concatenate((m_halo, m_disk, m_bulge)) write_snapshot(n_part=[0, N_halo, N_disk, N_bulge, 0, 0], outfile=output, data_list=[coords, vels, ids, masses], file_format=file_format)
def write_input_file(galaxy_data, name, null_gas_ids=False): Npart = [ len(galaxy_data['pos']['gas']), len(galaxy_data['pos']['dm']), len(galaxy_data['pos']['disk']), len(galaxy_data['pos']['bulge']), 0, 0 ] coords = np.concatenate( (galaxy_data['pos']['gas'], galaxy_data['pos']['dm'], galaxy_data['pos']['disk'], galaxy_data['pos']['bulge'])) coords.shape = (1, -1) # Linearizing the array. vels = np.concatenate( (galaxy_data['vel']['gas'], galaxy_data['vel']['dm'], galaxy_data['vel']['disk'], galaxy_data['vel']['bulge'])) vels.shape = (1, -1) # Linearizing the array. if null_gas_ids: ids = np.concatenate( (np.zeros(Npart[0]), np.arange(Npart[0] + 1, sum(Npart) + 1, 1))) else: ids = np.arange(1, sum(Npart) + 1, 1) m_gas = np.empty(Npart[0]) m_gas.fill(M_gas / Npart[0]) m_dm = np.empty(Npart[1]) m_dm.fill(M_dm / Npart[1]) m_disk = np.empty(Npart[2]) m_disk.fill(M_disk / Npart[2]) m_bulge = np.empty(Npart[3]) m_bulge.fill(M_bulge / Npart[3]) masses = np.concatenate((m_gas, m_dm, m_disk, m_bulge)) U = np.zeros(Npart[0]) rhos = np.zeros(Npart[0]) smooths = np.zeros(Npart[0]) write_snapshot( n_part=Npart, outfile=name, data_list=[coords[0], vels[0], ids, masses, U, rhos, smooths])
def write_input_file(galaxy_data): coords = galaxy_data[0] vels = galaxy_data[1] ids = np.arange(1, N_total+1, 1) m_halo = np.empty(N_halo) m_halo.fill(halo_cut_M/N_halo) m_disk = np.empty(N_disk) m_disk.fill(M_disk*disk_cut/N_disk) if(bulge): m_bulge = np.empty(N_bulge) m_bulge.fill(bulge_cut_M/N_bulge) if(gas): U = galaxy_data[2] rho = galaxy_data[3] m_gas = np.empty(N_gas) m_gas.fill(M_gas*disk_cut/N_gas) if(bulge): masses = np.concatenate((m_gas, m_halo, m_disk, m_bulge)) else: masses = np.concatenate((m_gas, m_halo, m_disk)) smooths = np.zeros(N_gas) if Z > 0: Zs = np.zeros(N_gas + N_disk + N_bulge) Zs.fill(Z) write_snapshot([N_gas, N_halo, N_disk, N_bulge, 0, 0], input_, outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths, Zs], file_format=file_format) else: write_snapshot([N_gas, N_halo, N_disk, N_bulge, 0, 0], input_, outfile=output, data_list=[coords, vels, ids, masses, U, rho, smooths], file_format=file_format) else: if(bulge): masses = np.concatenate((m_halo, m_disk, m_bulge)) else: masses = np.concatenate((m_halo, m_disk)) write_snapshot([0, N_halo, N_disk, N_bulge, 0, 0], input_, outfile=output, data_list=[coords, vels, ids, masses], file_format=file_format)
if (gas == True) & (bulge == True): ids = arange(0, Ngas + Nhalo + Ndisk + Nbulge, 1) hsml = np.zeros(Ngas) if (bulge == True) & (gas == False): N = Nhalo + Ndisk + Nbulge ids = arange(0, N, 1) if (bulge == False) & (gas == False): N = Nhalo + Ndisk ids = arange(0, N, 1) print('ids.shape: ', ids.shape) print('bulge included? ', bulge) print('gas included? ', gas) #------------------------------------------------------ #write output if (gas == True) & (bulge == True): print('With gas and bulge') write_snapshot(n_part=[Ngas, Nhalo, Ndisk, Nbulge, 0, 0], from_text=False, outfile=output, data_list=[pos, vel, ids, m, u, rho, hsml]) if (bulge == True) & (gas == False): print('With bulge but no gas') write_snapshot(n_part=[0, Nhalo, Ndisk, Nbulge, 0, 0], from_text=False, outfile=output, data_list=[pos, vel, ids, m]) if (bulge == False) & (gas == False): print('Without gas nor bulge') write_snapshot(n_part=[0, Nhalo, Ndisk, 0, 0, 0], from_text=False, outfile=output, data_list=[pos, vel, ids, m]) #------------------------------------------------------
vel = np.column_stack((vx, vy, vz)) vel.shape = (-1, 1) ids = arange(0, Nhalo + Ngas, 1) hsml = np.zeros(Ngas) else: poshalo = np.column_stack((xhalo, yhalo, zhalo)) poshalo.shape = (-1, 1) velhalo = np.column_stack((vxhalo, vyhalo, vzhalo)) velhalo.shape = (-1, 1) ids = arange(0, Nhalo, 1) #------------------------------------------------------ #write output if (gas): write_snapshot(n_part=[Ngas, Nhalo, 0, 0, 0, 0], from_text=False, outfile=output, data_list=[pos, vel, ids, m, u, rho, hsml]) else: write_snapshot(n_part=[0, Nhalo, 0, 0, 0, 0], from_text=False, outfile=output, data_list=[poshalo, velhalo, ids, mhalo]) #------------------------------------------------------