何勇



目前,市面上主流的通用結構有限元分析前處理器種類眾多,包括 Patran、Ansys、Abaqus、HyperMesh和 Femap等。這五款軟件在國內船舶行業均有應用,其中 Patran的用戶數量很多。本文結合筆者多年運用 Patran進行船舶結構有限元建模積累的經驗,為廣大同行介紹一些建模方面的技巧,以期對讀者有一些幫助。
一、網格劃分與編輯技巧
1.根據現有的節點撒種子
對于具有曲線邊界的面,例如首尾區域垂向加強的橫艙壁,橫艙壁與外板交線上的網格種子并不是等間距的,此時可先在橫艙壁與甲板的交線上生成等間距的節點,然后將這些節點投射到橫艙壁與外板的交線上,最后用Create\Mesh Seed\Tabular方法(Coordinate Type選Node and Point)根據投射得到的節點生成網格種子,這樣得到的網格種子可以保證橫向對齊。
2.徑向掃略
由低階單元變換得到高階單元時,Sweep\Element\ Extrude是一種經常使用的方法,此方法為線性掃略。但徑向掃略的作用也不容忽視,圖 1所示的立柱環筋的創建就是一個典型的例子。
徑向掃略通過 Sweep\Element\Radial Cyl.方法實現。掃略時,Axis填寫掃略平面的法向,Radial Distance填寫掃略距離,為正時背離原點掃略,為負時指向原點掃略。
3.跨越邊界的單元的修改
通過掃略創建甲板邊板殼單元時,在非平行中體區域,會出現最外側的一行單元跨越甲板邊線的情況,此時需移動節點將其拉回到甲板邊線上。有些用戶習慣使用 Modify\Node\Move方法實現這個目標,但這種方法要求輸入節點要移動到的新位置,而這個位置的坐標通常是未知的,因此需先通過求交點的方法找到這個位置。
更快捷的做法是使用 Modify\Node\Project方法,Project onto選 Surface,Direction選 Define Vector,即將節點沿指定的方向投射到指定的面上。為此,先用 Create\Surface\Extrude方法將甲板邊線沿垂向掃略成一個面,然后將節點沿橫向投射到這個面上,這樣可一次性完成所有節點的移動。
4.單元切割
手工修改網格時,經常需要對單元進行切割,可通過Modify\Tria|Quad\Split方法進行,該方法提供了多種切割模式。例如,對于四邊形單元,有圖 2(a)所示的 6種模式。可以看到,這 6種切割模式還是不夠豐富的,作為補充,Utilities>FEM-Elements>Break Elements菜單命令提供了更全面的切割模式,如圖 2(b)所示,用戶可按需選用。
(a)E lements模塊切割模式
(b)Ut ilities切割模式
二、單元賦屬性技巧
在 Patran中,單元賦屬性是一項很繁重的工作,因為與其他前處理器不同,Patran中沒有當前材料、板厚和梁截面的概念,因此所有單元必須指定屬性。此外,船舶結構包含大量的加強筋,用梁單元模擬這些加強筋時,賦屬性需指定方向矢量和偏置矢量,比較耗時。因此掌握一些單元賦屬性的技巧非常有必要。
1.自動賦屬性
使用 Create\Element\Edit方法手工創建單元時,可單擊操作面板上的 Select Existing Prop按鈕,在彈出的 Property Sets面板中選擇適當的單元屬性集,將新創建的單元添加到所選擇屬性集的作用區域中,從而實現自動賦屬性的功能。
2.在單元坐標系中填寫梁單元的偏置矢量
默認情況下,梁單元的偏置矢量以梁端節點的分析坐標系(默認情況下為全局坐標系)為參考進行填寫。這種填法的不便之處在于用戶需要隨時判斷偏置矢量的非零分量及其正負。例如,甲板縱骨的偏置矢量是 Z分量非零且為負;左舷舷側縱骨和右舷舷側縱骨的偏置矢量雖然都是 Y分量非零,但前者為負,而后者為正。當加強筋腹板不與某個主坐標平面平行時,偏置矢量的三個分量可能均為非零,填寫尤其麻煩。那么是否有一種更高效且不易出錯的填寫方法,使偏置矢量不隨加強筋的類型和方向而變呢?答案是肯定的,那就是在單元坐標系中填寫偏置矢量。
圖 3為底邊艙斜板(與水平面成 45°)縱骨(左舷,規格為 L125x80x8)的偏置矢量在全局坐標系和單元坐標系中的填寫方法,兩種方法產生的實際效果都如圖4所示,可以看出在單元坐標系中填寫更為方便。
(a)全局坐標系中
(b)單元坐標系中
將參考坐標系切換為單元坐標系的方法為向右拖動 Input Properties面板中的水平滾動條,將Offset @ Node1/2文本框最右側的下拉列表選項切換為 Element(默認為Analysis)。切換后便可在單元坐標系中填寫偏置矢量。為方便讀者參考,圖 5列出了三種常用加強筋截面(單元類型為 CBEAM)的單元坐標系。
3.使用局部坐標系作為梁單元的方向矢量
默認情況下,梁單元的方向矢量以第一個節點的分析坐標系(默認為全局坐標系)為參考進行填寫。在某些情況下,這種填法非常麻煩,圖 6所示的起重機立柱垂向加強筋就是一個典型的例子。
圖 6中各垂向加強筋每隔 45°均勻分布。很顯然,在全局坐標系中,各加強筋的方向矢量各不相同,這就意味著要為每根加強筋分別定義一個屬性集。事實上,Patran支持在用戶自己定義的局部坐標系中填寫方向矢量,方法為在填寫 Bar Orientation時,先輸入方向矢量,然后空一格再輸入“Coord n”(n為局部坐標系的編號),這樣就表示方向矢量以編號為 n的局部坐標系為參考。對于上例,可以以立柱的中心為原點創建一個柱坐標系(假設為Coord 2),這樣加強筋的方向矢量均沿該柱坐標系的徑向并指向原點,即方向矢量可填為“<-1 0 0> Coord 2”。
三、其他常用技巧
1.組的導出與導入
計算書送審或者在不同版本的 Patran之間傳遞有限元模型時,通常會用到 bdf文件,但是 bdf文件中并無模型分組的信息,當導入 bdf文件重新構建模型時,讀入的節點和單元將位于一個組中。如果模型比較復雜,不分組時模型操作是非常不便的,因此有必要重新生成原數據庫文件中的組,步驟如下。
(1)執行 Utilities>Group>Groups To Session File菜單命令,將創建組的命令寫入一個對話文件。
(2)導入 bdf文件后,執行 File>Session>Play菜單命令播放上一步生成的對話文件。
2.Region工具的使用
有時我們希望把某些節點或單元歸到一起,供后續的某些操作使用,但是為避免分組過多,且不希望把節點或單元放到一個組里,此時可以借助 Regions工具。創建 Region的菜單命令為 Tools>Regions,創建好的 Region可以作為載荷 /邊界條件和單元屬性集的作用區域,使用方法為在 Select Application Region面板中將Select切換為Region。
3.PCL表達式的應用
有時我們在 Patran中輸入的數據可能需要通過計算才能得到,此時大多數用戶的做法是先用計算器等外部工具算好再填入 Patran,利用 PCL表達式可以省略這個中間過程。以圖a)偏置矢量的填寫為例,用戶可以輸入“<0 `121*cosd(45)``-121*sind(45)`>”,單擊 Apply按鈕后 Patran將自動將表達式替換為其結果。用戶需特別注意表達式兩側的撇號,此符號位于鍵盤左上角,與“~”占據同一個鍵。