Changes between Version 5 and Version 6 of 1DPulsedJets


Ignore:
Timestamp:
01/23/12 11:55:06 (13 years ago)
Author:
ehansen
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • 1DPulsedJets

    v5 v6  
    77[[BR]]
    88
    9 == Zcooling.tab ==
     9== PHcooling.tab ==
    1010Understanding the format of this table is crucial to interpolating correctly.  There are a few properties that this table must have:
    1111
    12 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. The 9 species are ordered as follows: OI, OII, NI, NII, SII, FeII, SIII, MgII, CII.
     121.) 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.
    1313
    14142.) 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.
     
    16163.) 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).
    1717
     184.) The step sizes of log(ne), T, and log(X) must remain constant.  In other words, each column is evenly spaced.
     19
    1820Also, 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 nH^2^ where nH is the number density of hydrogen.
     21[[BR]]
     22
     23== Zcooling.tab ==
     24PHcooling.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:
     25
     26nDensities nTemps nXs
     27lognemin lognemax
     28tempmin tempmax
     29logxmin logxmax
     30coolingrate(1,1,1), coolingrate(2,1,1), ..., coolingrate(nDensities,nTemps,nxs)
     31
     32Where 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. 
     33
    1934[[BR]]
    2035