亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        HAJIF軟件前后處理模塊設(shè)計(jì)與實(shí)現(xiàn)

        2016-11-25 20:48:09黃河姚剛段世慧
        計(jì)算機(jī)輔助工程 2016年5期
        關(guān)鍵詞:面向?qū)ο蟪绦蛟O(shè)計(jì)前處理后處理

        黃河++姚剛+段世慧

        摘要: 為滿足國產(chǎn)有限元軟件HAJIF對(duì)大規(guī)??梢暬那爸媒:秃笾脭?shù)據(jù)處理功能的迫切需求,基于面向?qū)ο蟮某绦蛟O(shè)計(jì)思想設(shè)計(jì)并實(shí)現(xiàn)具有高度靈活性的前后處理模塊.提出層次化、組件式的軟件設(shè)計(jì)架構(gòu).在前處理功能設(shè)計(jì)方面,引入準(zhǔn)C++標(biāo)準(zhǔn)Boost庫,解決模型數(shù)據(jù)的持久化和內(nèi)存管理問題;采用節(jié)點(diǎn)相關(guān)面法以及OpenGL深度緩存機(jī)制大大提升模型顯示效率.在后處理功能設(shè)計(jì)方面,建立物理場量值與顏色的對(duì)應(yīng)關(guān)系,并構(gòu)建結(jié)構(gòu)變形比例放大因子計(jì)算公式.研究表明:面向?qū)ο蟮某绦蛟O(shè)計(jì)方法可以大大提高開發(fā)效率和前后處理模塊的可維護(hù)性.

        關(guān)鍵詞: HAJIF; 前處理; 后處理; 有限元; 面向?qū)ο蟪绦蛟O(shè)計(jì)

        中圖分類號(hào): TP317.4 文獻(xiàn)標(biāo)志碼: B

        0 引 言

        商業(yè)化的CAE軟件,如Abaqus和Nastran等,大多具有友好的前后處理模塊.HAJIF是航空工業(yè)集團(tuán)研發(fā)的大型有限元分析軟件,其功能涵蓋靜力、模態(tài)、屈曲等通用計(jì)算以及優(yōu)化、靜彈、顫振、熱應(yīng)力分析等專用求解計(jì)算功能.[1]近年來,隨著數(shù)值分析方法的逐步完善,尤其是計(jì)算機(jī)運(yùn)算速度的飛速發(fā)展,整個(gè)HAJIF計(jì)算系統(tǒng)求解規(guī)模越來越大,求解效率也越來越高,但由于缺少對(duì)大規(guī)模模型的前后處理功能,HAJIF軟件的長遠(yuǎn)發(fā)展與市場銷售受到制約,因此,增強(qiáng)可視化的前置建模和后置數(shù)據(jù)處理功能十分迫切.

        在分析有限元前后處理特點(diǎn)的基礎(chǔ)上,提出以有限元數(shù)據(jù)結(jié)構(gòu)為中心構(gòu)建前后置程序架構(gòu)的思路,借助主流的程序設(shè)計(jì)語言C++,采用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,設(shè)計(jì)開發(fā)前后置模塊HAJIF_PrePost,并重點(diǎn)對(duì)其中的關(guān)鍵功能技術(shù)進(jìn)行探討,如底層數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、模型數(shù)據(jù)持久化、大規(guī)模網(wǎng)格與云圖顯示技術(shù)等.

        1 總體架構(gòu)

        HAJIF_PrePost模塊采用層次化的三層體系架構(gòu),見圖1.底層是數(shù)據(jù)層,負(fù)責(zé)有限元模型數(shù)據(jù)的管理以及圖形顯示數(shù)據(jù)管理,是前后置模塊的基礎(chǔ);中間層是業(yè)務(wù)層,承上啟下,串聯(lián)界面層與數(shù)據(jù)層,負(fù)責(zé)具體功能接口的定義實(shí)現(xiàn)、模型卡讀寫、圖形處理、數(shù)據(jù)處理等,是前后置模塊的核心;最上面層是界面層,主要提供數(shù)據(jù)顯示、交互及建模功能,并負(fù)責(zé)各個(gè)求解模塊的界面定義和任務(wù)管理.

        出于開放性的考慮,HAJIF_PrePost模塊遵循面向?qū)ο蟆⒛K化的軟件構(gòu)建技術(shù),按照高內(nèi)聚低耦合的原則,以庫函數(shù)的方式形成一系列基礎(chǔ)服務(wù)組件即動(dòng)態(tài)鏈接庫,不同功能組件通過約定的接口協(xié)同工作、傳遞數(shù)據(jù),整個(gè)架構(gòu)由一個(gè)主程序和多個(gè)基礎(chǔ)服務(wù)組件構(gòu)成,見圖2.

        2 前處理關(guān)鍵功能設(shè)計(jì)

        2.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

        利用C++面向?qū)ο罄^承的重要特性,建立HAJIF_PrePost模塊完整的前后處理類層次結(jié)構(gòu).[2-3]分別構(gòu)建Element,Node,Material,Property,Load和Bound等基類,用于對(duì)有限元單元、節(jié)點(diǎn)、材料、屬性、載荷和邊界等數(shù)據(jù)的公共部分進(jìn)行封裝.在設(shè)計(jì)好基類后,可以派生出更加具體的子類,例如:由載荷類可以派生出力矩類、溫度類,由屬性類可以派生出桿元類、梁元類和殼元類等.

        為實(shí)現(xiàn)有限元數(shù)據(jù)的可擴(kuò)展性,HAJIF_PrePost模塊采用工廠設(shè)計(jì)方法模式,通過工廠對(duì)象接口,將實(shí)際創(chuàng)建工作推遲到子類中,使系統(tǒng)在不修改工廠接口的情況下引進(jìn)新的產(chǎn)品.如:分別定義單元類ElementSet,材料類MaterialSet,屬性類PropertySet和載荷類LoadSet等8個(gè)工廠接口,然后通過定義模型管理類FemManager存儲(chǔ)管理相應(yīng)的工廠類.以種類相對(duì)較多的單元類為例,其數(shù)據(jù)結(jié)構(gòu)見圖3.

        2.2 模型數(shù)據(jù)管理

        模型數(shù)據(jù)管理是CAE軟件前后處理的基礎(chǔ):一方面需形成統(tǒng)一的數(shù)據(jù)庫文件,將內(nèi)存中的模型數(shù)據(jù)進(jìn)行存檔;另一方面能根據(jù)用戶需要快速方便地進(jìn)行內(nèi)外部數(shù)據(jù)的交換.基于C++標(biāo)準(zhǔn)庫的I/O流框架雖然提供富有彈性且易于使用的流處理機(jī)制,但不具備快速對(duì)模型對(duì)象進(jìn)行序列化存儲(chǔ)、存檔的能力.準(zhǔn)C++標(biāo)準(zhǔn)Boost Serialization能以庫的形式為C++提供這個(gè)重要的功能,可以序列化C++中的各種類型,同時(shí)Serialization庫把存檔的格式與類型的序列化完全分離開來,任意的數(shù)據(jù)類型都可以采用任意的格式保存,非常靈活.[4]由于HAJIF_PrePost模塊是按照面向?qū)ο蟮乃枷脒M(jìn)行設(shè)計(jì)的,因此可以應(yīng)用Serialization庫將模型對(duì)象轉(zhuǎn)換為一個(gè)字節(jié)流進(jìn)行存儲(chǔ)或者傳輸,在需要時(shí)再恢復(fù)成與原狀態(tài)一致的等價(jià)對(duì)象.

        僅僅依靠Boost Serialization進(jìn)行模型對(duì)象的序列化與反序列化,會(huì)存在內(nèi)存泄露的問題,特別是在反序列化時(shí)雖然分配內(nèi)存但是卻沒有合理的地方釋放,采用外部釋放又存在釋放不完全的風(fēng)險(xiǎn),故引入Boost庫的智能指針Share_ptr進(jìn)行內(nèi)存管理.以材料對(duì)象為例,在材料類集合對(duì)象映射表中存儲(chǔ)其智能指針,偽代碼如下.

        2.3 大模型網(wǎng)格的可視化

        有限元模型是由三維網(wǎng)格單元組成的,隨著建模精度的逐漸提高,網(wǎng)格單元數(shù)量級(jí)可能上億.由于在三維模型可視化過程中需要顯示的只是所選擇的計(jì)算區(qū)域外表面的信息,因此大模型網(wǎng)格的可視化問題就轉(zhuǎn)化為快速判斷在三維網(wǎng)格中哪些單元面是外表面,以及哪些外表面可見的問題.

        針對(duì)單元內(nèi)外面問題,眾所周知,由于在三維模型網(wǎng)格中內(nèi)部單元面屬于并只屬于2個(gè)單元,外部單元面只屬于某一個(gè)單元.組建結(jié)構(gòu)外部單元面的一般方法為先形成結(jié)構(gòu)中所有單元的單元面,然后對(duì)各個(gè)單元面進(jìn)行比較,節(jié)點(diǎn)組成完全相同的面即為內(nèi)部單元面,其余的即為外部單元面.[5-6]隨著網(wǎng)格單元數(shù)目的增加,這種方法的運(yùn)算量將呈幾何級(jí)數(shù)增加.為提高模型的顯示速度和效果,采取如下更高效的節(jié)點(diǎn)相關(guān)面方法.

        (1)建立節(jié)點(diǎn)相關(guān)面列表,F(xiàn)(n)=F1,F(xiàn)2,…,其中:n為節(jié)點(diǎn)編號(hào),F(xiàn)i代表一個(gè)單元面,例如單元號(hào)為154的四面體的1面為154.1,2面為154.2.

        (2)對(duì)非空的F(n)列表的各個(gè)相關(guān)面進(jìn)行比較,剔除節(jié)點(diǎn)組成完全相同的面,剩下的即為節(jié)點(diǎn)相關(guān)的外表面.

        在提取出外表面后,需要把三維模型信息經(jīng)過某種投影變換在二維顯示的表面上繪制出來.投影變換會(huì)失去深度信息,導(dǎo)致圖形的二義性.要消除二義性,就要在繪制時(shí)消除實(shí)際不可見的面,對(duì)三維模型的內(nèi)部單元和被遮擋的外部單元進(jìn)行消隱.HAJIF_PrePost模塊應(yīng)用基于OpenGL的幀緩存圖形消隱技術(shù),即OpenGL的深度緩存.深度緩存保存每個(gè)像素的深度值,深度通常用視點(diǎn)到物體的距離來度量,有較大深度值的像素會(huì)被較小深度值的像素替代,即遠(yuǎn)處的物體被近處的物體所遮擋.[7]深度緩存也稱為Z-buffer.在實(shí)際應(yīng)用中,常用x和y度量屏幕上水平與垂直距離,而用z度量眼睛到屏幕的垂直距離,如果像素的z坐標(biāo)值小于深度緩沖區(qū)中的深度值,則深度緩沖區(qū)中的深度值被z坐標(biāo)值替代,即只保留距離觀察點(diǎn)近的圖形元素所對(duì)應(yīng)的像素,也就是說他們沒有被其他元素遮擋住并最終在眼前顯示.對(duì)有限元模型每個(gè)顯示對(duì)象的每個(gè)面上的每個(gè)點(diǎn)都進(jìn)行上述處理后,即可得到消除隱藏面的有限元模型.某機(jī)翼盒段結(jié)構(gòu)三維網(wǎng)格模型見圖4.

        3 后處理關(guān)鍵功能設(shè)計(jì)

        3.1 彩色云圖繪制

        有限元數(shù)值結(jié)果主要包括位移、應(yīng)力和應(yīng)變等信息,相應(yīng)的后處理程序以彩色云圖的繪制為主要內(nèi)容,以便能快速準(zhǔn)確地掌握模型中物理量的客觀分布以及極值的大小和位置等.

        在計(jì)算結(jié)果平滑云圖的繪制過程中,彩色云圖繪制的關(guān)鍵之一是建立物理場量值與顏色的對(duì)應(yīng)關(guān)系.[8-9]通常,有限元計(jì)算結(jié)果數(shù)值較大且危險(xiǎn)的部位用紅色表示,數(shù)值結(jié)果較小且相對(duì)安全的部位用藍(lán)色表示.在HAJIF_PrePost模塊中彩色云圖的配色主要采用RGB方案,最小場值配色為藍(lán)色,最大場值配色為紅色,場值中值配色為綠色,物理量場值和顏色呈線性分布,見圖5.最后,通過OpenGL繪圖命令對(duì)模型進(jìn)行著色,并進(jìn)行繪制和填充,填充后的彩色云圖使有限元分析數(shù)據(jù)的描述更為直觀.某機(jī)翼盒段模型應(yīng)力云圖見圖6.

        3.2 變形圖繪制

        由于載荷作用,工程結(jié)構(gòu)會(huì)產(chǎn)生各自由度方向上的變形,經(jīng)有限元分析后體現(xiàn)為離散節(jié)點(diǎn)的位移.將節(jié)點(diǎn)位移以變形圖形式表現(xiàn)出來,有助于更直觀、更準(zhǔn)確有效地評(píng)價(jià)結(jié)構(gòu)的受力變形或振動(dòng)情況.[10]但是,離散結(jié)構(gòu)的節(jié)點(diǎn)位移相對(duì)于結(jié)構(gòu)尺寸要小得多,若直接將節(jié)點(diǎn)位移疊加到節(jié)點(diǎn)坐標(biāo)上并進(jìn)行離散結(jié)構(gòu)單元的重繪,由此得到的離散結(jié)構(gòu)變形圖幾乎看不出整體結(jié)構(gòu)的變形情況,因此需要對(duì)節(jié)點(diǎn)位移進(jìn)行適當(dāng)程度的放大.基于此,在HAJIF_PrePost模塊中將最大的節(jié)點(diǎn)位移放大到結(jié)構(gòu)尺寸的f倍,取f為0.15~0.2,模型變形圖的比例換算因子

        4 算 例

        為驗(yàn)證HAJIF軟件前后置模塊的實(shí)際性能,選取飛機(jī)機(jī)身結(jié)構(gòu)進(jìn)行驗(yàn)證.機(jī)身模型見圖8.該有限元模型包含928 768個(gè)節(jié)點(diǎn),由231 600個(gè)桿元和694 800個(gè)四邊形單元等近百萬個(gè)單元組成,在8GB內(nèi)存、2GB顯存的計(jì)算機(jī)上,應(yīng)用操作流暢,顯示效果良好,滿足使用要求.計(jì)算結(jié)果見圖9.

        5 結(jié)束語

        (1)通過封裝基本數(shù)據(jù)類派生出高級(jí)類的方法,建立面向?qū)ο蟮南到y(tǒng)架構(gòu),符合現(xiàn)代軟件的設(shè)計(jì)思想,大大提高HAJIF_PrePost模塊開發(fā)效率和可維護(hù)性,對(duì)于提高軟件質(zhì)量以及縮短開發(fā)周期具有現(xiàn)實(shí)意義.(2)HAJIF_PrePost模塊具有操作簡單、功能全面、可擴(kuò)展性強(qiáng)等特點(diǎn),給用戶帶來直觀的感受和操作的便利,提升國產(chǎn)CAE軟件HAJIF的競爭力,具有廣闊的發(fā)展前景,為進(jìn)一步市場開拓打下堅(jiān)實(shí)的基礎(chǔ).

        參考文獻(xiàn):

        [1] 孫俠生, 段世慧, 陳煥星. 堅(jiān)持自主創(chuàng)

        新 實(shí)現(xiàn)航空CAE軟件的產(chǎn)業(yè)化發(fā)展[J]. 計(jì)算機(jī)輔助工程, 2010, 19(1): 1-6. DOI: 10.3969/j.issn.1006-0871.2010.01.003.

        SUN X S, DUAN S H, CHEN H X. Keeping independent innovation, implementing industrialization development of aviation CAE software[J]. Computer Aided Engineering, 2010, 19(1): 1-6. DOI: 10.3969/j.issn.1006-0871.2010.01.003.

        [2] 魏守水, 張合寶, 姜春香, 等. 面向?qū)ο笪⒘黧w有限元分析軟件的設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2008, 25(10): 27-29. DOI: 10.3969/j.issn.1000-386X.2008.10.011.

        WEI S S, ZHANG H B, JIANG C X, et al. The design of object-oriented finite element analysis software for microfluid[J]. Computer Applications and Software, 2008, 25(10): 27-29. DOI: 10.3969/j.issn.1000-386X.2008.10.011.

        [3] 魏泳濤, 于建華, 陳君楷. 面向?qū)ο笥邢拊绦蛟O(shè)計(jì)——基本數(shù)據(jù)類[J]. 四川大學(xué)學(xué)報(bào)(工程科學(xué)版), 2001, 33(2): 17-21. DOI: 10.3969/j.issn.1009-3087.2001.02.005.

        WEI Y T, YU J H, CHEN J K. Object-oriented approach to the finite element programming: basic data classes[J]. Journal of Sichuan University(Engineering Science), 2001, 33(2): 17-21. DOI: 10.3969/j.issn.1009-3087.2001.02.005.

        [4] 羅劍鋒. Boost程序庫探秘——深度解析C++準(zhǔn)標(biāo)準(zhǔn)庫[M]. 北京: 清華大學(xué)出版社, 2012: 373-424.

        [5] 徐良寅, 李云鵬, 陳飆松. 面向超大規(guī)模有限元計(jì)算的通用可視化系統(tǒng)SiPESC.POST的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算力學(xué)學(xué)報(bào), 2015, 32(2): 220-224. DOI: 10.7511/jslx201502013.

        XU L Y, LI Y P, CHEN B S. Design and implementation of general visual system SiPESC.POST for large scale finite element computation[J]. Chinese Journal of Computational Mechanics, 2015, 32(2): 220-224. DOI: 10.7511/jslx201502013.

        [6] 林庚浩, 馬天寶, 寧建國. 三維有限差分計(jì)算中大規(guī)模網(wǎng)格生成及顯示技術(shù)[J]. 計(jì)算機(jī)輔助工程, 2012, 21(4): 1-5. DOI: 10.3969/j.issn.1006-0871.2012.04.001.

        LIN G H, MA T B, NING J G. Large-scale grid generation and display technology in 3D finite difference computation[J]. Computer Aided Engineering, 2012, 21(4): 1-5. DOI: 10.3969/j.issn.1006-0871.2012.04.001.

        [7] 簡學(xué)東, 陸玲, 莫桂花. Z緩沖消隱算法的改進(jìn)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2007, 24(9): 149-150. DOI: 10.3969/j.issn.1000-386X.2007.09.053.

        JIAN X D, LU L, MO G H. An improvement to Z-buffer hidden surface remove algorithm[J]. Computer Application and Software, 2007, 24(9): 149-150. DOI: 10.3969/j.issn.1000-386X.2007.09.053.

        [8] 李建波, 陳健云, 林皋. 針對(duì)三維有限元數(shù)據(jù)場的精確后處理算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2004, 16(8): 1169-1175. DOI: 10.3321/j.issn:1003-9775.2004.08.024.

        LI J B, CHEN J Y, LIN G. Precise visualiztation algorithm for the post-processing of 3D finite element model[J]. Journal of Computer Aided Design & Computer Graphics, 2004, 16(8): 1169-1175. DOI: 10.3321/j.issn:1003-9775.2004.08.024.

        [9] 周偉, 田紅旗, 高廣軍. 一種有限元科學(xué)計(jì)算可視化方法[J]. 工程圖學(xué)學(xué)報(bào), 2010, 31(5): 112-117. DOI: 10.3969/j.issn.1003-0158.2010.05.019.

        ZHOU W, TIAN H Q, GAO G J. Visualization in scientific computation of FEM[J]. Journal of Engineering Graphics, 2010, 31(5): 112-117. DOI: 10.3969/j.issn.1003-0158.2010.05.019.

        [10] 倪昱, 金建海, 單威俊. 艦船綜合水動(dòng)力分析虛擬試驗(yàn)系統(tǒng)中試驗(yàn)結(jié)果的可視化關(guān)鍵技術(shù)研究[J]. 船海工程, 2013, 42(2): 8-12. DOI: 10.3963/j.issn.1671-7953.2013.02.003.

        NI Y, JIN J H, SHAN W J. Key techniques of visualization of virtual experimental result in ship hydrodynamic performance analysis system[J]. Ship & Ocean Engineering, 2013, 42(2): 8-12. DOI: 10.3963/j.issn.1671-7953.2013.02.003.

        猜你喜歡
        面向?qū)ο蟪绦蛟O(shè)計(jì)前處理后處理
        果樹防凍措施及凍后處理
        乏燃料后處理的大廠夢(mèng)
        能源(2018年10期)2018-12-08 08:02:48
        基于MOOC的編譯原理分階段課程教學(xué)研究
        蔬菜中農(nóng)藥殘留檢測(cè)前處理方法對(duì)比研究
        土壤樣品中農(nóng)藥殘留前處理方法的研究進(jìn)展
        CDIO理念下《面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)改革研究
        科技視界(2016年16期)2016-06-29 21:58:51
        獨(dú)立學(xué)院面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)模式的探討與實(shí)踐
        考試周刊(2016年43期)2016-06-18 17:32:22
        LIMS系統(tǒng)在橡塑制品檢測(cè)行業(yè)中的應(yīng)用
        乏燃料后處理困局
        能源(2016年10期)2016-02-28 11:33:30
        軟件工程專業(yè)面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)改革研究
        科技視界(2016年4期)2016-02-22 12:31:42
        东北女人毛多水多牲交视频| 中文字幕视频二区三区| 人妖与人妖免费黄色片| 91麻豆精品国产91久久麻豆| 亚洲av无码一区东京热久久| 最近中文字幕完整版免费 | 成年人观看视频在线播放| 亚洲欧美日韩另类精品一区| 久久精品娱乐亚洲领先| 久久精品国产亚洲不av麻豆 | 国产精品麻豆成人av电影艾秋 | 日本激情视频一区在线观看| 99久久精品人妻一区| 中文字幕久久波多野结衣av不卡| 少妇厨房愉情理伦bd在线观看 | 国产自产av一区二区三区性色| 91精品国产乱码久久久| 日本二区在线视频观看| 全黄性性激高免费视频| 成年午夜无码av片在线观看| 亚洲精品日本| 神马不卡影院在线播放| 亚洲国产中文字幕视频| 免费观看的av毛片的网站| 精品国产av无码一道| 国产三级三级三级看三级日本| 精品日本一区二区三区| 天天爽夜夜爽人人爽| 失禁大喷潮在线播放| 日韩中文字幕网站| 日本免费一区二区久久久| 特黄 做受又硬又粗又大视频| 亚洲人成网站18禁止久久影院| 中文字幕久热精品视频免费| 久久精品日韩免费视频| 亚洲中文久久精品字幕| 免费a级毛片无码| 国产在线观看黄| av男人的天堂第三区| 色综合天天综合欧美综合 | 又黄又爽又色又刺激的视频|