程曉敏,蔣立靖
(武漢理工大學材料科學與工程學院,湖北 武漢 430070)
隨著全球工業(yè)的快速發(fā)展,能源的需求量不斷增加,能源短缺問題越來越為人們所重視。太陽能以其無限再生、清潔無污染、方便的特點,成為現代生活中應用最普遍的一種新能源,但其利用受到地理、晝夜和季節(jié)等規(guī)律性變化的影響,以及陰晴云雨等隨機因素的制約。為了保持供熱裝置穩(wěn)定不間斷地運行,熱能的儲存技術日益引起人們的關注。利用相變儲熱材料進行能量儲存是一項新型環(huán)保節(jié)能技術。相變儲熱系統(tǒng)是太陽能熱利用中最重要的單元設備[1]。
對于相變儲熱系統(tǒng),一方面要設計相變儲熱裝置,另一方面要研究新型相變材料。如果利用實驗和經驗來研究不同相變材料的傳熱性能和儲熱室的傳熱效率,需要花費大量的時間和精力,并且不能完整地預測溫度場的分布情況。筆者利用ANSYS軟件[2]的二次開發(fā)功能,以VB為工具,運用APDL語言,這對ANSYS進行二次開發(fā),建立相變儲熱系統(tǒng)的分析系統(tǒng),這對儲熱裝置的設計和材料的選擇具有重要的指導意義。
APDL是一種解釋性語言,具有一般程序語言的功能,如參數、宏、縮寫、標量、向量及矩陣運算、重復執(zhí)行命令、用戶程序以及訪問ANSYS有限元數據庫等,另外還提供簡單界面定制功能,可實現參數交互輸入、消息機制、界面驅動和運行應用程序等[3]。
APDL語言主要是將ANSYS軟件從建模、加載分析到求解的全過程參數化,并生成參數化語言,將這些參數語言寫入ANSYS軟件可以辨認的宏文件,實現ANSYS的自動分析求解。在參數化分析過程中可以簡單地修改其中的參數,從而反復分析各種尺寸、不同載荷大小的多種設計方案或者序列性產品,提高分析效率[4]。
雖然ANSYS軟件帶有參數化程序設計語言,但完全用APDL編寫宏的方法也存在以下不足:APDL語言較難控制程序的進程;利用APDL雖然能夠進行簡單的界面設計,但其功能不夠強大,交互性差[5]。因此,有必要利用Visual Basic對ANSYS進行二次開發(fā)。
Visual Basic是在BASIC語言基礎上發(fā)展起來的,它提供的可視化設計平臺將Windows界面設計的復雜性“封裝”起來,開發(fā)人員不必為界面的設計而編寫大量的程序代碼,只需按設計的要求,用系統(tǒng)提供的工具在屏幕上畫出各種對象即可[6]。借助Visual Basic前臺開發(fā)友好、方便、易用的人機交互界面,對復雜、難于理解和掌握的ANSYS命令流進行后臺封裝,用戶只需在前臺界面的引導下輸入尺寸、材料性能和載荷參數,即可調用后臺的ANSYS命令進行計算,分析計算后把計算結果返回給用戶,進行后處理。系統(tǒng)具有較強的實際問題處理能力,即使從未深入學習過ANSYS軟件的工程設計人員也能較好地進行有限元分析。
圖1是利用VB對ANSYS進行二次開發(fā)的工作流程圖。用戶輸入基本參數和載荷參數,即可調用后臺ANSYS命令流,ANSYS會自動啟動,完成建模、加載和求解一系列過程,最后ANSYS把保存的求解結果返回給用戶,用戶可查詢最后的計算結果,再對其進行后處理和結果分析[7]。
圖1 系統(tǒng)工作流程圖
在Visual Basic 6.0集成開發(fā)環(huán)境中,生成一個普通工程,建立8個窗體:系統(tǒng)主界面form1、基本參數設置界面form2(如圖2(a))、模型預覽圖form3、加載計算界面 form4(如圖2(b))、結果查詢界面form5(如圖2(c))、溫度場分布圖form6、時間歷程圖form7和路徑映射圖form8。
圖2 基本參數設置、加載計算和結果查詢界面圖
將Visual Basic集成開發(fā)環(huán)境開發(fā)的ANSYS軟件程序調用的方法封裝在控件command的click事件中,并生成用APDL語言編寫的宏文件,提交ANSYS軟件程序進行批處理操作。
在VB中建立ANSYS的命令流文件,并寫入相應的APDL語句,在界面中點擊控件command時,系統(tǒng)會自動讀入命令流文件,并自動調用ANSYS計算出用戶需要的結果,這就是利用VB對ANSYS進行二次開發(fā)的基本原理[8]。使用以下VB程序代碼來生成命令流。
Open App.Path&" hermal.txt"For Output As#1
//在App.path文件夾下新建thermal.txt,并將APDL命令寫入thermal.txt
求解計算結束后,在 form3、form6、form7和form8窗口中添加image控件,在Private Sub Form_Load(){…}中添加以下代碼:
Image1.Picture=LoadPicture(App.Path&" hermal00X.jpg")
//調用結果顯示圖(X=0,1,2,3)
系統(tǒng)會自動將模型預覽圖、溫度分布圖、時間歷程圖和路徑映射圖分別命名為thermal000,thermal001,thermal002,thermal003,以 jpg 格式保存。
所有的ANSYS命令流編寫完成后,就用VB將ANSYS作為子程序調用。ANSYS提供的批處理運行模式可以使ANSYS在后臺運行,使其自動調用已保存好的宏文件,將運行結果輸出到OUT文件并保存到相應的磁盤中,再將計算結果返回給VB的輸出界面,這就是所謂的封裝[9]。封裝有很多方法,筆者采用 SHELL[10]函數,調用程序的代碼如下:
其中:“ansys100.exe”中的100為 ANSYS的版本代號;ANE3FL為產品特征代碼;-dir F:study-j exercise為ANSYS啟動時默認的磁盤及文件名;-b為ANSYS的批處理模式;-i F:study hermal.txt為存放輸入命令流文件的磁盤名及文件名;-o F:study hermal.out為存放輸出結果的磁盤名及文件名。
為了檢驗該功能模塊的應用效果,可通過一個實例應用來示范。以鎂合金相變材料的傳熱為例,利用該系統(tǒng)對相變儲熱材料的溫度場進行模擬[11]。由于高溫相變儲熱材料在相變溫度下會發(fā)生相變,使得相變后合金形狀不穩(wěn)定,并且在高溫下遇空氣容易被氧化,因此需要對其進行封裝。模擬裝置是一個套管結構,采用鋼管材質(Cr25Ni20)對儲熱材料進行封裝。設定套管外管直徑為54 mm,內管直徑為42 mm,管長度為0.1 m。由于長徑比遠遠大于1,可以認為該裝置的傳導方向為沿徑向和軸向,在建立模型時將問題簡化為二維模型[12]。套管外利用空氣介質傳熱給鎂合金相變材料,設定空氣的入口溫度為500℃,對流傳熱系數為7 W/(m2·K),材料的初始溫度為400℃。溫度為400℃的鎂合金相變材料導熱系數為105 W/(m·K),比熱為962.8 J/(kg·K)。
進入查詢結果的界面form5,在“時間設置”中輸入時間,點擊查看溫度分布圖時,最終結果將返回到界面form6用image1控件進行顯示,如圖3所示。
圖3 溫度分布界面圖
返回界面form5,在“時間歷程設置”中輸入中心節(jié)點的坐標值,點擊查看時間歷程圖時,結果用界面form7中的image1進行顯示,如圖4所示。
圖4 中心點時間歷程界面圖
返回界面form5,在“路徑映射設置”中輸入兩個徑向坐標值,點擊路徑映射圖時,結果用界面form8中的image1控件進行顯示,如圖5所示。
圖5 X軸上節(jié)點路徑映射界面圖
其中,圖3表示經過一段時間后內管相變材料和外管不銹鋼的溫度分布情況,圖4表示中心節(jié)點的溫度隨時間的變化曲線,圖5表示經過一段時間后X軸上節(jié)點溫度隨距離的變化曲線。
(1)高溫相變儲熱系統(tǒng)模擬功能模塊提供了友好、直觀的前臺窗口化界面,在VB前臺界面通過輸入各種不同的參數,就能實現ANSYS后臺自動模擬的功能,避免了ANSYS既費時又繁瑣的建模求解等操作過程,較大地提高了工作效率。
(2)利用VB開發(fā)的相應熱分析功能模塊,具有較強處理實際問題的能力,研究者可以直接利用其進行溫度場的模擬,過程簡單、快捷,降低了研究的難度。
(3)從ANSYS模擬的溫度分布圖可以看出,經過一段時間后,封裝在套管內的鎂合金溫度分布均勻,而鋼管的溫度呈梯度分布,表明鎂合金相變材料的傳熱速度快,作為儲熱介質具有良好的應用前景。
[1] 侯欣賓,崔海亭.高溫相變蓄熱在空間太陽能熱動力發(fā)電系統(tǒng)的應用[J].河北科技大學學報,2001,22(2):1-7.
[2] ANSYS Inc.ANSYS thermal analysis guide release 5.4[M].[S.l.]:SAP.IP Inc,1997:43-105.
[3] 博弈工作室.APDL參數化有限元分析技術及應用實例[M].北京:中國水利水電出版社,2004:76-143.
[4] 陳珂,張茂.基于ANSYS的參數化設計與分析方法[J].機械工程師,2007(1):82-83.
[5] ANSYS Inc.The APDL programmer's guide[M].[S.l.]:[s.n.],1994:34-79.
[6] 談冉.Visual Basic程序設計教程[M].武漢:武漢理工大學出版社,2006:65-142.
[7] 王慶五,左昉,胡仁喜.ANSYS10.0機械設計高級應用實例[M].北京:機械工業(yè)出版社,2006:87-165.
[8] 邱向榮,陳熾坤.基于VB的ANSYS二次開發(fā)在起重機設計中的應用[J].起重運輸機械,2007(5):41-43.
[9] SHAO J,XIANG Z F,WANG P.Secondary development technology of ANSYS based on VB[J].Journal of Chongqing Vocational& Technical Institute,2006(2):144-145.
[10] 張明華,劉強,袁松梅.基于ANSYS二次開發(fā)的機床主軸單元分析系統(tǒng)[J].機床與液壓,2008,36(2):11-13.
[11] 程曉敏,梅麗君,吳興文,等.基于ANSYS的儲熱室隔熱性能數值模擬[J].武漢理工大學學報:信息與管理工程版,2010,32(4):519-521.
[12] BELLECCI C,CONTI M.Phase change thermal storage:transient behaviour analysis of a solar receiver/storage module using the enthalpy method[J].Int J Heat Mass Transfer,1993,36(8):2157-2163.