如何使用 matplotlib 繪製二維 FEM 結果?


有限元方法 (FEM) 用於各種任務,例如對不同材料型別建模、測試複雜幾何形狀、對作用在設計的小區域內的區域性效應進行視覺化。它基本上將一個較大的空間域分解成稱為“有限元”的簡單部分。然後將對這些有限元建模的簡單方程收集到一個較大的方程組中,以對整個域進行建模。

要使用 matplotlib 繪製二維 FEM 結果,我們可以採取以下步驟 −

  • 設定圖形大小並調整子圖之間和周圍的內邊距。
  • 使用 numpy 建立節點、元素和節點值資料點。
  • 轉置節點的資料點。
  • 使用 tricontourf() 建立一個 3D 填充等值線圖。
  • 要顯示圖形,請使用 show() 方法。

示例

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

nodes = np.array([
   [0.0, 0.0],
   [1.0, 0.0],
   [2.0, 0.5],
   [0.0, 1.0],
   [1.0, 1.0],
   [1.7, 1.3],
   [1.0, 1.7]])

elements = np.array([
   [1, 2, 5],
   [5, 4, 1],
   [2, 3, 6],
   [6, 5, 2],
   [4, 5, 7],
   [5, 6, 7]])

values = [1, 2, 1, 2, 7, 4, 5]

x, y = nodes.T

plt.tricontourf(x, y, elements - 1, values, 12, cmap='copper')

plt.show()

輸出

它將產生以下輸出

更新於: 2021-09-21

673 次瀏覽

開啟您的 職業生涯

完成課程,獲得認證

學習
廣告
© . All rights reserved.