北京航空航天大學(xué)機(jī)械工程及自動(dòng)化學(xué)院 朱永洲 席 平 唐家鵬
中航工業(yè)沈陽飛機(jī)工業(yè)(集團(tuán))有限公司 張澤峰
有限元建模是有限元分析所必需的數(shù)據(jù)前處理過程,也是有限元方法在實(shí)際運(yùn)用中的主要困難。經(jīng)驗(yàn)表明,有限元建模在整個(gè)有限元分析工作量中占70%~80%左右[1],同時(shí),有限元建模過程是一個(gè)不斷迭代的動(dòng)態(tài)過程,每一次迭代都需要進(jìn)行新一輪的結(jié)構(gòu)調(diào)整和有限元模型的重新生成,手動(dòng)建模通常費(fèi)時(shí)費(fèi)力,而參數(shù)化建模是有限元模型快速、準(zhǔn)確、高質(zhì)量進(jìn)行的有效手段。
在航空領(lǐng)域,普遍采用CATIA軟件進(jìn)行幾何造型[2],但在基于Windows平臺(tái)的V5版本中,其有限元分析模塊還不完善。另一方面,由于CAE前處理軟件PATRAN幾何建模能力較弱的局限性,很難在PATRAN內(nèi)實(shí)現(xiàn)機(jī)翼結(jié)構(gòu)幾何建模的功能,所以對(duì)于機(jī)翼結(jié)構(gòu),基于CATIA幾何建模、MSC. PATRAN/NASTRAN進(jìn)行有限元分析的方法具有很強(qiáng)的實(shí)際意義。此外,CAE與CAD是密不可分的,相互獨(dú)立的CAE和CAD系統(tǒng)勢必造成設(shè)計(jì)資源和信息的重復(fù)浪費(fèi)與不一致性,嚴(yán)重影響整個(gè)設(shè)計(jì)過程的效率[3],為此,需解決CAD與CAE之間的數(shù)據(jù)通信以實(shí)現(xiàn)CAD/CAE的集成。
本文定位于飛機(jī)結(jié)構(gòu)初步設(shè)計(jì)階段,旨在構(gòu)建知識(shí)驅(qū)動(dòng)的飛機(jī)機(jī)翼結(jié)構(gòu)有限元快速建模系統(tǒng)。首先將機(jī)翼結(jié)構(gòu)幾何建模過程中的方法、規(guī)則和專家經(jīng)驗(yàn)等知識(shí)進(jìn)行封裝,采用模板參數(shù)化技術(shù)在CATIA平臺(tái)上實(shí)現(xiàn)機(jī)翼結(jié)構(gòu)骨架模型的快速生成,并進(jìn)一步分割離散生成適于有限元網(wǎng)格剖分的幾何網(wǎng)格模型。研究CAD與CAE系統(tǒng)之間的數(shù)據(jù)通信方式,利用PATRAN的PCL語言,實(shí)現(xiàn)了機(jī)翼有限元模型網(wǎng)格的自動(dòng)剖分系統(tǒng)的設(shè)計(jì)。本文實(shí)現(xiàn)的有限元建模過程如圖1所示。
圖1 機(jī)翼結(jié)構(gòu)有限元建模Fig.1 Finite Element Modeling
目前,機(jī)翼結(jié)構(gòu)幾何模型的生成通常由設(shè)計(jì)人員手動(dòng)交互實(shí)現(xiàn),其質(zhì)量和結(jié)果嚴(yán)重依賴設(shè)計(jì)人員的技術(shù)水平和經(jīng)驗(yàn),同時(shí)設(shè)計(jì)過程中缺乏有效的數(shù)字化手段對(duì)設(shè)計(jì)知識(shí)和經(jīng)驗(yàn)進(jìn)行積累。實(shí)際上,可以采用知識(shí)驅(qū)動(dòng)的模板參數(shù)化技術(shù),將結(jié)構(gòu)工程師在設(shè)計(jì)過程中的設(shè)計(jì)方法、定義規(guī)則和經(jīng)驗(yàn)等知識(shí)通過歸納封裝在一個(gè)模板中[4],以機(jī)翼的外形曲面為輸入,拾取上游參考元素,給定機(jī)翼結(jié)構(gòu)受力構(gòu)件的位置參數(shù)和布置方式,后臺(tái)程序驅(qū)動(dòng)CATIA快速完成結(jié)構(gòu)幾何模型的生成。
機(jī)翼結(jié)構(gòu)的設(shè)計(jì)要求基于機(jī)翼結(jié)構(gòu)的弦平面,在機(jī)翼外形給定的條件下進(jìn)行梁、肋和長桁構(gòu)件的布局。骨架模型包括了構(gòu)件站位面、軸線及腹板面結(jié)構(gòu)布置信息。機(jī)翼結(jié)構(gòu)構(gòu)件特征描述及骨架模型創(chuàng)建過程如下:
(1)翼梁貫穿機(jī)翼上下曲面,可描述為梁軸線、站位面和腹板面。
·梁軸線的起點(diǎn)和終點(diǎn)分別用該點(diǎn)占根弦和梢弦的百分比表示,其中梁分段面位置由機(jī)身對(duì)稱面偏移得到,分段點(diǎn)位置由該點(diǎn)占梁分段處站位面和弦平面相交線的百分比確定,梁軸線由各點(diǎn)順序連接而成;
·基于梁軸線和弦平面確定站位面;
·通過站位面與上下翼面求交確定梁緣條,并分別填充前后梁的上下緣條之間區(qū)域生成梁的腹板面。
(2)翼肋也具有貫穿機(jī)翼上下曲面的性質(zhì),可描述為站位面、肋緣條和腹板面。
·翼肋以順航向方式布置時(shí),站位面位置以機(jī)身對(duì)稱面為參考元素;以垂直梁方式布置時(shí),以前梁或后梁軸線為參考元素確定站位面位置。肋的站位面與弦平面成一定角度,通常為90°。
·站位面與上下翼面求交確定肋緣條,填充肋上下緣條之間區(qū)域生成肋的腹板面。
(3)長桁是展向受力構(gòu)件,依附于機(jī)翼的上下曲面,可描述為站位面和上下翼面長桁。
·長桁按比例方式布置時(shí),基于長桁在弦平面上的投影和弦平面確定站位面;按平行某元素布置時(shí),站位面以梁站位面或以長桁站位面為參考元素偏移得到。
·站位面與上翼面或者下翼面相交得到長桁;長桁起始位置均為根肋;按比例方式布置長桁終止于梢肋;按平行某元素布置長桁終止位置可以為某一肋站位面。
按照上述原則,針對(duì)飛機(jī)中典型的雙梁式機(jī)翼結(jié)構(gòu),基于CATIA軟件平臺(tái),采用VB編程語言,開發(fā)了機(jī)翼結(jié)構(gòu)幾何建模模板,如圖2所示。通過該模板,能夠?qū)崿F(xiàn)骨架模型的快速建模,并在生成的骨架模型基礎(chǔ)上,自動(dòng)離散生成適于有限元網(wǎng)格剖分的幾何網(wǎng)格模型。圖3為采用模板生成的機(jī)翼盒段骨架模型,圖中隱藏了機(jī)翼的上翼面。
在初步設(shè)計(jì)階段,為了實(shí)現(xiàn)快速迭代,對(duì)機(jī)翼結(jié)構(gòu)進(jìn)行靜強(qiáng)度、剛度及穩(wěn)定性分析時(shí)只需對(duì)機(jī)翼翼盒進(jìn)行分析,一般以線、面、幾何體來構(gòu)建翼盒的幾何模型,同時(shí),為保證機(jī)翼結(jié)構(gòu)有限元模型單元屬性的準(zhǔn)確加載和單元有限元網(wǎng)格剖分的質(zhì)量,要求對(duì)模型進(jìn)行離散,即在機(jī)翼結(jié)構(gòu)構(gòu)件梁、肋、長桁及蒙皮相交處斷開。圖4所示為機(jī)翼結(jié)構(gòu)骨架模型離散后形成的幾何網(wǎng)格模型單元。
圖2 機(jī)翼結(jié)構(gòu)幾何模型模板Fig.2 Template of geometry model generation
圖3 機(jī)翼盒段結(jié)構(gòu)骨架模型Fig.3 Skeleton model of wingbox
在機(jī)翼盒段離散生成幾何網(wǎng)格模型過程中,為便于查找點(diǎn)和單元(桿單元、殼單元)輸出中性文件、在幾何中對(duì)單元附加屬性,對(duì)各單元進(jìn)行編號(hào)[5]。中性文件包含單元的幾何信息和有限元模型生成需要的單元屬性,如桿單元的截面面積和殼單元的厚度等,是完成CAD向CAE集成的基礎(chǔ)。機(jī)翼盒段幾何網(wǎng)格模型中點(diǎn)和單元組成及編號(hào)定義如下:
(1)點(diǎn)。
翼梁緣條、長桁、翼肋緣條在翼面上的交點(diǎn),可以起到使力互相傳遞的作用。以機(jī)翼上翼面為例,本文從前梁緣條開始,逐個(gè)完成展向緣條與所有弦向緣條相交關(guān)系的判定,將結(jié)果用一組保存在二維整型數(shù)組A(i,j)中的元素0或1反映,二維數(shù)組的元素為0表示不相交,1表示相交。該二維數(shù)組的下標(biāo)i表示展向緣條的標(biāo)號(hào),沿翼剖面前緣到后緣依次為0,1,2,…,m,m大小由翼面長桁確定;下標(biāo)j表示弦向緣條標(biāo)號(hào),沿機(jī)翼根部向梢部依次為0,1,2,…,l,l大小由翼肋數(shù)確定。對(duì)生成的點(diǎn)編號(hào)定義為:
圖4 機(jī)翼盒段結(jié)構(gòu)幾何網(wǎng)格模型Fig.4 Geometric mesh model of Wingbox
其中,k表示蒙皮構(gòu)件,t表示結(jié)構(gòu)件在其所在類型內(nèi)的序號(hào)(下同),對(duì)上蒙皮取1,下蒙皮取2。
(2)一維單元。
幾何網(wǎng)格模型的一維桿單元包括: 翼梁緣條桿單元、長桁桿單元和翼肋緣條桿單元。
翼梁緣條桿單元編號(hào)定義為:
其中,h1表示翼梁構(gòu)件,i、j的意義與上述不同,對(duì)前梁緣條桿單元i取1,后梁緣條桿單元i取2,j取肋站位面的編號(hào);
長桁桿單元編號(hào)同翼梁緣條桿類似,不同在于此種情況下i取長桁站位面編號(hào);
翼肋緣條桿單元編號(hào)定義為:
其中,h2表示翼肋構(gòu)件,j取肋站位面的編號(hào),m用于標(biāo)識(shí)相同結(jié)構(gòu)件上的不同單元。
(3)二維單元。
本文研究的機(jī)翼結(jié)構(gòu)為雙梁式布局,幾何網(wǎng)格模型的二維殼單元分為以下3種:蒙皮殼單元、翼梁腹板殼單元、翼肋腹板殼單元。
蒙皮殼單元其編號(hào)定義為:
其中,i是蒙皮殼單元的主要標(biāo)識(shí)符,蒙皮先沿展向從根肋到梢肋按肋站位面的位置分塊,再分別用長桁站位面從翼盒的前緣到后緣對(duì)已分塊的蒙皮再分割。
翼梁腹板殼單元編號(hào)定義為:
其中,i表示翼梁構(gòu)件在機(jī)翼結(jié)構(gòu)中的位置,同一維桿單元翼梁緣條桿中i意義相同; j取肋站位面的編號(hào)。
翼肋腹板殼單元編號(hào)定義為:
PATRAN軟件支持大多數(shù)的標(biāo)準(zhǔn)文件接口,在CATIA上建立的幾何模型文件通過轉(zhuǎn)換為IGES或STEP等文件能夠直接導(dǎo)入到PATRAN中,但由于CAE、CAD軟件開發(fā)思想和目的的不同,軟件之間三維模型數(shù)據(jù)表達(dá)不盡相同,對(duì)模型的存儲(chǔ)也采用不同的數(shù)據(jù)結(jié)構(gòu),造成不同系統(tǒng)間的數(shù)據(jù)不能準(zhǔn)確地交換共享,或是在數(shù)據(jù)交換過程中產(chǎn)生信息丟失[6]。比如,本文對(duì)CAD與CAE數(shù)據(jù)傳遞研究中發(fā)現(xiàn),在機(jī)翼幾何網(wǎng)格模型以IGES或MODEL格式導(dǎo)入PATRAN后,導(dǎo)入的模型有壞點(diǎn)、重復(fù)的面和線,且不易檢查,嚴(yán)重地阻礙了數(shù)據(jù)從CAD到CAE的流動(dòng)與共享。
中性文件,即幾何網(wǎng)格模型生成時(shí)同步生成的數(shù)據(jù)[7],是系統(tǒng)有限元模型建立的主要數(shù)據(jù)輸入。運(yùn)用PATRAN提供的二次開發(fā)語言PCL讀取中性文件,對(duì)機(jī)翼幾何網(wǎng)格模型進(jìn)行重構(gòu),實(shí)現(xiàn)機(jī)翼結(jié)構(gòu)幾何模型向有限元模型的集成,圖5所示為機(jī)翼盒段結(jié)構(gòu)后梁腹板殼單元在PATRAN中的重新建模。以中性文件的方式解決異構(gòu)系統(tǒng)數(shù)據(jù)交流,能保證模型數(shù)據(jù)的準(zhǔn)確傳遞,克服異構(gòu)系統(tǒng)之間“點(diǎn)對(duì)點(diǎn)”方式接口眾多的缺點(diǎn),中性文件的數(shù)據(jù)獨(dú)立性、開放性在機(jī)翼結(jié)構(gòu)多學(xué)科數(shù)字化設(shè)計(jì)領(lǐng)域有重要意義。
在幾何網(wǎng)格模型生成過程中,所有點(diǎn)和單元信息分別保存在各自定義的結(jié)構(gòu)體數(shù)組后再輸出到中性文件保存。點(diǎn)的數(shù)據(jù)結(jié)構(gòu)包括點(diǎn)的編號(hào)、點(diǎn)的三維坐標(biāo)值和點(diǎn)的拓?fù)溧徑雨P(guān)系。點(diǎn)的坐標(biāo)值可以通過按點(diǎn)的名稱循環(huán)遍歷點(diǎn)的同時(shí),程序后臺(tái)驅(qū)動(dòng)CATIA的測量命令獲取點(diǎn)的坐標(biāo)值;點(diǎn)的拓?fù)溧徑雨P(guān)系以鄰接關(guān)系矩陣M(i,j)數(shù)組元素表示,鄰接關(guān)系矩陣定義為:
圖5 CAD與CAE的系統(tǒng)集成Fig.5 Integration of CAD/CAE
單元數(shù)據(jù)結(jié)構(gòu)包括單元編號(hào)、單元類型、組成單元的點(diǎn)列表。單元編號(hào)是單元的標(biāo)識(shí)符,與點(diǎn)編號(hào)的意義類似,其另外一層意義是在PATRAN中重構(gòu)幾何網(wǎng)格模型時(shí)單元的ID編號(hào)。單元類型是設(shè)計(jì)模型有限元化后的有限元表達(dá),如CROD、CBEAM、CTRIA3、CQUARD等。點(diǎn)列表是組成單元的所有點(diǎn)編號(hào),對(duì)于一維桿單元,首末端點(diǎn)會(huì)與某兩個(gè)點(diǎn)重合,在幾何網(wǎng)格模型中測量該單元首末端點(diǎn)的坐標(biāo)值分別與各點(diǎn)坐標(biāo)值比較可以得到構(gòu)成該一維單元的兩個(gè)點(diǎn),同時(shí),把該一維單元兩端點(diǎn)的鄰接關(guān)系保存在鄰接關(guān)系矩陣M(n,n)中,n為點(diǎn)的數(shù)量;二維殼單元的點(diǎn)列表采用最小多邊形生成算法,結(jié)合點(diǎn)的鄰接關(guān)系依次搜索,找出具有鄰接關(guān)系的點(diǎn)形成封閉的最小四邊形或者三角形,從而找到殼單元的點(diǎn)列表,結(jié)合圖6實(shí)現(xiàn)算法如下:
圖6 最小多邊形生成Fig.6 Minimum polygon generation
Step1:獲取此部分所有節(jié)點(diǎn)的鄰接關(guān)系矩陣M(i,j)元素的值,以圖6(a)為例,如點(diǎn)5和6相鄰,則鄰接矩陣中M(5,6)=1;點(diǎn)5和7不相鄰,M(5,7)=0;定義點(diǎn)的標(biāo)識(shí)數(shù)組V(i),1≤i≤n;
Step2:從節(jié)點(diǎn)鄰接矩陣M(i,j)第一行(i=1)開始,遍歷節(jié)點(diǎn)鄰接矩陣 M(i,j)、M(i,j+1)、…、M(i,n),若滿足M(i,j)=1,繼續(xù)從第j行開始遍歷節(jié)點(diǎn)鄰接矩陣 M(j,k)、M(j,k+1)、…、M(j,n),找到 M(j,k)=1,若滿足 k≠ i且 M(i,k)=1,節(jié)點(diǎn) i,j,k是組成最小三角形的3個(gè)頂點(diǎn),標(biāo)記節(jié)點(diǎn)編號(hào)i,j,k對(duì)于最小四邊形、五邊形的搜索方法類似。圖6(b)箭頭組成的回路即是最小多邊形路徑集P。
Step3:根據(jù)最小多邊形路徑集P得到殼單元的點(diǎn)列表。
為提高有限元結(jié)構(gòu)分析的效率,采用PATRAN提供的二次開發(fā)語言PCL,實(shí)現(xiàn)單元網(wǎng)格快速剖分。PATRAN在運(yùn)行時(shí),整個(gè)模型數(shù)據(jù)庫db文件的建模過程自動(dòng)記錄在日志文件中,日志文件類似于CATIA環(huán)境下通過宏記錄工具記錄用戶操作過程生成的VB腳本語言文件,通過參考編輯日志文件編寫PCL程序,開發(fā)效率得以提高。
在有限元網(wǎng)格剖分時(shí),PCL語言針對(duì)幾何元素的編號(hào)操作。為了使得這些曲線和曲面在網(wǎng)格剖分時(shí)不發(fā)生遺漏或錯(cuò)誤,要求其編號(hào)具有一定的規(guī)律。本文根據(jù)PCL語言變量定義的規(guī)則,在PCL讀取中性文件時(shí)對(duì)獲取的對(duì)象進(jìn)行編號(hào)且保證編號(hào)唯一。同時(shí),機(jī)翼盒段結(jié)構(gòu)幾何網(wǎng)格模型殼單元中一般會(huì)有五邊形的情形,所以在PATRAN中對(duì)五邊形處理后,一維單元、二維單元的個(gè)數(shù)會(huì)多于CATIA平臺(tái)下幾何網(wǎng)格模型的一維單元、二維單元數(shù)量,對(duì)這部分單元也要編號(hào)。如圖7所示為機(jī)翼盒段結(jié)構(gòu)幾何網(wǎng)格模型導(dǎo)入到PATRAN,完成五邊形處理和曲線、曲面編號(hào)后的幾何網(wǎng)格模型。
圖7 PATRAN中機(jī)翼盒段幾何網(wǎng)格模型Fig.7 Geometric mesh model of Wingbox in PATRAN
對(duì)于兩個(gè)相連接的板,為保證其有限元模型能夠正確地反映連接關(guān)系,要求兩個(gè)構(gòu)件網(wǎng)格劃分后生成的單元在交線處的節(jié)點(diǎn)完全重合。否則,二者在有限元模型中很可能是分離的。對(duì)機(jī)翼盒段曲面進(jìn)行網(wǎng)格剖分時(shí),首先獲取所有的桿單元對(duì)象,對(duì)每一個(gè)桿單元對(duì)象采用Element Length的方式布置網(wǎng)格種子。采用布置網(wǎng)格種子的方式劃分網(wǎng)格既能控制網(wǎng)格的疏密,也可以保證曲面與曲面相交處網(wǎng)格剖分的一致性,比如蒙皮上相鄰的兩個(gè)曲面或者蒙皮與翼梁腹板相交處;其次,選擇IsoMesh劃分器,有限元網(wǎng)格單元選用的是高質(zhì)量的四邊形單元,局部過渡區(qū)采用的是三角形單元,如圖8所示。對(duì)于機(jī)翼盒段曲線,其與上述曲面的邊重合,前面劃分曲面網(wǎng)格時(shí)已在曲線上創(chuàng)建了種子,因此在選擇合適的單元拓?fù)漕愋秃罂芍苯觿澐智€,生成的線網(wǎng)格與曲面網(wǎng)格必然一致。有限元網(wǎng)格自動(dòng)剖分過程中,除讀取中性文件和控制網(wǎng)格疏密需要人工交互外,其余過程均用PCL程序自動(dòng)實(shí)現(xiàn),效率較高。
圖8 機(jī)翼盒段有限元網(wǎng)格模型生成Fig.8 Finite element model of Wingbox
(1)采用模板參數(shù)化技術(shù),基于過程重用的思想,將設(shè)計(jì)人員手動(dòng)交互過程中歸納的設(shè)計(jì)方法和規(guī)則封裝為具有標(biāo)準(zhǔn)形式的知識(shí)組件,實(shí)現(xiàn)了機(jī)翼結(jié)構(gòu)骨架模型和幾何網(wǎng)格模型的快速建模,并進(jìn)行了幾何網(wǎng)格模型單元的定義。
(2)通過讀入幾何模型形成的中性文件,完成了機(jī)翼結(jié)構(gòu)在PATRAN中的重構(gòu),提高了模型的質(zhì)量。采用PCL語言,基于重構(gòu)模型進(jìn)行了有限元網(wǎng)格的自動(dòng)剖分,實(shí)現(xiàn)了機(jī)翼結(jié)構(gòu)有限元模型的快速生成。
[1] 關(guān)振群,顧云憲,張洪武,等. 三維CAD/CAE一體化的參數(shù)化動(dòng)態(tài)有限元建模.計(jì)算機(jī)集成制造系統(tǒng),2003,9(12):1112-1119.
[2] Chintapalli S. The development of a preliminary structural design optimization method of an aircraft wing-box skin-stringer panels.Aerospace Science and Technology,2010(14):188-198.
[3] Rocca G L, Tooren M J L. A knowledge based engineering approach to support automatic generation of FE models in aircraft design.45th AIAA Aerospace Sciences Meeting. Reno:AIAA,2007: 967.
[4] Rocca G L, Tooren M J. L. Knowledge-based engineering approach to support aircraft multidisciplinary design and optimization.Journal of Aircraft,2009; 46(6): 1875-1885.
[5] 羅明強(qiáng),馮昊龍,劉虎,等. 民用飛機(jī)機(jī)翼結(jié)構(gòu)快速設(shè)計(jì)及自動(dòng)化調(diào)整.北京航空航天大學(xué)學(xué)報(bào),2009,35 (4): 468-471.
[6] 朱蘇. 基于中間平臺(tái)的船舶CAD/CAE模型轉(zhuǎn)換研究[D].上海: 上海交通大學(xué),2011.
[7] Sensmeier M, Samareh J. Automatic aircraft structural topology generation for multidisciplinary optimization and weight estimation. 46th AIAA/ASME/ASC Structures and Materials Conference. Austin:AIAA,2005:1893.