PhoSim Tutorial 11: How to Create Custom Galaxies
There are many ways to simulate galaxies in PhoSim. One way is to use postage stamp "truth" images. This is covered in other tutorials. In this tutorial, we look at parameterized galaxy models in PhoSim.
One simple form is to use the two-dimensional Sersic model. A galaxy can be created with the following catalog:
rightascension 0.0
declination 0.0
object 0 0.0 0.0 16.0 ../sky/sed_flat.txt 0 0 0 0 0 0 sersic2D 5.0 4.0 30.0 1.5 none none
Here the galaxy has a size of 5 arcseconds in one direction and 4 arcseconds in another direction. It has a position angle of 30 degrees and a Sersic index of 1.5. The corresponding image is:
Galaxies can be made by adding many different components together to create much more complex galaxies. For instance, a galaxy can be constructed of two components: one representing a bulge and the other representing the disk. Here is an example of those two components placed at one position:
rightascension 0.0
declination 0.0
object 0 0.0 0.0 16.0 ../sky/sed_flat.txt 0 0 0 0 0 0 sersic2D 1.0 1.0 0.0 4.0 none none
object 0 0.0 0.0 16.0 ../sky/sed_flat.txt 0 0 0 0 0 0 sersic2D 5.0 3.0 30.0 1.0 none none
The corresponding simulated image is:
There are limitedless other possibilities of how to construct galaxies. There are several models in PhoSim: sersic2D, sersic (a three-dimensional projected Sersic), sersicDisk (a three-dimensional Sersic distribution in two dimensions and an exponential disk profile in the third dimension), sersicComplex, and sersicDiskComplex. The full documentation is found on the Instance Catalog page. The last two are 14 parameter models that are capable of generate irregular and spiral shapes within three dimensional Sersic distributions. An example of this is the examples/tuning_fork catalog that makes a Hubble sequence of galaxies:
rightascension 0
declination 0
camtelangle 0.0
camskyangle 0.0
object 0 -0.060 0.00 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicComplex 5.0 5.0 5.0 0.0 60.0 0.0 4.0 0.2 1000 1.0 0.0 10.0 0.0 0.0 0.0 none none
object 0 -0.045 0.00 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicComplex 5.0 4.0 4.0 0.0 60.0 0.0 4.0 0.2 1000 1.0 0.0 10.0 0.0 0.0 0.0 none none
object 0 -0.030 0.00 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicComplex 5.0 3.0 3.0 0.0 60.0 0.0 4.0 0.2 1000 1.0 0.0 10.0 0.0 0.0 0.0 none none
object 0 -0.015 0.00 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicComplex 5.0 2.0 2.0 0.0 60.0 0.0 4.0 0.2 1000 1.0 0.0 10.0 0.0 0.0 0.0 none none
object 0 -0.00 0.00 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicComplex 5.0 5.0 0.0 0.0 60.0 0.0 4.0 0.2 1000 1.0 0.0 10.0 0.0 0.0 0.0 none none
object 0 -0.00 0.00 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 0.0 10.0 0.0 0.0 0.0 none none
object 0 0.015 0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 5.0 0.0 1.0 0.0 none none
object 0 0.030 0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 10.0 0.0 1.0 0.0 none none
object 0 0.045 0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 15.0 0.0 1.0 0.0 none none
object 0 0.060 0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 20.0 0.0 1.0 0.0 none none
object 0 0.015 -0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 5.0 10.0 1.0 0.0 none none
object 0 0.030 -0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 10.0 10.0 1.0 0.0 none none
object 0 0.045 -0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 15.0 10.0 1.0 0.0 none none
object 0 0.060 -0.02 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicDiskComplex 5.0 5.0 1.0 0.0 60.0 0.0 1.0 0.2 1000 1.0 1.0 20.0 10.0 1.0 0.0 none none
object 0 0.060 0.00 16 ../sky/sed_flat.txt 0 0 0 0 0 0 sersicComplex 5.0 5.0 5.0 0.0 60.0 0.0 1.0 1.0 5 3.0 0.0 0.0 0.0 0.1 0.0 none none
The corresponding image is:
There are also many ways to use the spectral energy distributions to represent different components. This can be used to generate complex colors at every spatial position.