推薦:用 NSDT設計器 快速搭建可程式設計3D場景。
\每當我參加數值分析課程的教學時,都會回顧有限元方法的基礎知識,很自然地就會出現使用哪種軟體的問題。 以下讨論基于三個基本考慮:
- 在實際應用中,很少有人從頭開始編寫 FEM 代碼。
- 商業 FEM 軟體通常在某些預定義的情況下非常易于使用,但可能難以自定義,并且很難與外部工具內建。
- 開源 FEM 軟體已達到很高的成熟度,但它通常比商業軟體更難使用。
我在這篇文章中更詳細地讨論了這種權衡。 請注意,雖然開源為最終使用者提供了巨大的長期價值,但要使高品質的開源科學軟體項目在學術用途之外廣泛可行還存在挑戰。
1、Elmer
Elmer 是一款 GPL 許可的基于有限元法的多實體場求解器。 它包括流體動力學、結構力學、電磁學、傳熱學、聲學等子產品。
該項目包括一個圖形使用者界面(ElmerGUI),能夠導入各種檔案格式的網格、設定 PDE 系統以及導出模型資料和結果。 後處理是通過 Paraview 完成的。
2、FeniCS
FeniCS 項目以有限元法 (FEM) 的偏微分方程 (PDE) 數值求解為中心。 是以,它涵蓋了從熱機械到電磁學的衆多應用。
雖然網格劃分是在 Gmesh 等第三方庫中執行的,但 FeniCS 提供進階 Python 和 C++ 接口,使問題的定義和解決方案變得簡單。 模型可以在工作站或筆記本電腦中進行原型設計,然後輕松在叢集中運作。
FeniCSx 可以在這裡下載下傳。 Python 和 C++ 接口稱為 DOLFINx,可以在此處找到其文檔。
3、FreeFEM
FreeFEM 是一個通過有限元法進行多實體場模拟的庫。 它包括預建構的實體子產品,如納維-斯托克斯、線性和非線性彈性、熱力學、靜磁學和靜電學以及流體-結構互相作用。
它還包括自己的腳本語言來實作新的實體子產品。 它包含自己的網格生成例程,并且還與 Gmsh 和 Paraview 等其他開源工具相容。
4、Code-Aster
Code-Aster 項目及其相關的 Salome-Meca 軟體套件由法國電力研發中心與大學和工業界合作開發。 它專注于固體力學,包括線性和非線性材料的熱和機械行為,并支援靜态和動态分析。 應用領域包括疲勞、損傷、斷裂和接觸力學。 它還包含用于岩土材料、多孔媒體和多實體場耦合的子產品,
EDF 在營運中使用該項目來證明核領域使用的衆多元件和材料的使用壽命。 是以,它可以應用于分析機器、壓力容器和土木工程結構。
該代碼是 GPL 許可的,并且包含一個 GUI。
5、OpenFOAM
OpenFOAM 是一個以計算流體動力學 (CFD) 為中心的 GPL 許可項目。 CFD 涉及多個數值方法系列,包括但不限于有限元方法。
CFD 涵蓋一系列科學和工程應用。 特别是,它用于涉及熱、熱力學、化學和固體的許多應用,例如發動機、熱交換器、電子冷卻、燃燒等。
該軟體包含自己的子產品,用于生成簡單或複雜幾何形狀的網格。 後處理是通過基于 ParaView 的 GUI 完成的。 另一方面,定義問題和幾何圖形是通過腳本完成的。
原文連結:http://www.bimant.com/blog/top-5-open-source-finite-element-tools/