帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
PyANSYS 的結構設計建模
PyANSYS模擬工具技術教學(三)

【作者: 林鳴志】   2023年06月17日 星期六

瀏覽人次:【1506】

現今的工程設計過程中,優化機構設計的重要性越來越被深刻理解和重視。工程項目的日益複雜化和多元化要求工程師在設計各種產品和系統時,必須綜合考量一系列的需求。這些需求可能涉及到如何實現設計的輕量化,降低體積,減少能源消耗等等。目的是找到一種最佳平衡,使得產品在性能和效率上達到最優化。數值模擬結合優化演算法的做法已經廣泛被業界採用。


這種方式的核心思想是利用優化演算法根據一定的規則,不斷修改設計結構,然後進行數值模擬,以尋找到能夠使產品性能達到特性最優化。這個過程可能需要進行多次的迭代和調整,但最終的目標是找到一種或者多種能夠滿足特定性能要求的最佳設計。


傳統機構設計與限制

在傳統的工程設計流程中,我們會使用電腦輔助設計(CAD)軟體來完成機構設計。CAD提供強大的視覺介面,使工程師可以直觀地創建和修改設計模型。在這個過程中,工程師可以定義各個元件的形狀、尺寸和位置,然後進一步組裝成完整的機構。


在機構設計完成後,可以將CAD模型導出,並將其導入模擬軟體。在模擬軟體中,我們可以對設計進行各種性能分析,如結構分析、熱分析、流體動力學分析等等。這樣,我們可以了解設計在實際運行情況下的性能。


然而,儘管CAD軟體在設計過程中起到了重要的作用,但是也有一些限制。首先,如果需要修改設計,我們必須返回CAD軟體進行手動修改,然後再重新導出和導入模擬軟體;這個過程可能相當耗時。同時也無法結合優化演算法來加速設計。


參數化機構設計與限制

一般的模擬軟體都提供一定程度的參數化功能。透過參數化功能,我們可以將設計的尺寸、形狀、位置等因素表示為變量,並通過連結優化演算法來改變這些變量的數值,進而調整設計。這種方法讓我們可以在一定程度上自動化設計和優化過程,能夠快速地探索設計空間,找到最佳的設計解決方案。


然而,當設計需求更為複雜,例如需要修改結構的拓樸形狀,或者需要在多個相關組件之間建立複雜的參數關聯性時,這種基於模擬工具的參數化能力可能就無法滿足需求。我們需要有一個更有效的方式來建立結構設計。


利用編程完成機構設計

在工程設計階段,常常需要不斷地修改和優化結構設計以達到所需的性能。在這種情況下,利用程式語言來建立並控制設計,變成了一種強大且有效的工具。程式語言擁有迴圈、邏輯判斷等特性,其創建模型的彈性遠超過在參數化方法。


我們可以編寫一段程式碼來生成設計模型,這樣的方式不僅提高了操作的精準度,也大大提高了修改模型的效率。而且隨著每行代碼的執行,我們能夠即時在視窗中看到該行建立出來的物件。如果物件結構不符合預期,只需刪該物件,修改對應的程式碼,然後再次執行即可。


此外,程式語言也讓我們更容易地制定參數的關聯性。我們可以利用方程式或者條件語句來確保在改變一個參數時,其他相關的物件結構也會相應地進行調整,以此避免可能的物件干涉或碰撞問題。這對於處理複雜的設計問題和多變數優化問題非常有用。


雖然利用程式碼來進行結構設計具有許多優點,但是對於許多未有編程背景的工程師來說,學習程式語言可能會是一個挑戰,這可能需要一定的時間和努力來克服。


PyANSYS的建模功能

PyANSYS支援了ANSYS許多模擬軟體,其主要特點是完全整合了各個軟體內建的建模功能,並且將其轉換為易於使用的Python函式。它為工程師提供了一個直接以程式碼進行設計和模擬的平台,從而讓工程設計流程更加簡化和效率化。


在PyANSYS中,每一個軟體使用者介面上可用的建模功能,都有一個對應的 Python 函式。這意味著工程師可以直接在Python 程式碼中設定和調整設計參數,而無需透過點擊使用者介面來手動建模。創建新的2D或3D物件(馬達、齒輪、螺旋電感、陣列天線等),便可以直接通過撰寫和執行Python程式碼來完成。


以同步馬達設計為例

永磁同步馬達是一種利用永磁體作為旋轉磁場的馬達,與轉子轉速同步的電機。永磁同步馬達主要由三部分組成:轉子、定子和控制器。


