覃燕婷,韋積材,農正東,黃英虎,李 偉
(百色學院化學與環境工程學院,廣西 百色 533000)
作為化工專業的必修基礎課程,化工熱力學對解決工程實際問題意義重大。然而本課程包含眾多乏味的概念與公式,尤其還涉及大量煩瑣的模型計算,學生在學習中望而生畏,這嚴重阻礙了化工專業人才的培養。而采用計算機輔助教學則可以激發學生學習的主動性,提升課堂的教學效果[1]。
作為一種編程語言,Matlab語言易于學習,編程效率高,內置函數庫豐富,語法較為靈活,數據的可視化易于實現,因此廣泛應用于各種工程計算與工科教學中[2-4]。本文采用普遍化壓縮因子法,以計算純組分于一定溫度壓力下的壓縮因子、剩余焓和剩余熵為例,介紹Matlab在化工熱力學中的應用。
計算示例:某工程設計中需要乙烷在 3446 kPa和93.3℃下的體積數據。試以三參數普遍化壓縮因子法進行核算,已查到的文獻值為0.02527 m3/kg[5]。
計算公式:

式中

式中 Z0,Z1均為 pr、Tr的函數,可由 pr、Tr查圖獲取,也可以查表獲取。本文采用查表法,數據來自附錄B-1[6]。在編程前需先建立一個名為“三參數對應態壓縮因子表”的excel文件,其擴展名為xlsx。其sheet1中儲存Z0與pr、Tr的關系數據,sheet2中儲存Z1與pr、Tr的關系數據。
在Matlab中創建一個名為Uni_Z.m的函數文件,編輯代碼如下:


運行該程序,命令提示窗口出現下述結果:

從運行結果可以看出,采用本程序計算的結果與文獻值誤差小于0.5%,可以用于課程教學中。
本程序也可用于一種純物質于多狀態下壓縮因子的計算。計算時只需在命令提示窗口中給出相應的溫度和壓力向量即可,無需修改自定義的Uni_Z函數。當用于多種純物質多狀態的壓縮因子計算時,只需在主程序中使用循環結構調用Uni_Z函數即可。
計算示例:試計算丙烷于50℃、3MPa(State1)和100℃、6 MPa(State 2)下的剩余焓、剩余熵。
計算公式:


在Matlab中創建一個名為residue_UniZ.m的函數文件,編輯代碼如下:


執行代碼后,命令提示窗口出現下述結果:

通過結果可以看出,本文所建立的residue_UniZ函數可以求解某種純組分于不同狀態下剩余焓與剩余熵。求解時需注意,溫度與壓力需為長度一致的列向量,運行程序所得到的剩余焓與剩余熵均是對應條件下的列向量。與Uni_Z函數類似,當將本函數用于多種純組分的剩余性質計算時,需要在主程序中循環調用residue_UniZ函數。
計算示例:分別采用普遍化逸度系數法和剩余性質法計算乙烷于273 K、5.0 MPa下的逸度和逸度系數。
計算公式:
普遍化逸度系數法:

剩余性質法:

式中HR、SR可以由2.1的式(4)和式(5)分別計算。
新建一個名為Uni_phi.m的函數文件,編輯代碼如下:


執行代碼后,命令提示窗口出現下述結果:

通過計算結果可以看出,兩種方法計算所得的逸度和逸度系數相近,本節所編輯的函數與程序代碼可以用于課堂教學中。此外,本文所建立的兩個函數(Uni_phi和residue_UniZ)還可以用于計算單一組分于多狀態下的逸度和逸度系數。計算時只需在命令提示窗口中輸入溫度和壓力的列向量即可。
作為一門重要的應用型課程,在化工熱力學的課堂教學中引入Matlab,不僅可以降低模型計算的難度,而且可以激發學生的學習興趣與熱情、培養學生工程計算能力。本文所編輯的函數可以被其他程序所調用以完成更加復雜的化工計算。