Access particle information for all particles connected with a specific galaxy

Adarsh Ranjan
  • 12 Jan '22

Dear Team,

I am trying to access the TNG database to look at individual galaxy mergers (the properties of gas, stars, DM) in TNG 50, 100, and 300 simulations across cosmic time/snapshots. For now, I tried to use the publicly available code to access the individual snapshots using something like -
cutout_request = {'gas':'Coordinates,Masses,InternalEnergy,ElectronAbundance,Velocities', 'stars':'Coordinates,Masses,Velocities'}
cutout = get(sub_prog_url+"cutout.hdf5", cutout_request)

with the get() function defined in the TNG website. and then, look at the evolution of those particle data. The problem is that it gives details on the very specific cutout without the nearby environment. Hence, it is difficult to understand what exactly is going on in many cases, where the galaxy is not the main central galaxy of the cluster.

Is there a way, we can obtain all the relevant particle information for a ~200 ckpc/h window for all snapshots of a specific galaxy?

A code that can do something like this ->
For a given subhalo:
. if particles are not in disk:
. loop over all halos within cube region around subhalo
. loop over all subhalos contained in the halo
. extract particles

Thanks
Adarsh

Dylan Nelson
  • 12 Jan '22

Hi Adarsh,

As you point out, for particle cutouts there are two options: "subhalo scope" and "halo scope". The first returns only those particles/cells within the Subfind subhalo. The second returns only those particles/cells within the FoF halo.

In the case of a central galaxy, these will extend out to roughly the virial radius, but not beyond.

If you would like to load all particles in a larger volume (e.g. beyond the virial radius), then the only option is to load the entire snapshot (possible in a series of chunks in order to avoid running out of memory), compute the distance of each particle/cell to the galaxy of interest, and keep those within a given distance of interest. In this way you can obtain a complete set of particles/cells in a given volume.

With respect to the procedure you describe: (i) if you load cutouts of nearby halos or subhalos, you will obtain some nearby particles/cells, but not all. (ii) it isn't clear to me why "if particles are not in disk" comes in.

Adarsh Ranjan
  • 12 Jan '22

Hi Dylan,

Thanks for the prompt response. Could you please share a link or help with a code snippet that could extract the particle information for a halo? Right now, I only have a method to extract the particle information of a specific subhalo.

About your query on why we would like to see particles outside the disk, we are looking at galaxy-galaxy interactions and see many interesting cases, where the particles fly outside the disk. Or at least it seems.

Thanks for your help.
Cheers
Adarsh

Dylan Nelson
  • 13 Jan '22

If you are working via the online API, then the reference documentation will help. The subhalo cutout is described under [base]/subhalos/{id}/cutout.hdf5 while a halo cutout is simply [base]/halos/{halo_id}/cutout.hdf5.

For example, for TNG100-1 at z=0, you can get a halo cutout of halo ID 1000 simply at

www.tng-project.org/api/TNG100-1/snapshots/99/halos/1000/cutout.hdf5

while a cutout of the central subhalo of this same halo is

www.tng-project.org/api/TNG100-1/snapshots/99/subhalos/454795/cutout.hdf5
Adarsh Ranjan
  • 4 Feb '22

Hi Dylan,

Thank you for the solution. So in principle, if I say, put the halo link, "www.tng-project.org/api/TNG100-1/snapshots/99/halos/1000/cutout.hdf5", to the get function described here - https://www.tng-project.org/data/docs/api/, would I be able to download particle data for the entire halo (including all the subhalos)?

Dylan Nelson
  • 4 Feb '22

Yes that's correct. Keep in mind if you only want a few particle types (or fields), you should just request those, to reduce the download size.

  • Page 1 of 1