給大家看看FreeCAD的有限元素法工作區模組的實力到底如何!
現在幾乎所有的3D CAD軟體,都有標準內建或是搭配外掛的結構模擬(CAE)模組。如果是很單純的懸臂樑分析模擬問題的話,就算是設計初學者應該也能輕鬆使用。
至於本文的主角、免費3D CAD軟體「FreeCAD」,也是標準內建「FEM(有限元素法模組)」的。如果十幾年前的設計工程師能搭乘時光機來到現代的話,看到連免費軟體都有內建這個的話,應該會不假思索地大喊出:「這東西不簡單」吧?
以下就拿有限元素法教學中經常會出現的簡單懸臂樑問題來給FreeCAD來算看看。
據說「每三個人中就有兩人算錯」的名問題
而這次用來模擬的模型,就是以下的懸臂樑(圖1)。材質是軟鋼(鐵),這個細長、截面是長方形的元件(300mmx30mmx20mm),其一端是固定住,而從另外一端施加100N的力量時,要計算出會有多大的變形。此外,在本文中,軟鋼的材料特性是設定為楊氏係數210GPa,蒲松比為0.3。
圖1 經典懸臂樑問題
這個問題,其實剛好可以使用有限元素法教學中介紹過的公式(圖2),這次就是單純把數字帶入公式之中,來求出變形量。
圖2 懸臂樑的計算公式
這次由於有驗證FreeCAD的FEM模組的模擬能力之目的,所以要先來看看這個問題的答案(理論解)應該是甚麼。如果還不清楚甚麼是「楊氏係數」或是「面積慣性矩」這些名詞的話,建議去找材料力學的書籍或是上述教學的連結內容出來複習。
圖3 理論值計算結果
圖3的答案是0.214mm。重要的就是FreeCAD能不能算出同樣的答案呢?
從建立模型到設定邊界條件
首先是進入FreeCAD的[Part Design]工作區模組,來建立懸臂樑的模型。實際上真正要畫的,就只有圖1中的灰色長型樑的構造而已,一下子能畫完。
圖4 畫出懸臂樑截面形狀
圖5 長出20mm高度
當幾何模型建好之後,就該切換進[FEM]工作區了。
圖6 進入FEM工作區的畫面
雖說進入FEM工作區後指令圖示的種類又不太一樣了,但整個視窗看起來並沒有甚麼大變化。接下來,請按下左上角黃色的[A(Analysis Container)]指令圖示(圖7)
圖7 即將開始模擬,「分析容器(Analysis Container)」真是個獨特的用詞
這個所謂的「分析容器(Analysis Container)」,想法上就是類似在Part Design工作區中「總之先做個Body出來吧!」的概念。按下這個A指令之後,就會在模型樹中看到「Analysis」出現。(舊版中還會看到,「CalculiXccxTools」這個項目,新版拿掉了)
圖8 模型樹中出現了「Analysis」
FreeCAD的FEM工作區使用的也是開放程式碼的免費程式,並且具備了前處理器、後處理器、求解器三位一體的完整功能。而且還類似專業的模擬分析軟體Abaqus一樣,似乎可以跑非線性的模擬問題。
設定材料特性
接下來則是設定材料特性。就在前述的[A]指令圖示旁邊,有個黃色的球的圖示,只要點下去,就能設定了。
圖9 這個圖示叫做「替固體指定材料(Material for solid)」,因為隔壁還有個給液體指定材料,可見這個程式可以用來跑一下流體方面的問題。
這此選擇的懸臂樑材料是「軟鋼」,由於在其資料庫中使用的都是ISO標準名稱,所以就找不到JIS規格的料。於是選擇了內建標準資料庫中Steel分類底下、相當於軟鋼的「Steel-C15」(就是JIS的S15C)。
圖10 選擇的「Steel-C15」
確認材料特性,會發現其楊氏係數是210GPa、蒲松比是0.3、密度7800kg/m3,的確與計算理論變形量使用的數據相同。
設定拘束條件
接下來,則是設定拘束條件。這裡要點選黃色網格實體和紅色鎖頭圖樣的圖示。
圖11 「建立固定拘束條件(Constraint fixed)」指令
這時就要選擇要固定的面。這裡請選擇YZ面這一側(Left視角,也就是一開始草繪時,貼在座標軸上的這一側)。然後在參數視窗(Paremeter Window)中按下[Add]按鈕(圖12)。
圖12 加入要固定的面
於是也會在模型樹中看到拘束條件出現了(圖13)
第三個要設定的就是加入外力負載,請點下圖14所示的指令圖示。
圖14 建立外力拘束條件
這裡要選固定面對面的上端邊線。請稍微調整視角讓Z軸朝上,然後點選適當的邊。(圖15)
圖15 選擇受力的邊
如上圖所示,紅色箭頭的方向就代表著施力的方向,這裡是向上的方向。要修改就箭頭,則是在任務視窗的[Direction]按鈕旁的欄位中,選擇上方的面(Pad:Face6),然後按下[Direction],然後再將[Reverse Direction]的方塊勾選起來,就會是往下的方向了。這裡也不要忘記將數值改成100。力量的單位就是N(牛頓)
圖16 設定力量方向與數值
圖17 設定完成後的狀態
網格設定很簡單
再下一個步驟就是非常有限元素法式的設定,切割網格。要切割網格時,請先選擇畫面上3D模型的某個面或是模型樹中的「Pad」,然後按下切割網格的指令圖示(圖18)。
圖18 使用Netgen建立網格
這個網格切割器「Netgen」也是開放程式碼的免費軟體,而且是相當主流的軟體。而且在其他免費CAE軟體如SALOME」、「OpenFOAM」與「LISA」等等,也有使用到這個Netgen。
所以在點選這個使用Netgen來切割網格的圖示後,左邊的複合頁面就會有四面體參數視窗出現,預設的參數如圖19所示:
圖19 四面體參數視窗選項
二階元素正如有限元素法教學中提過的一樣,是進行四面體網格時必定要開的選項,所以這裡就不改動這個預設值了。當然預設的最佳化(Optimize)網格也是好的選擇,這裡也不改動。換句話說,依照預設的選項直接開始切割網格即可。
然後按下[Apply]按鈕以後,網格一下就切好了(圖20)。
圖20 切的有點粗的網格
不過至此為止,要進行分析模擬的設定就都設定為了(圖21)。
圖21 設定就緒,請注意到模型樹的項目也都齊備了。
開始模擬吧!到底結果如何?!
至此,就是讓求解器進行模擬了。這裡請按下有紅色醒目大寫S開頭的[Solver]圖示指令。
圖22 點選求解器指令
然後先雙擊模型樹底下的[SolverCcxTools],再點選跳出來的任務視窗的[Write .inp file]按鈕,就會製作出輸入給CalculiX的檔案。模擬的形式依照預設的「Static(靜態)」就可以。(圖23)
圖23 如果不設定輸入Calculix的檔案,是沒法按下[Run CalculiX]的按鈕的。
任務視窗中可以看到模擬形式中還有頻率響應(Frequency)、熱傳(Thermo mechanical)、檢查網格(Check Mesh)、挫曲(Buckling)等令人感興趣的項目,這裡只好割愛。
再來就是按下任務視窗的執行Caculix(Run Caculix)按鈕。(圖24)
圖24 [Run CalculiX]勇敢按下去吧!
然後,一下子這個模擬就跑完了,而且出現了一行沒有錯誤的醒目綠色字樣,確認成功跑完模擬。
圖25 模擬結果
然後關閉這個求解器的任務視窗。切好網格的3D模型雖然看起來沒有甚麼不同,但模型樹中卻多出了的項目[CCX_Results]。
圖26 模型樹中的計算結果。
要看到這個視覺化的模擬計算結果,就是滑鼠雙擊模型樹中新出現的[CCX_Results]。(圖27)
圖27 顯示結果的視窗
這裡我們希望知道的是變形量,所以就選擇Result Type中的Display Z。看到最小值是[-0.20mm]。離理論值約有7%的誤差,算是馬馬虎虎。
圖28 馬馬虎虎的結果
以上就是簡單設定邊界條件、粗糙的網格下得到的模擬結果,算是勉強可以接受吧。話又說回來,在二十幾年前的設計現場中,即便要跑出這樣的結果都可是要花錢的呢。而且當時的模擬環境還沒有甚麼可視畫的結果。所以可以說科學技術的進步,就像登山一樣,到了某個高度之後,看到的景象可是大不相同呢。
結論就是這個FEM模組還算便利好用喔。
===
沒有留言:
張貼留言