实例介绍
【实例简介】
【实例截图】
【实例截图】
【核心代码】
%The author: wangjinghui
%Date:2021.04
clear all;
clc;
%Beam_InputData544;
Opt_beam = 1;
Opt_mass = 2;
Opt_section = 1;
Opt_graphics1 = 1;
Opt_graphics2 = 2;
Prob_title= 'static analysisi of a 3-D frame structure';
No_el=12;
No_nel=2;
No_dof=6;
No_node=8;
Sys_dof=No_node*No_dof;
prop(1)=2.1e11;
prop(2)=0.3;
prop(3)=7860;
prop(4)=0.01;
prop(5)=0.01;
prop(6)=0.01*0.01;
prop(7)=0.01*0.01^3/12;
prop(8)=0.01*0.01^3/12;
prop(9)=1;
prop(10)=1;
Opt_section=1;
gcoord=[1 0,0,0;
2 4,0,0;
3 4,0,0;
4 4,0,0;
5 4,0,0;
6 4,0,0;
7 4,0,0;
8 4,0,0];
gcoord=[gcoord(:,2:4)];
al=0;
node=[1 1 , 5;
2 2 , 6;
3 3 , 7;
4 4 , 8;
5 5 , 6;
6 6 , 7;
7 7 , 8;
8 8 , 5;
9 1 , 6;
10 2 , 7;
11 3 , 8;
12 4 , 5];
nodes=[nodes(:,2:3)];
P=[-100000,7,2];
ConNode =[1 , 1 , 1 , 1 , 1 , 1 ;
2 , 1 , 1 , 1 , 1 , 1 ;
3 , 1 , 1 , 1 , 1 , 1 ;
4 , 1 , 1 , 1 , 1 , 1 ];
ConVal =[1 , 0 , 0 , 0 , 0 , 0 ;
2 , 0 , 0 , 0 , 0 , 0 ;
3 , 0 , 0 , 0 , 0 , 0 ;
4 , 0 , 0 , 0 , 0 , 0 ];
k = zeros(No_nel*No_dof,No_nel*No_dof);
m = zeros(No_nel*No_dof,No_nel*No_dof);
kk = zeros(Sys_dof,Sys_dof);
mm = zeros(Sys_dof,Sys_dof);
ff = zeros(Sys_dof,1);
bcdof = zeros(Sys_dof,1);
index = zeros(No_nel*No_dof,1);
[n1,n2]=size(ConNode);
for ni = 1:n1
ki=ConNode(ni,1);
bcdof((ki-1)*No_dof:ki*No_dof)=ConNode(ni,2:No_dof 1);
bcval((ki-1)*No_dof:ki*No_dof)=ConVal(ni,2:No_dof 1);
end
[n1,n2]=size(P);
for ni=i:n1
ff(No_dof*(P(ni,2)-1) P(ni,3))=P(ni,1);
end
for iel=1:No_el
nd(1)=nodes(iel,1);
nd(2)=nodes(iel,2);
x(1)=gcoord(nd(1),1);
y(1)=gcoord(nd(1),2);
z(1)=gcoord(nd(1),3);
x(2)=gcoord(nd(2),1);
y(2)=gcoord(nd(2),2);
z(2)=gcoord(nd(2),3);
leng=sqrt((x(2)-x(1))^2 (y(2)-y(1))^2 (z(2)-z(1))^2);
xi(1)=(x(2)-x(1))/leng;
xi(2)=(y(2)-y(1))/leng;
xi(3)=(z(2)-z(1))/leng;
if Opt_beam==1
[k,m]=FrameElement31(prop,leng,xi,al,Opt_section,Opt_mass);
elseif Opt_beam==2
[k,m]=FrameElement32(prop,leng,xi,al,Opt_section,Opt_mass);
end
index=femEldof(nd,No_nel,No_dof);
kk=femAssemble(kk,k,index);
mm=femAssemble(mm,m,index);
end
[kk0 , mm0 , ff0 ,bcdof0 , bcval0 , sdof0]=kkCheck1(kk , mm , ff , bcdof , bcval);
[kk1 , mm1 , ff1 , sdof1]=femApplybc1(kk0 , mm0 , ff0 , bcdof0 , bcval0);
displmt = kk1\ff1;
No_dof1 = No_dof/(Sys_dof/sdof1);
for ii=1:No_node
for ij=1:No_dof1
displmtnode(ii , ij)=displmt((ii-1)*No_dof1 ij,1);
end
end
if Opt_graphics1==1
for iel=1:No_el
nd(1)=nodes(iel,1);
nd(2)=nodes(iel,2);
x(1)=gcoord(nd(1),1);
y(1)=gcoord(nd(1),2);
z(1)=gcoord(nd(1),3);
x(2)=gcoord(nd(2),1);
y(2)=gcoord(nd(2),2);
z(2)=gcoord(nd(2),3);
figure(1)
plot3(x,y,z),xlabel('x'),ylabel('y'),zlabel('z'),hold on;
end
if Opt_graphics2~=1
title('nodal connectivity of elementd'); hold off;
end
end
if Opt_graphics2==1
gcoordA= gcoord 10*displmtnode( : ,1:3);
for iel=1:No_el
nd(1)=nodes(iel,1);
nd(2)=nodes(iel,2);
x(1)=gcoordA(nd(1),1);
y(1)=gcoordA(nd(1),2);
z(1)=gcoordA(nd(1),3);
x(2)=gcoordA(nd(2),1);
y(2)=gcoordA(nd(2),2);
z(2)=gcoordA(nd(2),3);
figure(1)
plot3(x,y,z,'r'), title('Deflection of the structure'), hold on;
end
hold off
end
disp('The calculation is use of')
if Opt_beam==1
disp('Euler-Bernoulli beam element')
elseif Opt_beam==2
diso('Timoshenko beam element')
end
disp(' ')
disp(' numrical solution ')
disp(' node x y z 牟x 牟y 牟z ')
num = 1:1:No_node;
displmts=[num' displmtnode]
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论