有限单元法实验
- 格式:doc
- 大小:314.00 KB
- 文档页数:6
有限元实验报告一、实验目的本实验旨在通过有限元方法对一个复杂的工程问题进行数值模拟和分析,从而验证理论模型的正确性,优化设计方案,提高设计效率。
二、实验原理有限元方法是一种广泛应用于工程领域中的数值分析方法。
它通过将连续的求解域离散化为由有限个单元组成的集合,从而将复杂的偏微分方程转化为一系列线性方程组进行求解。
本实验将采用有限元方法对一个具体的工程问题进行数值模拟和分析。
三、实验步骤1、问题建模:首先对实际问题进行抽象和简化,建立合适的数学模型。
本实验将以一个简化的桥梁结构为例,分析其在承受载荷下的应力分布和变形情况。
2、划分网格:将连续的求解域离散化为由有限个单元组成的集合。
本实验将采用三维四面体单元对桥梁结构进行划分,以获得更精确的数值解。
3、施加载荷:根据实际工况,对模型施加相应的载荷,包括重力、风载、地震等。
本实验将模拟桥梁在车辆载荷作用下的应力分布和变形情况。
4、求解方程:利用有限元方法,将偏微分方程转化为线性方程组进行求解。
本实验将采用商业软件ANSYS进行有限元分析。
5、结果后处理:对求解结果进行可视化处理和分析。
本实验将采用ANSYS的图形界面展示应力分布和变形情况,并进行相应的数据处理和分析。
四、实验结果及分析1、应力分布:通过有限元分析,我们得到了桥梁在不同工况下的应力分布情况。
如图1所示,桥梁的最大应力出现在支撑部位,这与理论模型预测的结果相符。
同时,通过对比不同工况下的应力分布情况,我们可以发现,随着载荷的增加,最大应力值逐渐增大。
2、变形情况:有限元分析还给出了桥梁在不同工况下的变形情况。
如图2所示,桥梁的最大变形发生在桥面中央部位。
与理论模型相比,有限元分析的结果更为精确,因为在实际工程中,结构的应力分布和变形情况往往受到多种因素的影响,如材料属性、边界条件等。
通过对比不同工况下的变形情况,我们可以发现,随着载荷的增加,最大变形量逐渐增大。
3、结果分析:通过有限元分析,我们验证了理论模型的正确性,得到了更精确的应力分布和变形情况。
《弹性力学问题的有限单元法》弹性力学问题的有限单元法(FiniteElementMethod,简称FEM)是一种经典的多学科跨领域的计算方法,它用于估算连续体结构中非线性材料力学性能,如强度、刚度和破坏。
有限单元法已成为工程和材料科学中最重要的数值计算方法,可用于解决各种复杂多学科优化和设计问题。
有限单元法的基本思想是把复杂的连续体结构划分成许多小的、较容易处理的有限元素,而不是像一般的解析方法那样求取整体的解析解。
基于有限元素重要的性质,即小元素经过一系列的连接后就可以构成整个结构的模型,有限单元法的本质是数值分析,也就是根据模型的物理知识,选择有效的数值化方法,用数值计算的方法求解所要求的结果,从而使这些数值计算结果符合实际结构物理知识。
有限单元法是一种有效计算弹性力学问题的方法,它可以用来求解任意形状的结构问题,无论是有边界条件还是无边界条件,无论是线性或者非线性的形状变化,有限单元法都能够有效地应用。
其优势在于以节省计算时间和消耗的成本,在特殊的材料条件下,它可以比较快速地获得弹性力学问题的有效精确解。
其精度依赖于计算模型元素的类型、形状和几何尺寸等,因此通常需要调节元素的类型、形状和尺寸,以满足计算需要。
在计算机技术的发展下,有限单元法的计算能力越来越强大,可以对更多的复杂问题进行分析,可以更有效地解决工程设计中的实际问题。
由于计算机可以模拟各种变形和应力的变化,因此有限单元法可以为工程设计和材料研究提供更可靠的结果。
有限单元法在工程应用中的实际作用是显而易见的。
它不仅可以用来计算弹性结构中的材料力学特性,还可以分析复杂结构的动态响应。
此外,有限单元法还可以用来计算弹性结构中的表面张力、刚度,以及各种材料的裂缝扩展。
通过有限单元法的应用,可以获得有效的数值结果,从而提高设计效果和工程安全性。
因此,有限单元法对于材料科学和工程设计都具有重要价值,今后还将发挥更多的功能。
有限单元法是多学科跨学科的计算方法,它可以用来有效地分析复杂形状结构的力学特性,计算出精确的结果,从而提高工程设计的效果和安全性。
有限单元法第二版课程设计一、设计背景有限单元法是一种常用的分析方法,广泛应用于工程学和自然科学领域。
为了进一步提高学生的有限单元法水平,本次课程设计旨在设计一个较为完整的有限单元方法分析项目。
二、设计目标通过本次课程设计,旨在让学生深入了解有限单元方法的原理和实现过程,提高学生的分析和解决实际问题的能力。
三、设计内容本次课程设计的主要内容包括以下三个部分:1.有限单元法的基础知识学习是本次课程设计的首要任务。
学生应该充分掌握有限单元法的基本原理、有限单元法的应用领域、有限单元法的基本步骤、有限单元法的精度等相关知识,为后续的分析工作奠定基础。
2.本次课程设计的重点是学生自行选择一个实际问题,并建立相应的有限单元模型,进行静态、动态或热力学分析。
学生应该根据具体情况选择不同的求解方法,如使用有限元软件求解或自编程求解。
3.在完成有限元分析后,学生应该对结果进行分析和讨论。
包括模型的合理性、分析结果的精度和可靠性等等,对分析结果进行进一步的解释和讨论。
四、设计要求1.本次课程设计应该由每个学生独立完成,不得相互抄袭和抄袭现成的模型。
2.学生自行选择并设计仿真模型,可以是自行查找的数据或者自己设计的模型。
3.分析结果应该以文本的方式进行输出,要求输出结果应该包括模型的详细说明、分析结果和分析结论等内容。
4.报告应该能够详细说明分析流程,从建模、求解到结果的呈现,必须清晰且易于理解。
5.学生应该按照教师要求的时间和形式,将完成的报告提交给教师评分。
五、总结有限单元法是一种重要的计算方法,对于提高学生的工程实践能力和实际应用技能有着重要的作用。
通过本次课程设计的学习,有助于学生深入理解有限单元法,将学校理论与实际问题相结合,为将来的工作打下坚实的基础。
有限单元法人们常说:“教学有法,教无定法。
”的确,要提高语文课堂教学的质量,要提高学生的语文素养,教师不能一味地把知识灌输给学生,而应该为学生营造轻松、自主、开放的课堂氛围,从而提高学生的学习兴趣。
如何将课堂活动落到实处?语文老师们苦思冥想,找出了许多种教学方法,但这些教学方法都存在一个共同的问题:一节课下来,学生的知识似乎没有增加多少,他们好像只懂得了听讲,对知识点不求甚解,效果可见不佳。
那么怎样才能让学生在有限的时间内既扎实基础又培养能力呢?有限单元法可以助你一臂之力。
这就是有限单元法。
在上《夏天里的成长》这篇课文时,我把全班分成了三组,每一组负责查阅《大自然的语言》《夏天里的成长》和《童年的水墨画》三篇课文。
每个小组安排一名组员负责摘抄三篇课文中具有代表性的段落,并把它们进行分类整理,写出自己的感受。
这一环节引导学生在课外对课文进行深入地了解,发挥了课本学习的延伸作用。
《夏天里的成长》一课中,安排了三次关于“蝉鸣”的交流讨论,我告诉学生“不同的季节会听到不同的蝉声,我们所熟悉的蝉声就来自这个春天……”“请大家拿出各自的工具书,通过字典或百度来了解一下‘蝉’这个字的含义。
”“‘鸣’的古意是什么?”通过交流与探讨,同学们纷纷表示会收集“鸣”的资料,丰富自己的知识。
整个过程轻松愉快,活跃了课堂气氛,培养了学生读书的好习惯。
除了这些,我还用了有限单元法设计了“一石激起千层浪”这一环节,精心创设教学情境,使学生置身于具体的情境之中,受到熏陶,得到启迪。
在交流讨论时,有同学提出“有的蝉是好几年才叫一次的,一辈子就叫一回,也有的蝉在一年中的不同时候都叫……那么蝉为什么叫的次数不同呢?”面对这样的问题,我们没有急于给出答案,而是鼓励学生继续查阅资料,多思考,相信他们肯定会带着这个问题走进下一课。
这一环节的设计巧妙利用了网络资源,拓宽了学生的视野,开阔了学生的思路,学生仿佛一下子解开了心中的疑惑,收获良多。
有限单元法大作业问题:一薄板,尺寸为10x10,厚为0.1,中心受集中力为400,四个角点为简支,求薄板的位移场。
分析:根据题目要求,可以选用四节点板单元。
对题目模型分网如下:图1:分网图单元大小为2.5×2.5,由于单元仅在中心处受集中载荷,结构是对称的,因此在计算时只需对其四分之一进行计算,然后再将计算结果扩充到整个板就可以了。
源程序如下:%用四节点平面板单元求解平板中心受集中载荷问题%------------------------------------% 输入控制参数%------------------------------------clear %清除workplace残留数据nel=4; % 单元数nnel=4; % 每个单元的节点数ndof=3; % 每个节点的自由度数nnode=9; % 系统总节点数sdof=nnode*ndof; % 系统总自由度数edof=nnel*ndof; % 每个单元的自由度数emodule=206e9; % 杨氏弹性模量poisson=0.3; % 泊松比t=0.1; % 薄板厚度nglxb=2; nglyb=2; % 弯曲对应的2x2高斯拉格朗日积分nglb=nglxb*nglyb; % 弯曲对应的每个单元的高斯积分点数nglxs=1; nglys=1; % 剪切对应的1x1高斯拉格朗日积分ngls=nglxs*nglys; % 剪切对应的每个单元的高斯积分点数%---------------------------------------------% 输入节点坐标值% gcoord(i,j) i:节点号 j:x,y值%---------------------------------------------gcoord=[0.0 0.0; 2.5 0.0; 5.0 0.0;0.0 2.5; 2.5 2.5; 5.0 2.5;0.0 5.0; 2.5 5.0; 5.0 5.0];%---------------------------------------------------------% 每个单元对应的节点号(逆时针排列)% nodes(i,j) i:节点号 j:对应的单元号%---------------------------------------------------------nodes=[1 2 5 4; 2 3 6 5; 4 5 8 7; 5 6 9 8];%-------------------------------------% 输入边界条件%-------------------------------------bcdof=[1 2 3 4 6 7 9 11 12 16 20 21 23 25 26]; % 约束的自由度bcval=zeros(1,15); % 对应的值%----------------------------------------------% 初始化矩阵和矢量%----------------------------------------------ff=zeros(sdof,1); % 载荷矢量kk=zeros(sdof,sdof); % 系统刚度矩阵disp=zeros(sdof,1); % 系统位移矢量index=zeros(edof,1); % 每个单元所包含的自由度kinmtpb=zeros(3,edof); % 弯曲几何函数矩阵matmtpb=zeros(3,3); % 弯曲材料系数矩阵kinmtps=zeros(2,edof); % 剪切几何函数矩阵matmtps=zeros(2,2); % 剪切材料系数矩阵%----------------------------% 载荷矢量%----------------------------ff(27)=100; % 结点9所受的集中载荷%-----------------------------------------------------------------% 单元刚度矩阵计算及其组合%-----------------------------------------------------------------%% 弯曲相关计算%[pointb,weightb]=swp2(nglxb,nglyb); % 积分点和权系数matmtpb=sbm(emodule,poisson)*t^3/12; %弯曲材料系数%% 剪切相关计算%[points,weights]=swp2(nglxs,nglys); % 积分点和权系数shearm=0.5*emodule/(1.0+poisson); % 剪切模量shcof=5/6; % 剪切修正因数matmtps=shearm*shcof*t*[1 0; 0 1]; % 剪切材料系数矩阵for iel=1:nel % 对所有单元数的循环for i=1:nnelnd(i)=nodes(iel,i); % 当前单元对应的节点xcoord(i)=gcoord(nd(i),1); % 节点对应的x坐标值ycoord(i)=gcoord(nd(i),2); % 节点对应的y坐标值endk=zeros(edof,edof); % 初始化单元刚度矩阵kb=zeros(edof,edof); % 初始化弯曲刚度矩阵ks=zeros(edof,edof); % 初始化剪切刚度矩阵%------------------------------------------------------% 弯曲相关计算%------------------------------------------------------for intx=1:nglxbx=pointb(intx,1); % x轴积分点坐标wtx=weightb(intx,1); % 权系数for inty=1:nglyby=pointb(inty,2); % y轴积分点坐标wty=weightb(inty,2) ; % 权系数[shape,dhdr,dhds]=ssf(x,y); % 计算形函数和对其相应的求导jacob2=sjc(nnel,dhdr,dhds,xcoord,ycoord); % 计算雅可比行列式detjacob=det(jacob2); % 计算雅可比行列式的值invjacob=inv(jacob2); % 求雅可比行列式的逆[dhdx,dhdy]=sxy(nnel,dhdr,dhds,invjacob); % 计算ddhdr,dhds在迪卡尔坐标下的值kinmtpb=sbB(nnel,dhdx,dhdy); % 计算弯曲几何函数矩阵%--------------------------------------------% 计算弯曲刚度矩阵%--------------------------------------------kb=kb+kinmtpb'*matmtpb*kinmtpb*wtx*wty*detjacob;endend % 结束弯曲刚度矩阵的计算%------------------------------------------------------% 剪切相关计算%------------------------------------------------------for intx=1:nglxsx=points(intx,1); % x轴积分点坐标wtx=weights(intx,1); % 权系数for inty=1:nglysy=points(inty,2); % y轴积分点坐标wty=weights(inty,2) ; % 权系数[shape,dhdr,dhds]=ssf(x,y); % 计算形函数和对其相应的教学求导jacob2=sjc(nnel,dhdr,dhds,xcoord,ycoord); % 计算雅可比行列式detjacob=det(jacob2); % 计算雅可比行列式的值invjacob=inv(jacob2); % 求雅可比行列式的逆[dhdx,dhdy]=sxy(nnel,dhdr,dhds,invjacob); % 计算dhdr,dhds在迪卡尔坐标下的值kinmtps=ssB(nnel,dhdx,dhdy,shape); % 计算剪切几何函数矩阵%----------------------------------------% 计算剪切刚度矩阵%----------------------------------------ks=ks+kinmtps'*matmtps*kinmtps*wtx*wty*detjacob;endend % 结束剪切刚度矩阵的计算%--------------------------------% 计算单元刚度矩阵%--------------------------------k=kb+ks;index=etsd(nd,nnel,ndof);% 单元对应的系统自由度号kk=ask(kk,k,index); % 合成系统刚度矩阵end%-----------------------------% 加载边界条件%-----------------------------[kk,ff]=dbc(kk,ff,bcdof,bcval);%----------------------------% 求解%----------------------------disp=kk\ff;num=1:1:sdof;nodedisp=[num' disp] % 输出节点位移%----------------------------% 后处理%----------------------------result=zeros(25,3); %初始化displace(75)=0; %将输出的结果从5x5的四分之一板扩充到10x10的全板a=re(1,0,disp);a(75)=0;displace=displace+a;a=re(10,6,disp);a(75)=0;displace=displace+a;a=re(19,12,disp);a(75)=0;displace=displace+a;for i=1:15;displace(45+i)=displace(15+i);displace(60+i)=displace(i);end[result]=dtxy(displace); %将节点位移以节点顺序输出,i->节点号,j->对应位移exgcoord=excoord; %将节点坐标从5x5的四分之一板扩充到10x10的全板[finresult]=agr(exgcoord,result); %将全板的节点坐标和节点位移对应起来,i->节点号,j->对应坐标和位移for i=1:25;finresultin(1,i)=sqrt(finresult(3,i)^2+finresult(4,i)^2+finresult(5,i)^2); %求节点位移endZ=arrayfin(finresultin); %排列节点位移[X,Y]=meshgrid(0:2.5:10,0:2.5:10);surf(X,Y,Z); %画板变形图以下为子程序:function [point2,weight2]=swp2(nglx,ngly)%-------------------------------------------------------------------% 目的:% 求二维高斯积分的积分点和权系数%% 变量:% nglx - x轴高斯积分点数% ngly - y轴高斯积分点数% point2 - 高斯积分点坐标% weight2 - 权系数%-------------------------------------------------------------------% 确定x,y轴最大的积分点数if nglx > nglyngl=nglx;elsengl=ngly;end% 初始化point2=zeros(ngl,2);weight2=zeros(ngl,2);% 求出相应的积分点坐标和权系数[pointx,weightx]=swp1(nglx);[pointy,weighty]=swp1(ngly);% 二维积分for intx=1:nglxpoint2(intx,1)=pointx(intx);weight2(intx,1)=weightx(intx);endfor inty=1:nglypoint2(inty,2)=pointy(inty);weight2(inty,2)=weighty(inty);endfunction [matmtrx]=sbm(elastic,poisson)%------------------------------------------------------------------------% 目的:% 弯曲材料系数%% 变量:% elastic - 弹性模量% poisson - 泊松比%------------------------------------------------------------------------ matmtrx= elastic/(1-poisson*poisson)* ...[1 poisson 0; ...poisson 1 0; ...0 0 (1-poisson)/2];function [shapeq4,dhdrq4,dhdsq4]=ssf(rvalue,svalue)%------------------------------------------------------------------------ % 目的:% 在自然坐标下计算形函数和对其相应的求导%% 变量:% shapeq4 - 四节点单元形函数% dhdrq4 - 形函数对r求导% dhdsq4 - 形函数对s求导% rvalue - 对应点的r坐标值% svalue - 对应点的s坐标值%% 说明:% 第一个点自然坐标(-1,-1), 第二个点自然坐标 (1,-1) % 第三个点自然坐标(1,1), 第四个点自然坐标(-1,1)%------------------------------------------------------------------------ % 形函数shapeq4(1)=0.25*(1-rvalue)*(1-svalue);shapeq4(2)=0.25*(1+rvalue)*(1-svalue);shapeq4(3)=0.25*(1+rvalue)*(1+svalue);shapeq4(4)=0.25*(1-rvalue)*(1+svalue);% 相应的求导dhdrq4(1)=-0.25*(1-svalue);dhdrq4(2)=0.25*(1-svalue);dhdrq4(3)=0.25*(1+svalue);dhdrq4(4)=-0.25*(1+svalue);dhdsq4(1)=-0.25*(1-rvalue);dhdsq4(2)=-0.25*(1+rvalue);dhdsq4(3)=0.25*(1+rvalue);dhdsq4(4)=0.25*(1-rvalue);function [jacob2]=sjc(nnel,dhdr,dhds,xcoord,ycoord)%------------------------------------------------------------------------ % 目的:% 求二维雅可比行列式% 变量:% jacob2 - 二维雅可比行列式% nnel - 每个单元节点数% dhdr - 自然坐标r对形函数的求导% dhds - 自然坐标s对形函数的求导% xcoord - 节点的x坐标值% ycoord - 节点的y坐标值%------------------------------------------------------------------------ jacob2=zeros(2,2);for i=1:nneljacob2(1,1)=jacob2(1,1)+dhdr(i)*xcoord(i);jacob2(1,2)=jacob2(1,2)+dhdr(i)*ycoord(i);jacob2(2,1)=jacob2(2,1)+dhds(i)*xcoord(i);jacob2(2,2)=jacob2(2,2)+dhds(i)*ycoord(i);endfunction [dhdx,dhdy]=sxy2(nnel,dhdr,dhds,invjacob)%------------------------------------------------------------------------ % 目的:% 求dhdr,dhds在迪卡尔坐标下的值%% 变量:% dhdx - 形函数对迪卡尔坐标x的求导% dhdy - 形函数对迪卡尔坐标y的求导% nnel - 每个单元节点数% dhdr - 形函数对自然坐标r的求导% dhds - 形函数对自然坐标s的求导% invjacob - 求雅可比行列式的逆%------------------------------------------------------------------------for i=1:nneldhdx(i)=invjacob(1,1)*dhdr(i)+invjacob(1,2)*dhds(i);dhdy(i)=invjacob(2,1)*dhdr(i)+invjacob(2,2)*dhds(i);endfunction [kinmtpb]=sbB(nnel,dhdx,dhdy)%--------------------------------------------------------------------------% 目的:% 计算弯曲几何函数矩阵%%% 变量:% nnel - 每个单元节点数% dhdx - 形函数对迪卡尔坐标x的求导% dhdy - 形函数对迪卡尔坐标y的求导%--------------------------------------------------------------------------for i=1:nneli1=(i-1)*3+1;i2=i1+1;i3=i2+1;kinmtpb(1,i1)=dhdx(i);kinmtpb(2,i2)=dhdy(i);kinmtpb(3,i1)=dhdy(i);kinmtpb(3,i2)=dhdx(i);kinmtpb(3,i3)=0;endfunction [kinmtps]=ssB(nnel,dhdx,dhdy,shape)%------------------------------------------------------------------------ % 目的:% 计算剪切几何函数矩阵%% 变量:% nnel - 每个单元节点数% dhdx - 形函数对迪卡尔坐标x的求导% dhdy - 形函数对迪卡尔坐标y的求导% shape - 形函数%------------------------------------------------------------------------for i=1:nneli1=(i-1)*3+1;i2=i1+1;i3=i2+1;kinmtps(1,i1)=-shape(i);kinmtps(1,i3)=dhdx(i);kinmtps(2,i2)=-shape(i);kinmtps(2,i3)=dhdy(i);endfunction [index]=etsd(nd,nnel,ndof)%----------------------------------------------------------% 目的:% 单元对应的系统自由度号%% 变量:% index - 和单元"iel"对应的系统自由度数% iel - 要确定系统自由度的单元% nnel - 每个单元的节点数% ndof - 每个节点的自由度%-----------------------------------------------------------edof = nnel*ndof;k=0;for i=1:nnelstart = (nd(i)-1)*ndof;for j=1:ndofk=k+1;index(k)=start+j;endendfunction [kk]=ask(kk,k,index)%----------------------------------------------------------% 目的:% 合成系统刚度矩阵%% 变量:% kk - 系统刚度矩阵% k - 单元刚度矩阵% index - d.o.f. vector associated with an element %-----------------------------------------------------------edof = length(index);for i=1:edofii=index(i);for j=1:edofjj=index(j);kk(ii,jj)=kk(ii,jj)+k(i,j);endendfunction [kk,ff]=dbc2(kk,ff,bcdof,bcval)%----------------------------------------------------------% Purpose:% 为方程[kk]{x}={ff}确定边界条件%% 变量:% kk - 系统刚度矩阵% ff - 载荷% bcdof - 边界节点对应的自由度% bcval - 边界节点对应的自由度的值%-----------------------------------------------------------n=length(bcdof);sdof=size(kk);for i=1:nc=bcdof(i);for j=1:sdofkk(c,j)=0;endkk(c,c)=1;ff(c)=bcval(i);endfunction [u]=re(a,b,disp)%------------------------------------------------------------------------% 目的:% 从5x5的四分之一板扩充输出结果到10x10的全板%% 变量:% disp - 扩充前的节点位移矩阵% u - 扩充后的节点位移矩阵%------------------------------------------------------------------------for i=a:1:a+8;u(1,i+b)=disp(i);endfor i=a+9:1:a+11;u(1,i+b)=disp(i-6);endfor i=a+12:1:a+14;u(1,i+b)=disp(i-12);endfunction result=dtxy(displace)%------------------------------------------------------------------------% 目的:% 将节点位移以节点顺序输出,i->节点号,j->对应位移%% 变量:% result - 按节点顺序输出后的矩阵% displace - 按自由度顺序输出的矩阵%------------------------------------------------------------------------for i=1:25;if i==1;result(1,1)=displace(i);elseresult(i,1)=displace(i*3-2);endif i==1;result(1,2)=displace(2);elseresult(i,2)=displace(i*3-1);endif i==1;result(1,3)=displace(3);elseresult(i,3)=displace(3*i);endendfunction exgcoord=excoord%------------------------------------------------------------------------ % 目的:% 将节点坐标从5x5的四分之一板扩充到10x10的全板%% 变量:% exgcoord - 扩充后的节点坐标矩阵%------------------------------------------------------------------------x=0:2.5:10;y=0:2.5:10;exgcoord=zeros(25,2);for i=1:5;exgcoord(i,1)=x(i);exgcoord(i,2)=y(1);endfor i=6:10exgcoord(i,1)=x(i-5);exgcoord(i,2)=y(2);endfor i=11:15exgcoord(i,1)=x(i-10);exgcoord(i,2)=y(3);endfor i=16:20exgcoord(i,1)=x(i-15);exgcoord(i,2)=y(4);endfor i=21:25exgcoord(i,1)=x(i-20);exgcoord(i,2)=y(5);endfunction finresult=agr(exgcoord,result)%------------------------------------------------------------------------% 目的:% 将全板的节点坐标和节点位移对应起来,i->节点号,j->对应坐标和位移%% 变量:% finresult - 节点坐标和对应位移对应起来的矩阵% result - 节点位移矩阵% exgcoord - 节点坐标矩阵%------------------------------------------------------------------------finresult=zeros(5,25);for i=1:5;if i<=2;finresult(i,:)=exgcoord(:,i);elsefinresult(i,:)=result(:,i-2);endend%------------------------------------------------------------------------% 目的:% 排列节点位移%% 变量:% finresultin - 节点坐标和对应位移对应起来的矩阵% Z - 按节点顺序排列的节点位移矩阵%------------------------------------------------------------------------for i=1:25;if i<=5;Z(1,i)=finresultin(i);elseif i>5&i<=10;Z(2,i-5)=finresultin(i);elseif i>10&i<=15;Z(3,i-10)=finresultin(i);elseif i>15&i<=20;Z(4,i-15)=finresultin(i);elseif i>20&i<=25;Z(5,i-20)=finresultin(i);endend计算结果输出如下。
弹塑性有限单元法汽车车体冲压件通常使用弹塑性材料,在冲压过程中,这种材料的变形成形过程非常复杂,一般用刚塑性FEM与弹塑性FEM二种方法来评价整个冲压成形过程。
在刚塑性FEM中,忽略弹性变形,仅将塑性应变作为计算指标。
因此,在冲压成形过程中,当材料放置到模具上因自重产生的弯曲挠度,从模具中取出冲压件厚产生的弹性恢复等材料变形不能进行计算。
因此,有人提出了根据刚塑性FEM的计算结果,再用弹性FEM计算其卸载过程,但是,刚塑性FEM很难正确地预测在冲压过程中产生的缺陷。
弹塑性FEM可以再空间上时间上交替考虑弹性变形与塑性变形,从理论上讲可以正确地描述整个冲压过程,所以弹塑性FEM可以说是评价冲压过程的最好解析方法。
现有的弹塑性FEM,根据其时间积分方法的不同,可分为“静态显函数法”“静态隐函数法”和“动态显函数法”。
讲加速度项加入平衡方程式求解的称为动态,反之,平衡方程式中不包含加速度项的解法称为静态。
隐函数与显函数是常微分方程数值计算方法中的数学用语。
显函数求方程的解不需要反复计算,而隐函数常微分方程求解时需要迭代多次逼近其解。
显函数解法要求增分补偿不能取得太大,解析冲压成形过程需要较多的计算解析次数。
隐函数解法通常可以保证应力平衡方程式成立,因而增分步长可以取得较大些,以减少解析计算次数。
各种弹塑性FEM的优缺点如下:动态显函数法:该方法求解各节点的独立性运动方程以获得节点变形,因而不需要组成刚度矩阵,即使单元划分得再细,节点再多也占用的计算内存较少,并且每一模拟步骤的计算速度也比其他方法快,因此可以计算对象的单元分割得很细。
但是这种方法是用动态的冲击求解变形问题,时间增量需控制在10-6秒以下,要模拟一秒钟的冲压过程,就需要计算10^6次,实际上这种计算方法十分耗时,为减少运算时间,常常将物理意义不十分清楚的衰减项加入到运动过程,人为地将质量附以加权常数以减少模拟计算次数。
此外,即使在方程式中加入了衰减项,应力值还是会发生振动,增加了弹性恢复计算的难度。
有限单元法实验报告班级:姓名:学号:实验一有限元软件的基本使用一、实验目的✧初步掌握有限元软件的基本使用方法✧了解软件进行结构分析的基本功能✧了解用户界面✧掌握基本操作二、实验设备的基本配置✧实验采用有限元分析软件ANSYS/ED版本✧微机安装Windows 98, Windows NT4.0以上的操作系统。
至少需要200兆硬盘,16MB内存。
17”以上显示器,显示分辨率为1024X768。
三、实验步骤启动ANSYS程序单击“开始”按钮,选择“程序”,选择ANSYS/ED6.X单击“Interactive”进入ANSYS交互式操作程序,出现初始窗口如图。
选择ANSYS产品。
选择ANSYS的工作目录,ANSYS所有生成的文件都写入此目录下。
选择图形显示方式,如配置3D显卡,则选择3D。
设定初始工作文件名,缺省为上次运行的文件名,第一次为file。
设定ANSYS工作空间及数据库大小。
选择Run 运行ANSYS。
1、ANSYS用户界面ANSYS软件提供友好的交互式的图形用户界面(GUI),通过GUI可以方便访问程序的各种功能、命令、联机文档和参考资料,并可以一步一步的完成整个分析,使ANSYS易学易用。
ANSYS提供四种方法输入命令✧菜单✧对话框✧工具杆✧直接输入命令ANSYS有7个菜单窗口,如图,功能如表2、ANSYS基本操作ANSYS通过一些基本操作和选择具有不同功能的处理器模块来完成一个分析任务。
ANSYS主菜单提供了完成一个工程分析所必须的处理器模块,它包括一个前处理器、一个求解器、两个后处理器和其他辅助处理器等。
ANSYS 常用的处理器及其功能、操作命令如表。
ANSYS使用统一的集中式数据库存储所有的模型数据和结果,模型数据包括实体模型、有限元模型、材料特性等通过前处理器写入数据库,载荷和求解结果通过求解器写入数据库,后处理结果通过后处理器写入数据库,数据一写入数据库,可以被其他的处理器调用。
任务书如图所示为带方孔(边长为 80mm)的悬臂梁,其上受部分均布载荷(p=10Kn/m)作用,试采用一种平面单元,对图示两种结构进行有限元分析,并就方孔的布置进行分析比较,如将方孔设计为圆孔,结果有何变化?(板厚为 1mm,材料为钢)《有限元法》课程实训原创性声明本人郑重声明:本课程设计的所有工作,都是在老师的指导下,由作者本人独立完成的。
有关观点、方法、数据和文献的引用已在文中指出,并与参考文献相对应。
除文中已注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品成果。
对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
作者(签字):日期:年月日目录绪论 (1)一.ANSYS 软件简介 (2)1. 进入ANSYS 系统的方法 (2)2. 删除操作错误的方法 (2)3. 对ANSYS 中单位制的一点说明 (2)二.问题阐述 (2)三.几何建模与分析 (3)四.有限元建模及计算结果分析 (3)1.定义单元类型及其选项 (3)2.定义实常数: (4)3.生成有限元模型 (4)4.施加位移约束条件和载荷 (5)5.求解计算 (5)6.结果显示 (5)7.有限元分析结果 (6)心得体会 (13)参考文献 (15)绪论有限单元法,是一种有效解决数学问题的解题方法。
其基础是变分原理和加权余量法,其基本求解思想是把计算域划分为有限个互不重叠的单元,在每个单元内,选择一些合适的节点作为求解函数的插值点,将微分方程中的变量改写成由各变量或其导数的节点值与所选用的插值函数组成的线性表达式,借助于变分原理或加权余量法,将微分方程离散求解。
采用不同的权函数和插值函数形式,便构成不同的有限元方法。
有限元方法最早应用于结构力学,后来随着计算机的发展慢慢用于流体力学的数值模拟。
有限单元法最早可上溯到20世纪40年代。
Courant第一次应用定义在三角区域上的分片连续函数和最小位能原理来求解St.Venant扭转问题。
有限单元法原理及应用有限单元法(Finite Element Method, FEM)是一种数值分析方法,广泛应用于工程结构、材料力学、流体力学等领域。
它通过将复杂的结构或系统分割成有限数量的小单元,然后建立数学模型,最终求解得到整体系统的行为。
本文将介绍有限单元法的基本原理和在工程实践中的应用。
首先,有限单元法的基本原理是将一个连续的结构或系统离散化为有限数量的单元,每个单元都可以用简单的数学方程描述。
这些单元之间通过节点连接在一起,形成整体系统。
然后,通过施加外部载荷或边界条件,可以得到每个单元的位移、应力等信息。
最终,将所有单元的信息组合起来,就可以得到整个系统的行为。
在工程实践中,有限单元法被广泛应用于结构分析、热传导、流体力学等领域。
在结构分析中,可以通过有限单元法来模拟各种复杂的结构,如桥梁、建筑、飞机等,从而预测其受力情况和变形情况。
在热传导领域,有限单元法可以用来分析材料的温度分布、热传导性能等。
在流体力学中,有限单元法可以模拟流体的流动情况、压力分布等。
此外,有限单元法还可以与优化算法相结合,用于优化设计。
通过改变单元的尺寸、形状或材料性质,可以得到最优的结构设计。
这在工程实践中具有重要意义,可以降低结构的重量、提高结构的强度和刚度。
总之,有限单元法作为一种数值分析方法,具有广泛的应用前景。
它不仅可以用于工程结构的分析和设计,还可以用于材料力学、流体力学等领域。
随着计算机技术的不断发展,有限单元法将会变得更加高效、精确,为工程实践提供更多的支持和帮助。
以上就是有限单元法的基本原理及在工程实践中的应用,希望对读者有所帮助。
有限单元法作为一种强大的分析工具,将继续在工程领域发挥重要作用。
实验四有限单元法一、目的与任务目的:通过学生上机,了解有限元模型的建模过程的相关知识和方法,并对实验结果进行分析。
任务:熟悉有限元模型的建模过程,并借助现有分析软件进行计算分析。
二、内容、要求与安排方式1、实验内容与要求:在模型的材料属性,几何特性及载荷数值给出的情况下,建立有限元模型,给出分析过程及计算结果,并打印程序清单和输出结果。
2、实验安排方式:课外编写好程序清单,按自然班统一安排上机。
上机练习:计算悬臂梁端部的最大位移一悬臂梁受到均布载荷w及集中力F的作用如下图所示,需要求解悬臂梁端部的最大位移。
模型的材料属性,几何特性及载荷数值已给出,请建立有限元模型,给出分析过程及计算结果。
图1 悬臂梁受到均布载荷w及集中力F图材料特性: E = 2.07e11 Pa几何特性:l=4 m, a=3, b=0.5, h = 0.01m., A = b*h, I =bh3/12 m4载荷:w = 20 N/m, F=40 N三、试验操作过程1,进入ANSYS启动ANSYS程序,在启动界面中输入Beam1,单击ANSYS界面。
2,设置解题类型单击ANSYS Main Menu 中h3,添加单元类型依次单击弹出对话框,依次选择4,设置实常量在ANSYS Main Menu弹出Real Constants对话框。
单击Add按钮,依次输入几何形状参数b=0.5, h = 0.01m单击OK。
5,添加材料属性依次单击添加弹性模量等参数。
单击6,建模○1,创建点。
依次单击框。
输入关键点坐标,单击○2,创建线依次单击依次拾取关键点,单击7,划分单元格单击。
弹出对话框输入划分单元格分数20,单击Mesh/Lines选择8,施加约束和载荷单击w = 20 N/m, F=40 N,单击9,求解依次单击10,查看结果依次单击/Plot Results/ Contour Plot / Nodal Solu ,弹出对话框选择All Struc Force选项,单击OK。
《有限单元法》报告姓名班级2014级研究生学号Z20149232第一题以平面应力弹性力学问题为例,说明弹性力学的所研究问题的数学模型,并简单导出弹性力学位移法与应力法的数学模型。
(10分)第二题以平面问题为例,推导应力边界条件。
(10分)第三题采用逆解法求解下面薄壁梁(其参数为厚度t,高度h,弹性模量E,泊松比 等)的变形后的应力、应变和位移?(20分)第四题以平面应力弹性力学问题为例说明最小位能原理(能量法-泛函极值)对问题的描述完全等价于第一题中的位移法描述(微分形式)。
(20分)第五题通过例子详细说明有限单元法的理论和具体计算步骤。
(20分)第六题(上网查资料)谈一谈你对有限元法的认识,说明有限单元法在工程上的应用,并举出两个以上的你有兴趣的工程实例。
说明今后有限元法的发展趋势与方向。
(20分)报告要求:1、报告中需图形表述的可以借用讲义中的图形,如果无法找到合适图形,可手绘于标准打印纸上,注意标注清晰。
除图形外所有文字与公式必须打印。
如不满足上述要求,无成绩处理。
2、考勤不符合要求者,无成绩处理。
3、交报告时将此试卷作为报告首页(填写姓名与学号),其它报告内容按顺序装订后提交。
第一题答:(一)以无限薄板为例对平面应力弹性力学问题进行力学分析,如图1-1:1-1平面应力弹性力学问题(1) 首先简化为平面弹性力学问题1.假设薄板的前后两个截面均为自由截面,因此在这两个截面上无应力,于是在这两个截面上有: ,0,,=zy zx z ττσ ()nes TwoFreePlaz y x ∈,, 2.由于薄板很薄,可以近似认为应力不随厚度而变化,于是在整个弹性体有:()()()()()()y x z y x y x z y x y x z y x xy xy y y x x zy zx z ,,,,,,,,,0,,ττσσσσττσ==== 3.由第二步的结果可以看出,在给定的XOY 坐标平面内,应力函数缩减为3 个二维函数。
有限单元法考试的题目一般不会超出某一单元的知识点,也就是说,你可以从不同的角度去解答它。
如果一个老师出卷的时候能够兼顾到全部的单元知识,那么他给学生设计的题目也应该都是考察相关单元的知识。
因此,这种方法还真的很实用,而且比较高效。
我就运用这种方法,把学生们整个学期的课文背下来了。
因此,当我的学生们看见我拿出《李时珍夜宿古寺》这篇课文让他们背诵的时候,还没等我把课文念完,大家就已经“朗朗上口”了。
如果老师的题目只局限在某一单元里面,对于学生来说可能无所谓,但是现在初中的学生大多数都开始自己学着预习、自己查找资料、自己写周记了,所以这种方法必须适合于他们。
有限单元法的基本思想就是以教材为基础,以拓展为发展,把握单元学习重点,注意单元内的联系,最后达到贯通所学知识的目的。
例如,《三峡》这篇课文,三峡是个很好的例子。
本单元将三峡作为一个单元,对于三峡景物进行整体描述,并涉及到对三峡地理位置和成因的探究。
它是三峡自然景观的总概括,也是重点的记叙文段。
可分为:三峡总述、巫峡、西陵峡。
三峡是文章的重点,对于三峡地理位置、成因以及水流特点等内容,都是重点讲授内容,所以我利用这篇课文向学生介绍这些知识点,并且穿插图片和视频,再辅以典型词句的精炼赏析,学生很快就掌握了要领。
至于三峡其他两个峡的学习,我则是先教授第一个巫峡,再教授第二个西陵峡,最后整合成一个单元。
这样做的好处是学生在学习中如果有问题了,或者是困惑了,在第一次尝试的时候,就可以进行搜集资料、讨论,在以后的几个单元的学习中逐步强化,那么在考试的时候遇到类似的题目就可以轻松应对了。
这就好像跳远训练一样,你必须得分组来跳,每个人负责跳多少米,只有最后所有的组员都跳得很好了,才可能使最后的成绩有提升。
所以我设计的课程表以教材为主线,一节课一个单元,一个单元一个章节。
首先,上课铃声响起,上课时间还剩余五分钟,则自动进入下一单元的学习。
其次,每次讲到新的单元,下课铃声响起,则顺延至下一次课开始。