KJM2600-Laboratorieoppgave 4 Sindre Rannem Bilden Gruppe 1 27. april 2015 Laboratorierapporten tar utganskpunkt i elektronvolt og lengder i nanometer og ångstrøm for enklere regning. Senere konverteres disse til ønskede verdier. 1 Hensikt Hensikten med øvelsen er å illustrere forskjellige kventekjemiske modeller og sammenhengen mellom kvantetall, utvalgsregler og spekter. 2 Teori Øvelsen tar for seg Den stive rotoren, Harmonisk Oscillator og Anharmonisk Oscillator. IR: Fra IR-spekteret får man absorbans opp mot bølgetall [cm 1 ] og viser flere topper av varierende intensitet. Disse viser energikvantiseringen og avstanden mellom hver topp gir energien til et skifte i kvantetall ved F (J) BJ(J + 1). Dette avslører rotasjonskonstanten B. Stiv rotor: For en stiv rotor har gjelder I µr 2 og I 4πB, dette gir R 4πµB. H.O: Et toatomig molekyl kan sees på som en harmonisk oscillator med potensiell energi V (R) k 2 (R R e) 2. Hvor R e er likevektavstanden og k e er kraftkonstanten for bindingen. Morse: Da den harmoniske oscillatoren brytersammen ved små vik fra R e vil et anharmonisk potensiale være en bedre tilnærming til bindingen. Siden det er kjent at et molekyl vil kunne rives fra hverandre og dermed inngå i reaksjoner må potensialet stagnere ved R. Potensialet stiger også kraftig når atomer kommer tett. Disse to elementene oppfylles av morse-funksjonen V (R) D e [ 1 e a(r R e) ] 2. 3 Gjennomføring Et fundamental IR-spektrum av HCL importert inn i og topppunkter ble analysert ved hjelp av ar Pythonscript (Vedlegg 1). Her ble bølgetallene til toppunktene lagret opp mot sitt avvik (m) fra J 0, (Se Figur 1 som illustrasjon). Den lagrede filen ble så overført til Origin og en tilnærmingskurve ble beregnet. Koeffisientene (v, B1, B2) ble notert og tatt med til senere beregninger. Det samme ble gjort for et overtone IR-spektrum. B0, B 1 og B 2 ble beregnet ved hjelp av ṽ(m) ṽ 0 + ( B 1 + B 2 )m + ( B 1 B 0 )m 2 1
Disse verdiene ble så brukt for å definere B e og α ved B n B e + α(n + 1 2 ) der n 0, 1, 2. Senere ble R e, R 0, R 1, R 2 for HCL beregnet fra B e, B 0, B 1 og B 2 ved hjelp av formlene: µ m Hm Cl (3.1) m H + m Cl h R n 4πcµ B n 8π 2 cµ B (3.2) n Etter videre beregning med formlene ṽ e 3ṽ 0 ṽ 1, χ e 2ṽ 0 ṽ 1 2ṽ e a var nok verdier definert til å gjenskape en potensialkurve for HCl. k e 2D e, k2 e (2πcṽ e ) 2 µ, D e hcṽe 4χ e og 4 Resultater Fra programmet i Vedlegg 1 ble det skrevet ut en tabell for hvert spekter, vist i Tabell 4.1. Som illustrasjon kan de tilhørende verdiene av m sees på Figur 4.2. Verdiene fra Origin ble satt inn i programmet i Vedlegg 2 og fikk ut verdiene under: B0[cmˆ-1] 10.386 (0.008) B1[cmˆ-1] 10.06 (0.016) B2[cmˆ-1] 9.796 (0.005) Samme program beregnet også α og B e : alpha [cmˆ-1] -0.295 (-0.007) B_e [cmˆ-1] 10.523 (0.011) Legg merke til at usikkerheten til Be ble beregnet som største feilmargin fra de tre tidligere verdiene B 0, B 1 og B 2 illustrert i figur i Vedlegg 4. Utregninger ved hjelp av (3.1) og (3.2) gir: µ m Hm Cl 0.91249GeV/c 2 (4.1) m H + m Cl hc R n 2 hc 1240nmeV 1 8π 2 ce µ Bn 8π 2 E µ Bn 8π 2 (4.2) E µ [ev ] B n [nm 1 ] δr R 2 δ B n B n (4.3) Under ligger verdiene til R n, beregnet ved hjelp av programmet i Vedlegg 3 som baserer seg på (4.2) og (4.3). R0[m] 1.2873e-10 (5e-14) R1[m] 1.308e-10 (1e-13) R2[m] 1.3255e-10 (3e-14) Re[m] 1.2789e-10 (7e-14) Polynomtilpasningen ga bølgetallene: v0[cmˆ-1] 2885.86 (0.152) v1[cmˆ-1] 5667.819 (0.072) 2
Fra dette får vi: Fra dette kan k e, D e og a beregnes til: ṽ e 3ṽ 0 ṽ 1 2989.7(1.53)[cm 1 ] χ e 2ṽ 0 ṽ 1 2ṽ e 103.9(0.312) 2 2989.7(1.53) 0.017387(1.058E-4) k e (2πcṽ e ) 2 µ (2πṽ e ) 2 E µ 32.199(2.33E-2)[eV Å 2 ] 515.89(0.373)[Nm 1 ] D e hcṽ e 4χ e a 1240[eV nm]ṽ e 4χ e 1240[eV nm] 2989.7 4χ e 10 7 5.3305(4.1E-3)eV 514.3(0.39)kJ/mol [nm] ke 2D e 2.4569(2.0872E-3)[Å 1 ] 2.4569E10(2.0872E7)[m 1 ] Med disse resultatene kan potensialet plottes som vist i figur 4.1. Tabell 4.1: Resultater over topppunkter med tilhørende bølgetall. Fundamental #R J m v(m)[cmˆ-1] J10->11 10.0 11 3072.700 J9->10 9.0 10 3059.080 J8->9 8.0 9 3044.858 J7->8 7.0 8 3029.912 J6->7 6.0 7 3014.243 J5->6 5.0 6 2997.850 J4->5 4.0 5 2980.735 J3->4 3.0 4 2963.137 J2->3 2.0 3 2944.696 J1->2 1.0 2 2925.773 J0->1 0.0 1 2906.006 --------------------------- #P J m v(m)[cmˆ-1] J1->0 1.0-1 2864.905 J2->1 2.0-2 2843.450 J3->2 3.0-3 2821.393 J4->3 4.0-4 2798.733 J5->4 5.0-5 2775.591 J6->5 6.0-6 2751.846 J7->6 7.0-7 2727.620 J8->7 8.0-8 2702.790 J9->8 9.0-9 2677.479 J10->9 10.0-10 2651.806 Overtone P J m v(m)[cmˆ-1] J7->8 7.0 8 5790.1 J6->7 6.0 7 5779.3 J5->6 5.0 6 5767.2 J4->5 4.0 5 5753.7 J3->4 3.0 4 5739.0 J2->3 2.0 3 5723.1 J1->2 1.0 2 5705.8 J0->1 0.0 1 5687.3 -------------------------- R J m v(m)[cmˆ-1] J1->0 1.0-1 5646.8 J2->1 2.0-2 5624.8 J3->2 3.0-3 5601.4 J4->3 4.0-4 5577.0 J5->4 5.0-5 5551.5 J6->5 6.0-6 5524.7 J7->6 7.0-7 5496.9 3
Figur 4.1: De beregnede potensialkurvene til HCL Figur 4.2: Oversikt over bølgetall med tilhørende verdier av m for fundamentale IR-spekteret 4
5 Konklusjon Ser at at et IR-spekter av et kjent specie vil gi svært mye informasjon, ved god forståelse av kvantekjemiske prinsipper vil et enkelt diagram tolkes nok til å kunne sette opp en potensialkurve for speciets struktur og derifra forutse kjemisk aktivitet. 6 Vedlegg Vedlegg 1: # -*- coding: utf-8 -*- from pylab import * import numpy as np import matplotlib as plt import os.path data np.loadtxt("oppgave_4_hcl_fundamental.dat",dtypefloat) start False; end False x_a [];y_a [];x_a [];y_a [] A False noise 0.003 for i in range(len(data2[:,0])): if data2[i,1]>noise and data2[i-1,1]<noise: start True x_s data2[i,0] if data2[i,1]<maks and data2[i-1,1]>maks: end True x_e data2[i,0] if start and data2[i,1]>data2[i-1,1]: top data2[i,1] if start and end: if A: x_a.append((x_e+x_s)/2) y_a.append(top) A False else: x_b.append((x_e+x_s)/2) y_b.append(top) A True start False end False scatter(x_a,y_a,color r,label"$ˆ{a}cl$") scatter(x_b,y_b,color c,label"$ˆ{37}cl$") l_a len(x_a); mid_a l_a/2; m_a []; j_a []; TXTa [] L_a linspace(0,len(x_a)-1,len(x_a)) for i, txt in enumerate(l_a): n txt-mid_a TXTa.append(text) j_a.append(round(abs(txt-mid_a),0)) if (txt-mid_a)>0: m_a.append(-abs(txt-mid_a)) annotate(-abs(txt-mid_a), (x_a[i],y_a[i]*1.001)) else: m_a.append(abs((txt-mid_a))+1) annotate(abs((txt-mid_a))+1, (x_a[i],y_a[i]*1.001)) TEXTa np.array(txta).reshape(len(txta),1) J_a np.array(j_a).reshape(len(j_a),1) X_a np.array(x_a).reshape(len(x_a),1) Y_a np.array(y_a).reshape(len(y_a),1) M_a np.array(m_a).reshape(len(m_a),1) HEAD np.array(["#","j","m","v(m)[cmˆ-1]"]) TABLE np.hstack([texta,j_a,m_a,x_a]) TABLE np.vstack([head,table]) TOT np.hstack([m_a, X_a]) TOT np.flipud(tot) plot(data[:,0],data[:,1],"b") xlim(data[-1,0],data[0,0],) ylim(min(data[:,1]),max(data[:,1])*1.2) ylabel( Absorbans ) xlabel( Bolgetall + $[cmˆ{-1}]$ ) legend() show() np.savetxt( hcl_datatable, TABLE, delimiter" ", fmt"%s") np.savetxt( Wave_m.dat, TOT, delimiter" ", fmt"%s") 5
Vedlegg 2: from pylab import * import os.path v_f [2885.86, 0.15208] b1_f [20.427, 0.01539] b2_f [-0.3066, 0.0276] #---------------------------- v_o [5667.819, 0.07257] b1_o [20.201, 0.01003] b2_o [-0.6086, 0.00248] def R(a,b,x1,x2): X (a*x1[0]+b*x2[0]) dx sqrt((a*x1[1])**2+(b*x2[1])**2) return [X,dX] B1 R(0.5,0.5,b1_f,b2_f) B0_f R(0.5,-0.5,b1_f,b2_f) B2 R(0.5,0.5,b1_o,b2_o) B0_o R(0.5,-0.5,b1_o,b2_o) B0 R(0.5,0.5,B0_o,B0_f) B0_a np.array(b0).reshape(1,len(b0)) B1_a np.array(b1).reshape(1,len(b1)) B2_a np.array(b2).reshape(1,len(b2)) TOT np.vstack([b0_a,b1_a,b2_a]) TOT np.round(tot, 4) TOT TOT.astype( S10 ) for i in range(0,len(tot[:,1])): TOT[i,1] ( +TOT[i,1]+ ) LAB array([[ B0 ],[ B1 ],[ B2 ]]) TOT np.hstack([lab,tot]) Bn [B0[0],B1[0],B2[0]] Bn1 [B0[0]+B0[1],B1[0],B2[0]-B2[1]] Bn2 [B0[0]-B0[1],B1[0],B2[0]+B2[1]] xn [] for n in range(0,3): xn.append((n+0.5)) pol np.polyfit(xn,bn,deg1) pol1 np.polyfit(xn,bn1,deg1) pol2 np.polyfit(xn,bn2,deg1) alpha array([pol[0],(pol1[0]-pol2[0])/2]) Be array([pol[1],(pol1[1]-pol2[1])/2]) B_list [B0,B1,B2,Be] mat np.vstack([alpha,be]) lab array([[ alpha [cmˆ-1] ], [ B_e [cmˆ-1] ]]) BE np.hstack([lab,mat]) np.savetxt( B_list.txt, TOT, delimiter" np.savetxt( Alpha_Be.txt, BE, delimiter" ", fmt"%s") ", fmt"%s") 6
Vedlegg 3: def CalcR(B): R 1E7*sqrt((1240*1E-7)/(8*pi**2*0.5109*B[0])) dr 0.5*R*B[1]/B[0] return [R,dR] R0 CalcR(B0) R_list np.zeros([4,2]) i 0 for B in B_list: R_list[i] CalcR(B) i + 1 TOT np.round(r_list, 1) TOT TOT.astype( S10 ) for i in range(0,len(tot[:,1])): TOT[i,1] ( +TOT[i,1]+ ) LAB array([[ R0[nm] ],[ R1[nm] ],[ R2[nm] ],[ Re[nm] ]]) TOT np.hstack([lab,tot]) np.savetxt( R_list.txt, TOT, delimiter" ", fmt"%s") Vedlegg 4: Illustrasjon av feilmargin under beregning av B e : 7