黃小光, 徐國強, 孫 峰, 許金泉
(1.中國石油大學(華東) a.儲運與建筑工程學院; b.文學院,山東 青島266580; 2. 上海交通大學 船舶海洋與建筑工程學院,上海 200240)
材料力學行為試驗與分析是工程力學專業研究生的一門選修課程,其任務是使研究生學習并掌握材料力學行為試驗與分析的基本知識和技能,培養實際操作能力和分析、解決問題的能力,為其將來走上工作崗位或者從事科學研究工作打好基礎。隨著材料科學的發展,各式各樣的新材料不斷問世,而這些材料能否滿足現代工業需要、能否從實驗室走向實際應用,對這些問題的探索使得評價材料性能參數的試驗方法和檢測技術更加必要,同時也促進材料力學行為試驗與分析課程內容不斷更新,以適應實驗技術、分析方法的發展[1-2]。本文以材料腐蝕疲勞專題為例,結合腐蝕疲勞實驗,提出了一種基于BP神經網絡的腐蝕疲勞實驗分析方法。
目前金屬與合金的腐蝕疲勞實驗標準主要包括循環失效實驗與預裂紋試樣裂紋擴展實驗。一般而言,腐蝕疲勞具有很強的材料-環境依存性,材料類型、載荷因素(應力振幅、應力比及載荷頻率、波形等)和環境因素(溶液成分、濃度及pH值)等都能很大程度影響材料的腐蝕疲勞壽命。由于影響因素較多,材料腐蝕疲勞壽命難以顯式表達,至今仍未形成較為通用的預測模型。同時,由于影響因素隨機性大,載荷與環境參數稍有變化,就難以根據實驗數據預測相應的腐蝕疲勞壽命,大大限制了腐蝕疲勞實驗結果的推廣[3-6]。
人工神經網絡(ANN)是由大量的人工神經元經廣泛互連形成的網絡,用以模擬人類神經系統的結構和功能。ANN系統具有模擬復雜的高度非線性映射的能力,目前已成功應用于結構分析和設計、模式識別、以及優化控制等研究領域。BP神經網絡是一種按誤差逆傳播算法訓練的多層前饋人工神經網絡,是目前應用最廣泛的神經網絡模型之一。BP神經網絡能學習和存貯大量的輸入—輸出模式映射關系,無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。理論證明,當隱層神經元數目足夠多時,BP神經網絡能夠以任意精度逼近任何一個具有有限間斷點的非線性函數。所以采用BP神經網絡方法預測腐蝕疲勞壽命,只要有足夠的已知數據來對網絡進行訓練,就可以建立諸多影響因素與腐蝕疲勞壽命之間的映射網絡,相當于獲得了腐蝕疲勞壽命表達式。然后設定待測試樣的載荷及環境參數,輸入到已訓練好的神經網絡中,就可以獲得待測試樣的腐蝕疲勞壽命[7-9]。
本文以7075鋁合金材料的循環失效實驗為例,分析基于BP人工神經網絡的分析方法在材料腐蝕疲勞實驗中的應用。實驗參照金屬和合金的腐蝕-腐蝕疲勞實驗(GB/T20120.1—2006)[10]。腐蝕疲勞實驗設備采用MTS809電液伺服高頻(50~300 Hz)疲勞試驗機。腐蝕疲勞實驗試樣采用標準的漏斗形試樣,試樣加載如圖1所示,腐蝕溶液則采用標配的中性3.5%NaCl(pH 7.0)溶液。

圖1 試樣加載示意圖
本次實驗主要考慮最大應力、應力比、頻率、加載波形等因素對腐蝕疲勞裂紋擴展的影響。實驗中選取以上4個參數的組合作為載荷參數,記錄對應的試樣循環失效次數(壽命),共獲取了7075鋁合金的16組實驗數據。隨機選取12組樣本數據作為訓練數據,為便于神經網絡樣本輸入,正弦波加載用0表示,三角波加載用1表示,如表1所示。載荷參數作為輸入(其中最大應力與載荷頻率數據需歸一化處理),循環失效次數歸一化處理后作為輸出。將訓練樣本輸入到BP神經網絡進行訓練。

