/* charexc.h */ EXTERN struct t_CharExc { /* * ion, nelem * these arrays save the charge transfer ionization and recom * rates for the heavy elements onto hydrogen. ionization is * of the heavy element, and so is a recom for hydrogen * * HCharExcIon( ion , nelem ), HCharExcRec( ion , nelem ) * charge transfer ionization of atomic oxygen = HCharExcIon(1,8)*hii * charge transfer recombination of ionized oxygen = HCharExcRec(1,8)*hi * HCharHeatMax, HCharCoolMax are largest fractions of local heating * or cooling due to ct * HCharHeatOn usually 1, set to 0 with no CTHeat command */ float HCharExcIon[LIMELM][LIMELM], HCharExcRec[LIMELM][LIMELM], HCharHeatMax, HCharCoolMax, HCharHeatOn; /* first cell of vector is current value of ioniz/rec of elements * sec is lagging value, average of current and old * CTHrec is total rate (s^-1) for charge transfer neutralization of hydrogen * CTHion is same for ct ionization of hydrogen * chrener is energy exchange in Ryd */ float CTHion[2][2], CTHrec[2][2], chrener, chrexCool, CTHionAgnt[5]; /* *this is the charge ionizaiton, recom array *that goes into the ionization balance *(ion,1) is ionization, (ion,2) is recombination *it has all charge transfer rates EXCEPT those for hydrogen *those are in HCharExcIon and HCharExcRec */ float CTHeavy[2][LIMELM]; } CharExc;