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

        ?

        PC有限元可視化前處理系統(tǒng)開發(fā)

        2012-07-06 13:02:30董新玉陳惟珍
        黑龍江大學工程學報 2012年3期
        關鍵詞:子域對話框預應力

        董新玉,陳惟珍

        (同濟大學 橋梁工程系,上海 200092)

        0 引 言

        在研究預應力混凝土結構開裂問題時,關心的是結構的局部應力,目前多采用SAP,ANSYS等有限元軟件將預應力筋離散為桿單元或索單元,將混凝土離散為實體單元進行分離式分析計算。由于要求預應力筋單元節(jié)點通過混凝土單元節(jié)點,這給曲線布筋的預應力混凝土結構網格劃分帶來了很大的困難。文獻 [1]針對有粘結預應力混凝土結構,在不考慮預應力筋滑移的前提下,提出采用嵌入模型模擬預應力筋的方法,嵌入模型見圖1。該方法在網格劃分時,允許預應力筋以任何方式穿過混凝土單元,從理論上解決了預應力混凝土結構網格劃分的難題。但是目前沒有針對嵌入模型的前處理系統(tǒng),采用常用的有限元軟件進行嵌入模型前處理非常不便。

        圖1 嵌入模型Fig.1 Embedded model

        本文提出了利用Visual C++和OpenGL圖形庫開發(fā)適用于嵌入模型的可視化前處理系統(tǒng)(命名為PC-Pre)的方法。Visual C++是微軟公司研發(fā)的面向對象的可視化開發(fā)工具,包括了綜合的微軟基本類庫(MFC Library),提供有復雜的資源編輯器,這使得開發(fā)Widows應用程序變得簡單高效。OpenGL是SGI公司開發(fā)的一個高性能圖形開發(fā)軟件包。作為圖形硬件的軟件接口,OpenGL包括了100多個圖形操作函數(shù),開發(fā)者可以利用這些函數(shù)構造景物模型、進行三維圖形交互軟件的開發(fā)。OpenGL已經成為開發(fā)可移植、可交互的2D和3D圖形應用程序的首選環(huán)境[2]。

        1 PC-Pre的內容和功能

        PC-Pre在進行預應力混凝土結構有限元前處理時具有自身獨特的優(yōu)勢,主要內容和功能如下:

        1)用戶可以在截面庫中選擇截面類型,然后利用關鍵截面建立混凝土實體模型。

        2)可以建立空間預應力筋模型。

        3)根據輸入的網格劃分控制參數(shù)自動對混凝土和預應力筋進行網格劃分。

        4)具備圖形操作功能,提供了10個典型的觀察視圖,且可對圖形進行平移、縮放和旋轉操作。

        2 PC-Pre的基本原理

        2.1 混凝土實體模型建立的基本原理

        結構體沿體內某一直線或曲線其斷面形式不變,斷面尺寸可以不同,稱這種結構為單一截面形式結構。對于這類結構可以選取結構的若干關鍵截面,利用相鄰關鍵截面上對應點的坐標通過線形插值的方法計算相鄰關鍵截面間結構體上點的坐標,即通過選取若干關鍵截面可以真實還原或近似模擬整個結構體[3]。

        2.2 預應力筋模型建立的基本原理

        預應力筋線形最復雜的情況為空間曲線,將預應力筋向相互垂直的兩個平面內投影,投影線條一般由直線段和圓弧段組成,因此可用分段函數(shù)來描述。假設向yoz和xoz平面投影,xoz平面內的投影方程可表示為x(z),yoz平面內的投影方程可表示為y(z),由此可得預應力筋參數(shù)方程為:z=z;x=x(z);y=y(tǒng)(z),其中a≦z≦b。

        2.3 網格劃分的基本原理

        2.3.1 混凝土單元劃分

        關鍵截面將混凝土實體模型分成若干節(jié)段,網格劃分時可先將每個節(jié)段按相同的方式分割成形狀簡單、便于網格劃分的子域,再對每個子域進行網格劃分[4]。根據子域各方向分段數(shù)目,利用子域的角點坐標按線性插值的方法可求得單元節(jié)點坐標。

        2.3.2 混凝土單元節(jié)點編號

        將第1個單元的所有節(jié)點直接編號,后續(xù)單元需將其每個節(jié)點與所有已經編號的節(jié)點進行坐標比較。若單元的某個節(jié)點與編號為i的節(jié)點坐標相同,則將該單元的這個節(jié)點也編號為i;若與所有已經編號的節(jié)點的坐標都不相同,則賦予這個節(jié)點一個新的編號。

        由于網格劃分是逐子域進行節(jié)點編號,因此最后形成的整體結構的網格節(jié)點差與子域個數(shù)以及子域編號順序等因素有關。對于大型復雜的結構,整體結構的網格帶寬較大,故需要進行帶寬優(yōu)化。帶寬優(yōu)化的方法參見文獻 [5-7]。

        2.3.3 預應力筋單元劃分

        對于嵌入模型,預應力筋單元劃分主要包括:計算預應力筋與混凝土單元表面的交點,將相鄰交點間的線段作為一個預應力筋單元;計算預應力筋單元所在混凝土單元的編號。

        2.3.3.1 預應力筋與混凝土單元表面交點計算

        3 PC-Pre的具體實現(xiàn)技術

        3.1 數(shù)據結構設計

        數(shù)據結構是計算機存儲、組織數(shù)據的方式。PC-Pre用到的點、線、面和單元等基本元素可以通過定義數(shù)據結構進行表征。

        3.1.1 點數(shù)據結構

        3.1.2 線數(shù)據結構

        3.1.3 面數(shù)據結構

        3.1.4 以節(jié)點坐標定義單元數(shù)據結構

        3.1.5 以節(jié)點編號定義單元數(shù)據結構

        數(shù)組模板類CArray可以存放任意數(shù)據類型,而以其創(chuàng)建的對象能夠根據需要動態(tài)的增大或縮小。以上數(shù)據可以利用數(shù)組模板類CArray創(chuàng)建的對象進行存儲[8]。定義全局數(shù)組如下:

        CArray<CPoint,CPoint&>PTS-Node;//節(jié)點數(shù)組

        CArray < CXEleNodeCord,CXEleNode-Cord&>PTS-EleNodeCord;//單元節(jié)點坐標數(shù)組

        CArray < CXEleNodeNum,CXEleNode-Num&>PTS-EleNodeNum;//單元節(jié)點編號數(shù)組

        3.2 建立混凝土實體模型

        根據結構的復雜情況和所需的模擬精度可將結構分為若干節(jié)段來建立實體模型。節(jié)段信息對話框見圖2。對話框中節(jié)點坐標為該節(jié)段端截面局部坐標系原點在整體坐標下的坐標,單擊左、右截面按鈕分別彈出左、右截面參數(shù)對話框,在截面參數(shù)對話框中可輸入相應截面的控制參數(shù)。

        圖2 節(jié)段信息對話框Fig.2 Segment dialog box

        編制響應單擊截面參數(shù)對話框中確定按鈕的函數(shù),該函數(shù)首先求得截面頂點局部坐標,然后順序調用旋轉變換函數(shù)和平移變換函數(shù),通過兩次坐標變換將截面頂點局部坐標轉換為整體坐標。截面局部坐標系和整體坐標系關系如下:

        截面局部坐標系x軸方向由左節(jié)點指向右節(jié)點;

        當左右節(jié)點z值不等時,截面局部坐標系y軸與整體坐標系x軸方向相同;否則平行于整體坐標系xoy平面,選取與整體坐標系x軸正向夾角較小的指向。

        平移變換公式簡單,不再贅述。旋轉變換公式[9]為:

        其中(x′,y′,z′)為變換前坐標,(x,y,z)為變換后坐標,li,mi,ni分別為整體坐標系xi軸與截面局部坐標系x軸、y軸、z軸夾角的余弦。

        3.3 建立預應力筋幾何模型

        預應力筋投影為平面曲線,一般由直線段和圓弧構成,可利用導線法建立。由用戶給定導線點二維坐標,對于圓弧還要給定半徑以及開口方向。

        3.4 網格劃分

        為不同類型截面設計網格劃分對話框,利用該對話框用戶可以輸入子域沿橫向和豎向的分段數(shù)目。圖3為單箱單室箱梁網格劃分參數(shù)對話框。留心的讀者可能已經發(fā)現(xiàn),子域沿縱向分段數(shù)目在節(jié)段信息對話框中輸入。

        圖3 單箱單室箱梁網格劃分參數(shù)對話框Fig.3 Meshing dialog box for single cell box girder

        單獨添加類,在類中添加子域劃分函數(shù)、混凝土單元節(jié)點編號函數(shù)和預應力筋劃分函數(shù)。子域劃分函數(shù)以子域角點坐標和子域沿縱向、橫向、豎向分段數(shù)目為參數(shù),按照線性插值方法計算單元節(jié)點坐標,并將每一單元所有節(jié)點坐標作為一個元素添加到混凝土單元節(jié)點坐標數(shù)組中。混凝土單元節(jié)點編號函數(shù)按照圖4編制。預應力筋劃分算法如下:

        1)為所有混凝土單元表面進行編號,對應頂點坐標都相同的兩個表面認為是同一個面;

        2)計算預應力筋與編號表面的交點;

        3)將計算所得交點按某坐標排序,相鄰交點間的線段作為一個預應力筋單元;

        4)計算預應力筋單元所在混凝土單元編號。

        為網格劃分對話框添加類。在類中逐子域調用子域劃分函數(shù),然后調用混凝土單元節(jié)點編號函數(shù),最后調用預應力筋劃分函數(shù)即可實現(xiàn)整個模型的網格劃分。

        3.5 三維圖形繪制技術

        OpenGL與Windows操作系統(tǒng)中的GDI相比具有靈活、方便、高效的特點。應用Visual C++與OpenGL進行聯(lián)合編程,需要構建OpenGL程序框架,實現(xiàn)Visual C++與OpenGL圖形接口的鏈接。具體實現(xiàn)方法參見文獻 [10]。

        3.5.1 混凝土實體模型的繪制

        OpenGL中,對于三維實體最簡單的方式是用一組包圍物體內部的平面多邊形來表示[11]。PCPre將結構模型的外表面劃分為若干個三角片元,繪制出所有的三角片元也就實現(xiàn)了結構模型的三維顯示。三角片元采用GL_TRIANGLES圖元繪制。

        為使繪制的三維圖形更具真實感需要使用光照,這就要求為每個三角片元指定法向量。利用向量叉乘的方法計算三角片元法向量,然后通過gl-Normal3dv()函數(shù)告知計算機。圖5為采用PCPre建立的長10m,高5m的單箱單室箱梁幾何模型。

        3.5.2 預應力筋幾何模型的繪制

        在預應力筋曲線段選取足夠多的插值點,將預應力筋空間曲線轉化為空間折線。利用Open-GL中的GL_LINES圖元繪制出所有的折線段即可。

        圖4 節(jié)點編號流程圖Fig.4 Flow diagram for node numbering

        3.5.3 有限元模型的繪制

        在繪制完成的混凝土實體模型的基礎上,采用區(qū)別于實體模型的顏色利用GL_LINES圖元將混凝土單元的楞繪制出來,就實現(xiàn)了有限元模型的繪制。OpenGL中,采用glColor()函數(shù)設置接下來的繪圖顏色。圖6為采用PC-Pre建立的長10m,高5m的單箱單室箱梁有限元模型。

        3.6 視圖功能實現(xiàn)

        圖形變換是圖形制作和顯示中的重要內容,OpenGL提供了豐富的圖形變換函數(shù)。利用Open-GL中的視點變換和模型變換可以完成視圖功能的開發(fā)。

        使用三維CAD軟件時,為了觀察的需要,經常需要進行典型觀察視圖的選擇,PC-Pre定義了10個典型的觀察視圖。定義觀察視圖實際上就是定義觀察者的位置和視線的方向,可以通過視點變換來實現(xiàn)。OpenGl提供的函數(shù)gluLookAt()[12]可以方便的完成此項功能。

        通過模型變換可以實現(xiàn)圖形平移、旋轉和縮放功能。OpenGL中有3個用于模型變換的函數(shù),glTranslate*()、glRotate*()和 glScale*(),他們分別通過平移、旋轉和縮放來操作一個指定的對象。利用模型變換函數(shù)并結合鼠標事件,可以實現(xiàn)以下功能:當按下鼠標左鍵時圖形跟隨鼠標平移;當按下鼠標右鍵時圖形跟隨鼠標旋轉;當轉動滾輪時圖形產生縮放。

        4 結 論

        本文利用Visual C++并結合OpenGL圖形庫完成了簡易的有限元可視化前處理系統(tǒng)開發(fā)。該系統(tǒng)實現(xiàn)了三維實體結構的參數(shù)化建模,并且具備滿足嵌入模型要求的網格劃分功能,解決了預應力混凝土結構網格劃分不便的難題。另外該系統(tǒng)具有良好的三維視圖功能,用戶可以方便直觀地觀察所建模型。

        [1]王藝橋.預應力混凝土橋混凝土合理應力狀態(tài)研究[D].上海:同濟大學,2012.

        [2]于 淼,焦淑紅.基于VC++與OpenGL的船舶三維模型可視化應用 [J].信息技術,2011,(6):161-163.

        [3]梁 柱.預應力混凝土箱梁三維實體單元分析前處理程序開發(fā)與應用 [D].杭州:浙江大學,2005.

        [4]安曉衛(wèi),邵偉平.用于二維和三維問題的有限元前處理程序 [J].機械設計與制造,1995(1):21-23.

        [5]杜憲亭,夏 禾,龍佩恒,等.一種RCM有限元帶寬優(yōu)化改進算法 [J].計算力學學報,2010,27(4):694-697.

        [6]Rafael Mart,Vicente Camposa,Estefan a Pi″anaa.A branch and bound algorithm for the matrix bandwidth minimization [J].Europ-ean Journal of Operational Research,2008,186(2):513-528.

        [7]江雄心,萬平榮.三維有限元網格節(jié)點編號優(yōu)化 [J].工程圖學學報,2008,(4):22-26.

        [8]呂希奎,周小平.實戰(zhàn)OpenGL三維可視化系統(tǒng)開發(fā)與源碼精解 [M].北京:電子工業(yè)出版社,2009.

        [9]朱伯芳.有限元法的原理與應用 [M].北京:中國水利水電出版社,1998.

        [10]吳 遜.VC++與OpenGL混合編程實現(xiàn)三維圖形處理 [J].軟件導航,2011,10(8):160-161.

        [11]成思源,張群瞻.計算機圖形學 [M].北京:冶金工業(yè)出版社,2003.

        [12]王清輝,王 彪.Visual C++CAD應用程序開發(fā)技術 [M].北京:機械工業(yè)出版社,2003.

        猜你喜歡
        子域對話框預應力
        采用UHPC實現(xiàn)無預應力的簡支變連續(xù)設計分析
        結構工程師(2022年2期)2022-07-15 02:24:02
        無黏結預應力框架結構的拆改加固設計
        結構工程師(2022年2期)2022-07-15 02:23:50
        基于鏡像選擇序優(yōu)化的MART算法
        電子學報(2022年2期)2022-04-18 14:42:24
        基于子域解析元素法的煤礦疏降水量預測研究
        煤炭工程(2021年7期)2021-07-27 09:34:20
        正?;謴吞摂M機
        預應力混凝土橋梁檢測及其加固
        活力(2019年19期)2020-01-06 07:35:56
        Bootlace Worms’Secret etc.
        中學科技(2018年12期)2018-12-19 11:22:28
        一種基于壓縮感知的三維導體目標電磁散射問題的快速求解方法
        物理學報(2018年10期)2018-06-14 08:48:48
        CFRP-PCPs復合筋預應力損失分析及其計算
        快速抓取對話框中的完整信息
        電腦迷(2012年22期)2012-04-29 20:30:54
        黄片视频免费观看蜜桃| 亚洲中文字幕乱码免费| 在厨房拨开内裤进入毛片| 男人的天堂一区二av| 国产美女精品视频线免费播放软件| 日本一道综合久久aⅴ免费 | 激情综合五月婷婷久久| 国产日产韩国av在线| 成人女同av在线观看网站| 欧美激情一区二区三区| 亚洲国产天堂久久综合网| 天堂√在线中文官网在线| 免费观看的av毛片的网站| 人人爽久久涩噜噜噜av| 97在线观看| 久久久久久免费毛片精品| 亚洲国产成人久久一区www| 97一区二区国产好的精华液| 欧美黑人乱大交| 免费中文熟妇在线影片| 免费一区二区三区视频狠狠| 啪啪网站免费观看| 国产精品女丝袜白丝袜| 日本女优一区二区在线免费观看| 玩弄极品少妇被弄到高潮| 在线视频播放观看免费| 国产av一区二区制服丝袜美腿| 亚洲av熟女少妇一区二区三区| 人妻少妇av中文字幕乱码| 久久精品蜜桃亚洲av高清| 美女午夜福利视频网址| 天天躁夜夜躁狠狠躁2021| 久久久久久亚洲精品中文字幕| 久久久久久久综合狠狠综合| 青春草国产视频| 久久亚洲国产精品123区| 风流少妇一区二区三区91| av在线免费观看麻豆| 国产精品成人一区二区不卡| 亚洲中文字幕国产视频| 国产精品无码人妻在线|