表1 腐蝕疲勞樣本
神經網絡訓練好之后,將剩余的4組實驗數據作為測試樣本,對訓練好的神經網絡進行仿真。獲得的仿真結果與實驗誤差如表2所示。
Matlab及其所帶的神經網絡工具箱NNT(NeuralNetwork Toolbox)在實際應用中具有較大的優越性。NNT的可視化接口便于用戶明確和理解神經網絡的結構,同時能夠很快地產生、初始化、訓練和仿真神經網絡[11]。但是NNT用戶圖形界面直觀性差,NNT數據交換的能力相對較弱,對大部分學生而言可操作性不強。Visual Basic語言是最常用的編程語言之一,具有易學易用、界面可視化等優點,但VB在矩陣計算、數值分析方面的能力相對較弱。為充分發揮Matlab神經網絡工具箱和VB開發圖形用戶界面好的優勢,采用ActiveX自動化技術實現Matlab和VB混合編程方法[12-13]。以VB語言編寫用戶界面,從后臺調用Matlab-BP神經網絡工具箱,實現腐蝕疲勞樣本數據的訓練、測試及腐蝕疲勞壽命的預測。混合編程技術實現了樣本數據操作的可視化,便于學生理解與接受;該技術實用性強,可以在類似的實驗分析中進行推廣應用[14-16]。

表2 網絡測試結果
(1) 網絡訓練。輸入腐蝕疲勞壽命預測模塊訓練樣本,給出訓練樣本的輸入層變量個數及樣本組數。設置神經網絡參數:網絡中間層(隱含層)神經元個數一般取“2×輸入層變量個數+1”;網絡目標誤差原則上越小越好,但不能太小,否則可能導致訓練過程不收斂;網絡的最大訓練次數可隨意選取;學習效率范圍為0.01~0.90。設定好網絡參數之后,點擊訓練,模塊能自動從后臺啟動Matlab-BP網絡工具包,將訓練樣本輸入到BP工具包中,進行網絡訓練,如圖2所示。

