def calc_thermal_fission_functions(t0, ts, read_data)
      total_times = t0 + ts
      ff = ThermalData::HashWithThermalFission.new
      (0..read_data.theU235_alpha.size-1).each do |i|
        f_U235_ts2tinf        = read_data.theU235_alpha[i] / read_data.theU235_lamda[i] *
                                Math.exp(-read_data.theU235_lamda[i] * ts) *
                                (1.0 - Math.exp(-read_data.theU235_lamda[i] * read_data.tinf))

        f_U235_ts_add_t02tinf = read_data.theU235_alpha[i] / read_data.theU235_lamda[i] *
                                Math.exp(-read_data.theU235_lamda[i] * total_times) *
                                (1.0 - Math.exp(-read_data.theU235_lamda[i] * read_data.tinf))

        ff.thermal_fission[:U235] = ff.thermal_fission[:U235] + f_U235_ts2tinf - f_U235_ts_add_t02tinf

        f_Pu239_ts2tinf         = read_data.thePu239_alpha[i] / read_data.thePu239_lamda[i] *
                                  Math.exp(-read_data.thePu239_lamda[i] * ts) *
                                  (1.0 - Math.exp(-read_data.thePu239_lamda[i] * read_data.tinf))

        f_Pu239_ts_add_t02tinf  = read_data.thePu239_alpha[i] / read_data.thePu239_lamda[i] *
                                  Math.exp(-read_data.thePu239_lamda[i] * total_times) *
                                  (1.0 - Math.exp(-read_data.thePu239_lamda[i] * read_data.tinf))

        ff.thermal_fission[:Pu239] = ff.thermal_fission[:Pu239] + f_Pu239_ts2tinf - f_Pu239_ts_add_t02tinf

        f_U238_ts2tinf          = read_data.theU238_alpha[i] / read_data.theU238_lamda[i] *
                                  Math.exp(-read_data.theU238_lamda[i] * ts) *
                                  (1.0 - Math.exp(-read_data.theU238_lamda[i] * read_data.tinf))

        f_U235_ts_add_t02tinf   = read_data.theU238_alpha[i] / read_data.theU238_lamda[i] *
                                  Math.exp(-read_data.theU238_lamda[i] * total_times) *
                                  (1.0 - Math.exp(-read_data.theU238_lamda[i] * read_data.tinf))

        ff.thermal_fission[:U238] = ff.thermal_fission[:U238] + f_U238_ts2tinf - f_U235_ts_add_t02tinf
      end
      ff.thermal_fission
    end
def calc_thermal_fission_functions(t0, ts, read_data)
      total_times = t0 + ts
      ff = ThermalData::HashWithThermalFission.new
      (0..read_data.theU235_alpha.size-1).each do |i|
        f_U235_ts2tinf        = read_data.theU235_alpha[i] / read_data.theU235_lamda[i] *
                                Math.exp(-read_data.theU235_lamda[i] * ts) *
                                (1.0 - Math.exp(-read_data.theU235_lamda[i] * read_data.tinf))

        f_U235_ts_add_t02tinf = read_data.theU235_alpha[i] / read_data.theU235_lamda[i] *
                                Math.exp(-read_data.theU235_lamda[i] * total_times) *
                                (1.0 - Math.exp(-read_data.theU235_lamda[i] * read_data.tinf))

        ff.thermal_fission[:U235] = ff.thermal_fission[:U235] + f_U235_ts2tinf - f_U235_ts_add_t02tinf

        f_Pu239_ts2tinf         = read_data.thePu239_alpha[i] / read_data.thePu239_lamda[i] *
                                  Math.exp(-read_data.thePu239_lamda[i] * ts) *
                                  (1.0 - Math.exp(-read_data.thePu239_lamda[i] * read_data.tinf))

        f_Pu239_ts_add_t02tinf  = read_data.thePu239_alpha[i] / read_data.thePu239_lamda[i] *
                                  Math.exp(-read_data.thePu239_lamda[i] * total_times) *
                                  (1.0 - Math.exp(-read_data.thePu239_lamda[i] * read_data.tinf))

        ff.thermal_fission[:Pu239] = ff.thermal_fission[:Pu239] + f_Pu239_ts2tinf - f_Pu239_ts_add_t02tinf

        f_U238_ts2tinf          = read_data.theU238_alpha[i] / read_data.theU238_lamda[i] *
                                  Math.exp(-read_data.theU238_lamda[i] * ts) *
                                  (1.0 - Math.exp(-read_data.theU238_lamda[i] * read_data.tinf))

        f_U235_ts_add_t02tinf   = read_data.theU238_alpha[i] / read_data.theU238_lamda[i] *
                                  Math.exp(-read_data.theU238_lamda[i] * total_times) *
                                  (1.0 - Math.exp(-read_data.theU238_lamda[i] * read_data.tinf))

        ff.thermal_fission[:U238] = ff.thermal_fission[:U238] + f_U238_ts2tinf - f_U235_ts_add_t02tinf
      end
      ff.thermal_fission
    end
Calculate thermal fission functions from ANS-5.1-1979 Table 7~9 include U235, Pu239 and U238.
 need t0, ts and data with thermal fission(from class DataForANS_5_1_1979)
 ts: Time after remove (sec)
 t0: Cumulative reactor operating time (sec)

 calc_thermal_fission_functions(t0, ts, read_data)

 return { :U235  => f_U235(ts, t0)
          :Pu239 => f_Pu235(ts, t0)
          :U238  => f_U238(ts, t0) }