Version 6 (modified by 13 years ago) ( diff ) | ,
---|
Z Cooling
The Physics of Z Cooling
Z cooling is an energy loss due to forbidden line emission. The routines use Pat Hartigan's cooling table Zcooling.tab. The table does not include recombination or permitted line emission.
PHcooling.tab
Understanding the format of this table is crucial to interpolating correctly. There are a few properties that this table must have:
1.) It must be ordered as log(ne), T, log(X), (9 species cooling fractions), cooling rate. Where ne is the electron density, T is temperature, X is ionization fraction, and the 9 species cooling fractions are the fractions of how much each species contributes to the cooling rate. Note that here log refers to the base 10 logarithm. The 9 species are ordered as follows: OI, OII, NI, NII, SII, FeII, SIII, MgII, CII.
2.) The first three parameters in the table must be "cycled" through in the following order: log(X), log(ne), T. In other words, if you follow the table going down, the log(X) column changes first while log(ne) and T remain constant. Then once all values of log(X) are cycled through, log(ne) changes to its next value and log(X) gets cycled through again. The process repeats until all possible values are cycled through. This is important so that all the cooling rates are read in and used in a consistent order.
3.) The very first line of the table needs to have nDensities, nTemps, nXs. As an example, the first line might read: 40 30 21. This means there are 40 different values for log(ne), 30 for T, and 21 for log(X). Thus, there are a total of 25,200 different values for the cooling rate (40*30*21 = 25,200).
4.) The step sizes of log(ne), T, and log(X) must remain constant. In other words, each column is evenly spaced.
Also, it is important to note that the cooling rate has units of erg * cm-3 * nH-2. So before the rate can be added to the change in energy, dqdt(iE), it must be multiplied by nH2 where nH is the number density of hydrogen.
Zcooling.tab
PHcooling.tab contains a lot of data that is not needed. Reading in this data one line at a time is inefficient, especially when astrobear is being run on multiple processors. This is why a separate script is used to reformat PHcooling.tab to Zcooling.tab before running astrobear. Remember that PHcooling.tab still requires the aforementioned properties in order to be reformatted correctly. Zcooling.tab has the following format:
nDensities nTemps nXs lognemin lognemax tempmin tempmax logxmin logxmax coolingrate(1,1,1), coolingrate(2,1,1), …, coolingrate(nDensities,nTemps,nxs)
Where lognemin is the minimum value of the log(ne) column in PHcooling.tab, and the other minimum and maximum values are defined in the same way. This reformatted table essentially gives the number of data points, the ranges for log(ne), T, and log(X), and the cooling rates on one line. Now the data does not need to be read in one line at a time for 25,200 or so values. The entire array of cooling rates can be read in instantly.
The Interpolation
Attachments (9)
- vel_sample.png (23.8 KB ) - added by 13 years ago.
- temp_res.png (13.3 KB ) - added by 13 years ago.
- temp_res1.png (24.8 KB ) - added by 13 years ago.
- dm_lineouts.png (28.9 KB ) - added by 13 years ago.
- dm_lineouts_zoom.png (30.3 KB ) - added by 13 years ago.
- no_lineouts.png (28.4 KB ) - added by 13 years ago.
- z_lineouts.png (28.7 KB ) - added by 13 years ago.
- z_lineouts_zoom.png (30.0 KB ) - added by 13 years ago.
- nocool_noB_vel.gif (1.7 MB ) - added by 13 years ago.
Download all attachments as: .zip