圖2 模塊調用Matlab-BP工具包示意圖
(2) 網絡測試及預測。進入網絡測試模塊。手動輸入或從文本文件中讀取測試樣本,點擊測試,模塊自動輸出腐蝕疲勞壽命,并與測試樣本的實際壽命進行對比,判斷測試結果的可信度。如果測試結果可以接受,可直接進行壽命預測,否則通過增加樣本數量、修改網絡控制參數(包括中間神經元個數、目標誤差等)重新訓練網絡。
(3) 直接預測模塊。該模塊封裝了BP神經網絡的訓練過程(包含12組訓練樣本)。輸入所要預測的試樣組數,并完成輸入層樣本,每組樣本對應一個試樣,每組樣本內容應包括最大應力(歸一化)、應力比、頻率(歸一化)和加載波形,點擊預測就可以得到所需預測的每組試樣的腐蝕疲勞壽命。
模塊各環節數據樣本輸入均支持兩種方法:鍵盤輸入與打開數據文件讀取樣本數據。但鍵盤輸入比較繁瑣,一般都由文件讀取。選擇讀取數據文件時,模塊能自動判別訓練樣本的輸入層變量個數及樣本組數。為便于樣本數據輸入,可以在計算機上建立各個環節需要樣本的文本文件,如果增加樣本,可以直接修改文本文件,便于數據樣本的更新及維護。
以上研究中腐蝕疲勞的影響因素僅考慮最大應力、應力比、頻率、加載波形4個參數,如需增加其他影響因素,可以直接在數據文件中增加相關實驗數據,避免分析過程中反復輸入。
高科技的發展為包括材料實驗在內的材料力學行為研究開辟了新的領域,也提出了更高的要求。電液伺服技術與計算機技術結合可以實現前人操作不可能完成的實驗,將材料力學行為研究推進到一個新的水平。利用計算機技術建立材料性能與行為數據庫及分析手段,能有效降低實驗重復率,實現對材料力學性能與行為的預測、評估。人工神經網絡與材料力學行為試驗與分析相結合,可以在有限的實驗數據中發現有用的信息,拓寬材料力學行為試驗的工程應用領域。將這種方法引入到研究生的材料力學行為試驗與分析課程教學中,能有效提高教學效果,激發學習興趣,啟發學生進行更深層次的思考。
[1] 王習術.先進材料力學行為實驗指南[M].北京:清華大學出版社,2010.
[2] 王習術.材料力學行為試驗與分析[M].北京:清華大學出版社,2007.
[3] 黃小光,腐蝕疲勞點蝕演化與裂紋擴展機理研究[D].上海交通大學,2013.
[4] Engelhardt G R, Macdonald D D. Modelling the crack propagation rate for corrosion fatigue at high frequency of applied stress[J]. Corrosion Science, 2010, 52: 1115-1122.
[5] Ishihara S, McEvily AJ, Sato M,etal. The effect of load ratio on fatigue life and crack propagation behavior of an extruded magnesium alloy[J]. International Journal of Fatigue, 2009, 31:1788-1794.
[6] 紀冬梅,周昌玉,汪 蕊.基于人工神經網絡和Monte-Carlo方法的腐蝕疲勞剩余壽命及其可靠度計算[J].壓力容器,2002,19(6):23-25.
JI Dong-mei, ZHOU Chang-yu, WANG Rui. Application of artificial neural network in calculation of residual life and reliability in corrosion fatigue[J]. Pressure Vessels, 2002, 19(6): 23-25.
[7] 胡金濱,唐旭清.人工神經網絡的BP算法及其應用[J].信息技術,2004,28(4):1-4.
HU Jin-bin, TANG Xu-qing. BP algorithm and its application in artificial neural network[J]. Information Technology, 2004, 28(4): 1-4.
[8] 傅應強,王飛虎,陶庭先.人工神經網絡在儀器分析實驗數據處理中的應用[J].大學化學,2011,26(6):45-47.
FU Ying-qiang, WANG Fei-hu, TAO Ting-xian. The application of artificial neural network in experimental data processing of instrument analysis[J]. University Chemistry, 2011, 26(6): 45-47.
[9] 曹旭帆,葉 舟,萬 俊,等.基于BP神經網絡的函數逼近實驗及Matlab實現[J].實驗室研究與探索,2008,27(5):34-38.
CAO Xu-fan, YE Zhou, Wan Jun,etal. The experiment of function simulation based on backpropagation neuron network[J]. Research and Exploration in Laboratory, 2008, 27(5): 34-38.
[10] GB/T 20120.1-1998,金屬與合金的腐蝕-腐蝕疲勞實驗第1部分:循環失效實驗[S].北京:中國標準出版社,1998.
[11] 陳 明.Matlab神經網絡原理與實例精解[M].北京:清華大學出版社,20013.
[12] 程 鈴,徐冬冬.Matlab仿真在通信原理教學中的應用[J].實驗室研究與探索,2010,29(2):117-119.
CHENG Ling, XU Dong-dong. Application of Matlab simulation in communication principle teaching[J]. Research and Exploration in Laboratory, 2010, 29(2): 117-119.
[13] 何 強,何 英.Matlab 擴展編程[M].北京:清華大學出版社,2002.
[14] 孟力力,楊其長,聞 婧,等.MATLAB和VB在溫室環境模型構建中的混合編程研究[J].中國農學通報,2012,28(6):262-268.
MENG Li-li, YANG Qi-chang, WEN Jing,etal. Hybrid programming with MATLAB and VB in building visual simulation model for thermal environment in Chinese solar greenhouse[J]. Chinese Agricultural Science Bulletin, 2012,28(6): 262-286.
[15] 梁艷萍,劉 超.基于VB 與Matlab 混合編程永磁同步電動機電磁設計方法[J].哈爾濱理工大學學報,2010,15(6):25-29.
LIANG Yan-ping, LIU Chao. Electromagnetic design method for permanent magnet synchronous motor based on Matlab and VB mixed programming[J]. Journal of Harbin University of Science and Technology, 2010, 15(6):25-29.
[16] 侍孝虎.VB與Matlab混合編程研究與實現[J].軟件導刊,2012,11(9):33-35.
SHI Xiao-hu. The research and realization of hybrid programming of VB and Matlab[J]. Software Guide, 2012, 11(9): 33-35.