Professor/林堉溢 教授
Name/林威延 No/685310046
──網格產生器──
簡介
一般有限元素法結構分析程式的前處理(Pre-Processing)部份通常包括以下幾個步驟:
幾何建構 |
↓ |
網格分割(Meshing) |
↓ |
假設模擬元素(Modeling) |
↓ |
網格編修(Mesh Refining) |
↓ |
給定材料性質 |
↓ |
給定荷重與邊界條件 |
↓ |
製作輸入檔 |
根據一般經驗顯示,影響最終分析結果之精確度之因素,尤以網格分割方式為最。本前處理器即是以「有效網格切割」之領域知識與專家經驗,歸納整理出若干系列之經驗法則,協助有限元素程式使用者選擇適當之網格切割方式,以期在最少之計算時間與最大精確度兩者間,獲致魚與熊掌得兼之利。
系統預期功能
本系統前期之主要功能在於擷取專家之網格分割知識,量化為若干經驗法則,使用者只須透過親切之人機界面輸入欲求解結構平面之邊界幾何(定義域),本系統即能建議並繪製出最佳網格。系統後期功能預期結合其它之輸入條件,如荷重、支承、材料性質等,自動製作輸入檔(以SSTAN程式為結構分析程式)。
系統限制
模擬元素假設部份初以PLANE元素為系統驗證元素,以方便初期程式寫作,日後可逐一擴充;結構平面幾何暫僅支援「圓形開孔之對稱平版」,圓孔周圍為欲分析位置。
系統驗證
以有限元素作業為系統驗證實例,SSTAN為有限元素分析程式
程式介紹
1.領域知識
完整的Mesh切割程式其基本圖素應包括圖層、頂點、直線、圓弧、圓、橢圓、平面、交點……等等,不同的幾何條件應有不同的輸入形式與定義方法。定義域(Domain)分為平面模式與立體模式兩種,其各具不同之定義型式,本程式初步支援之幾何形狀,以平面模式為主,原擬為具「不定位置與大小之圓孔」的矩形平版,使用者需輸入「圓孔半徑」、「圓孔中心坐標」、「矩形版之長寬」與「板厚」,但經與知識工程專家討論後,發現該情形下,節點編號、節點坐標、切割方式以及最後繪製切割結果,工程均十分繁浩複雜,非期限之內可完成,故現僅提供「兩對稱軸挖孔方形平版」,即圓形挖孔固定位於方形平版中央,使用者輸入值僅「圓孔半徑」、「矩形版之邊長」與「板厚」有意義,其餘輸入值目前均無效,可不輸入,若輸入值不符限制條件,系統拒絕執行並加以說明。其界面如下圖所示:
幾何形狀建構後,即是對定義域的分割。分割的目的不外乎三種:(1)產生的網格具有完好的形狀,並於定義域中的任一處均為漸進式分割(2)有效率的計算量,保證只有細微的計算成長率(3)具有幾何形狀上的彈性,以允許與多種不同類模型相連結。
切割網格的原則以其目的劃分,有如下兩類: 為求答案之精準--
Rule1:元素近似正方形
Rule2- 4:於以下幾種部位處分割較細微
a. 幾何形狀轉折(Deform)處
b. 外力作用(Loading Employment)處
c. 所欲分析(Desired Analyzing)處 為求計算效率--
Rule5:節點數不能太多
Rule6:節點數成長速率不能太大
其中,分割方式又分為漸進式與等分式等兩種,如下圖所示:
綜上所述,本程式採用以下數則法則,作為系統知識:
(1)於分析處分割較細微,且元素儘量成正方形
(2)於幾何形狀轉折處分割較細微,且元素儘量成正方形
(3)其餘部份以漸進式分割
(4)控制節點總數在一定範圍之間(如90-110)
至於其他相關法則,如幾何形狀轉折處、外力作用處切割較細微等等,均未寫入法則之中,尚待日後系統擴充。
2.Mesh切割流程圖
切割Mesh之流程圖如下:
3.物件樹
本程式之物件包括:
Input
儲存製作輸入檔之相關資料,如:荷重、邊界、材料性質等等
MeshGenerator
儲存Mesh切割所須之資訊,如總節點數、幾排9-Node元素、幾排4-Node元素、4-Node元素排列之型式等等>
Shape
儲存所欲分析結構之幾何形狀,目前只有圓形挖孔平版,日後可於此擴充其他形狀
Node
儲存節點相關資料,如節點編號、坐標值、束制條件、所屬元件編號等等
Element
儲存元件相官資料,如元件編號、組成節點編號、材料性質等等
以下即為本程式物件數示意圖:
各物件Slot如下:
Global-
MeshGenerator-
RoundHollowedPlate-
Node-
4.法則
本程式之法則主要為切割Mesh時之判斷式,如下所示:
1.若MeshGenerator:nFinerRow =1
則RoundHollowedPlate:dFiner1 = 3.14 * RoundHollowedPlate:R / 12
2.若MeshGenerator:nFinerRow = 2
則RoundHollowedPlate:dFiner2 = 3.14 * ( RoundHollowedPlate:rFiner1 + RoundHollowedPlate:dFiner1) / 12
3.若Global:TotalNode< 115 And Global:TotalNode > 85
則Node:TotalNode = Global:TotalNode;
MeshGenerator:TotalNode = Global:TotalNode
4.若Global:TotalNode< 85
則RoundHollowedPlate:nFinerRow = 2;
ForwardChain( [ NOASSERT ] );
5.若Global:TotalNode> 115
則MeshGenerator:RoughType#=Equal
6.若MeshGenerator:RoughType #= Gradient And RoundHollowedPlate:nFinerRow == 1 And ( RoundHollowedPlate:D - RoundHollowedPlate:R - RoundHollowedPlate:dEnd - SendMessage(RoundHollowedPlate, temp ) ) > RoundHollowedPlate:dEnd
則If Not( Null?( RoundHollowedPlate:d1 ) )
Then RoundHollowedPlate:d2 = RoundHollowedPlate:d1
* 0.8
7.若MeshGenerator:RoughType #= Gradient
And RoundHollowedPlate:nFinerRow == 1 And ( RoundHollowedPlate:D
- RoundHollowedPlate:R - RoundHollowedPlate:dEnd - SendMessage(
RoundHollowedPlate, temp ) ) > RoundHollowedPlate:dEnd
則If Not( Null?( RoundHollowedPlate:d2 ) )
Then RoundHollowedPlate:d3 = RoundHollowedPlate:d2
* 0.8
5.訊息傳遞(Method與 Function)
在輸入幾何條件後,按下「產生網格」鈕後,首先設定9-Node元素為一排,並設定分割型式為漸進式,再傳遞「計算漸進式間距」之訊息給RoundHollowedPlate,然後計算總節點數,之後,啟動法則。
Function-MeshGenerator如下:
Function-CalculateTotalNode如下:
計算總節點數後,將值存入物件MeshGenerator的TotalNode中,即驅動「MakeNodeInstance」方法,建立節點Instances,並傳遞「DesideGroup」訊息給所有Node物件下之Instances,決定各節點編號與排數,其後再傳遞「CalculateCoordinates」之訊息給所有Node物件下之Instances
,計算每一節點的坐標,最後傳遞「DrawMesh」訊息給Node物件,繪製結果。
Method-MakeNodeInstance如下:
Method-DesideGroup如下:
計算漸進式間距最為麻煩,方法是:
先由最外圈算起,以正方形為原則,如邊長25,徑向切成6排,每排為15度,則最外圈之間距為25*Tan15,再取其高斯值,得7,記為d1;其後d2、d3、d4……均為前項之0.8倍,直到間距小於最內圈之間距值為止。
其它methods
Method-sum
Method-left
1.啟動本程式後,即進入歡迎畫面:
2.按下『Start』鈕,即進入編輯畫面:
5.選擇畫面右上方的偏好選項,若完全接受系統建議值,請選「最佳組合」,其餘兩種選項為結果較精準與計算較迅速。
6.按下「產稱網格」鈕後,即可見到下列結果:
7.系統驗證
以邊長25圓孔,半徑1為例,系統切割結果為12個9-Node元素,30個4-Node元素,共計42個元素,95個節點,所得結果與理論值比較如下圖所示(水平受20ksi之拉力,垂直受20ksi之壓力):
其中,實線為理論值,虛線為系統建議計算值。
8.結論
(1)由系統驗證結果可知,在節點數不多的情形下,其分析結果仍具高精確度,故可初步結論本系統為合理並實用的系統。
(2)本系統之法則目前大都針對結構幾何形狀作文章,事實上幾何形狀並非唯一的考量因素,有時甚至不是最重要的因素;其他考量點如:載重形式、載重位置、支承條件、支承位置……等等,均為日後系統擴充時,法則庫首當增加之處。
(3)至於系統其它功能,如使用者可自行選擇元素、節點之數目區間、使用幾點元素、或交叉使用,以及其他分析元素如Beam、Truss、Plate、軸對稱……等,均為系統擴增的地方。
(4)本程式於較複雜處一切從簡處理,部份失真處為日後改善之處,然以有限之時間論之,本程式應具有一定之實用價值。