轉子上裝有永磁體,產生恆定的磁場;定子則有多組繞組,當通過交流電源時,會產生旋轉磁場;控制器則是用來調整電源的頻率和振幅,以達到控制轉速和扭力的目的。永磁同步馬達在許多應用中都被廣泛使用,如電動汽車、高速列車、風力發電等。


ANSYS Maxwell是一款電磁場模擬軟體,適用於設計和分析電氣和電子系統。Maxwell 使用有限元素方法來解決靜態、頻域和時域的電磁場問題。此軟體可用於設計和優化各種電磁和電子裝置。接下來的部分我們解釋如何透過程式碼在Maxwell當中生成永磁同步馬達的主體結構設計。


Python代碼部分可從此處下載:


https://aedt.docs.pyansys.com/version/stable/examples/03-Maxwell/Maxwell2D_NissanLeaf.html


為了解釋設計過程,因此列出部分的關鍵程式碼片段。由於整個程式碼的篇幅較長,這裡只呈現對於理解整體設計過程至關重要的部分。


PyANSYS建模程式碼簡介

在開始建模之前,首先需要明確設定需要的各種參數用來描述馬達尺寸,這些參數之後將用於定義和構建模型。以下是在這個模型中將使用的部分參數列表:



圖一 : 開始建模前確認的各種參數將用於定義和構建模型
圖一 : 開始建模前確認的各種參數將用於定義和構建模型

在進行模擬建模時,會需要宣告一個設計物件,這個物件包含了所需要的所有參數和方法。這裡,我們建立一個名為「M2D」的設計物件。並將設計物件底下的建模物件命名為mod2D:



圖二 : 將設計物件「M2D」底下的建模物件命名為mod2D
圖二 : 將設計物件「M2D」底下的建模物件命名為mod2D

Mod2D物件具有Maxwell軟體當中所有的幾何建模函數,例如在「mod2D」中使用一個名為「create_circle()」的函數。這個函數可以根據輸入的圓心座標和半徑生成圓形:



圖三 : 幾何建模函數可以根據輸入的圓心座標和半徑生成圓形
圖三 : 幾何建模函數可以根據輸入的圓心座標和半徑生成圓形

或者指定座標點並透過create_polyline()函數創建多邊形線條。此函數會接受一個座標點列表作為參數,並將這些座標點連接成一個多邊形的結構:



圖四 : 指定座標點並透過 create_polyline() 函數創建多邊形線條
圖四 : 指定座標點並透過 create_polyline() 函數創建多邊形線條

我們可以使用組織化和模塊化的方式逐步構建出同步馬達的整個結構。每一行代碼都對應到設計中的特定元件或特性,讓整個設計過程變得既直觀又透明。在這種方式下,任何修改都變得相對容易,只需調整相應的代碼進行,而不必進行繁瑣的手動修改圖面。最後生成的結構如下圖。(為了減少模擬時間,圖五為畫出馬達八分之一的剖面圖,結合對稱邊界條件便可以模擬出完整結構的電磁特性)。



圖五 : 使用組織化和模塊化的方式可以構建出同步馬達的完整結構。
圖五 : 使用組織化和模塊化的方式可以構建出同步馬達的完整結構。

結語

當工程設計的模擬流程從人工手動修改設計,進步到結構參數化設計,最後再到程式碼控制建模設計的階段,其彈性和功能性都會有大幅度的提升。透過使用PyANSYS,可以更加精確地控制和調整設計,並且可以自動化許多繁瑣的建模和模擬流程。


此外,程式語言還可以更好地進行數據分析,例如可以透過程式碼來自動生成模擬結果的報告,或者將模擬結果與其他數據源結合起來進行深度分析。這種方式不僅可以提高工作效率,也可以讓我們更加理解和利用模擬結果,從而做出更好的設計決策。


(本文作者林鳴志任職於Ansys技術專家)


相關文章
不斷進化的電力電子設計:先進模擬工具
模擬工具可預防各種車用情境中的嚴重問題
利用學習資源及AI提升自動化程式開發效率
PyAnsys結合Python擷取分析工程模擬數據
PyANSYS因應模擬設定中的挑戰
comments powered by Disqus
相關討論
  相關新聞
» Seagate發布再生能源使用及實踐永續循環成效
» 宜鼎獨創MIPI over Type-C解決方案突破技術侷限,改寫嵌入式相機模組市場樣貌
» 英業達以AI科技實踐永續 攜手台大保護雲霧林生物多樣性
» 震旦研發ESG綠色報表 協助企業綠色減碳
» 研華AIoV智慧車聯網解決方案 打造智慧交通與商用車國家隊


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.191.102.112
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw