樊建超



【摘 要】本文介紹了一種基于Excel軟件采用VBA語言開發的強度計算平臺,用于處理飛機結構有限元內力解。利用該計算平臺可實現模型導入、數據篩選、任意工程方法批量計算、工況循環找出最小裕度等功能,實現飛機結構在多工況下受載后的強度分析,幫助工程師快速、方便、準確的從龐大的數據信息中提煉出有價值的結果。
【關鍵詞】分析平臺;有限元;數據處理;VBA
The Stress Analysis System Used in the Postprocessing of Aircraft FEA Developped by Excel
FAN Jian-Chao
( Shanghai Aircraft Design And Research Institute, COMAC, Shanghai 200232,China)
【Abstract】The stress analysis system based on Excel developed by the VBA language is introduced. Which is used to deal with the aircraft FEA result. It include model imported ,data selected ,formula formed, subcase cycled to find the dangerous results, it can be used to analyse the serious stress of structures at different subcases, which can help engineers to abstract the useful informatiom quickly and exactly from a mass of data
【Key words】Analysis system; FEA; Data analysis; VBA
0 引言
在飛機結構設計中利用Nastran對全機有限元模型進行求解,并采用各類工程方法處理有限元求解結果是一項重要的工作,飛機結構的強度分析基本都圍繞著處理有限元結果而展開。
為提高效率,數十年來,工程師根據不同的結構形式、不同的工程方法編制了一些程序,用于計算典型結構,如普通框、普通壁板。但實際飛機結構形式復雜多樣,工程方法五花八門,無法窮盡所有的工程方法都編寫一套程序。遇到具體問題,有時只能憑經驗挑選某一種嚴重的工況進行分析。
如何開發一套統一,標準、高效、且計算能力強大的強度分析平臺一直是各科研院所不斷追求的夢想。
目前國內尚無此計算平臺問世,國外,空中客車公司委托SAMTECH通過多年實踐,開發了一款稱之為ISAMI的強度計算平臺,雖然ISAMI具有可視化、標準化等優勢,但它本質上是各種常用工程方法有限的集合,遇到新的工程方法還需專業人員編寫新方法的程序納入平臺,普通工程師更無法進行二次開發,對于飛機上各類特殊計算無能為力。此外,ISAMI計算過程猶如一個黑匣子,對工程師理解問題也較為不利。
考慮到Excel可以通過VBA實現編程,如果能用Excel編程代替ISAMI的部分功能,同時利用Excel本身強大的計算功能供用戶進行數據處理,那么就可以實現一個適用于任意工程方法,自由處理數據的真正的計算分析平臺。
1 強度計算平臺總體框架
飛機結構強度計算工作分為有限元建模、全機有限元求解、有限元數據后處理三個過程。本文所介紹的是有限元數據后處理,即在已有全機有限元
模型及其內力計算結果的情況下利用工程方法對具體結構進行強度分析的過程。基本流程如圖1所示。
圖1中“需要的單元”、“挑選單元內力”、“多工況計算”、“求最小裕度”是計算的主線;“全機有限元模型”、“全機內力解結果”、“結構參數”是計算的輸入,“各類工程方法”是計算的準則。
圖1 強度計算基本流程
Fig.1 The basic flowchart of stress analysis
本文介紹的方法利用VBA編程,按照計算主線實現各個功能,最后求得最小裕度,程序功能界面如圖2所示。
使用時圖2中“模型導入功能”對應圖1的“需要的單元”,圖2中“單元內力挑選功能”對應圖1的“挑選單元內力”,這兩個步驟在用戶準備好模型文件和結果文件后完全由程序自動完成。
“多工況計算”是計算的核心部分,即分析不同工況下結構各部位應力水平、裕度結果,利用前兩個步驟的數據,用戶按照一定規則在表格中編寫計算方法,借助圖2中“工況循環功能”,用戶輸入任意“工況號”代碼,即可得到任意工況下的計算結果。
強度計算通常關心結構各種載荷工況下的“最小裕度”,利用圖2中“工況循環功能”,用戶在“工況號”中置空,可在最終的“總裕度”中得到最小裕度及其對應的應力等信息。
2 模型導入功能
由于全機有限元模型單元數量較多,約10萬個,且全機求解的工況數也較多,達上千種,由此得到了包含上億條單元內力信息的文件。為提高計算效率,首先按需“切割”出分析部位結構對應的單元,如圖3、圖4所示。
切割后的有限元模型被保存成一個體量較小的模型文件,利用平臺中“模型導入”功能,程序自動把該模型文件中的單元編號及對應的屬性信息讀入Excel建立的表“單元信息”Sheet中,如圖5所示。
導入模型后,平臺利用Excel自身的統計功能,自動計算各類單元數量,存放于圖5中B2、E2、H2......中。為便于后續計算,同時導入bar、rod單元兩側所對應的殼quad單元,以框結構為例,當框結構對應的bar單元編號被導入后,程序分析并導入該框單元兩側相應的蒙皮quad單元,quad單元編號存放于該bar單元后的表格C、D兩列內。
3 單元內力挑選
通過Nastran對全機有限元模型求解后通常輸出*.xdb或*.op2以及*.f06等文件,前兩者是二進制文件,需用Patran、Hyperview等商用軟件查看后處理結果,*.f06為文本文件,存放著各單元、節點在各工況下的內力、應力、節點平衡力、位移等結果。
雖然內力解文件*.f06為文本文件,但內含信息量巨大,通常有數個G之多,即使查看1個單元在1個工況下的內力已經相當困難,更不用說處理一批單元在不同工況下的內力,因此,必須依靠程序把這些需要的單元內力從*.f06文件中挑選出來使用。
需要的單元已經在第2章中被導入,逐行讀取*.f06文件,對比單元編號,程序挑選出需要的單元內力,根據單元類型不同存放于不同的表格內,如rod、bar、quad、node等。
以最簡單的rod單元為例,如圖6所示,平臺把圖5中rod單元包含的內力信息從內力解文件中挑選出來,并按照單元編號、工況編號、單元內力這樣固定的格式排列,此格式中每個單元的單元編號是唯一的,但每個單元可對應多個工況編號及其相應的內力。此排列格式由程序自動完成,是后續多工況計算的基礎。
對于bar單元,被挑選輸出的內力有:1平面A端彎矩、2平面A端彎矩、1平面B端彎矩、2平面B端彎矩、1平面剪切力、2平面剪切力、軸向力,如圖7所示。
圖7 bar單元導出的內力信息
Fig.7 The force of bar element have been selected
對于quad單元,被挑選輸出的內力有:X方向面線力,Y方向的線力,XY平面內的剪切力,如圖8所示。
圖8 quad單元導出的內力信息
Fig.8 The force of quad element have been selected
對于node節點,被挑選輸出的是節點的位移,包括:X、Y、Z三個方向的平動位移及Rx、Ry、Rz三個方向的轉動位移,如圖9所示。
圖9 node節點導出的位移信息
Fig.9 The displacement of node have been selected
由于Excel本身行數的限制,最大為1048576行,所以對于任意類型的單元,當單元數×工況數量過多時,需適當的精減單元的數量,或減少計算的工況數,可根據實際情況靈活調整。
4 強度分析計算
飛機結構的強度分析過程是利用有限元的內力解結果,根據結構形式,計算出剖面上的應力,并把此數值與結構的許用值進行對比的過程,所計算的結果以裕度的形式得到,如公式(1)所示。
M.S.=■-1(1)
式中:[σ]為結構的許用應力;
σ為結構的工作應力。
若M.S.大于0,說明結構是安全的,若M.S.小于0,說明結構不滿足強度要求。
在計算工作應力σ時,根據計算部位的單元編號,在“靜強度計算過程”Sheet中通過vlookup(對象單元,對應查找區域,內力結果所在列)函數,從rod、bar、quad等單元信息中引用當前工況對應的當前內力。如計算某段框結構應力時根據公式:
σ=■×y+■(2)
式中: 為結構的工作應力;
M為單元的1平面彎矩;
F為單元的軸向力;
I為框的慣性矩;
y為內外緣距型心的高度;
A為框的面積。
其中M、F是變量,工況不同則數值不同;
I、y,A是常數,與結構本身的特性相關。
變量M,F的值通過vlookup()函數從“bar”sheet中引用。索引的對象為“bar”sheet中的第1列單元編號;對應查找的區域為從A列開始到當前內力中的最后一列結束,對于bar單元;內力結果所在列根據需要選擇不同的列,如需要1平面A端彎矩,則輸入12,如需要梁軸力,則輸入18。完成輸入后由vlookup()函數自動得到對象單元所在工況的M和F,結合結構常數即可算出應力,進而得到裕度M.S.,如圖10所示。在計算過程中可充分利用Excel本身的各種運算功能,例如可通過下拉來進行批量處理各個框段。
至此,得到了當前工況(180006)下的結果,若需查看其它工況,則執行圖2“工況循環功能”,輸入工況號,單擊開始計算即可。由于當前工況的內力以及靜強度計算中的數據都是索引而得,程序通過改變當前的工況編號,所有結果隨之而變,瞬間即可得到任意工況下的結果。
通常強度分析不僅要得到任意工況下的結果,還需比較所有工況,找出最嚴重的結果。此時程序對所有工況進行一輪循環計算,比較各工況的裕度,若當前工況裕度小于之前計算的裕度則把當前工況裕度結果保留,同時保留對應的內力和參數。
操作時在“總裕度”sheet中通過索引“靜強度計算過程”得到當前工況的結果,如圖11中黃色區域,當發現黃色區域的裕度值小于藍色區域的最小裕度值時,則把黃色區域的最小值及其對應的內力和參數粘貼至藍色區域。經過一輪工況的循環,得到最終藍色區域為所有工況下計算部位各自的最小裕度。
圖11 當前工況與裕度最小工況的比較
Fig.11 The compare of current subcase with dangerous subcase
以上,是以典型簡化的框結構為例進行應力及最小裕度計算,實際飛機結構類型多樣,各類計算方法也更加復雜多變,但本質上都是一系列使用單元內力及結構參數的公式f(M,F,Fx,Fy,Fxy......I,A,t......),其中單元內力是根據工況不同而不同的變量,結構參數是與結構特性相關的常數。
因此,用戶可根據自身計算需要,編輯任意計算方法,并控制需要的輸出結果,對于計算方法相同的結構又可以使用Excel本身的功能快速的進行批量處理。強度計算平臺不同于普通程序,只能計算一種或幾種類型,它提供的是一種計算模式,由用戶在Excel表格內自由編輯定義計算方法,因此是一個真正的計算平臺。
此外,在飛機設計分析時還采用一種稱為DFR的疲勞強度分析方法,疲勞分析需同時考慮幾十種載荷情況的組合,形成所謂的疲勞載荷譜,本程序在循環工況時記錄各個計算點的工作應力,從而實現對應力譜的獲得,最終把應力譜用于疲勞計算表格得到疲勞裕度。疲勞計算在模型導入、單元內力挑選上與靜強度計算方法完全相同,在計算應力時與靜強度也相同,但是靜強度直接利用當前工況的應力值計算出當前工況的裕度,而疲勞計算把所有的工況的應力值組合在一起同時使用,得到一個裕度。
5 結論
強度計算平臺與普通的小程序以及空客公司的ISAMI平臺相比,他的最大特點是程序內并不包含具體的計算方法,而是把計算方法放在程序外由用戶編寫。同時他又是基于Excel軟件來實現的,因此可以充分的利用Excel的功能,歸納起來,強度計算寄生平臺相較與普通的計算程序具有以下優點:
(1)通用性。強度計算寄生平臺并不計算特定具體結構,而是為計算分析提供一種分析環境,用戶根據需要可計算任意結構。
(2)易用性。平臺不需要用戶懂得某種語言進行編程,只需用戶在工作表中編輯計算過程,平臺即可幫助用戶實現靜強度和疲勞強度分析。
(3)靈活性。平臺“寄生”在Excel中,用戶可充分利用Excel的各種函數和計算功能,靈活方便的進行計算,輸出清晰、規則的計算結果。
(4)集成性。平臺把原始數據、計算過程、計算結果集成在一個Excel文件內,數據簡潔,便于保持、追溯,檢查,校對。
(5)高效性。平臺計算速度快,數據更新方便,只需數次點擊即可替換新一輪內力解結果。
(6)透明。平臺可集成大量工程算法,也可由用戶自己定義計算方法,用戶可查看計算過稱,了解計算方法,避免了使用傳統程序,計算過程是“黑匣子”的不透明性。
(7)綠色。強度計算寄生平臺不需要特殊安裝,只需計算機安裝Excel軟件即可使用,走到哪、用到哪,對于出差工作,對外合作交流都較為便利。
6 展望
本強度計算平臺是基于飛機結構的強度分析而誕生的,由于受專業限制,其應用目前也僅限于飛機結構強度,但是對于其他同樣采用有限元進行求解的領域如汽車,船舶,建筑,地質,大氣等也可采用此平臺的思路,通過增加單元類型,進行分析。
【參考文獻】
[1]飛機設計手冊 9 載荷、強度和剛度,北京,航空工業出版社,2001.
[2]中國商用飛機有限責任公司上海飛機設計研究院.SADRI單元內力挑選及強度計算軟件V1.0.: 2012SR011885.
[責任編輯:朱麗娜]