计算力学(有限元)matlab编程大作业.docx
《计算力学(有限元)matlab编程大作业.docx》由会员分享,可在线阅读,更多相关《计算力学(有限元)matlab编程大作业.docx(14页珍藏版)》请在沃文网上搜索。
1、 计算力学编程大作业(网架结构)一、 编程算法: 图11.总刚矩阵形成:根据图1,对于任意的i,j节点,不论原来的连接状况如何,只要I,j两节点有了联系,则在总刚矩阵中对应的位置需要加上有ij杆的产生带来的刚度贡献,贡献具体可表现为在Kii处需要加上有ij杆件贡献的K11(经过坐标变换后),Kjj处需要加上ij杆件贡献的K22(经过坐标变换后),Kij处需要加上有ij杆件贡献的K12(经过坐标变换后),Kji处需要加上有ij杆件贡献的K21(经过坐标变换后),由此可以直接形成总刚矩阵。2.非线性实现(分段力,存在系统误差)假定杆件一端发生了总位移超过了其自身杆长的1/1000(此参数可调)为大
2、位移,需要考虑由于其端点发生位移而导致结构刚度变化的影响,将由原来不考虑非线性的结构各节点位移算出,求出各节点相对于自身杆件发生的位移,取其中最大值,将之设定为1/1000,由此可得出需要考虑非线性的临界荷载,将原荷载分成n份(n取整)临界荷载,逐级加载在结构上,每一次加载都考虑结构节点位移对结构刚度的影响。由此计算出结构的最终位移。3.牛顿拉普森迭代法实现非线性利用牛顿拉普森迭代法,在原来线性的基础上,计算出在加上变形的基础上求出的结构新的刚度矩阵K1,由F=F-K1*p得到差量F,再将结构在F作用下的位移求出,并求出发生该位移后结构新的刚度,重复以上步骤,直到前后两次节点变形最大值小于1e
3、-8,循环结束,输出结果。二、命令窗口输入命令(不考虑非线性):n=input(请输入节点个数:);E=input(请输入E的大小:);A=input(请输入A的大小:);N=dianzuobiao(n); %3*n的矩阵,用于存储n个节点的坐标M=jiedianlianjie(n); %n*n的矩阵,用于存储n个节点的连接关系,连接则对应元素为1,否则为0L=l(M,N,n); %n*n矩阵,用于存储I,j节点连接所得的杆件的长度Y=ganjiangeshu(L,n); %数量值,表示杆件的个数t=T(L,N,n); %3n*3n矩阵,用于存储以上各杆件的坐标转换矩阵S=dangangjih
4、e(E,A,n,Y,L,t); %6*6y矩阵,用于存储y根杆件的各自的单刚矩阵K=zonggang(E,A,L,t,n); %3n*3n矩阵,描述总刚P=zhiling(K); %总刚矩阵主元根据约束条件置零Q=jia1(P,n); %总刚矩阵置零主元加1z=lixiangliang(n); %由输入力组成的列向量p=inv(Q)*z; %求解位移F=neili(n,Y,S,L,p); %由位移及单刚矩阵求得各杆件内力三、命令执行输入参数及计算结果:(5节点九单元,实际模型见下图)请输入节点个数:5请输入E的大小:2e8请输入A的大小:0.01从左往右从下往上编号输入第i节点x坐标:0从左往
5、右从下往上编号输入第i节点y坐标:0从左往右从下往上编号输入第i节点z坐标:0从左往右从下往上编号输入第i节点x坐标:0从左往右从下往上编号输入第i节点y坐标:0从左往右从下往上编号输入第i节点z坐标:1从左往右从下往上编号输入第i节点x坐标:0从左往右从下往上编号输入第i节点y坐标:1从左往右从下往上编号输入第i节点z坐标:0从左往右从下往上编号输入第i节点x坐标:1从左往右从下往上编号输入第i节点y坐标:0从左往右从下往上编号输入第i节点z坐标:0从左往右从下往上编号输入第i节点x坐标:1从左往右从下往上编号输入第i节点y坐标:1从左往右从下往上编号输入第i节点z坐标:0逐一输入第i个节点
6、和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:0逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:0逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0
7、,令和自身连接情况为0:0逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:0逐一输入第i个节点和其
8、他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:0逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令
9、和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:0逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:1逐一输入第i个节点和其他节点的连接情况,若连接,输入1,否则输入0,令和自身连接情况为0:0输入结构约束总数:11按照编号逐一输入结构约束编号(先输入节点号):1输入约束节点对应的位移号(输入范围:13):1按
10、照编号逐一输入结构约束编号(先输入节点号):1输入约束节点对应的位移号(输入范围:13):2按照编号逐一输入结构约束编号(先输入节点号):1输入约束节点对应的位移号(输入范围:13):3按照编号逐一输入结构约束编号(先输入节点号):3输入约束节点对应的位移号(输入范围:13):1按照编号逐一输入结构约束编号(先输入节点号):3输入约束节点对应的位移号(输入范围:13):2按照编号逐一输入结构约束编号(先输入节点号):3输入约束节点对应的位移号(输入范围:13):3按照编号逐一输入结构约束编号(先输入节点号):4输入约束节点对应的位移号(输入范围:13):1按照编号逐一输入结构约束编号(先输入节
11、点号):4输入约束节点对应的位移号(输入范围:13):2按照编号逐一输入结构约束编号(先输入节点号):5输入约束节点对应的位移号(输入范围:13):1按照编号逐一输入结构约束编号(先输入节点号):5输入约束节点对应的位移号(输入范围:13):2按照编号逐一输入结构约束编号(先输入节点号):5输入约束节点对应的位移号(输入范围:13):3输入施加在结构上的总的力的个数:3按照编号逐一输入力作用节点编号(先输入节点号):2逐一输入力对应的向量中的坐标值:0逐一输入力对应的向量中的坐标值:0逐一输入力对应的向量中的坐标值:-1输入力的大小:1000按照编号逐一输入力作用节点编号(先输入节点号):2逐
12、一输入力对应的向量中的坐标值:0逐一输入力对应的向量中的坐标值:1逐一输入力对应的向量中的坐标值:0输入力的大小:1230按照编号逐一输入力作用节点编号(先输入节点号):2逐一输入力对应的向量中的坐标值:1逐一输入力对应的向量中的坐标值:0逐一输入力对应的向量中的坐标值:0输入力的大小:1000四、计算结果:p = (m)0.000000000000000 0.000000000000000 0.000000000000000 0.002272807092008 0.000440269119346 0.000115000000000 0.000000000000000 0.0000000000
13、00000 0.000000000000000 0.000000000000000 0.000000000000000 -0.002157807092008 0.000000000000000 0.000000000000000 0.000000000000000 F = (KN)00006.82E-13100000000023001000000-23000-230-6.82E-13-10000000000-6.82E-13-1000000000-2300-1000000230002306.82E-131000000五、有限元软件验算模型建立: 模型计算结果:软件内力输出:(此处内力是x,y,
14、z方向的合力)1节点荷载0.0000000.0000002节点荷载0.0000000.0000003节点荷载0.0000000.0000004节点荷载-325.269119-325.2691195节点荷载230.000000230.0000006节点荷载0.0000000.0000007节点荷载0.0000000.0000008节点荷载0.0000000.0000009节点荷载-1732.050808-1732.050808软件位移输出:1节点荷载0.0000000.0000000.0000000.0000000.0000000.0000002节点荷载0.0022730.0004400.000
15、1150.0000000.0000000.0000003节点荷载0.0000000.0000000.0000000.0000000.0000000.0000004节点荷载0.0000000.000000-0.002158 0.000000 0.000000 0.0000005节点荷载0.0000000.0000000.0000000.0000000.0000000.000000完全一致。六、窗口命令输入(分段力考虑非线性,在上文窗口命令的基础上输入)a=maxbianxing(L,p,n,Y); %找出所有杆件中(位移/杆长)最大值f,nmax=fenduanli(z,a); %求出单元加载力
16、向量以及需要加载的次数(nmax)d,G,LL=feixianxing(E,A,f,Q,N,n,M,P,nmax); %求出考虑非线性下的位移d,并输出最终变形后的坐标值,杆长tt=T(LL,G,n); %求出最终变形后的各杆件的坐标转换矩阵KK=dangangjihe(E,A,n,Y,LL,tt); %求出最终变形后的新的当刚矩阵集合FF=neili(n,Y,KK,LL,d); %求出最终变形后的杆件的内力FF七、计算结果:nmax = 3d = (m)0.000000000000000 0.000000000000000 0.000000000000000 0.00227397482896
17、3 0.000438694002248 0.000111640092579 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000000000 -0.002155294821124 0.000000000000000 0.000000000000000 0.000000000000000 FF = (KN)-0.72010-12.391-0.68606-4.91152997.9415-4.3808900-0.1390600226.17130.0028841000.394.380888
18、0-12.391-237.56800.035619-226.3384.941355-1001.130.0125930-0.035620.720097012.390980.6860574.91152-997.9414.380888000.13906300-226.171-0.00288-1000.39-4.38089012.39098237.56780-0.03562226.3377-4.941361001.126-0.0125900.035619八、窗口命令输入(牛顿拉普森迭代法考虑非线性,在不考虑非线性的窗口命令基础上输入)GG,LLL,s,m=newlp(E,A,N,n,M,P,p,z);
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 力学 有限元 matlab 编程 作业
