[yt-dev] Photon fields

John ZuHone jzuhone at gmail.com
Thu Jun 14 12:33:22 PDT 2012

Hi all,

Just wanted to sort of poll all of you on an idea I've been kicking around. I don't know how useful it will be for non X-ray people, but I thought I'd give it a shot. 

There are a number of tools out there designed to create synthetic X-ray observations from simulations, both AMR and SPH. Of the tools adapted for AMR codes, they tend to be a little clunky and most of them use IDL to extract data. Almost always, gas grid data is regridded to a uniform grid before doing anything with it, making working on large volumes with small resolution prohibitive. 

PHOX is a tool written by Veronica Biffi and Klaus Dolag to generate X-ray observations from (primarily) Gadget simulations. You can find out about it here:


The pipeline for most virtual X-ray observatories goes like this:

1) Using the gas properties (density, temperature, metallicity, whatever), generate X-ray emissivity fields.
2) Project these fields along the chosen line of sight to give a 2D map of surface brightness. 
3) Using this map as a DF for the photons, generate simulated photons which then may be processed later. 

PHOX's (in my estimation, better) approach is:

1) Using the gas properties (density, temperature, metallicity, whatever), generate X-ray emissivity fields.
2) Generate simulated photons from the emissivity field, assuming a fiducial instrument area and exposure time. 
3) Project these photons along a given line of sight, which may be processed later. 

The nice thing about doing things this way is that you can save the photons to disk to be re-used for a variety of different projections and X-ray instruments. 

I am writing a tool that uses yt to get data from AMR simulations to generate photon files readable by PHOX. My intention is that this be a standalone tool that I will make publically available, but it got me thinking about the possible usefulness of "photon fields" in yt, akin to the 3D fields of photons that are written to PHOX photon files. Basically, these are akin to particle fields, with the (x,y,z) position of the photon, its (unshifted) energy, and the (vx,vy,vz) velocity of the emitting gas for Doppler shifting. I don't know if the more general concept of these photon fields would be a useful construct to include in yt at some level or not for constructing simulated observations. 

The main difference between these fields and others in yt is that these entities are slightly more abstract than physical: real photons are of course emitted in a particular direction and received by the observer. But I would guess that this subtle point would not be much of an issue since really the only thing you would be doing with them after generating them would be projecting them along a line of sight. 

So I guess my idea would be to build in the framework for photon fields, along with capabilities for projecting them and doppler shifting them, while letting the details of the generation of their positions and energies up to the user. Would any of the rest of you or your colleagues find such a thing useful? Thoughts?  


John Z

More information about the yt-dev mailing list