有限元基础教程(曾攀)习题3-13Matlab实现


习题3-13

有一个梁结构如图所示,试采用梁单元来分析该结构,并求取支反力。
在这里插入图片描述

解题步骤

  1. 进行单元及节点编号,建立整体坐标系,如上图所示;并将均布荷载简化为等效节点荷载,如下图所示。
    在这里插入图片描述
  2. 输入单元信息
>>E=3E10;I=204E-8;A=7.65E-4;
>>L1=1;L2=0.9;alpha1=0;alpha2=90
  1. 计算单元刚度矩阵并组装为整体刚度矩阵
>>format short
>>Beam2D2Node=Beam2D2NodeFunc;	%调用函数接口
>>k1=Beam2D2Node.Stiffness(E,I,A,L1,alpha1);
>>k2=Beam2D2Node.Stiffness(E,I,A,L2,alpha2);
>>KK=zeros(9,9);
>>KK=Beam2D2Node.Assemble(KK,k1,1,2);
>>KK=Beam2D2Node.Assemble(KK,k2,3,2)

输出如下结果:
在这里插入图片描述

  1. 处理位移边界条件及节点力,求解位移
>>k=KK([4:6],[4:6]);
>>Fp=[-62500;-52083;-93750;39062;-31250;13021];
>>u=k\Fp(4:6);
>>U=[0;0;0;u]

输出如下:
U=[0 0 0 -0.0014 -0.0086 -0.0041] (将列排成了行)

  1. 计算支反力,Fr=KK×U-Fp
Fr=Beam2D2Node.Forces(KK,U)-Fp	

输出:
Fr =1.0e+05 *[0.5469 0.3906 1.3281 -0.0000 -0.0000 0] (将列排成了行)

函数文件

(所有函数都保存在同一个m文件中)
函数文件名:Beam2D2NodeFunc.m

function Beam2D2Node=Beam2D2NodeFunc
Beam2D2Node.Stiffness=@Beam2D2Node_Stiffness;
Beam2D2Node.Assemble=@Beam2D2Node_Assemble;
Beam2D2Node.Forces=@Beam2D2Node_Forces;
end
function k=Beam2D2Node_Stiffness(E,I,A,L,alpha)
%以上函数计算单元刚度矩阵
%输入弹性模量E、横截面积A、惯性矩I和长度L
%输出单元刚度矩阵k(6*6)
k=[
    E*A/L,0,0,-E*A/L,0,0;
    0,12*E*I/(L^3),6*E*I/(L^2),0,-12*E*I/(L^3),6*E*I/(L^2);
    0,6*E*I/(L^2),4*E*I/L,0,-6*E*I/(L^2),2*E*I/L;
    -E*A/L,0,0,E*A/L,0,0;
    0,-12*E*I/(L^3),-6*E*I/(L^2),0,12*E*I/(L^3),-6*E*I/(L^2);
    0,6*E*I/(L^2),2*E*I/L,0,-6*E*I/(L^2),4*E*I/L
    ];
x=alpha*pi/180;
C=cos(x);
S=sin(x);
T=[
    C,S,0,0,0,0;
    -S,C,0,0,0,0;
    0,0,1,0,0,0;
    0,0,0,C,S,0;
    0,0,0,-S,C,0;
    0,0,0,0,0,1
    ];
k=T'*k*T;
end
function y=Beam2D2Node_Assemble(KK,k,i,j)
%以上函数进行单元刚度矩阵的组装
%输入单元刚度矩阵k和单元的节点编号i,j
%输出整体刚度矩阵KK
DOF(1)=3*i-2;
DOF(2)=3*i-1;
DOF(3)=3*i;
DOF(4)=3*j-2;
DOF(5)=3*j-1;
DOF(6)=3*j;
for n1=1:6
    for n2=1:6
        KK(DOF(n1),DOF(n2))=KK(DOF(n1),DOF(n2))+k(n1,n2);
    end
end
y=KK;
end
function forces=Beam2D2Node_Forces(k,u)
%以上函数计算单元的应力,输入单元刚度矩阵k、节点位移u
%输出单元节点力forces
forces=k*u;
end

参考文献

有限元基础教程(曾攀)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yangtze20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值