李 敏,張世聯
(上海交通大學,上海200204)
船體橫剖面特性包括剖面面積、剖面中和軸高度、剖面慣性矩等,是船體結構設計和強度計算中的重要參數,在有限元分析過程中經常使用。例如,在艙段有限元分析中施加艙段邊界MPC 約束時需要剖面中和軸高度;某些情況下對有限元計算結果進行理論分析驗證時,需要剖面慣性矩。
現有計算剖面特性的軟件大部分需單獨建立剖面模型,并未直接基于有限元模型(如法國船級社(BV)Mars 2000 軟件),給有限元直接計算分析帶來不便。唐旭東[1]提出了基于PCL 語言的剖面特性計算方法,該方法以Patran 內部的質量特性計算程序為基礎,通過計算剖面處單元的質量、質心和轉動慣量推導出剖面特性值。該方法忽略了梁單元的偏心,且計算結果相當于單元前后剖面特性的平均值,對于船體梁剖面特性變化較大的部位有一定誤差。中國船級社(CCS)CSR-DSA 插件可計算剖面中和軸位置,但基于相同方法,存在同樣的問題,且該插件未給出剖面面積和慣性矩。
本文基于PCL 語言編寫直接從Patran 模型數據庫中讀取單元和節點信息計算剖面特性的程序。通過選定剖面處單元和節點,直接從單元幾何信息出發,計算剖面處縱向單元剖面積、靜距、慣性矩,并給出剖面水平中和軸高度及對中和軸的慣性矩。程序考慮梁單元偏心,并可根據用戶選取的剖面單元和節點智能識別出縱向單元,剔除不應計入剖面特性的橫向單元,操作非常方便。程序計算完全基于所選剖面處的幾何信息,對于剖面特性變化較大的部位(如靠近船首、尾處)也能準確計算剖面特性值。
PCL(Patran Command Language)是MSC 公司有限元分析軟件Patran 的二次開發語言,其語法與C、FORTRAN和VB 語言相似。PCL 語言具有強大的處理能力,能夠直接對Patran 模型進行存取、修改和計算,控制Patran 批量建模和加載,并且支持開發交互式的用戶界面,大幅拓展了Patran 的二次開發應用。
剖面面積、到基線的靜矩和慣性矩為:

式中:Ai為各單元的剖面積;Zi為各單元形心距基線高度;I0i為各單元自身慣性矩,按2.2 節計算。
中和軸高度按下式計算:

中和軸慣性矩按下式計算:

根據材料力學,對于高為h、寬為b 的垂直矩形剖面,其自身慣性矩為:

在舭部和靠近船首尾剖面處外板傾斜,骨材也因垂直于外板而與水平方向呈一定夾角,以下推導任意夾角下板單元、梁單元自身慣性矩計算公式。

對于圖1(a)中傾斜板單元剖面,計算時通常將其等效為圖1(b)所示的垂直長方形剖面,其剖面慣性矩為:此等效方法沒有完全計入陰影區域三角形對剖面慣性矩的貢獻。設三角形自身慣性矩為i0,面積為A,三角形形心距斜邊高度為Δh,幾何參數如圖1(c)所示。該等效方法的慣性矩損失為:

由幾何關系,三角形面積為:

三角形形心高度為:

將式(8)和式(7)帶入式(6)得:


圖1 傾斜板材剖面等效方法示意圖Fig.1 Equivalent method for section of inclined plate
故該傾斜板單元自身慣性矩為:

船用鋼材主要有扁鋼、球扁鋼、角鋼和T 型材,在Patran 模型中球扁鋼通常等效為角鋼。
傾斜扁鋼自身慣性矩的計算方法與傾斜板材相同。傾斜T 型材如圖2所示。設其腹板自身慣性矩為Iv1和Ih1;定義同上節Iv和Ih;T 型材面板自身慣性矩為Iv2和Ih2;腹板和面板剖面積分別為A1和A2;腹板和面板形心距T 型材形心的距離分別為v1和v2,腹板與水平方向的夾角為θ。應用傾斜板單元自身慣性矩公式,可推導得傾斜T 型材自身慣性矩公式:

式中:Iv為T 型材腹板剖面垂直于水平方向時的自身慣性矩;Ih為T 型材腹板剖面沿水平方向時的自身慣性矩。
傾斜T 型材自身慣性矩計算公式在形式上與傾斜板材相同。

圖2 傾斜T 型材剖面Fig.2 Section of inclined T-profile
傾斜角鋼如圖3所示,同理可推導得:

