用户登录

你在这里

欧拉伯努利梁的有限元分析:用MATLAB计算其固有频率

%%
% * * ** * * %****************************************************************************
%****************************************************************************
%************************ BEAMANALYSIS ***********************************
%****************************************************************************
%************************* 写的 ******************************************
%****************************************************************************
%******************* TARTIBU KWANDA 2008 **********************************
%****************************************************************************
%****************************************************************************
%****************************************************************************
均匀梁和阶梯梁有限元程序。可选择的步数和元素的%数。求解具有用户定义的%尺寸的梁的特征值和特征向量。该程序能够计算不同均匀和阶梯式梁几何形状和材料特性的固有频率。
%默认值包含在程序中,目的是显示如何输入数据。
呼应了
clf;
清除所有;
inp = input('输入' 1 '输入梁尺寸,' enter '使用默认值…”);
如果(isempty(输入)
Inp = 0;
其他的
结束
如果inp == 0
%输入梁和材料的尺寸
% xl(i) =第i步元素的长度
% w(i) =第i步元素的宽度
% t(i) =单元(步骤)i的厚度
% e =杨氏模量
% bj =第j个局部自由度对应的全局自由度数
元素I自由度的%
% a(i) =元素i的横截面面积
% ne =元素数
% n =总自由度数
% no =节点数
格式的短
Xl = [40 32 24];

W = [4 6 2];
T = [2 31 1];
E = 206e+6;
Rho = 7.85e-6;
Bj = [1 2 3 4;3 4 5 6;5 6 7 8];
Ne = 3;
N = 8;
其他的


ne = input('输入元素数,默认为3…”);
如果(isempty (ne))
Ne = 3;
其他的
结束

xl = input('阶梯梁的输入长度,默认为[40 32 24],…”);
如果(isempty (xl))
Xl = [40 32 24];
其他的
结束

w = input('阶梯梁的输入宽度,默认为[4 6 2],…”);
如果(isempty (w))
W = [4 6 2];
其他的
结束

t = input('阶梯梁的输入厚度,默认为[2 31 1],…”);
如果(isempty (t))
T = [2 31 1];
其他的
结束

输入材料模量,mN/mm^2,默认低碳钢206e+6…”);
如果(isempty (e))
e = 206 e + 6;
其他的
结束

rho = input('材料输入密度,kg/mm^3,默认低碳钢7.85e-6…”);
如果(isempty(ρ))
Rho = 7.85e-6;
其他的
结束

bj = input('输入全局自由度,默认全局自由度[1 2 3 4;3 4 5 6;5 6 7 8]…”);
如果(isempty (bj))
Bj = [1 2 3 4;3 4 5 6;5 6 7 8];
其他的
结束
结束

计算的面积(a)、面积转动惯量(xi)和单位长度的质量(xmas)
阶梯梁
A = w.*t;
根据扑翼方向或边缘方向定义面积惯性矩
阶梯梁的%振动。
振动方向=输入(边向振动输入“1”,扑向振动输入“enter”…”);
如果(isempty (vibrationdirection))
振动方向= 0;
其他的
结束
如果振动方向== 0
ξ= w。* t。^ 3/12;
其他的
ξ= t。* w。^ 3/12;
结束

因为我= 1:不
圣诞节(i) =(我)*ρ;
结束


%调整刚度和质量矩阵
No = ne+1;
N = 2*no;
Bigm = 0 (n,n);
Bigk = 0 (n,n);
现在建立整体刚度和一致质量矩阵,单元
元素百分比
对于ii =1:ne
ai = 0 (4 n);
i1 = bj (2, 1);
i2 = bj (2, 2);
i3 = bj(2、3);
当= bj (ii, 4);
人工智能(i1) = 1;
人工智能(2,i2) = 1;
人工智能(3,i3) = 1;
人工智能(预告)= 1;
xm (1,1) = 156;
xm(1、2)= 22 * xl (ii);
xm(1、3)= 54;
xm(1、4)= -13 * xl (ii);
xm (2, 2) = 4 * xl (2) ^ 2;
xm(2、3)= 13 * xl (ii);
xm(2、4)= 3 * xl (2) ^ 2;
xm (3) = 156;
xm(3、4)= -22 * xl (ii);
xm (4, 4) = 4 * xl (2) ^ 2;
xk (1,1) = 12;
xk(1、2)= 6 * xl (ii);
xk(1、3)= -12;
xk(1、4)= 6 * xl (ii);
xk (2, 2) = 4 * xl (2) ^ 2;
xk(2、3)= 6 * xl (ii);
xk(2、4)= 2 * xl (2) ^ 2;
xk (3) = 12;
xk(3、4)= 6 * xl (ii);
xk (4, 4) = 4 * xl (2) ^ 2;
因为我= 1:4
j = 1:4
xm (j,我)= xm (i, j);
xk (j,我)= xk (i, j);
结束
结束
因为我= 1:4
j = 1:4
xm (i, j) =(((圣诞(ii) * xl (ii)) / 420)) * xm (i, j);
xk (i, j) = ((e * xi (ii)) / (xl (2) ^ 3)) * xk (i, j);
结束
结束
i = 1: n
j = 1:4
河中的小岛(i, j) = ai (j,我);
结束
结束
xka = xk *人工智能;
xma = xm *人工智能;
又名=河中的小岛* xka;
ama =河中的小岛* xma;
i = 1: n
j = 1: n
bigm (i, j) = bigm (i, j) + ama (i, j);
bigk (i, j) = bigk (i, j) +又名(i, j);
结束
结束
结束
边界条件的应用
%删除位移为零的行和列

Bigk (1:2,:) = [];
Bigk (:,1:2) = [];

Bigm (1:2,:) = [];
Bigm (:,1:2) = [];


计算特征向量和特征值

[L, V] = eig (bigk,bigm)

%固有频率
V1 = v ^(1/2)
W = diag(V1)
f = W /(2 *π)

评论

嗨Lagoue

感谢你发布这个程序,我对有限元法的主题很感兴趣,通过使用Mathlab专门研究板的振动,我发现这个程序非常接近于找到机翼的固有频率,因为我的研究是航空工程。

但是我的问题是我不擅长使用Mathlab,你能告诉我如何运行这个程序吗?我在Mathlab中复制并开始运行,但我不知道如何运行??

请帮我一下,谢谢

大家好!

我刚刚看到你的留言。要在MATLAB中运行程序,您必须创建M-FILE(单击file并选择新M-FILE),粘贴程序并在栏菜单上查找run,然后单击它…希望这对你有帮助。

我用这些程序发表了两篇论文:

1.变叶长机翼涡轮振动分析

2.简化风力发电机叶片模态试验

你能发给我一份用有限元法求均匀梁和锥形梁频率的matlab代码吗

嗨Lagoue

为什么把杨氏模量写成mN/mm^2 (206e+6)而不是N/mm^2 (206e+3)这是个错误吗?

杰米

订阅评论“欧拉-伯努利梁的有限元分析:用MATLAB计算固有频率”

最近的评论

更多的评论

辛迪加

认购辛迪加