资源描述:
《节点应力和单元应力的关系.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一:用三结点三角形平面单元计算平面结构的应力和位移。1,设计说明书计算简图,网格划分,单元及结点的编号如下图所示。由于结构对称,去四分之一结构分析。其中E=2e10pa,mu=0.167,h=1m.开始输入节点坐标进行单元定义给出材料性质定义有限元模型引入约束条件给定荷载信息计算单刚形成总刚形成结点力求解有限元模型引进位移约束求解平衡方程显示结点位移显示计算结果显示单元应力结束变量注释:Node-------节点定义gElement----单元定义gMaterial---材料定义,包括弹性模量,泊松比和厚度gBC1--------约束条件gNF---------集中力gk-----
2、-------总刚gDelta-------结点位移子程序注释:PlaneStructualModel———定义有限元模型SolveModel———————求解有限元模型DisplayResults——————显示计算结果k=StiffnessMatrix(ie)———计算单元刚度AssembleStiffnessMatrix(ie,k)—形成总刚es=ElementStress(ie)————计算单元应力functionexam1%输入参数:无%输出结果:节点位移和单元应力PlaneStructualModel;%定义有限元模型SolveModel;%求解有限元模型Display
3、Results;%显示计算结果return;functionPlaneStructualModel%定义平面结构的有限元模型%输入参数:无%说明:%该函数定义平面结构的有限元模型数据:%gNode-------节点定义%gElement----单元定义%gMaterial---材料定义,包括弹性模量,泊松比和厚度%gBC1--------约束条件%gNF---------集中力globalgNodegElementgMaterialgBC1gNF%节点坐标%xygNode=[0.0,2.0%节点10.0,1.0%节点21.0,1.0%节点30.0,0.0%节点41.0,0.0%节点
4、52.0,0.0];%节点6%单元定义%节点1节点2节点3材料号gElement=[3,1,2,1%单元15,2,4,1%单元22,5,3,1%单元36,3,5,1];%单元4%材料性质%弹性模量泊松比厚度gMaterial=[1e0,0,1];%材料1%第一类约束条件%节点号自由度号约束值gBC1=[1,1,0.02,1,0.04,1,0.04,2,0.05,2,0.06,2,0.0];%集中力%节点号自由度号集中力值gNF=[1,2,-1];returnfunctionSolveModel%求解有限元模型%输入参数:无%说明:%该函数求解有限元模型,过程如下%1.计算单元刚度矩
5、阵,集成整体刚度矩阵%2.计算单元的等效节点力,集成整体节点力向量%3.处理约束条件,修改整体刚度矩阵和节点力向量%4.求解方程组,得到整体节点位移向量globalgNodegElementgMaterialgBC1gNFgKgDelta%step1.定义整体刚度矩阵和节点力向量[node_number,dummy]=size(gNode);gK=sparse(node_number*2,node_number*2);f=sparse(node_number*2,1);%step2.计算单元刚度矩阵,并集成到整体刚度矩阵中[element_number,dummy]=size(gE
6、lement);forie=1:1:element_numberk=StiffnessMatrix(ie);AssembleStiffnessMatrix(ie,k);end%step3.把集中力直接集成到整体节点力向量中[nf_number,dummy]=size(gNF);forinf=1:1:nf_numbern=gNF(inf,1);d=gNF(inf,2);f((n-1)*2+d)=gNF(inf,3);end%step4.处理约束条件,修改刚度矩阵和节点力向量。采用乘大数法[bc_number,dummy]=size(gBC1);foribc=1:1:bc_number
7、n=gBC1(ibc,1);d=gBC1(ibc,2);m=(n-1)*2+d;f(m)=gBC1(ibc,3)*gK(m,m)*1e15;gK(m,m)=gK(m,m)*1e15;end%step5.求解方程组,得到节点位移向量gDelta=gKf;returnfunctionDisplayResults%显示计算结果%输入参数:无globalgNodegElementgMaterialgBC1gNFgKgDeltafprintf('节点位移');fprint