现代设计方法课程设计
前言
据有关统计,在我国机械制造业中,采用有限元方法开发和设计的新产品已达到70%以上;在机械工程、车辆工程、土木工程、航空航天、材料加工工程等领域中从事工程设计与优化、材料宏微观模拟与分析的各类工作和学位论文中,约有90%以上的论文采用有限元方法作为分析工具,并且有限元方法在其中80%以上的论文中起到决定性的作用;可以看出,有限元分析已经成为教学、科研、产品设计中广泛使用的重要工具。近年来,有限元分析已从过去的只有较少数专业人员掌握的理论和方法,变为大学生、研究生、科技工作者、工程技术设计人员广泛使用的通用分析工具,一个重要的原因就是有限元分析商品化软件的普及。
ANSYS软件是融结构、流体、电场、磁场、声场分析于一体的大型通用有限元分析软件。由世界上最大的有限元分析软件公司之一的美国ANSYS开发,它能与多数CAD软件接口,实现数据的共享和交换,如Pro/Engineer, NASTRAN, Alogor, I-DEAS, AutoCAD等,是现代产品设计中的高级CAD工具之一。软件主要包括三个部分:前处理模块,分析计算模块和后处理模块。前处理模块提供了一个强大的实体建模及网格划分工具,用户可以方便地构造有限元模型;分析计算模块包括结构分析(可进行线性分析、非线性分析和高度非线性分析)、流体动力学分析、电磁场分析、声场分析、压电分析以及多物理场的耦合分析,可模拟多种物理介质的相互作用,具有灵敏度分析及优化分析能力;后处理模块可将计算结果以彩色等值线显示、梯度显示、矢量显示、粒子流迹显示、立体切片显示、透明及半透明显示(可看到结构内部)等图形方式显示出来,也可将计算结果以图表、曲线形式显示或输出。软件提供了100种以上的单元类型,用来模拟工程中的各种结构和材料。该软件有多种不同版本,可以运行在从个人机到大型机的多种计算机设备上,如PC,SGI,HP,SUN,DEC,IBM,CRAY等。
有限元
一、ANSYS软件介绍
1.1 ANSYS简介
ANSYS是一种广泛的商业套装工程分析软件。所谓工程分析软件,主要是在机械结构系统受到外力负载所出现的反应,例如应力、位移、温度等,根据该反应可知道机械结构系统受到外力负载后的状态,进而判断是否符合设计要求。一般机械结构系统的几何结构相当复杂,受的负载也相当多,理论分析往往无法进行。想要解答,必须先简化结构,采用数值模拟方法分析。由于计算机行业的发展,相应的软件也应运而生,ANSYS软件在工程上应用相当广泛,在机械、电机、土木、电子及航空等领域的使用,都能达到某种程度的可信度,颇获各界好评。使用该软件,能够降低设计成本,缩短设计时间。
到80年代初期,国际上较大型的面向工程的有限元通用软件主要有:ANSYS, NASTRAN, ASKA, ADINA, SAP等。以ANSYS为代表的工程数值模拟软件,是一个多用途的有限元法分析软件,它从1971年的2.0版本与今天的5.7版本已有很大的不同,起初它仅提供结构线性分析和热分析,现在可用来求结构、流体、电力、电磁场及碰撞等问题的解答。它包含了前置处理、解题程序以及后置处理,将有限元分析、计算机图形学和优化技术相结合,已成为现代工程学问题必不可少的有力工具。
1.2 ANSYS软件主要功能
ANSYS软件是融结构、热、流体、电磁、声学于一体的大型通用有限元软件,可广泛的用于核工业、铁道、石油化工、航空航天、机械制造、能源、汽车交通、国防军工、电子、土木工程、生物医学、水利、日用家电等一般工业及科学研究。该软件提供了不断改进的功能清单,具体包括:结构高度非线性分析、电磁分析、计算流体力学分析、设计优化、接触分析、自适应网格划分及利用ANSYS参数设计语言扩展宏命令功能。
1.3 ANSYS软件主要特点
主要技术特点:
?唯一能实现多场及多场耦合分析的软件。
?唯一实现前后处理、求解及多场分析统一数据库的一体化大型FEA软件。
?唯一具有多物理场优化功能的FEA软件。
?唯一具有中文界面的大型通用有限元软件。
?强大的非线性分析功能。
?多种求解器分别适用于不同的问题及不同的硬件配置。
?支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容。
?强大的并行计算功能支持分布式并行及共享内存式并行。
?多种自动网格划分技术,良好的用户开发环境。
二、有限元结构分析
2.1 问题分析
作图示梁的剪力图和弯矩图。求出最大剪力和最大弯矩。
在下图中,梁AB 上段有分布载荷,q=10kN/m, 载荷分布情况如下图所示,C 点作用一集中力,F=20kN 。B 点处有一40KN*M 力偶。AB=9m,BC=1m 。
该梁选择45号优质碳素结构钢,进行调质处理,其机械性能查《机械设计》表8-1得:MPa B 637=σ,MPa S 353=σ,MPa 2681=-σ,MPa 1551=-τ,2.0=σψ,
1.0=τψ。
取此钢的横截面积为矩形,h=0.5m ,b=0.5m 。 其横截面积为0.25,惯性矩为0.0104167。 经校核,此钢满足刚度、强度要求。
解:由梁的平衡方程,求出A 点和B 点的支座反力:
∑=0A
M 10*9/2*+20*10-40-Fb*9=0
Fb=-42.7KN
0=∑B
M
Fa*9+20*1-40-10*9/2=0 Fa=47.2KN
AB 段内:Ms(x):47.2x-1/2qx 2
BC 段内:Ms(x):47.2x-1/2q(x-4.5)2-40
做剪力图与弯矩图:
2.2 模型建立
交互式的求解过程
1.创建节点
1.1 创建梁的各个节点
1.Main Menu:Preprocessor→Modeling→Create→Node→In Active CS。
2.在创建节点窗口内,在NODE后的编辑框内输入节点号1,并在X,Y,Z 后的编辑框内输入0,0,0作为节点1的坐标值。
3.按下该窗口内的Apply按钮。
4.输入节点号21,并在X,Y,Z后的编辑框内输入10,0,0作为节点21的坐标值。
5.按下OK按钮。
6.Main Menu:Preprocessor→-Modeling-Create→Node→Fill between Nds。
7.在图形窗口内,用鼠标选择节点1和21。
8.按下Fill between Nds窗口内的Apply按钮。
9.按下OK按钮,完成在节点1到节点21之间节点的填充。
1.2 显示各个节点
1.Utility Menu:Plotctrls→Numberings
2.将Node numbers项设置为On。
3.Utility Menu:Plot→Nodes
4.Utility Menu:List→Nodes
5.对出现的窗口不做任何操作,按下OK按钮。
6.浏览节点信息后,关闭该信息窗口。
2.定义单元类型和材料特性
2.1 定义单元类型
1.Main Menu:Preprocessor→Element Type→Add/Edit/Delete
2.按下Element Type窗口内的Add按钮。
3.在单元类型库中,选择左侧列表中的BEAM单元家族,及右侧列表中2D elastic 3类型。
4.按下OK按钮完成选择。
5.按下Close按钮关闭Element Type窗口。
2.2 定义材料特性
1.Main Menu:Preprocessor→Material Props→Material Models。
2.在材料定义窗口内选择:Structural→Linear→Elastic→Isotropic。
3.在EX后的文本框内输入数值207e5作为弹性模量。
4.按下OK按钮完成定义。
2.3 定义几何参数
1.Main Menu:Preprocessor→Real Constants→Add/Edit/Delete。
2.按下Real Constants窗口内的Add按钮。
3.按下Real Constants for Element Type窗口内的OK按钮。
4.依次输入1,1,0.02088,0.5。
5.按下OK按钮完成定义。
6.按下Real Constants窗口内的Close按钮。
3.创建单元
3.1 创建单元
1.Main Menu:Preprocessor→Create→Elements→Auto-Numbered→Thru Nodes。
2.在图形窗口内,用鼠标点选节点1和2。
3.按下按下OK按钮完成单元1的定义。
4.Main Menu:Preprocessor→Model→Copy→Elements→Auto-Numbered。
用光标选择单元1,然后点Apply。
5.在ITIME后的编辑框内输入20(包括被复制的单元1)作为要复制的单元总数。
6.按下按下OK按钮完成单元2到单元10的定义。
3.2 显示单元资料
1.Utility Menu:PlotCtrls→Numberings
2.在第一个下拉列表中,选择Elements numbers选项。
3.Utility Menu:Plot→Elements
4.Utility Menu:List→Elements→Nodes+Attributes
浏览单元信息后,关闭该窗口。
4.施加约束和载荷
4.1 节点自由度约束
1.Main Menu:Solution→Define Loads→Apply→Structural→Displacement→ On nodes。
2.用鼠标在图形窗口内选择节点19。
3.按下选择窗口内的Apply按钮。
4.选择自由度UX和UY,并在VALUE后为其输入数值0。
5.按下Apply按钮。
6.用鼠标在图形窗口内选择节点1。
7.按下选择窗口内的Apply按钮。
8.选择自由度UY,并在VALUE后为其输入数值0。
9.按下OK按钮。
4.2施加载荷
4.2.1施加节点21处的集中载荷F。
1.Main Menu:Solution→Define Loads→Apply→Structural→Force/Moment→ On nodes。
2.用鼠标在图形窗口内选择节点21。
3.按下选择窗口内的Apply按钮。
4.在第一个下拉列表中选择FY,并在下面的文本框内输入其值-20(向上为Y轴正方向)。
5.按下Apply按钮。
4.2.2施加节点19处的弯矩m。
1.Main Menu:Solution→Define Loads→Apply→Structural→Force/Moment→ On nodes。
2.用鼠标在图形窗口内选择节点19。
3.按下选择窗口内的Apply按钮。
4.在第一个下拉列表中选择MZ,并在下面的文本框内输入其值40(逆时针为正方向)(对照上面第4步)。
5.按下OK按钮。
4.2.3施加单元1到单元19上的的分布载荷q。
1.Main Menu:Solution→Define Loads→Apply→Structural→Pressure →On Beams。
2.用鼠标在图形窗口内选择单元1到单元19。
3.按下选择窗口内的Apply按钮。
4.在LKEY后的文本框内输入数值1。
5.在VALI和VALJ后的编辑框内分别输入10,
6.按下OK
5.求解
5.1 定义分析类型
1.Main Menu:Solution→ Anslysis Type→New Analysis。
2.选中Static选项。
3.按下OK按钮。
5.2 求解
1.Main Menu:Solution→ Solve→Current Ls。
2.按下OK按钮关闭Solve Current Load Step窗口。
3.按下Close按钮关闭求解结束后出现的Information窗口。
浏览/STATUS Command窗口内的信息后,将其关闭。
6.后处理
6.1 显示梁变形结果
1.Main Menu:General Postproc→Plot Results→Contour Plot Nodal Solu... →选择DOF Solution下的Displacement vector sum 2.不改变对话框内的任何项,按下OK按钮。
6.2 建立单元结果表
6.2.1创建单元表,计算节点弯矩。
1.Main Menu:General Postproc→Element Table→Define Table。
2.按下Element Table Data窗口内的Add按钮。
3.在Lab后的文本框内输入IMOMENT。
4.在左侧列表中选择By sequence num项。
5.右侧列表中选择SMICS,项。
6.在右侧列表下的文本框内输入SMICS,6。
7.按下Apply按钮。
8.在Lab后的文本框内输入JMOMENT。
9.重复上面的步骤4和5。
10.右侧列表下的文本框内输入SMICS,12。
11.按下OK按钮。
6.2.2创建单元表,计算节点剪力。
1.Main Menu:General Postproc→Element Table→Define Table。
2.按下Element Table Data窗口内的Add按钮。
3.在Lab后的文本框内输入ISHEAR。
4.在左侧列表中选择By sequence num项。
5.右侧列表中选择SMICS,项。
6.右侧列表下的文本框内输入SMICS,2。
7.按下Apply按钮。
8.在Lab后的文本框内输入JSHEAR。
9.重复上面的步骤4和5。
10.右侧列表下的文本框内输入SMICS,8。
11.按下OK按钮。
6.3 列出所有表格资料
6.3.1列出资料
1.Main Menu:General Postproc→List Results→Element Table Data。
2.在List Element Table Data窗口内选择IMOMENT,JMOMENT,ISHEAR和JSHEAR。
3.按下OK按钮并在浏览资料窗口内的信息后,将其关闭。
6.3.2画剪力图
1.Main Menu:General Postproc→Plot Results→Line Elem Res
2.在第一个下拉列表中选择ISHEAR,在第二个下拉列表中选择JSHEAR。
3.按下OK按钮。
6.3.3画弯矩图
1.Main Menu:General Postproc→Plot Results→Line Elem Res
2.在第一个下拉列表中选择IMOMENT,在第二个下拉列表中选择JMOMENT。
3.按下OK按钮。、
7.退出程序
1. Toolbar:Quit。
2.选择Quit-No Save!
3. 按下OK按钮。
8.结果分析:
按材料力学原理计算的结果与用Ansys软件运行出的结果进行比较,可以看出两者有一定的偏差,但是偏差不大。再将元格分成32个进行对比如下图:
两者在各个受力点处值几乎一样。
机械优化设计:
一.问题阐述:
利用黄金分割法求f(x)= x2-6x+9的最优解。设初始点x0=0,初始步长为h=1.02129,去迭代精度ε=0.4
初步计算得近似最优解为: x*=2.91811 f(x*)=0.0067
二.黄金分割法C语言程序:
#include
#include
#include
#define e 0.4
#define h 1.02129
float function(float x)
{
float y=pow(x,2)-6*x+9;
return(y);
}
void finding(float a[3],float f[3])
{
float t=h,a1,f1;
int i;
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]; } else t=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; } float gold(float *ff) { int i; float a1[3],f1[3],a[4],f[4]; float aa; 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); } void main() { float xx,ff; xx=gold(&ff); printf("\nThe Optimal Design Result Is:\n"); printf("\n\tx*=%f\n\tf*=%f",xx,ff); getch(); } 三、结果分析 程序运行结果: 分析: 程序运行结果与实际计算结果有一定偏差,这是因为初选迭代步长不同而引起的。 课程设计感言 经过为期3个星期的现代设计方法课程训练,使我学到了不少的知识,不仅仅学会了ANSYS软件的使用方法,还亲自动手使用这个软件制作出了自己的课程设计。通过对课题的分析、了解与深入的思考,一步一步的完成了这个课程训练任务。 经过这个课程训练,让我对ANSYS软件有了更多的兴趣。在今天,ANSYS软件更趋于完善,功能更加强大,使用更加便捷。可见掌握一种新的软件对我们大学生是很有帮助的。 参考文献 [1] 倪洪启谷耀新《现代设计方法》化学工业出版社 2008.2 [2] 刘鸿文《材料力学(第四版)》高等教育出版社 2004.1 [3] 李黎明《ANSYS有限元分析实用教程》清华大学出版社 2005 [4] 谭浩强《C程序设计(第三版)》清华大学出版社 2006.10 [5] 卢左潮黎桂英《计算机辅助设计》华中理工大学出版社 1991 目录 前言 (1) 有限元 (2) 一、ANSYS软件介绍 (2) 二、有限元结构分析 (4) 机械优化设计 (15) 一、问题阐述 (15) 二、黄金分割法C语言程序 (15) 三、结果分析 (17) 课程设计感言 (18) 参考文献 (18)