V atmosférických výbojích často pozorujeme záření molekuly dusíky v důsledku přechodu $N_2(C\,^3\Pi_g\rightarrow B\,^3\Pi_u)$. Ve starší literatuře se setkáme s označením "druhý pozitivní systém". Většina vibračních pásů tohoto systému se nachází v blízké UV oblasti a zasahuje i do viditelné části spektra. Toto záření je tedy často původcem charakteristické fialové barvy atmosférických výbojů.
S rostoucí teplotou se více populují stavy s vyšším rotačním číslem. Ve spektrech se to projevuje tak, že roste relativní intenzita části pásů směrem ke kratším vlnovým délkám (tedy směrem "doleva").
Toho se dá využít k rychlému odhady teploty, pokud máme k dispozici kalibrační křivku
$$ \frac{I_0}{ I_1}= f(T, {\rm integrační~limity}) $$#kod v teto bunce neni soucasti lekce,
#presto ho ale netajime
import massiveOES
import matplotlib.pyplot as plt
%matplotlib inline
from matplotlib import colors as mcolors
colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS)
N2 = massiveOES.SpecDB('N2CB.db')
spec_cold = N2.get_spectrum(Trot=300, Tvib=300, wmin=325, wmax=337.6)
spec_hot = N2.get_spectrum(Trot=3000, Tvib=3000, wmin=325, wmax=337.6)
dump=spec_cold.refine_mesh()
dump=spec_hot.refine_mesh()
spec_cold.convolve_with_slit_function(gauss=5e-2)
spec_hot.convolve_with_slit_function(gauss=5e-2)
plt.rcParams['font.size'] = 13
plt.rcParams['figure.figsize'] = (15,4)
fig, axs = plt.subplots(1,2)
axs[0].plot(spec_cold.x, spec_cold.y, color='blue', label = 'T$_{rot}$ = 300 K')
axs[0].plot(spec_hot.x, spec_hot.y, color='green', label = 'T$_{rot}$ = 3000 K')
axs[0].legend(loc='upper left')
axs[0].set_xlabel('wavelength [nm]')
axs[0].set_ylabel('relative photon flux [arb. u.]')
int_lims = 320, 335, 336.9
axs[1].plot(spec_hot.x, spec_hot.y, color='green', label = 'T$_{rot}$ = 3000 K')
axs[1].fill_between(spec_hot.x, spec_hot.y,
where=(spec_hot.x > int_lims[0]) & (spec_hot.x<int_lims[1]),
color='green', alpha=0.5)
axs[1].fill_between(spec_hot.x, spec_hot.y,
where=(spec_hot.x > int_lims[1]) & (spec_hot.x<int_lims[2]),
color='darkorange', alpha=0.5)
axs[1].annotate('$I_0$', xy=(334, 70), xytext = (330, 300),
arrowprops=dict(facecolor='green', width = 2, headwidth=7),
color = 'green', alpha=0.9, size=20)
axs[1].annotate('$I_1$', xy=(336, 220), xytext = (334, 500),
arrowprops=dict(facecolor='darkorange', width = 2, headwidth=7),
color = 'darkorange', alpha=1, size=20)
axs[1].set_xlabel('wavelength [nm]')
txt = axs[1].set_ylabel('relative photon flux [arb. u.]')
import numpy
cal = numpy.genfromtxt('N2spec/calibration.txt')
plt.rcParams['figure.figsize'] = (7.5,4)
ax = plt.plot(cal[:,0], cal[:,1])
plt.xlabel('temperature [K]')
plt.ylabel('I$_0$ / I$_1$')
txt = plt.title('limits = (320, 335, 336.9) nm')
N2spec
. Každý z nich obsahuje dusíkové spektrum získané při určité teplotě. Výše popsanou metodou s využitím kalibrační křivky (N2spec/calibration.txt
) přiřaďte každému souboru správnou teplotu.