式中:Iv為角鋼腹板剖面垂直于水平方向時的自身慣性矩;Ih為角鋼腹板剖面沿水平方向時的自身慣性矩。
由于角鋼剖面不具有對稱性,自身慣性矩計算公式比扁鋼和T 型材多出慣性積項。
程序計算流程如圖4所示。
程序需用戶選取剖面處的所有節點和剖面一側單元,根據選取的單元和節點編號從Patran 模型數據庫中讀取相應單元幾何尺寸和坐標,需使用以下PCL 函數[2-6]:

圖3 傾斜角鋼剖面Fig.3 Section of inclined angle

圖4 計算流程Fig.4 Calculation flow
db_ get_ nodes 獲取節點坐標;
db_ get_ elem_ etop 獲取單元拓撲類型;
db_ get_ elem_ topology_ data 獲取拓撲數據;
db_ get_ nodes_ for_ elems 獲取節點編號;
db_ get_ region_ for_ elements 獲取屬性域;
db_ get_ prop_ value 獲取單元屬性;
db_ get_ beam_ section 獲取梁單元剖面類型;
bl_ get_ std_ beam_ section_ data 獲取梁單元剖面尺寸。
橫向單元不應計入剖面特性,但選取剖面單元時認為去除橫向單元非常麻煩,且容易失誤。因此程序開發了縱向單元的智能識別功能,根據單元節點與用戶選取的剖面節點的相對關系,篩選出應計入剖面特性的縱向單元,具體方法如下:
對于選中的板單元(包括三角形和四邊形單元),若恰有2 個單元節點屬于用戶選取的剖面節點組,則該板單元為縱向單元,應計入剖面特性。其余情況均不計入,如圖5 中1 ~3 號單元。
對于各梁單元,若恰有一個單元節點屬于用戶選取的橫剖面節點組,則該梁單元為縱向單元,應計入剖面特性,否則不應計入。

圖5 局部有限元結構剖面示意圖Fig.5 Section of local FEM model
對篩選后的板單元和梁單元,根據剖面節點坐標、板厚、梁剖面尺寸,梁偏移方向及偏移量,按第2 節原理計算剖面特性。
程序用戶界面如圖6所示,界面包括一個開關按鈕選擇是否考慮梁偏移、2 個選擇文本框輸入剖面單元和節點、1 個文本框輸出剖面計算結果,以及2 個按鈕控制程序運行和退出。創建控件需使用以下PCL 函數:
ui_ form_ create 建立窗體;
ui_ text_ create 建立文本框;
ui_ toggle_ create 建立開關按鈕;
ui_ selectframe_ create 建立選擇框;
ui_ selectdatabox_ create 建立選擇文本框;
ui_ button_ create 建立控制按鈕。
選取某中半橫剖面(見圖7)和某首部橫剖面(見圖8),采用本程序、Mars2000和CCS 的CSR-DSA插件計算剖面特性值,結果分別見表1和表2,可以得到:
1)對剖面面積,本程序計算結果與Mars2000 一致;
2)對中和軸高度,在中橫剖面處三者計算結果相差很小,在首部剖面處本程序計算結果和Mars2000 高度吻合,而CSR-DSA 計算結果與二者相比有一定偏差;
3)對剖面慣性矩,本程序計算結果與Mars2000 高度吻合。

圖6 程序界面Fig.6 The program interface

圖8 某首部橫剖面Fig.8 The bow section

表1 中橫剖面計算結果對比Tab.1 Comparison of results of the midship section

表2 首部橫剖面計算結果對比Tab.2 Comparison of results of the bow section
本文推導了傾斜板和骨材剖面自身慣性矩計算公式,并基于PCL 語言編寫了直接從Patran 模型數據庫讀取剖面節點、單元信息,計算剖面面積、中和軸高度、慣性矩的程序。程序計及梁單元的偏心,實現了智能識別縱向單元的功能,對剖面特性變化大的部位也能夠精確地計算出剖面特性值,計算結果與Mars2000 高度吻合。程序為船體有限元分析提供便利,同樣適用于其他有限元結構的剖面特性計算,有一定的實用價值。
[1]唐旭東.利用PCL 語言查看船體剖面特性[J].船舶結構,2011,22(3):27-29.
[2]Patran PCL and customization[M].MSC,2010.
[3]Patran PCL reference manual[M].MSC,2010.
[4]唐友宏,陳賓康.用MSC.Patran 的PCL 二次開發用戶界面[J].船海工程,2002(3):20-22.
[5]張軍彥,李昌華,李曉輝.基于MSC.Patran 界面的PCL二次開發[J].現代電子技術,2010(16):17-22.
[6]劉斌,韓慶,鐘小平.基于MSC.PCL 的飛機結構穩定性系統開發[J].科學技術與工程,2010,10(28):7082-7088.