Exemplo n.º 1
0
 def calculate_helium_three(t_rad, w, zeta_data, t_electrons, delta,
     g_electron, beta_rad, ionization_data, electron_densities, g):
     """
     Calculates the He III level population values.
     """
     zeta = PhiSahaNebular.get_zeta_values(zeta_data, 2, t_rad)[1]
     he_three_population = (2 / electron_densities) * \
         (float(g.ix[2,2,0])/g.ix[2,1,0]) * g_electron * \
         np.exp(-ionization_data.ionization_energy.ix[2,2] * beta_rad) \
         * w * (delta.ix[2,2] * zeta + w * (1. - zeta)) * \
         (t_electrons / t_rad) ** 0.5
Exemplo n.º 2
0
Arquivo: nlte.py Projeto: rajul/tardis
 def calculate_helium_three(self, t_rad, w, zeta_data, t_electrons, delta,
     g_electron, beta_rad, partition_function, ionization_data,
     electron_densities):
     (partition_function_index, ionization_data_index, partition_function,
         ionization_data) = self.filter_with_helium_index(2, 2,
         partition_function, ionization_data)
     zeta_data = pd.DataFrame(zeta_data.ix[2].ix[2].values,
         columns=ionization_data_index, index=zeta_data.columns).transpose()
     delta = pd.DataFrame(delta.ix[2].ix[2].values,
         columns=ionization_data_index, index=delta.columns).transpose()
     phis = PhiSahaNebular.calculate(t_rad, w,
         zeta_data, t_electrons, delta, g_electron,
         beta_rad, partition_function, ionization_data)
     return (phis * (partition_function.ix[2].ix[1] /
         partition_function.ix[2].ix[2]) * (1 /
         electron_densities)).ix[2].ix[2]
Exemplo n.º 3
0
 def calculate_helium_three(self, t_rad, w, zeta_data, t_electrons, delta,
                            g_electron, beta_rad, partition_function,
                            ionization_data, electron_densities):
     (partition_function_index, ionization_data_index, partition_function,
      ionization_data) = self.filter_with_helium_index(
          2, 2, partition_function, ionization_data)
     zeta_data = pd.DataFrame(zeta_data.ix[2].ix[2].values,
                              columns=ionization_data_index,
                              index=zeta_data.columns).transpose()
     delta = pd.DataFrame(delta.ix[2].ix[2].values,
                          columns=ionization_data_index,
                          index=delta.columns).transpose()
     phis = PhiSahaNebular.calculate(t_rad, w, zeta_data, t_electrons,
                                     delta, g_electron, beta_rad,
                                     partition_function, ionization_data)
     return (
         phis *
         (partition_function.ix[2].ix[1] / partition_function.ix[2].ix[2]) *
         (1 / electron_densities)).ix[2].ix[2]