(交通運(yùn)輸部公路科學(xué)研究所,北京 100088)
對(duì)照計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,在橋梁結(jié)構(gòu)設(shè)計(jì)中,越來越重視橋梁三維模型的建立,橋梁三維模型既可用于顯示橋梁設(shè)計(jì)細(xì)節(jié),也可用來直接進(jìn)行力學(xué)分析和形成2D施工設(shè)計(jì)圖。相對(duì)平面模型而言,橋梁結(jié)構(gòu)的實(shí)體單元模型可以更精確地模擬橋梁實(shí)際受力狀態(tài),隨著計(jì)算機(jī)計(jì)算性能的逐步提高,實(shí)體有限元模型將會(huì)逐步應(yīng)用到橋梁結(jié)構(gòu)設(shè)計(jì)分析中[1-2]。
空間有限元模型的建模更加復(fù)雜,GQJS系統(tǒng)是在橋梁設(shè)計(jì)基本參數(shù)基礎(chǔ)上,建立橋梁三維有限元模型。混凝土橋梁采用12節(jié)點(diǎn)實(shí)體單元,鋼箱梁橋梁采用板殼單元,鋼筋、拉索及支撐采用桿單元等。對(duì)于鋼筋混凝土和預(yù)應(yīng)力混凝土結(jié)構(gòu),鋼筋采用空間桿單元,按實(shí)際位置建立有限元模型,鋼筋坐標(biāo)位置和單元節(jié)點(diǎn)編號(hào)相對(duì)獨(dú)立,計(jì)算時(shí)鋼筋與主結(jié)構(gòu)之間通過位移協(xié)調(diào)關(guān)系參與結(jié)構(gòu)受力。
三維有限元結(jié)構(gòu)的建模與顯示是分不開的,GQJS系統(tǒng)基于OpenGL圖形庫函數(shù)采用面相對(duì)象語言C#開發(fā)圖形顯示平臺(tái),可以實(shí)時(shí)瀏覽和查詢?nèi)S有限元模型及單元信息數(shù)據(jù)。OpenGL是一個(gè)性能卓越的三維圖形標(biāo)準(zhǔn),具有使用簡(jiǎn)便,功能強(qiáng)度等特點(diǎn)[3-4],它是在SGI等多家世界聞名的計(jì)算機(jī)公司的倡導(dǎo)下,以SGI的GL三維圖形庫為基礎(chǔ)制定的一個(gè)通用共享的開放式三維圖形標(biāo)準(zhǔn)。目前,包括Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL為三維圖形標(biāo)準(zhǔn),許多軟件廠商也紛紛以O(shè)penGL為基礎(chǔ)開發(fā)出自己的產(chǎn)品,其中比較著名的產(chǎn)品包括動(dòng)畫制作軟件Soft Image和3D Studio MAX、仿真軟件Open Inventor、VR軟件World Tool Kit、CAM軟件ProEngineer、GIS軟ARC/INFO等。
為使建模過程操作直觀、方便,按照橋梁結(jié)構(gòu)所在部位和功能,系統(tǒng)將橋梁結(jié)構(gòu)分為橋面系單元、非橋面系單元、拉索單元、支撐桿件元四部分。
橋面系單元是指橋梁上部與車輪接觸的主承重結(jié)構(gòu)單元; 非橋面系單元是指橋墩、塔柱、拱圈等不與車輪接觸的結(jié)構(gòu)單元; 拉索單元用以模擬斜拉橋拉索以及懸索橋或中承式拱橋的吊桿等索結(jié)構(gòu)單元; 支撐桿件元用以模擬結(jié)構(gòu)支撐邊界條件。
根據(jù)不同單元組的特點(diǎn)分別設(shè)計(jì)數(shù)據(jù)輸入界面,以輸入、檢查和修改單元坐標(biāo)、結(jié)構(gòu)材料、截面幾何等有限元計(jì)算所需信息。其中橋面系單元坐標(biāo)信息用節(jié)點(diǎn)號(hào)、單元長(zhǎng)度、起點(diǎn)樁號(hào)描述,見圖1。程序可根據(jù)路線平曲線、豎曲線信息計(jì)算出各單元節(jié)點(diǎn)坐標(biāo)。橋梁支撐約束給出水平、垂直、轉(zhuǎn)角及橫向四個(gè)方向的約束,約束位置用該約束點(diǎn)路線樁號(hào)、距橋面的距離描述,然后由程序根據(jù)橫橋向信息自動(dòng)生成全橋空間有限元分析所需的結(jié)構(gòu)約束信息,各單元組空間位置相對(duì)獨(dú)立。
圖1 橋面系界面圖
1.2.1 變截面梁段內(nèi)差處理
在橋梁結(jié)構(gòu)形式中,變截面橋梁是一種很普遍的形式,其截面沿橋面軸線變化。如果采用一般方法建模,將要輸入大量截面,工作效率較低,且準(zhǔn)確性難以保證,GQJS系統(tǒng)采用拉格朗日差值法建立了單元內(nèi)差功能,可以方便地對(duì)等截面或變截面梁橋、拱橋的拱圈以及下部結(jié)構(gòu)等進(jìn)行單元重新劃分,自動(dòng)生成內(nèi)差單元的相關(guān)數(shù)據(jù)。
節(jié)段單元內(nèi)差的劃分形式,總共有四種:直線; 冪函數(shù); 二次拋物線(內(nèi)差1個(gè)參考截面); 三次拋物線(內(nèi)差2個(gè)參考截面)。以冪函數(shù)為例,要輸入截面頂板曲線冪值、頂板曲線頂點(diǎn)樁號(hào)、截面底板上緣曲線冪值、底板上緣曲線頂點(diǎn)樁號(hào)、截面底板下緣曲線冪值、底板下緣曲線頂點(diǎn)樁號(hào)。這里將截面計(jì)算點(diǎn)分為3個(gè)區(qū)域,頂板點(diǎn)為位于二分之一梁高以上的區(qū)域內(nèi)的點(diǎn); 底板下緣為截面底邊上的點(diǎn); 底板上緣點(diǎn)為位于二分之一梁高和底板下緣之間的所有點(diǎn)。內(nèi)差單元節(jié)點(diǎn)坐標(biāo)和截面3個(gè)區(qū)域計(jì)算點(diǎn)分別按不同的冪函數(shù)計(jì)算。冪函數(shù)方程表達(dá)式為:
y=a(x-x0)n+b
式中,──為曲線頂點(diǎn)坐標(biāo);
n──為冪值可以是整數(shù)或?qū)崝?shù),如1、1.5、2、2.5等;
a、b──兩個(gè)未知系數(shù),可根據(jù)單元i、j端已知的x和y值確定。
系統(tǒng)將根據(jù)選中單元i、j端以及一或兩個(gè)內(nèi)差參考截面按所選的內(nèi)差方式和單元?jiǎng)澐址桨高M(jìn)行曲線擬合計(jì)算,自動(dòng)生成內(nèi)差單元節(jié)點(diǎn)和截面的有關(guān)數(shù)據(jù),如圖2為二次拋物線方式內(nèi)差擬合的變截面梁段。對(duì)于結(jié)構(gòu)對(duì)稱橋梁,GQJS系統(tǒng)提供了單元信息鏡像功能,大大提供建模速度。
圖2 二次拋物線內(nèi)差梁段
1.2.3 鋼混組合梁橋建模
鋼混組合梁橋因能充分發(fā)揮不同材料的優(yōu)勢(shì),揚(yáng)長(zhǎng)避短,具有良好的綜合技術(shù)經(jīng)濟(jì)效益和社會(huì)效益,逐漸被工程師們廣泛采納。
由于鋼混組合梁截面的材料不同,建模過程不能以整體的截面建立模型,需對(duì)截面進(jìn)行拆分,分部考慮。GQJS系統(tǒng)采用靈活了的建模方式,可在橋面系單元和非橋面系單元中分別建立截面的各部構(gòu)件,各部分構(gòu)件單元?jiǎng)澐忠恢?,?jié)點(diǎn)可獨(dú)立。以某波形鋼腹板梁為例,頂板采用橋面系單元,鋼腹板和底板采用非橋面系單元,如圖3為三維有限元模型。
圖3 某波形鋼腹板梁段
1.3.1 空間梁桿單元
建立空間梁格模型時(shí),橋面系單元、非橋面系單元離散為空間梁?jiǎn)卧?2節(jié)點(diǎn)12自由度),拉索單元、支撐桿件元、鋼筋單元離散為空間桿單元(2節(jié)點(diǎn)6自由度),鋼筋單元與混凝單元之間通過剛臂連接。系統(tǒng)根據(jù)單元節(jié)點(diǎn)之間距離判斷連結(jié)狀態(tài),距離接近于0時(shí)由共用節(jié)點(diǎn)號(hào)連接相鄰單元,相鄰單元節(jié)點(diǎn)之間距離較大的,及結(jié)構(gòu)單元與支撐桿件之間用剛度很大的剛臂(梁?jiǎn)卧?連接。如圖4中(a)所示,紅色的鋼筋和黑色的主梁之間通過綠色的剛撐連接。此外,GQJS系統(tǒng)提供了空間梁格單元模型的實(shí)際輪廓線顯示功能,有助于用戶更好的理解計(jì)算模型,圖4中(b)展示了同一模型增加主梁輪廓線之后的模型三維預(yù)覽圖。
圖4 空間梁?jiǎn)卧P?/p>
1.3.2 空間實(shí)體單元
(1)實(shí)體單元網(wǎng)格劃分
橋面系單元、非橋面系單元沿軸線方向每個(gè)平面桿系單元?jiǎng)澐譃橐粋€(gè)12節(jié)點(diǎn)三維實(shí)體單元的單元組。每個(gè)單元組實(shí)體單元數(shù)由橫斷面網(wǎng)格劃分決定,即先根據(jù)橫斷面周邊連線特征將橫斷面劃分為若干個(gè)四邊形網(wǎng)格區(qū)域,如圖5中(a)所示的箱梁截面粗網(wǎng)格劃分情況,再根據(jù)控制信息中規(guī)定的實(shí)體單元橫橋向最大尺寸將每個(gè)四邊形各邊等分為若干段,以各段長(zhǎng)不超過實(shí)體單元橫橋向最大尺寸為原則,形成細(xì)四邊形網(wǎng)格區(qū)域,如圖5中(b)所示的箱梁截面細(xì)網(wǎng)格劃分情況。
經(jīng)過順橋向按單元長(zhǎng)度劃分和橫橋向細(xì)網(wǎng)格劃分,橋梁結(jié)構(gòu)被離散成許多組空間六面體單元。對(duì)每組單元節(jié)點(diǎn)進(jìn)行編號(hào),相鄰單元組之間的單元用位移協(xié)調(diào)方程指定相鄰節(jié)點(diǎn)位移關(guān)系,能夠有效地解決變截面梁實(shí)體單元?jiǎng)澐謫栴}。
(a)粗網(wǎng)格
(b)細(xì)網(wǎng)格圖5 箱梁截面網(wǎng)格劃分
(2)實(shí)體與桿單元連接
系統(tǒng)的空間實(shí)體模型采用12節(jié)點(diǎn)等參元單元模擬混凝土,用非線性桿單元模擬預(yù)應(yīng)力鋼筋,通過約束方程建立鋼筋單元和混凝土單元位移協(xié)調(diào)關(guān)系,用殼單元模擬薄板和剛腹板等。不同類型單元的節(jié)點(diǎn)坐標(biāo)相對(duì)獨(dú)立,通過節(jié)點(diǎn)耦合(節(jié)點(diǎn)位移約束方程)形成復(fù)雜預(yù)應(yīng)力混凝土橋梁的全橋計(jì)算模型。一個(gè)12節(jié)點(diǎn)實(shí)體單元和2個(gè)2節(jié)點(diǎn)桿單元(13-14, 14-15)組成的單元如下圖6所示。其中,桿單元的節(jié)點(diǎn)13, 14, 15不是獨(dú)立位移節(jié)點(diǎn),分別與其共面的4個(gè)實(shí)體單元節(jié)1-4, 5-7, 9-12通過位移約束方程建立相互聯(lián)系。
圖6 12節(jié)點(diǎn)實(shí)體單元與2節(jié)點(diǎn)桿單元連接示意圖
GQJS系統(tǒng)是根據(jù)與平面計(jì)算相同的界面參數(shù)自動(dòng)形成空間實(shí)體單元精細(xì)化計(jì)算模型的,實(shí)體單元?jiǎng)澐值拿芏瓤梢噪S時(shí)通過單元網(wǎng)格數(shù)、實(shí)體單元最大尺寸和長(zhǎng)短邊比例進(jìn)行調(diào)整,不需要計(jì)算空間節(jié)點(diǎn)坐標(biāo)和定義單元節(jié)點(diǎn)編號(hào)等,大大簡(jiǎn)化了建模過程。本文列出系統(tǒng)建立的幾種復(fù)雜橋梁三維空間結(jié)構(gòu)圖,如圖7、圖8所示:
圖7 主跨210m的S形彎預(yù)應(yīng)力混凝土連續(xù)剛構(gòu)橋空間模型
圖8 主跨320m的預(yù)應(yīng)力混凝土斜拉橋空間模型
圖9 類層構(gòu)架圖
在腫瘤細(xì)胞中分別瞬轉(zhuǎn)空載體和B7-H3真核表達(dá)載體,分別于轉(zhuǎn)染48 h以及72 h后收集細(xì)胞,提取蛋白,通過western blot方法檢測(cè)周期相關(guān)蛋白。在MDA-MB-231細(xì)胞中過表達(dá)B7-H3可使cyclin E的表達(dá)下降,而cyclin A和p27的表達(dá)上升。說明細(xì)胞周期被阻滯在了G1/S期。
圖形平臺(tái)的基本操作包括:平移、旋轉(zhuǎn)、縮放等功能,以下介紹平移、縮放、旋轉(zhuǎn)操作的基本原理[5]。
2.2.1 平移變換
三維圖形通過如下公式1平移變換矩陣,對(duì)圖形進(jìn)行平移處理:
(1)
公式1中,Tx,Ty,Tz分別為三維形體沿三個(gè)坐標(biāo)軸方向的平移分量。其中,x*,y*,z*為平移變換前的三維點(diǎn)的坐標(biāo),x,y,z為平移變換后的三維點(diǎn)的坐標(biāo)。
2.2.2 比例變換
相對(duì)于坐標(biāo)原點(diǎn)的比例變換矩陣為:
(2)
公式2中sx,sy,sz分別為沿著x,y,z三個(gè)方向的比例因子,圖形沿著三個(gè)方向被比例縮放。當(dāng)sx=sy=sz時(shí),表示各向均勻的放大(縮小); 當(dāng)sx=sy=1,sz=-1時(shí),表示對(duì)xoy平面的對(duì)稱變換; 當(dāng)sx=sy=sz=-1時(shí),表示對(duì)原點(diǎn)的對(duì)稱變換。相對(duì)于任意參考點(diǎn)變換時(shí),先將參考點(diǎn)平移到原點(diǎn)處后做比例變換。
2.2.3 繞坐標(biāo)軸的旋轉(zhuǎn)變換
在右手坐標(biāo)系下相對(duì)坐標(biāo)原點(diǎn)繞坐標(biāo)軸旋轉(zhuǎn)θ角的變換公式分為三種情況:
(1)繞x軸旋轉(zhuǎn)
(3)
(2)繞y軸旋轉(zhuǎn)
(4)
(3)繞z軸旋轉(zhuǎn)
(5)
旋轉(zhuǎn)變換示意如圖10所示:
圖10 繞坐標(biāo)軸旋轉(zhuǎn)變換
公式3~5中,x*,y*,z*為變換后坐標(biāo),x,y,z為變換前的坐標(biāo)。
2.2.4 繞任意坐標(biāo)軸的旋轉(zhuǎn)變換
繞過原點(diǎn)的任意軸旋轉(zhuǎn)θ角,若該軸方向向量為(n1,n2,n3),此時(shí)變換矩陣為公式(6):
過空間任意一點(diǎn)A的任意軸AB的旋轉(zhuǎn)變換可由下述變換復(fù)合而成:將A點(diǎn)平移至原點(diǎn),平移變換T; 繞過原點(diǎn)的任意軸進(jìn)行旋轉(zhuǎn)變換; 將旋轉(zhuǎn)后的圖形由原點(diǎn)到A點(diǎn)的平移變換(T的逆變換)。
結(jié)構(gòu)計(jì)算結(jié)果云圖包括位移云圖和應(yīng)力云圖,根據(jù)云圖顏色的分布情況,可以清楚地了解模型的計(jì)算結(jié)果。在OpenGL圖形庫函數(shù)中,是以空間三角形面為基本圖元進(jìn)行圖形繪制的,對(duì)于六面體實(shí)體單元,需將各個(gè)面劃分為三角形單元,每個(gè)面劃分兩個(gè)三角形單元,共12個(gè)三角形面,三角形單元面的顏色由節(jié)點(diǎn)控制,節(jié)點(diǎn)的不用顏色構(gòu)成整個(gè)面的顏色成階梯變化,反映計(jì)算結(jié)果的變化趨勢(shì)[6]。
對(duì)于結(jié)構(gòu)計(jì)算結(jié)果云圖而言,需要對(duì)模型的各個(gè)節(jié)點(diǎn)計(jì)算結(jié)果進(jìn)行顏色差值計(jì)算,顏色值由三個(gè)參數(shù)值控制,color:(a,b,c)。取值范圍:a: 0~225,b: 0~225,c: 0~225。采用九種顏色劃分。首先,獲得模型中所有節(jié)點(diǎn)結(jié)果分量的極值:最大值(Max)和最小值(min)后,其次,對(duì)各個(gè)節(jié)點(diǎn)結(jié)果分量進(jìn)行顏色插值計(jì)算,得到各個(gè)節(jié)點(diǎn)的顏色值,模型結(jié)果云圖由九種不同顏色劃分,極值顏色從藍(lán)色漸變到紅色,圖11為某波形鋼腹板梁的位移云圖。
實(shí)體單元模型在計(jì)算分析中,將會(huì)產(chǎn)生大量的計(jì)算結(jié)果信息,尤其在動(dòng)力計(jì)算過程中,當(dāng)模型單元數(shù)和計(jì)算時(shí)步較多時(shí),將會(huì)產(chǎn)生十分龐大的計(jì)算結(jié)果文件(包含每個(gè)時(shí)步的節(jié)點(diǎn)位移和節(jié)點(diǎn)應(yīng)力分量值)。如果一次讀取所有時(shí)步數(shù)據(jù),系統(tǒng)會(huì)出現(xiàn)內(nèi)存溢滿報(bào)錯(cuò)的情況。
(a)局部位移云圖
(b)全橋位移云圖圖11 主跨48m波形剛腹板組合簡(jiǎn)支橋位移云圖
(6)
因此,為解決此問題,本文提出了分步讀取計(jì)算結(jié)果文件的方法,具體思路是:以每個(gè)時(shí)步產(chǎn)生的計(jì)算結(jié)果文件作為一個(gè)整體讀取,記錄到數(shù)組中,然后顯示該時(shí)步的計(jì)算結(jié)果,讀取下一步前,清空數(shù)組中的數(shù)據(jù),再顯示該時(shí)步的計(jì)算結(jié)果,以此循環(huán)。通過此方法,能夠解決一定數(shù)量實(shí)體單元模型的計(jì)算結(jié)果讀取問題(單元數(shù)不大于10萬個(gè)單元,同時(shí)分析時(shí)步不大于900時(shí)步)。
在系統(tǒng)中,具體實(shí)現(xiàn)步驟為:首先,讀取原模型所有的節(jié)點(diǎn)和單元信息,記錄此時(shí)數(shù)組指針在結(jié)果文件中的位置; 其次,以模型節(jié)點(diǎn)數(shù)作為文件每步讀取的限值,并讀取模型節(jié)點(diǎn)的位移值和應(yīng)力分量值; 最后,在顯示函數(shù)中,導(dǎo)入將該時(shí)步的模型節(jié)點(diǎn)位移值和應(yīng)力值,清空數(shù)據(jù)存儲(chǔ)數(shù)組,繼續(xù)讀取下一時(shí)步的模型數(shù)據(jù),直至結(jié)束。
系統(tǒng)基于橋梁設(shè)計(jì)基本參數(shù)自動(dòng)建立各種復(fù)雜的三維有限元模型,證明了由平面模型轉(zhuǎn)化為空間模型是可行的。利用一套數(shù)據(jù)建立兩種計(jì)算模型,大大提高了橋梁設(shè)計(jì)工作效率,平面計(jì)算時(shí)可對(duì)橋梁施工全過程進(jìn)行分析,空間計(jì)算時(shí)可對(duì)橋梁分階段進(jìn)行靜力和動(dòng)力分析; 基于OpenGL圖形函數(shù)庫開發(fā)的圖形平臺(tái)可為三維有限元模型及計(jì)算結(jié)果的瀏覽和查詢提供強(qiáng)有力的支撐工具。
[1] 呂建鳴. 計(jì)算機(jī)在橋梁結(jié)構(gòu)分析領(lǐng)域的應(yīng)用[C].北京:第十二屆全國工程建設(shè)計(jì)算機(jī)應(yīng)用學(xué)術(shù)會(huì)議論文集, 2004.
[2] 呂建鳴, 楊昀.橋梁結(jié)構(gòu)分析技術(shù)的發(fā)展與展望[J].北京:公路交通科技, 2008.12.
[3] 尚游, 陳巖濤編著.OpenGL圖形程序設(shè)計(jì)指南[M].北京:中國水利水電出版社, 2001.112-113.
[4] 張建平, 余芳強(qiáng),吳大鵬,等.基于OpenGL的建筑施工虛擬仿真平臺(tái)的研究與開發(fā)[J].工程三維模型與虛擬現(xiàn)實(shí)表現(xiàn), 2001.
[5] Philip,J.Schneider,David H.Eberly.計(jì)算機(jī)圖形學(xué)幾何工具算法詳解[M].北京:電子工業(yè)出版社, 2004.110-130.
[6] 趙安. 圬工拱橋垮塌過程模擬前后處理關(guān)鍵技術(shù)研究[D].杭州:浙江工業(yè)大學(xué), 2011.5.