def test_int_to_roman(test_input, expected_result): assert int_to_roman(test_input) == expected_result with pytest.raises(TypeError): int_to_roman(1.5) with pytest.raises(ValueError): int_to_roman(0) with pytest.raises(ValueError): int_to_roman(4000)
#normalizing the level_populations for Si II current_level_population = nebular_plasma.level_populations.ix[ 14, 1] / nebular_plasma.ion_populations.ix[14, 1] #normalizing with statistical weight current_level_population /= atom_data.levels.ix[14, 1].g level_populations[t_rad] = current_level_population ion_colors = ['b', 'g', 'r', 'k'] for ion_number in [0, 1, 2, 3]: current_ion_density = ion_number_densities.ix[14, ion_number] ax1.plot(current_ion_density.index, current_ion_density.values, '%s-' % ion_colors[ion_number], label='Si %s W=1.0' % util.int_to_roman(ion_number + 1).upper()) #only plotting every 5th radiation temperature t_rad_normalizer = colors.Normalize(vmin=2000, vmax=20000) t_rad_color_map = plt.cm.ScalarMappable(norm=t_rad_normalizer, cmap=plt.cm.jet) for t_rad in t_rads[::5]: ax2.plot(level_populations[t_rad].index, level_populations[t_rad].values, color=t_rad_color_map.to_rgba(t_rad)) ax2.semilogy() #Calculating the different ion populations for the given temperatures with W=0.5 ion_number_densities = pd.DataFrame(index=nebular_plasma.ion_populations.index) for t_rad in t_rads: nebular_plasma.update_radiationfield(t_rad, w=0.5)
# normalizing the level_populations for Si II current_level_population = lte_plasma.level_populations.ix[14, 1] / lte_plasma.ion_populations.ix[14, 1] # normalizing with statistical weight current_level_population /= atom_data.levels.ix[14, 1].g level_populations[t_rad] = current_level_population ion_colors = ["b", "g", "r", "k"] for ion_number in [0, 1, 2, 3]: current_ion_density = ion_number_densities.ix[14, ion_number] ax1.plot( current_ion_density.index, current_ion_density.values, "%s-" % ion_colors[ion_number], label="Si %s W=1.0" % util.int_to_roman(ion_number + 1).upper(), ) # only plotting every 5th radiation temperature t_rad_normalizer = colors.Normalize(vmin=2000, vmax=20000) t_rad_color_map = plt.cm.ScalarMappable(norm=t_rad_normalizer, cmap=plt.cm.jet) for t_rad in t_rads[::5]: ax2.plot(level_populations[t_rad].index, level_populations[t_rad].values, color=t_rad_color_map.to_rgba(t_rad)) ax2.semilogy() t_rad_color_map.set_array(t_rads) cb = plt.figure(2).colorbar(t_rad_color_map) ax1.set_xlabel("T [K]")
ion_density = nebular_plasma.ion_populations / si_number_density ion_number_densities[t_rad] = ion_density #normalizing the level_populations for Si II current_level_population = nebular_plasma.level_populations.ix[14, 1] / nebular_plasma.ion_populations.ix[14, 1] #normalizing with statistical weight current_level_population /= atom_data.levels.ix[14, 1].g level_populations[t_rad] = current_level_population ion_colors = ['b', 'g', 'r', 'k'] for ion_number in [0, 1, 2, 3]: current_ion_density = ion_number_densities.ix[14, ion_number] ax1.plot(current_ion_density.index, current_ion_density.values, '%s-' % ion_colors[ion_number], label='Si %s W=1.0' % util.int_to_roman(ion_number + 1).upper()) #only plotting every 5th radiation temperature t_rad_normalizer = colors.Normalize(vmin=2000, vmax=20000) t_rad_color_map = plt.cm.ScalarMappable(norm=t_rad_normalizer, cmap=plt.cm.jet) for t_rad in t_rads[::5]: ax2.plot(level_populations[t_rad].index, level_populations[t_rad].values, color=t_rad_color_map.to_rgba(t_rad)) ax2.semilogy() #Calculating the different ion populations for the given temperatures with W=0.5 ion_number_densities = pd.DataFrame(index=nebular_plasma.ion_populations.index) for t_rad in t_rads: nebular_plasma.update_radiationfield(t_rad, w=0.5) #getting total si number density