Esempio n. 1
0
double rec_HRecFast_dxedlna(double xe, double nH, double H, double TM, double TR, double energy_rate) {

  double RLya, alphaB, four_betaB, C;

  RLya   = 4.662899067555897e15 * H / nH / (1.-xe);
  alphaB = 1.14 * alphaB_PPB(TM);
  four_betaB  = 3.016103031869581e21 *TR*sqrt(TR) *exp(-0.25*EI/TR) *alphaB; 
  
  C = (3.*RLya + L2s1s)/(3.*RLya + L2s1s + four_betaB);  
  
  return (-nH*xe*xe*alphaB + four_betaB*(1.-xe)*exp(-E21/TR))*C/H
    +(1.-xe)/(3.*nH)*energy_rate*(1./EI+(1.-C)/E21)/H;
  
}
Esempio n. 2
0
double rec_HRecFast_dxedlna(double xe, double nH, double H, double TM, double TR, double energy_rate) {

  double RLya, alphaB, four_betaB, C;
  double chi_ion_H;

  RLya   = 4.662899067555897e15 * H / nH / (1.-xe);
  alphaB = 1.14 * alphaB_PPB(TM);
  four_betaB  = 3.016103031869581e21 *TR*sqrt(TR) *exp(-0.25*EI/TR) *alphaB;

  C = (3.*RLya + L2s1s)/(3.*RLya + L2s1s + four_betaB);

  //chi_ion_H = (1.-xe)/3.; // old approximation from Chen and Kamionkowski
  if (xe < 1.)
    chi_ion_H = 0.369202*pow(1.-pow(xe,0.463929),1.70237); // coefficient as revised by Galli et al. 2013 (in fact it is a fit by Vivian Poulin of columns 1 and 4 in Table V of Galli et al. 2013)
  else
    chi_ion_H = 0.;

  return (-nH*xe*xe*alphaB + four_betaB*(1.-xe)*exp(-E21/TR))*C/H
    +chi_ion_H/nH*energy_rate*(1./EI+(1.-C)/E21)/H;

}