基于python進行有限元分析—定結構自由振動的固有圓頻率和模態振幅向量
一、問題描述
作為圖所示結構的模態分析示例,我們對結構的自由振動響應感興趣。在材料密度為的附加規范下,我們解決了特征值問題,以確定結構自由振動的固有圓頻率和模態振幅向量。
二、理論分析
二維桿單元有x方向位移u和y方向位移v,其動能為
位移可以表示成如下形式:
寫成矩陣形式:
則
二維桿單元質量矩陣為
三、桁架單元和節點的編號以及結點坐標的定義
具體每根桿單元的節點編號以及材料屬性,在input文件中詳細介紹。
五、數據結果
一階模態
二階模態
三階模態
四階模態
五階模態
六階模態
七階模態
八階模態
六、固有頻率和模態陣型
(1) Natural circular frequencies
w1=767.06897
w2=2082.31226
w3=2958.71069
w4=4504.79346
w5=6790.69092
w6=7976.02197
w7=8664.74707
w8=8977.36816
(2)Modal amplitude vectors
[-0.26045, -2.19420, -1.21309, -3.59420, -1.44514, -1.80214, 4.77206,4.36751]
[-2.20699, 3.28239, -3.12539, -2.14116, 5.82557, -0.93447, 1.05816,-0.72687]
[ 0.77543, -0.71694, -2.88826, 2.36973, -0.14241, -3.82935, -2.17366,0.46372]
[-2.12749, 2.68640, -1.95703, -0.43223, -4.27362, 0.56904, -0.34133,-0.48283]
[-0.51559, -3.85516, -1.70559, -3.93409, -0.05494, 1.98050, -2.78105,-3.95626]
[-4.11827, -2.55593, 1.45942, 1.13320, 0.90777, 1.62906, -3.31909,4.40733]
七、總結
通過使用有限元法解決結構動力學問題,我們可以了解有限元法的原理,掌握python的編程方法和操作環境以及將問題模塊化處理的思路。將問題的已知條件轉化python語言,并列出邊界條件和協調性條件,計算出所求未知物理量。有限元法的基本思路是首先將系統離散化處理,對于該問題的桁架結構,是將其分解為桿單元和節點,這一步決定了有限元方法的精確度。利用公式單元剛度矩陣,并根據幾何關系利用直接剛度法,將每個單元裝配在系統剛度矩陣中。
題中求了8階的固有頻率和模態振幅,從結果中可以看出,隨著階數的增加固有頻率的值逐漸增加,模態幅值也逐漸變大。并且從上課中學習到如果想讓8階固有頻率和模態計算更加準確,應在計算時設計的階數更大(大于8階),提高計算精度。
四、程序與注解
import matplotlib.pyplot as plt
import torch
import math
import csv
import numpy as nup
import pandas as pd
#%%
#初始化各參數
E=10e6
A=1.5
density=2.6e-4
ne=8#桿單元數
np=6#節點數
data_1=pd.read_excel('./input3.xlsx',sheet_name='Sheet1',header=0)#sheet1前兩列是節點坐標,之后是x方向約束,y方向約束(有為1,無為0)
data_2=pd.read_excel('./input3.xlsx',sheet_name='Sheet2',header=0)#sheet2按列依次為:左節點編號,右節點編號,楊氏模量、截面積。
node=data_1.values
element=data_2.values
node,element
#%%
K=torch.zeros((2*np,2*np),dtype=torch.float64)
element_stiffness=torch.zeros((ne,4,4))#存儲每個單元剛度矩陣
for lop in range(ne):
以下內容為付費內容,請購買后觀看
付費部分包括實現整個過程的python代碼!有任何問題直接私信我就好!
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















