%%%%%%%%%%%%%%%%%%%triangle2d3nodestiffness%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [KE,B,D,A]=atriangle2d3nodestiffness(E,NU,t,element_number,element_node_gcoord,ID)
%------------------------------------------------------------------
%[KE,B,D]=triangle2d3nodestiffness(E,NU,t,element_number,element_node_gcoord,ID)
%该函数用于计算单元的刚度矩阵
%KE返回单元刚度矩阵
%B返回各单元的几何矩阵
%D返回平面弹性系数矩阵
%输入弹性模量E,泊松比NU,厚度t
%输入单元节点坐标文件element_node_gcooord
%输入单元总数element_number
%输入平面问题性质指示参数ID,其中1为平面应力问题,2为平面应变问题
%------------------------------------------------------------------
for loopi=1:element_number
xi=element_node_gcoord(loopi,1);
yi=element_node_gcoord(loopi,2);
xj=element_node_gcoord(loopi,3);
yj=element_node_gcoord(loopi,4);
xm=element_node_gcoord(loopi,5);
ym=element_node_gcoord(loopi,6);
A(loopi)=1/2*det([1 xi yi;1 xj yj;1 xm ym]); %计算各三角形单元的面积
b1=yj-ym;
b2=ym-yi;
b3=yi-yj;
c1=xm-xj;
c2=xi-xm;
c3=xj-xi;
%计算各单元的几何矩阵B
B(:,:,loopi)=1/(2*A(loopi))*[b1 0 b2 0 b3 0;0 c1 0 c2 0 c3;c1 b1 c2 b2 c3 b3];
if ID==1
E=E;
NU=NU;
elseif ID==2
E=E/(1-NU^2);
NU=NU/(1-NU);
end
%形成平面问题的弹性系数矩阵D
D=E/(1-NU^2)*[1 NU 0;NU 1 0;0 0 (1-NU)/2];
%形成单元的刚度矩阵
KE(:,:,loopi)=B(:,:,loopi)'*D*B(:,:,loopi)*A(loopi)*t;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
matlab.rar_6节点_有限元
版权申诉
5星 · 超过95%的资源 33 浏览量
2022-09-15
00:17:29
上传
评论 1
收藏 3KB RAR 举报
小贝德罗
- 粉丝: 70
- 资源: 1万+
最新资源
- cn-msdn-library-for-visual-studio-2008-service-pack-1-x86-dvd-x1
- cn-msdn-library-for-visual-studio-2008-service-pack-1-x86-dvd-x1
- cn-msdn-library-for-visual-studio-2008-service-pack-1-x86-dvd-x1
- Screenshot_20240517_181056.jpg
- Oracle中查询哪个存储过程中引用包含T-USER-INFO表语句的命令脚本
- 一个图层擦除掉多个不需要的图层
- c语言UDP传输系统源码
- 易语言驱动级进程名拦截网络
- 基于Chisel3完成基于Mips32R1指令集处理器的设计与实现
- 编程项目+ASP.NET+人事管理系统+项目实战
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