◆池福儉 白艷潔 王景博
(中航飛機股份有限公司 陜西 710089)
FORTRAN語言是世界上較早出現的高級語言之一,在科學計算、數值分析和工程設計等領域有著廣泛的應用[1]。作者周濤等將FORTRAN與C語言混編用于土木工程計算[2];作者張文璋等將FORTRAN與VC++混編用于斜井螺桿泵優化設計[3];作者楊華保等將FORTRAN程序用于可視化管理設計[4]。本文利用FORTRAN語言實現了強度分析工作中NASTRAN結果數據文件的后處理,對于同一個有限元計算模型可以按不同的載荷情況分別進行計算后,把所有計算結果放在一起進行處理,處理內容主要包括節點位移、節點載荷、約束力、節點應力、單元內力、單元應力、單元應變及復合材料單元應力、應變等常用的30余類數據。處理的NASTRAN結果數據總量可以超過10GB,載荷情況在1000個以內,處理速度、容量以及處理內容均能夠滿足常規計算的需求。
程序運行時需要把NASTRAN計算結果從F06文件中讀取后再進行處理,F06文件中的數據全部為字符、數字混合形式,各類型單元結果的輸出順序也不是一個固定模式,輸出格式也各不相同,無法按常規方式讀取,所有數據全部按字符格式讀取后再進行分類和處理,對分類后的數據按類型分別存放到各個對應的臨時文件中,對需要的數據全部讀取完后再根據輸出要求進行選擇處理后按不同的格式形成輸出文件;對于NASTRAN的原始數據文件按字符格式讀取后全部轉化成“小域格式”方式按字符格式存放到56號文件中,每行分10個區域,每個區域的長度為16個字節,每行相當“小域格式”的一張卡片,每組卡片結束后,用一行以$開頭的空白行來表示本組卡片結束。
對于單工況的計算結果,根據用戶輸入的判別值及比較信息碼與讀取的數據比較,符合要求的數據選取后保存到相應的文件中。
對于含有多種工況的計算結果,當需要對某些單元或節點挑選出一種或多種嚴重載荷情況的計算結果時,用每一種載荷情況挑選出來的數據按處理類型及用戶給定的處理方式選出比較用的數據項目,用該項目的數據比較后選出嚴重載荷情況的數據并經過整理后存放到相應的文件中。設S為判別值,Itype00為比較信息碼,具體方式如下:
(1)節點位移
設T1、T2、T3為XYZ三個方向的節點位移:
a)按單向位移比較選擇
比較條件:Itype00=1∨Itype00=2,
|T1|≥S∨|T2|≥S∨|T3|≥S時選取;
b)按合位移比較選擇


T≥S時選取。
(2)力和力矩
設Px、Py、Pz為XYZ三個方向的力,Mx、My、Mz為XYZ三個方向的力矩:
a)按單向力比較選擇
比較條件:Itype00=1,

b)按單向力矩比較選擇
比較條件:Itype00=2,
|Mx|≥S∨|My|≥S∨|Mz|≥S時選取;
c)按合力比較選擇

比較條件:Itype00=3,
P≥S時選取;
d)按合力矩比較選擇

比較條件:Itype00=4,
M≥S時選取。
(3)應力和應變
對應力和應變數據在選擇處理時,除復合材料迭層板單元的應力按強度系數η比較外,其余均按嚴重應力或應變與判別值比較,比較方式如下:
a)應力
復合材料迭層板單元:η<S時選取;
其余單元:應力≥S時選取;
b)應變
應變≥S時選取。
程序全部用FORTRAN語言編寫,主要包括主程序、16個外部子程序、30余個內部子程序以及10個函數子程序,實現了NASTRAN結果數據文件中30余類數據的處理,共計代碼7000余行,其主要控制代碼如下:

結構有限元計算采用NASTRAN軟件,有限元網格數量約10萬個,節點數量約6萬個,計算載荷工況共184種,NASTRAN軟件結果文件共兩個,文件名分別為gj-yz-r1-dz.f06(1.1GB)和gj-yz-r1-jz.f06(1.6GB)。
現需篩選某零件中最大單元應變≥2300με、最大單元應力≥230MPa的單元及其所在的計算工況,編制控制文件如下:
83 84 注:1)字符,結果輸出文件名(83號文件);2)字符,載荷情況及計算信息輸出文件名(84號文件)。

采用FORTRAN語言實現了NASTRAN計算結果文件中常用的30余種數據的處理,可以從數據量超過10GB、載荷工況1000個以內的結果文件中按工程師的實際需求篩選出需要的數據。經實例驗證,是可行的,可以有效提高強度計算工作中數據處理的效率。目前,該程序還未圖形化,為了使處理結果更形象,使結構強度分析更加方便,下一步將繼續進行程序界面圖形化研究。