2023年10月25日 星期三

FreeCAD使用簡介(014) 頗具實力的FEM模組


給大家看看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模組還算便利好用喔。


===


相關系列文章:

沒有留言:

張貼留言