宋 明, 王文慧, 吳 瓊, 曹宇光, 杜傳勝
(中國石油大學(xué)(華東)a. 儲運與建筑工程學(xué)院;b. 海洋與空間信息學(xué)院;c. 材料科學(xué)與工程學(xué)院,山東青島266580)
小沖桿實驗方法[1-4](Small Punch Test,SPT)是一種微試樣實驗技術(shù)。目前該技術(shù)無論是實驗操作還是有限元理論模擬都已經(jīng)日趨成熟[5,6],它利用尺寸極其微小的試樣對服役材料進行失效分析和壽命預(yù)測,分析測試材料的基本力學(xué)性能,包括屈服強度、抗拉強度、韌脆性轉(zhuǎn)變溫度、斷裂韌性和蠕變性能等[7-9];國內(nèi)外研究者也提出了多種含有損傷參數(shù)的小沖桿實驗有限元模型,典型的如含有連續(xù)介質(zhì)損傷(Gurson-Tvergaard-Needleman,GTN)模型參數(shù)的小沖桿實驗?zāi)P停?]。隨著國家新工科教育理念的提出與推廣,該實驗已作為創(chuàng)新型實驗逐步引入大學(xué)生創(chuàng)新創(chuàng)業(yè)項目,通過該實驗?zāi)軌蜃寣W(xué)生更形象、深刻地學(xué)習(xí)和理解力學(xué)中材料大變形、非線性接觸、摩擦、應(yīng)變強化、連續(xù)介質(zhì)損傷等問題。Matlab / GUI 是一種新型的圖形用戶界面開發(fā)方式,通過此界面可以方便地實現(xiàn)用戶的一些特定操作需求,簡單易學(xué)且功能強大。既能嵌入已有的仿真程序,又能把仿真的圖形化結(jié)果以人機交互的動態(tài)方式呈現(xiàn)給用戶,使用者不需要學(xué)習(xí)復(fù)雜的代碼,只需了解具體操作步驟,即可方便地操作界面[10-13]。
本文設(shè)計并建立了一種基于Matlab / GUI 和Abaqus的小沖桿實驗學(xué)習(xí)與應(yīng)用虛擬平臺。該平臺包括學(xué)習(xí)和應(yīng)用兩個模式,不僅可以實現(xiàn)學(xué)生對小沖桿實驗理論基礎(chǔ)的自學(xué),了解小沖桿實驗過程,還可以通過平臺應(yīng)用模式,直接啟用Abaqus 進行有限元模擬,分析不同參數(shù)對實驗結(jié)果的影響。使用者只需將程序下載至電腦即可使用,操作簡單;也可以通過進一步修改m程序文件,實現(xiàn)對實驗平臺的再開發(fā)。此過程不僅能夠加深學(xué)生對實驗的認識,還可提高其編程能力。該實驗平臺的人機交互性不僅使實驗容易理解,激發(fā)學(xué)生對小沖桿實驗方法研究的濃厚興趣,更加突破了傳統(tǒng)實驗對時間、空間的限制,提高了實驗效率。
小沖桿實驗學(xué)習(xí)與應(yīng)用平臺結(jié)構(gòu)與主要功能如圖1 所示。該平臺有學(xué)習(xí)和應(yīng)用兩種模式。學(xué)習(xí)模式又包含理論基礎(chǔ)和實驗操作兩大模塊,應(yīng)用模式包括與Abaqus交互的小沖桿實驗有限元模擬模塊和各種參數(shù)對實驗結(jié)果分析影響模塊;理論基礎(chǔ)包括實驗背景、定義、目的、優(yōu)勢、原理、進展和實驗裝置認識[14-15]。實驗操作分為:取樣、試樣加工、加載測試、獲得曲線、數(shù)據(jù)處理5 個步驟。有限元分析操作主要有修改inp文件相關(guān)參數(shù)、提交計算、查看結(jié)果。參數(shù)影響分析模塊采用控制變量法,分別賦予試樣厚度、沖頭直徑、沖桿速度、下模具孔徑、材料彈性模量以及泊松比6 種參數(shù)不同的值,使實驗的載荷位移曲線產(chǎn)生變化,得出各參數(shù)對實驗結(jié)果的影響。實驗平臺所有界面均使用Matlab GUI工具箱設(shè)計,通過編寫回調(diào)函數(shù)實現(xiàn)相關(guān)功能。
圖1 小沖桿實驗學(xué)習(xí)與應(yīng)用平臺結(jié)構(gòu)與功能示意圖
小沖桿實驗學(xué)習(xí)與應(yīng)用平臺的主界面如圖2 所示,其特點為設(shè)計簡潔,操作明了。主界面由標(biāo)題、封面圖片、模式選擇、“OK”按鈕和“EXIT”按鈕組成,使用到的組件為Static Text、Axes、Pushbutton 和Popupmenu控件,主要實現(xiàn)模式選擇功能。用戶首先選擇一種模式,點擊“OK”按鈕,系統(tǒng)進入相應(yīng)的模式界面,該功能通過回調(diào)函數(shù)的switch-case 語句實現(xiàn)。主界面右下角的“EXIT”按鈕用來退出并關(guān)閉實驗平臺的運行,其回調(diào)函數(shù)為:clear;close(gcf)。
圖2 小沖桿實驗學(xué)習(xí)與應(yīng)用平臺主界面
學(xué)習(xí)模塊包括理論基礎(chǔ)與實驗過程。操作者首先進入理論基礎(chǔ)界面,如圖3(a)所示,其中理論基礎(chǔ)包含“背景”“定義”“目的”“優(yōu)勢”“原理”“進展”和“裝置”7 個內(nèi)容。分別點擊前6 個按鈕,在空白框中展現(xiàn)相應(yīng)的介紹;點擊“裝置”按鈕,將進入實驗裝置認識界面,可分別選擇“類型說明”“剖面圖”和“三維圖”實現(xiàn)多角度認識裝置。
以“目的”為例,顯示相應(yīng)文本的回調(diào)函數(shù)如下:
function pushbutton3_Callback(hObject,eventdata,handles)
str1 =['基于‘無損取樣’的概念,通過“小沖桿試樣方法”,檢測、評價材料狀況以及預(yù)測其剩余壽命等。',10];%文本內(nèi)容
圖3 小沖桿實驗理論基礎(chǔ)學(xué)習(xí)界面
set(handles. edit1,'string',str1,'FontSize',12,'ForegroundColor','b');%輸出文本
理論基礎(chǔ)學(xué)習(xí)完畢后,點擊如圖3(b)所示的“NEXT”,即可進入小沖桿實驗過程界面,如圖4所示。
圖4 小沖桿實驗過程界面
通過左上角的“實驗步驟”下拉菜單,即可學(xué)習(xí)取樣、試樣加工、加載測試、獲得曲線、數(shù)據(jù)處理5 個過程。其中加載變形分析界面如圖5 所示,可以實現(xiàn)裝置的組裝,沖桿的動態(tài)加載以及顯示加載過程中試樣的變形和內(nèi)部應(yīng)力分布動態(tài)演化示意圖。
圖5 小沖桿實驗過程加載變形分析界面
為實現(xiàn)視頻播放,首先應(yīng)添加Windows Media Player視頻播放控件,然后通過回調(diào)函數(shù)控制視頻的讀取與播放。視頻讀取與播放的回調(diào)函數(shù)如下:
function pushbutton2_Callback(hObject,eventdata,handles)
url2 = 'D:\SPT INFORMATION\E. avi';%讀取視頻
set (handles. activex1,'URL ',url2);% 用Windows Media Player播放視頻
另外,小沖桿實驗裝置認識界面的按鈕組選擇回調(diào)函數(shù)如下:
function uibuttongroup1 _ SelectionChangedFcn (hObject,eventdata,handles)
str =get(hObject,'string');%拿到所選按鈕的名稱
axes(handles. axes1);
switch str
case '類型說明'
cla reset;
axis on;
a =imread('D:\SPT INFORMATION \ A. png');%讀取類型圖圖片
imshow(a);%圖片顯示
axis off;
size(a);
hold on;
set(handles. edit1,'visible','on');
str1 = ['說明:1—整體式?jīng)_桿;2—試樣;3—上夾具;4—下夾具;5—分體式?jīng)_桿;6—分體式?jīng)_頭。',10];
set(handles. edit1,'string',str1,'FontSize',12,'ForegroundColor','b');
case '剖面圖'
cla reset;
axis on;
b =imread('D:\ SPT INFORMATION \ B. png');%讀取剖面圖圖片
imshow(b);
axis off;
size(b);
hold on;
set(handles. edit1,'visible','on');
str1 =['此MEA測試夾具由五部分組成,包括環(huán)形柱1、壓緊件2、底座3、頂蓋4和小沖桿5。',10];
set(handles. edit1,'string',str1,'FontSize',12,'ForegroundColor','b');
case '三維圖'
cla reset;
set(handles. edit1,'visible','off');
axis on;
c =imread('D:\ SPT INFORMATION \ C. png');%讀取三維圖圖片
imshow(c);
axis off;
size(c);end
小沖桿實驗應(yīng)用模式包括Abaqus 交互模塊和參數(shù)分析模塊,Abaqus交互模塊第1 部分介紹了國家標(biāo)準(zhǔn)中的規(guī)范參數(shù);第2 部分則為Matlab與Abaqus的聯(lián)合應(yīng)用,通過修改inp文件連接平臺與Abaqus數(shù)據(jù)接口,實現(xiàn)了由實驗平臺提交數(shù)據(jù),Abaqus進行計算,最終實時得到小沖桿實驗有限元模擬結(jié)果的功能。參數(shù)分析模塊如圖6 所示。首先用戶在左側(cè)按鈕選擇一種分析參數(shù),包括試樣厚度、沖頭直徑、沖桿速度、下模具孔徑、材料彈性模量和泊松比,文本框中將實時顯示除控制變量外其余參數(shù)的取值,然后在下拉菜單中選擇該研究參數(shù)的具體取值并提交進行計算,最終繪制得到相應(yīng)的載荷位移曲線,進而分析各參數(shù)對實驗結(jié)果的影響。
圖6 小沖桿實驗應(yīng)用模式參數(shù)分析模塊界面
經(jīng)分析可知,試樣厚度的選取要和試樣的直徑相協(xié)調(diào),同時考慮尺寸效應(yīng)[16],試樣厚度越大,相同位移下所需的載荷越大。沖頭直徑尺寸不同,載荷-位移曲線的高低差異很大,因此在小沖桿實驗研究中,沖頭直徑必須闡明。小沖桿實驗的載荷-位移曲線對下模具孔徑相當(dāng)敏感,下模具孔徑的不同,直接影響相同沖桿位移條件下的最大載荷值,下模具孔徑越小,相同位移下所對應(yīng)的載荷越大。材料的彈性模量、泊松比直接影響載荷-位移曲線的形狀,因而可用小沖桿實驗載荷位移曲線分析不同材料的力學(xué)性能。
其中,為實現(xiàn)實驗平臺直接提交inp 文件供Abaqus計算的功能而編寫的調(diào)用函數(shù)[17,18]如下:
% runabaqus. m
function [output_args ] =runabaqus(Path,InpFile,cpus)
inputFile = ['abaqus job = ',InpFile,' cpus = ',cpus];
t0 =tic;%開始計時
MatlabPath =pwd();%記下當(dāng)前Matlab目錄
cd(Path);%進入inp文件所在目錄
[output_args ]=system(inputFile);%通過系統(tǒng)調(diào)用,運行Abaqus,提交inp文件
pause(3);%暫停3 s
cd(MatlabPath);%返回Matlab目錄
if (exist([Path,'’,InpFile,'. lck'],'file')= =2)%若提交成功
H =dialog('name','提示','position',[200 300 400 100]);
uicontrol('parent',H,'style','text','string','已提交,正在計算…請等待。','position',[20 40 350 20],'fontsize',12);%彈出提交成功的提示對話框
while exist([Path,'’,InpFile,'. lck'],'file')= =2 %提交成功
t =toc(t0);
h =fix(t/ 3600);
m =fix(mod(t,3600)/ 60);
sec =fix(mod(mod(t,3600),60));
pause(1);
fprintf('----------ABAQUS calculating----------\ n time costed
% d:% d:% d\n',h,m,sec);%輸出已計算時間
end
delete(H);
H =dialog('name','提示','position',[200 300 400 100]);%計算完成對話框
uicontrol('parent',H,'style','text','string','計算完成?。Вosition',[20 40 350 20],'fontsize',12);
pause(3);
delete(H);
else %若提交不成功
h =errordlg('提交失敗,計算錯誤!','警告');%彈出警告對話框,提示提交失敗
ha =get(h,'children');
ht =findall(ha,'type','text');
set(ht,'fontsize',12);
end
通過mcc -m SPT1. m SPT2. m SPT3. m SPT4. m SPT5. m SPT6. m SPT7. m SPT8. m SPT10. m runabaqus.m語句便可將設(shè)計好的小沖桿實驗學(xué)習(xí)與應(yīng)用平臺編譯為可獨立運行的. exe 應(yīng)用程序。經(jīng)整理,最終形成“SPT軟件包”文件夾,用戶只需按照文件夾中的安裝說明完成平臺安裝即可使用。
利用小沖桿實驗學(xué)習(xí)與應(yīng)用平臺對實驗下模具孔徑及試樣厚度進行分析,得到的不同下模具孔徑和試樣厚度的載荷位移曲線如圖7 所示。可以發(fā)現(xiàn)隨著孔徑尺寸的進一步增大,如圖7(a)所示,得到的最大載荷也逐漸增大,但對實驗曲線的第一部分并沒有明顯影響。而圖7(b)的結(jié)果顯示,隨著試樣厚度逐漸增大,實驗曲線各個階段都呈現(xiàn)明顯上升的趨勢。
圖7 小沖桿實驗有限元仿真分析結(jié)果
通過在多臺計算機安裝測試以及教學(xué)實踐,眾多學(xué)生使用反饋表明:小沖桿實驗學(xué)習(xí)與應(yīng)用平臺操作簡單,內(nèi)容豐富,實用性強,達到了對未接觸過小沖桿實驗學(xué)生前期學(xué)習(xí)小沖桿實驗的教學(xué)目的。
該實驗平臺基于Matlab 語言設(shè)計,故通過繼續(xù)修改或編寫m程序文件,即可實現(xiàn)對實驗平臺的再開發(fā)與推廣。一方面可以向小沖桿實驗測量材料其他力學(xué)性能,如蠕變、斷裂韌性、損傷參數(shù)等多個方向進行開發(fā),完善小沖桿實驗平臺內(nèi)容;另一方面,可以從建立小沖桿實驗與其他力學(xué)實驗相關(guān)聯(lián)的方向進行開發(fā),逐漸建立一個更完整更全面的虛擬實驗平臺。
基于Matlab / GUI和Abaqus開發(fā)的小沖桿實驗學(xué)習(xí)與應(yīng)用虛擬平臺,實現(xiàn)了小沖桿實驗教學(xué)工作的直觀、高效和經(jīng)濟性,不僅可以使學(xué)生充分學(xué)習(xí)小沖桿實驗中包含的基礎(chǔ)力學(xué)理論知識,為進一步研究工作打好基礎(chǔ),并通過對交互性應(yīng)用界面的探索,激發(fā)學(xué)生學(xué)習(xí)與科研的興趣。通過實驗平臺的長期運行與補充,可知本文所開發(fā)的小沖桿實驗學(xué)習(xí)與應(yīng)用平臺具有設(shè)計簡單、可再開發(fā)性強、操作人性化等優(yōu)點。