有限元受力分析结构梁力计算.docx
《有限元受力分析结构梁力计算.docx》由会员分享,可在线阅读,更多相关《有限元受力分析结构梁力计算.docx(19页珍藏版)》请在冰豆网上搜索。
有限元受力分析结构梁力计算
·绪论.....................................2
第一章·有限元课程设计..........................4
一.工程问题........................................4
二.简化模型........................................4
三.解析法求解......................................5
四.ANSYS求解.......................................8
五.结果分析.......................................19
第二章·机械优化设计说明.........................20
一.题目及解析......................................20
二.黄金分割法计算框图............................23
三.C语言程序.....................................24
四.运行结果.......................................27
五.结果分析.......................................27
第三章·设计感言...............................28
第四章·参考文献...............................28
前言
有限元法在解决圣维南扭转问题近似解时首先提出的。
有限元在弹性力学平面问题的第一个成功应用是由美国学者于1956年解决飞机结构强度时提出的、经过几十年得发展,有限元一惊成为现代结构分析得有效方法和主要手段。
它的应用已经从弹性力学的平面问题扩展到空间问题和板壳问题。
对于有限元法,从选择基本未知量的角度来看,他可以分为三种方法:
位移法,力法,混合法。
从推导方法来看,它可以分为直线法,变分法,加权余数法。
但随后随着计算机的发展,有限元法如虎添翼。
国内外已有许多大型通用的有限元分析程序,并已经出现了将人工智能技术引入有限元分析软件,形成了比较完善得专家系统,逐步实现了有限元的智能化。
优化设计是现代设计方法的重要内容之一。
它以数学规划为理论基础以电子计算机为工具,在充分考虑多种设计约束的前提下,寻求满足预订目标的最佳设计。
优化设计理论于方法用于工程设计是在六十年代后期开始的,特别是今年来,随着有限元素法,可靠性设计,计算机辅助设计的理论与发展及优化设计方法的综合应用使整个工程设计过程逐步向自动化集成化智能化发展,其前景使令人鼓舞的。
因而工程设计工作者必须适应这种发展变化,学习,掌握和应用优化设计理论与方法。
今年来随着计算机技术的普及和计算速度的不断提高,有限元分析在工程设计和分析中得到了越来越广泛的重视,已经成为解决复杂的工程分析计算问题的有效途径,现在从汽车到航天飞机几乎所有的机械制造都已离不开有限元分析计算,其再机械制造,材料加工,航空航天,汽车,土木建筑,电子电器,国防军土,船舶,铁道,石化能源,科学研究等各个领域的广泛使用已使设计水平发生了质的飞跃,主要表现在以下几个方面:
增加产品和工程的可靠性
在产品的设计阶段发现潜在的问题
经过分析计算,采用优化设计方案,降低原材料成本
缩短产品投向市场的时间
模拟试验方案,减少试验次数,从而减少试验经费
ANSYS软件致力于耦合场的分析计算,能够进行结构,流体,热,电磁四种场的计算,已博得了世界上数千家用户的钟爱。
ADINA非线性有限元分析软件由著名的有限元专家,麻省理工学院的K.J.Bathe教授领导开发,其单一系统即可进行结构,流体,热的耦合计算。
并同时具有隐式和显式两种时间积分算法。
犹豫其在非线性求解,流固耦合分析等发面的强大功能,迅速成为有限元分析软件的后起之秀,现已成为非线性分析得首选软件。
第一章·有限元课程设计
一、工程问题
材料力学Ι辅导及习题精解(陈平第四版)P180
受力如图所示的梁,试根据q,Fs,M之间的微分关系和积分关系画出Fs,M图。
二、简化模型
1、梁的参数:
长度l=10m;
宽度b=1m
厚度h=0.5m
2、材料参数
梁选择线性、弹性、各向同性的材料。
它的弹性模量EI=207e5Pa.。
3、梁的边界条件
在节点A处梁受Y方向的约束;节点B受X方向和Y方向的约束。
4、梁的载荷
FB之间作用着均布载荷q=2kN/m,在节点E处作用着集中力偶Me=10kN·m。
D处作用沿Y负方向的集中力F=1KN,在C处作用沿Y负方向的集中力F=3KN。
经上述分析,此外伸梁可简化成一个二维单元,其中一端固支,一端外伸。
另一个支撑点变化为一个绞支点,在梁的上部分布着均布载荷。
如图所示(a)
3、解析法求解
(1)先求支座反力,得Fa=6KNFb=6Kn
(2)做Fs图如图所示
从梁左端开始。
由C截面有向下的集中力F1的作用,所以Fs图有零开始向下突变,其突变值为F1=-3KN。
由于AC段内无分布载荷作用,所以C,A两截面的剪力增量为零。
CA段得剪力图为一条水平直线,并从C点一直延伸到A点稍偏左的截面处。
由于A截面处有向上的集中力Fa的作用,Fs图有一向上的突变,值为Fa=+6KN,所以A右截面的剪力值为-3+6=+3KN.在AD段,又因为没有均布载荷所以Fs图也为一条直线,从A点一直延伸到D点稍左的截面处。
由于D截面处有一向下的集中力F2的作用,所以Fs图有一向下的突变,值为F2=-1KN,所以D右截面的剪力值为3-1=+2KN。
在DEF段,因为均布载荷也为零所以Fs图为一水平直线,从D点一直延伸到F截面处。
由于在FB段有向下的均布载荷作用,q=-2KN/m,所以Fs图为一下降的斜直线。
BF两截面上的剪力之差等于载荷q(x)图的面积,即-2乘4=-8KN,所以B左截面上的剪力值为2-8=-6KN.最后在B截面由于有向上的集中力Fb的作用,所以Fs图有一个向上的突变,值为Fb=+6KN于是,Fs图画出如图所示(b)。
(3)做M图(如图所示(c))
因为C截面为自由端,又没有集中力偶作用,所以Mc=0;弯矩图从0开始。
在CA段,因为没有均布载荷,又因为Fs=-3<0,所以M图为一下降的斜直线;而AC两截面上的弯矩之差,就是CA段的Fs图的面积,即-3乘2=-6KN·m,所以,A截面的弯矩值为-6KN·m.在AD段,因为均布载荷为0,Fs=3KN>0,所以M图为一上升的斜直线;而DA两截面上的弯矩之差,等于AD段的Fs图的面积,即3乘1=3KN·m
所以D截面的弯矩值为-6+3=-3KN·m。
在DE段,均布载荷为0,Fs=2KN>0,所以M图也为一个上增的斜直线;而ED两截面上的弯矩之差等于DE段Fs图的面积,即2乘1=2KN·m,所以E左截面的弯矩值为-3+2=-1KN·m。
在E截面,因为有一个顺时针转向的集中力偶作用,所以M图有一向上的突变,值为Me==5KN·m,所以E右截面的弯矩值为-1+5=+4KN·m。
在EF段,因为没有均布载荷,又因为Fs=2KN>0,所以M图为一上增的斜直线;FE两截面上的弯矩之差等于EF段的Fs图面积,即2乘2=4KN·m,所以F截面的弯矩值为4+4=8KN·m。
在FB段,由于q(x)=-2KN/m,所以M图为一上凸的曲线。
又因为在F截面以右的1m的FG段内Fs>0,所以FG段得M图为一上增而向上凸的二次曲线。
在G截面,因为Fs由正变负,所以,M图在这里有极大值。
GF两截面上的弯矩之差等于FG段的Fs图的面积,即1/2乘2乘1=1KN·m所以,G截面的弯矩值为8+1=9KN·m。
BG两截面上的弯矩之差等于GB段的Fs图的面积即1/2乘(-6)乘3=-9KN·m所以,B截面的弯矩值为9-9=0,M图回到0.全梁的M图绘于(c)中。
如图
四、ANSYS求解
将梁划分为20个单元,21个节点,用BEAM3来建立单元进行静力学分析。
交互式的求解过程
1.创建节点
1.1创建梁的各个节点
1.MainMenu:
Preprocessor→Modeling→Create→Node→InActiveCS。
2.在创建节点窗口内,在NODE后的编辑框内输入节点号1,并在X,Y,Z后的编辑框内输入0,0,0作为节点1的坐标值。
3.按下该窗口内的Apply按钮。
4.输入节点号21,并在X,Y,Z后的编辑框内输入10,0,0作为节点21的坐标值。
5.按下OK按钮。
6.MainMenu:
Preprocessor→-Modeling-Create→Node→FillbetweenNds。
7.在图形窗口内,用鼠标选择节点1和21。
8.按下FillbetweenNds窗口内的Apply按钮。
9.按下OK按钮,完成在节点1到节点21之间节点的充
1.2显示各个节点
1.UtilityMenu:
Plotctrls→Numberings
2.将Nodenumbers项设置为On。
3.UtilityMenu:
Plot→Nodes
4.UtilityMenu:
List→Nodes
5.对出现的窗口不做任何操作,按下OK按钮。
6.浏览节点信息后,关闭该信息窗口。
2.定义单元类型和材料特性
2.1定义单元类型
1.MainMenu:
Preprocessor→ElementType→Add/Edit/Delete
2.按下ElementType窗口内的Add按钮。
3.在单元类型库中,选择左侧列表中的BEAM单元家族,及右侧列表中2Delastic3类型。
4.按下OK按钮完成选择。
5.按下Close按钮关闭ElementType窗口。
2.2定义材料特性
1.MainMenu:
Preprocessor→MaterialProps→MaterialModels。
1.在材料定义窗口内选择:
Structural→Linear→Elastic→Isotropic。
2.在EX后的文本框内输入数值207e5作为弹性模量。
3.按下OK按钮完成定义。
2.3定义几何参数
1.MainMenu:
Preprocessor→RealConstants→Add/Edit/Delete。
2.按下RealConstants窗口内的Add按钮。
按下RealConstantsforElementType窗口内的OK按钮。
3.依次输入1,1,0.02088,0.5。
4.按下OK按钮完成定义。
5.按下RealConstants窗口内的Close按钮。
3.创建单元
3.1创建单元
1.MainMenu:
Preprocessor→Create→Elements→Auto-Numbered→ThruNodes。
2.在图形窗口内,用鼠标点选节点1和2。
3.按下按下OK按钮完成单元1的定义。
4.MainMenu:
Preprocessor→Model→Copy→Elements→Auto-Numbered。
用光标选择单元1,然后点Apply。
5.在ITIME后的编辑框内输入20(包括被复制的单元1)作为要复制的单元总数。
6.按下按下OK按钮完成单元2到单元20的定义。
3.2显示单元资料
1.UtilityMenu:
PlotCtrls→Numberings
2.在第一个下拉列表中,选择Elementsnumbers选项。
3.UtilityMenu:
Plot→Elements
4.UtilityMenu:
List→Elements→Nodes+Attributes
5.浏览单元信息后,关闭该窗口。
4.施加约束和载荷
4.1节点自由度约束
1.MainMenu:
Solution→DefineLoads→Apply→Structural→Displacement→Onnodes。
2.用鼠标在图形窗口内选择节点5。
3.按下选择窗口内的Apply按钮。
4.选择自由度UY,并在VALUE后为其输入数值0。
5.按下Apply按钮。
6.用鼠标在图形窗口内选择节点21。
7.按下选择窗口内的Apply按钮。
8.选择自由度UX和UY,并在VALUE后为其输入数值0。
9.按下OK按钮。
4.2施加载荷
4.2.1施加节点1处的集中载荷F1。
1.MainMenu:
Solution→DefineLoads→Apply→Structural→Force/Moment→Onnodes。
2.用鼠标在图形窗口内选择节点1。
3.按下选择窗口内的Apply按钮。
4.在第一个下拉列表中选择FY,并在下面的文本框内输入其值-3(向上为Y轴正方向)。
5.按下Apply按钮。
4.2.2施加节点7处的集中载荷F2。
6.MainMenu:
Solution→DefineLoads→Apply→Structural→Force/Moment→Onnodes。
7.用鼠标在图形窗口内选择节点7。
8.按下选择窗口内的Apply按钮。
9.在第一个下拉列表中选择FY,并在下面的文本框内输入其值-1(向上为Y轴正方向)。
10.按下Apply按钮。
4.2.3施加节点3处的弯矩m。
1.MainMenu:
Solution→DefineLoads→Apply→Structural→Force/Moment→Onnodes。
2.
用鼠标在图形窗口内选择节点9。
3.按下选择窗口内的Apply按钮。
4.在第一个下拉列表中选择MZ,并在下面的文本框内输入其值-5(逆时针为正方向)(对照上面第4步)。
5.按下OK按钮。
4.2.4施加单元13到单元20上的的分布载荷q。
1.MainMenu:
Solution→DefineLoads→Apply→Structural→Pressure→OnBeams。
2.用鼠标在图形窗口内选择单元13到单元20。
3.按下选择窗口内的Apply按钮。
4.在LKEY后的文本框内输入数值1。
5.在VALI和VALJ后的编辑框内分别输入10,
6.按下OK按钮。
5.求解
5.1定义分析类型
1.MainMenu:
Solution→AnslysisType→NewAnalysis。
2.选中Static选项。
3.按下OK按钮。
5.2求解
1.MainMenu:
Solution→Solve→CurrentLs。
2.按下OK按钮关闭SolveCurrentLoadStep窗口。
3.按下Close按钮关闭求解结束后出现的Information窗口。
4.浏览/STATUSCommand窗口内的信息后,将其关闭。
6.后处理
6.1显示梁变形结果
1.MainMenu:
GeneralPostproc→PlotResults→ContourPlotNodalSolu...→选择DOFSolution下的Displacementvectorsum
2.不改变对话框内的任何项,按下OK按钮。
6.2建立单元结果表
6.2.1创建单元表,计算节点弯矩。
1.MainMenu:
GeneralPostproc→ElementTable→DefineTable。
2.按下ElementTableData窗口内的Add按钮。
3.在Lab后的文本框内输入IMOMENT。
4.在左侧列表中选择Bysequencenum项。
5.右侧列表中选择SMICS,项。
6.在右侧列表下的文本框内输入SMICS,6。
7.按下Apply按钮。
在Lab后的文本框内输入JMOMENT。
8.在Lab后的文本框内输入JMOMENT。
9.重复上面的步骤4和5。
10.右侧列表下的文本框内输入SMICS,12。
11.按下OK按钮。
6.2.2创建单元表,计算节点剪力。
1.MainMenu:
GeneralPostproc→ElementTable→DefineTable。
2.按下ElementTableData窗口内的Add按钮。
3.在Lab后的文本框内输入ISHEAR。
4.在左侧列表中选择Bysequencenum项。
5.右侧列表中选择SMICS,项。
6.右侧列表下的文本框内输入SMICS,2。
7.按下Apply按钮。
8.在Lab后的文本框内输入JSHEAR。
9.重复上面的步骤4和5。
10.右侧列表下的文本框内输入SMICS,8。
11.按下OK按钮。
6.3列出所有表格资料
6.3.1列出资料
1.MainMenu:
GeneralPostproc→ListResults→ElementTableData。
2.在ListElementTableData窗口内选择IMOMENT,JMOMENT,ISHEAR和JSHEAR。
3.按下OK按钮并在浏览资料窗口内的信息后,将其关闭。
6.3.2画剪力图
1.MainMenu:
GeneralPostproc→PlotResults→LineElemRes
2.在第一个下拉列表中选择ISHEAR,在第二个下拉列表中选择JSHEAR。
3.按下OK按钮。
6.3.3画弯矩图
1.MainMenu:
GeneralPostproc→PlotResults→LineElemRes
2.在第一个下拉列表中选择IMOMENT,在第二个下拉列表中选择JMOMENT。
3.按下OK按钮。
弯矩图及其相应数据如下(图形已经过反色处理):
7.退出程序
1.Toolbar:
Quit。
2.选择Quit-NoSave!
3.按下OK按钮。
五、结果分析
梁的弯矩在有集中力偶的地方会发生跳变,而剪力是在有集中
力的地方会有跳变的
两种方法的求解结果一样,证明在运用正确的方法,选用正确的
单元与节点进行有限元的分析,能得到与实际相符的结果,所以在。
工程实际中将实际问题转化成数学与物理模型,能得到想要的结果
第二章·机械优化设计说明
一.题目及解析
用黄金分割法求f(x)=2X3+3X2-6X+1的最优解.设初始点ɑ0=0,初始步长
h=1,取迭代精度ε=0.01
解:
a1=a0=0,f1=f(a1)=1
a2=a1+h=1,f2=f(a2)=0
∵f1>f2,
∴作前进运算
h=2h=2,f3=f(a1)=17
∵出现了“两大头,中间小”的情况
∴初始搜索区间为[a,b]=[0,2]
a1=a+0.382(b-a)=0.764,f1=-2.941025
a2=a+0.618(b-a)=1.236,f2=1.9435525
∵f1∴b=a2=1.236
a2=a1=0.764,f2=f1=-2.941025
a1=a+0.382(b-a)=0.472,f1=-0.950570
判断迭代终止条件:
∵b-a=1.23>ε∴继续比较
∵f1∴a=a2=0.472,
a1=a2=0.746,f1=f2=-2.941025
a2=a+0.618(b-a)=0.944f2=f(a2)=-0.307366
判断迭代终止条件:
∵b-a=1.236-0.472=0.764>ε
∴继续比较
省略求解步骤得结果
a※=0.5(a+b)=0.617934
f※=f(a※)=-1.090262
二黄金分割法计算框图
三C语言程序
#include
#include
#include
#definee0.0001
#definett1
floatfunction(floatx)
{
floaty=2*pow(x,3)+3*pow(x,2)-6*x+1;
return(y);
}
voidfinding(floata[3],floatf[3])
{
floatt=tt,a1,f1,ia;
inti;
a[0]=0;
f[0]=function(a[0]);
for(i=0;;i++)
{a[1]=a[0]+t;f[1]=function(a[1]);
if(f[1]if(fabs(f[1]-f[0])>=e)
{t=-t;a[0]=a[1];f[0]=f[1];}
elset=t/2;
}
for(i=0;;i++)
{a[2]=a[1]+t;f[2]=function(a[2]);
if(f[2]>f[1])break;
t=2*t;
a[0]=a[1];f[0]=f[1];
a[1]=a[2];f[1]=f[2];
}
if(a[0]>a[2])
{a1=a[0];f1=f[0];
a[0]=a[2];f[0]=f[2];
a[2]=a1;f[2]=f1;
}
return;
}
floatgold(float*ff)
{
inti;
floata1[3],f1[3],a[4],f[4];
floataa;
finding(a1,f1);
a[0]=a1[0];f[0]=f1[0];
a[3]=a1[2];f[3]=f1[2];
a[1]=a[0]+0.382*(a[3]-a[0]);a[2]=a[0]+0.618*(a[3]-a[0]);
f[1]=function(a[1]);f[2]=function(a[2]);
for(i=0;;i++)
{if(f[1]>=f[2])
{a[0]=a[1];f[0]=f[1];
a[1]=a[2];f[1]=f[2];
a[2]=a[0]+0.618*(a[3]-a[0]);f[2]=function(a[2]);
}
else{a[3]=a[2];f[3]=f[2];
a[2]=a[1];f[2]=f[1];
a[1]=a[0]+0.382*(a[3]-a[0]);f[1]=function(a[1]);
}
if((a[3]-a[0]){aa=(a[1]+a[2])/2;*ff=function(aa);
break;
}
}
return(aa);
}
voidmain()
{floatxx,ff;
xx=gold(&ff);
printf("\nTheOptimalDesignResultIs:
\n");
printf("\n\tx*=%f\n\tf*=%f",xx,ff);
getch();
}四运行结果
五结果分析
程序运行结果与实际计算结