vec_E_mean = np.zeros([vec_len]) vec_E_med = np.zeros([vec_len]) vec_E_std = np.zeros([vec_len]) vec_E_mad = np.zeros([vec_len]) vec_spectrum = np.zeros([vec_len,nbins]) vec_q = np.zeros([vec_len]) vec_size_x = np.zeros([vec_len]) vec_emittance_y = np.zeros([vec_len]) vec_emittance_z = np.zeros([vec_len]) vec_divergence_rms = np.zeros([vec_len]) for t in range(len(tsi)): print('file:\t',f,' \t timestep:\t',t) # energy distribution characteristics energy_axis[f], vec_spectrum[t], vec_E_peak[t], vec_dQdE_max[t], vec_E_fwhm[t] = l.getSpectrum(tmp,tsi[t], E_min=Emin, E_max = Emax, print_flag=False) # beam parameter filter around energy peak if (vec_E_peak[t] == 0) or (vec_E_fwhm[t] == 0) : try: param_dict = l.getBeamParam(tmp,tsi[t], E_min=Emin, E_max = Emax,print_flag=False) vec_E_mean[t] = param_dict['energy_wmean'] vec_E_med[t] = param_dict['energy_wmedian'] vec_E_std[t] = param_dict['energy_rms'] vec_E_mad[t] = param_dict['energy_wmad'] vec_E_peak[t] = np.nan vec_E_fwhm[t] = np.nan vec_dQdE_max[t] = vec_spectrum.max() vec_emittance_y[t] = param_dict['emittance_y'] vec_emittance_z[t] = param_dict['emittance_z']
vec_emittance_y = np.zeros([vec_len]) vec_emittance_z = np.zeros([vec_len]) vec_divergence_rms = np.zeros([vec_len]) for t in range(len(tsi)): print('file:\t', f) print('timestep:\t', t) # value and position of the max of a0 x, a = l.getMaxinMovingWindow(tmp) vec_a0_max[t] = a.max() vec_x_a0_max[t] = x[a.argmax()] # energy distribution characteristics energy_axis[f], vec_spectrum[t], vec_E_peak[ t], vec_dQdE_max[t], vec_E_fwhm[t] = l.getSpectrum( tmp, tsi[t], E_min=Emin, E_max=Emax, print_flag=True) # beam parameter filter around energy peak if (vec_E_peak[t] == 0) or (vec_E_fwhm[t] == 0): param_list = l.getBeamParam(tmp, ts[t], E_min=Emin, E_max=Emax, print_flag=True) vec_E_std[t] = param_list[3] vec_E_peak[t] = np.nan vec_E_fwhm[t] = np.nan vec_E_std[t] = param_list[3] vec_dQdE_max[t] = spectrum.max() vec_emittance_y[t] = param_list[5]
else : injection_flag[f] = True print(" ###################################################\n", '#\t injection occured at:\t',ti[f],' \n', "###################################################") # only the given the timestep value # laser self-focusing x,a = l.getMaxinMovingWindow(tmp) a0_max[f] = a.max() x_a0_max[f] = x[a.argmax()] # energy distribution energy_axis[f], spectrum[f], E_peak[f], dQdE_max[f], E_fwhm[f] = l.getSpectrum(tmp,ts[timeStep], E_min=Emin, E_max = Emax, print_flag=False) # beam parameter filter around if (E_peak[f] == 0) or (E_fwhm[f] == 0) : param_list = l.getBeamParam(tmp,ts[-1], E_min=Emin, E_max = Emax,print_flag=False) E_mean[f] = param_list['energy_wmean'] E_med[f] = param_list['energy_wmedian'] E_wstd[f] = param_list['energy_wrms'] E_std[f] = param_list["energy_rms"] E_mad[f] = param_list['energy_wmad'] E_peak[f] = np.nan E_fwhm[f] = np.nan dQdE_max[f] = spectrum.max() emittance_y[f] = param_list['emittancey'] emittance_z[f] = param_list['emittancez'] divergence_rms[f] = param_list['divergence_rms']
vec_E_mad = np.zeros([vec_len]) vec_spectrum = np.zeros([vec_len, nbins]) vec_q = np.zeros([vec_len]) vec_size_x = np.zeros([vec_len]) vec_emittance_y = np.zeros([vec_len]) vec_emittance_z = np.zeros([vec_len]) vec_divergence_rms = np.zeros([vec_len]) for t in tqdm(range(len(tsi)), leave=False): print('file:\t', f, ' \t timestep:\t', t) # energy distribution characteristics energy_axis[f], vec_spectrum[t, :], vec_E_peak[t], vec_dQdE_max[ t], vec_E_fwhm[t] = l.getSpectrum(tmp, tsi[t], E_min=Emin, E_max=Emax, print_flag=False) # beam parameter filter around energy peak if (vec_E_peak[t] == 0) or (vec_E_fwhm[t] == 0): try: param_list = l.getBeamParam(tmp, tsi[t], E_min=Emin, E_max=Emax, print_flag=False) #print('DEBUG :\n',param_list) vec_E_mean[t] = param_list['energy_wmean'] vec_E_med[t] = param_list['energy_wmedian'] vec_E_std[t] = param_list['energy_rms']