葛華才,左榮紅,王德麒
1華南理工大學化學與化工學院,廣州 510641
2華南理工大學圖書館,廣州 510641
化學動力學是物理化學[1]、化學動力學[2]、反應(yīng)工程、無機化學[3]等課程的主要內(nèi)容之一。直觀動態(tài)地顯示各類反應(yīng)系統(tǒng)反應(yīng)組分的濃度隨時間的關(guān)系及溫度的影響,有助于了解和掌握相關(guān)反應(yīng)的動力學規(guī)律,這通常需要求解反應(yīng)動力學微分方程組。然而,這類方程組一般無函數(shù)形式的通解,因此需借助數(shù)值積分方法得到數(shù)值解。反應(yīng)動力學微分方程形式多樣,編寫能應(yīng)用于各種情形的通用軟件亦比較困難。到目前為止,國內(nèi)已研制了多個適用于特定情形的軟件[4-8],國外亦研制了多個軟件[9,10],但這些軟件很少涉及溫度的影響。我們經(jīng)過多年在物理化學和化學動力學課程方面的教學研究基礎(chǔ)上[11,12],編寫出適用于各類反應(yīng)系統(tǒng)的動力學模擬計算通用軟件,可以研究不同溫度下各組分濃度隨時間的關(guān)系,有助于學生在教學過程中了解時間和溫度對反應(yīng)的影響規(guī)律。
微分方程組的數(shù)值求解是利用不同時刻的濃度值近似描述一系列連續(xù)的濃度-時間函數(shù)。顯然,時間等分數(shù)越多,求解越準確,但計算量越大,因此可通過逐漸增大時間等分數(shù)即p值的方式找到合理值。考慮到四階Runge-Kutta法具有較高的計算精度,p值只要選取10000以上使計算所得的濃度合理時即可達到精度要求。
本軟件使用Microsoft Visual Basic 6.0語言在Windows系統(tǒng)下研制,已轉(zhuǎn)成可執(zhí)行程序。使用前需安裝和注冊VB插件msflxgrd.ocx。運行軟件后根據(jù)提示單擊“任意動力學方程”按鈕(其中“一級反應(yīng)網(wǎng)絡(luò)”功能可看參考[12]),即可出現(xiàn)如圖1所示的界面,分為功能按鈕、計算參數(shù)設(shè)置、反應(yīng)參數(shù)輸入和繪圖四大區(qū)域。
圖1 軟件的界面(單擊“任意反應(yīng)動力學”按鈕后)
實際使用時,在反應(yīng)參數(shù)輸入?yún)^(qū)逐行輸入實際的反應(yīng)式和各組分的分級數(shù),正、逆反應(yīng)的速率常數(shù)或指前因子、活化能及溫度系數(shù),一行一個反應(yīng)。反應(yīng)組分可用實際的分子式或用非數(shù)值開始的代號,若是數(shù)值開始的分子式如4-甲基苯酚,必須加括號即(4-甲基苯酚)或用A1等符號表示組分,否則數(shù)值4會被認為是化學計量數(shù)。若組分的分級數(shù)不是1時,則在其組分符后面加箭頭號“^”和級數(shù)值,如圖1中2A^2表示組分A的分級數(shù)為2,化學計量數(shù)為-2。反應(yīng)符指定為英文格式的等號“=”。反應(yīng)式與速率常數(shù)的各數(shù)值之間使用英文格式的分號“;”區(qū)分。所有反應(yīng)均認為正向和逆向可同時進行,因此處理實際機理時反應(yīng)式可適當減少。按正向和逆向指前因子或速率常數(shù)、正向和逆向活化能、正向與逆向溫度系數(shù)的次序輸入速率常數(shù)與溫度的關(guān)系。若活化能和溫度系數(shù)沒有輸入或為0時,相當于只輸入速率常數(shù),此時不考慮溫度的影響。速率常數(shù)為0時表示不存在該方向的反應(yīng)。反應(yīng)組分的符號和數(shù)量根據(jù)輸入的反應(yīng)式自動確定。
反應(yīng)式輸入完后再輸入各組分的初濃度,采用組分符號與初濃度數(shù)值加英文格式的冒號“:”分隔,可一行一個組分或一行多個組分的方式輸入,一行多個初濃度值時用英文格式的分號“;”分隔,初濃度為0的值可不用輸入。亦可輸入不同時刻多種組分實際濃度的實驗或準確值,此時先輸入符號t加冒號及不同時間值,各值間用分號分隔,整體作為一行;接著一行是組分符加冒號及不同時間對應(yīng)的濃度值,濃度值之間亦使用分號。這時可直接顯示出不同時刻的實際濃度,以便與計算結(jié)果進行比較,圖1即屬此情形。
輸入完反應(yīng)式和初濃度后,在計算參數(shù)區(qū)修改反應(yīng)溫度、濃度單位和繪圖濃度范圍、反應(yīng)時間和時間單位,然后單擊“繪制濃度時間曲線”按鈕,即可得到各組分的濃度與時間的關(guān)系曲線。計算得到的數(shù)據(jù)可以以純文本格式的“Txt”文件保存,以便使用其他軟件如Origin或Excel等進一步處理,亦可讀取純文本格式的數(shù)據(jù)進行重新繪圖。
需要注意的是,輸入的數(shù)值可以是負數(shù)或帶e格式(即10的冪次)的數(shù),但不能是計算式或帶有括號。為便于閱讀理解,反應(yīng)參數(shù)輸入?yún)^(qū)可輸入空格和說明行,說明行是不帶有英文格式的等號和冒號的內(nèi)容。輸入?yún)^(qū)可進行常規(guī)的編輯操作,亦可用復(fù)制或粘貼命令。計算時,反應(yīng)時間取值較大時會使微分不能用數(shù)值差分近似而異常退出,建議以最小的反應(yīng)速率常數(shù)值的倒數(shù)作為反應(yīng)時間選取的參考,從較小值開始逐漸增大計算。當然,亦可增大時間步長值,如從一萬到幾萬甚至幾十萬,但這樣會顯著增加計算時間。通過與實驗值比較或計算的濃度是否符合質(zhì)量守恒定律等判斷計算結(jié)果是否合理。
程序設(shè)定單個方向反應(yīng)的最大組分數(shù)為10個,最多可研究同時存在500個反應(yīng)的情形。
在介紹各種級數(shù)的反應(yīng)動力學特征時,不同級數(shù)對反應(yīng)完全時間的影響規(guī)律是一個重要知識點??梢钥紤]同時存在單組分級數(shù)n為0、1、1.5、2、3級和二組分2級的如下反應(yīng):
設(shè)反應(yīng)正向的速率常數(shù)均為1 (mol·L-1)1-n·s-1,逆向速率常數(shù)均為0,即不存在逆反應(yīng)。若各反應(yīng)的反應(yīng)物的初濃度均為2 mol·L-1,具體的反應(yīng)參數(shù)和計算參數(shù)選取輸入及計算結(jié)果如圖2所示。從計算得到的曲線可知,產(chǎn)物B0、B1、B15、B2 (= B21)和B3的濃度曲線對應(yīng)圖中從右上方到中間依序的5條曲線,而反應(yīng)物A0、A1、A15、A2 (= A21 = A22)和A3的濃度曲線則對應(yīng)圖中從右下方到中間依序的5條曲線。此時2個二級反應(yīng)的3個反應(yīng)物及2個產(chǎn)物B2和B21的濃度保持相等。但與t< 1.3 s之前的曲線次序剛好相反,原因是此時的反應(yīng)物濃度數(shù)值較高且主要大于1,級數(shù)越大反應(yīng)速率越大,所以級數(shù)大的產(chǎn)物濃度增加快而處于上方;然而,當濃度數(shù)值小于1時,級數(shù)越大反應(yīng)速率越小,級數(shù)大的產(chǎn)物濃度增長慢反而處于下方。從圖中還可知道,當反應(yīng)級數(shù)大于或等于1時,反應(yīng)物的濃度趨于0對應(yīng)的時間∞即為反應(yīng)完全時間。對級數(shù)為0,反應(yīng)完全時間2 s。對于小于1的非整數(shù)或負級數(shù)反應(yīng),單獨繪制所得的曲線趨勢與0級類似,一定時間(即完全反應(yīng)時間)后反應(yīng)物濃度由正變?yōu)榱?,然后變?yōu)樨?。這時計算機自動取零處理,與實際情況對應(yīng)。總的結(jié)論:其他條件相同時,級數(shù)越小,反應(yīng)完全時間越小,級數(shù)等于或大于1的反應(yīng)完全時間趨于無窮大。這個結(jié)論亦可從另一角度得到證明。對單一反應(yīng)物A的n級單向反應(yīng):,動力學方程為:dcA/dt= -kn cAn,移項積分結(jié)果為:cA1-n=cA01-n+ (n- 1)knt。cA=0時t= (cA01-n- 01-n)/[(1 -n)kn],即為反應(yīng)完全時間。顯然,n≥ 1時,t= ∞;n< 1時t=cA01-n/[(1 -n)kn],cA0和kn固定時,t隨n減小而變小。另外,此時計算的濃度與準確的濃度值最大誤差為±5 × 10-7mol·L-1,完全達到精度要求。
圖2 0-3級典型反應(yīng)的各組分濃度與時間的關(guān)系
放熱的對行反應(yīng)有最佳溫度,即轉(zhuǎn)化率一定時反應(yīng)速率達到最大對應(yīng)的溫度,在物理化學教材[13]中常以反應(yīng)2SO2(g) + O2(g) = 2SO3(g)作為實例,但無實質(zhì)的相關(guān)數(shù)據(jù)說明,學生難以理解。該反應(yīng)正、逆方向的指前因子及活化能[14]分別為1.63 × 105L2·mol-2·s-1、7.20 × 109L·mol-1·s-1、75.32 kJ·mol-1和169.0 kJ·mol-1,設(shè)SO2(g)和O2(g)的初濃度均為0.1 mol·L-1,反應(yīng)參數(shù)區(qū)輸入如下數(shù)據(jù):
溫度分別取500、600、700和800 K時計算得到三個組分的濃度與時間關(guān)系如圖3所示。溫度在500-700 K之間時轉(zhuǎn)化率均可達到75%,但需要的時間分別為95000,4700和750 s,而800 K時的平衡轉(zhuǎn)化率僅為59%。顯然,轉(zhuǎn)化率為75%時的較佳溫度為700 K。這里的計算雖然難以得到準確的最佳溫度,但通過分析亦可得到大致的最佳溫度,使學生對產(chǎn)生反應(yīng)最佳溫度的原因得到較好的了解。
圖3 二氧化硫氧化反應(yīng)各組分濃度變化與溫度的關(guān)系
H2和Cl2的熱反應(yīng)是介紹鏈反應(yīng)動力學常用的例子,為何自由原子H和Cl的濃度可用穩(wěn)態(tài)法處理,是討論的重點。此問題可通過具體的計算得以說明。其機理相關(guān)的反應(yīng)式和相應(yīng)正、逆方向的指前因子A+、A-及活化能Ea,+、Ea,-依次取值如下[15]:
假設(shè)H2和Cl2的初濃度均為10-5mol·L-1,溫度為1500 K,所得的計算結(jié)果如圖4所示。從圖4中可知,反應(yīng)時間為10-6s時,H2的轉(zhuǎn)化率已達到80%以上。反應(yīng)過程中H和Cl濃度最高約為0.009 × 10-5和0.068 × 10-5mol·L-1,是H2初濃度的6.8%以下,即維持很小值。當溫度降低到1000 K時反應(yīng)(積分步長需選取200000,圖略),反應(yīng)時間為10-3s時H2的轉(zhuǎn)化率為94.7%,H和Cl的濃度最高分別為H2初濃度的0.004%和0.064%;但當反應(yīng)溫度升至2000 K時(積分步長選取20000即可,圖略),反應(yīng)時間為10-6s時H2的轉(zhuǎn)化率達92.6%,H和Cl的濃度最高分別達到H2初濃度的60%和2%。顯然,溫度低于1500 K時反應(yīng)過程H和Cl濃度能維持較低值,所以可用穩(wěn)態(tài)法處理;但溫度接近2000 K時這兩種中間物的濃度較高,穩(wěn)態(tài)法不再能夠使用。
圖4 反應(yīng)H2 + Cl2HCl的熱反應(yīng)機理動力學曲線
軟件還提供了復(fù)合二級反應(yīng)、復(fù)合一級反應(yīng)、指前因子及活化能改變對反應(yīng)時間的影響,穩(wěn)態(tài)近似法與平衡態(tài)近似法比較、振蕩反應(yīng),酶催化和其他催化反應(yīng)等許多實例,教學時可根據(jù)實際要求隨時調(diào)用。亦可自行輸入一些實例,豐富教學內(nèi)容。
本反應(yīng)動力學模擬軟件具有輸入方便、通用性強、界面友好、操作方便、計算快速(一般不超過10 s)等特點,同時提供了許多用于物理化學和化學動力學等相關(guān)課程的教學實例。教學實踐表明,本軟件提供的反應(yīng)動力學實例直觀明了,有助于學生掌握課程的知識點和了解動力學的原理和規(guī)律。另外,本軟件亦可作為科學研究參考之用。