资源描述
目录一. 前言二有限元设计部分 1 问题阐述 2 解析法求解 3 模型简化 4 ANSYS软件应用说明 5 结果分析三机械优化设计部分 1 问题阐述 2 解析算法 3 黄金分割法顺序流程图 4 C语言源程序代码 5 结果分析四设计心得五. 参考文 一 前言 二有限元设计部分1、问题阐述 外伸梁上均布载荷的集中度为q=3kN/m,集中力偶矩Me=3kNm列出剪力方程和弯矩方程,并绘制剪力图 。 材料力学(刘鸿文 第四版) P121 图2-1 外伸梁简化图 2、解析法求解 由梁的平衡方程,求出支反力为 FRA=14.5kN,FRB=3.5kN 梁的C A、等三段内,剪力和弯矩都不能有同一个方程来表示,所以应分为三段考虑。对每一段都可以用同一个方法计算,列出剪力方程和弯矩方程,方程中以为单位,()以为单位,()以为单位。 在段内:()(=) (g)()(3)(=2) (h) 在AD段内: ()FRA14.5(2m=6) (i) ()FRA(x-2)-(1/2)X=14.5(x-2)-(3/2)X 2 (j) (2m6m) M(x)是x的二次函数,根据极值条件dM(x)/d(x)=0,得 14.5-3x=0 由此解出x=4.83m,亦即在那这一截面上,弯矩为极值。 代入(j)式得AD段内的最大弯矩为 M=6.04kNm当截面取在DB段,用截面右侧的外力计算剪力和弯矩比较方便结果为 ()FRB.5kN(6m8) (k)()FRB(8-x)=3.5(8-x)(6mxf2,作前进运算: a3=a2+h , f3=f(a3)=0比较f2和f3,因为f2f3,再作前进运算: h=2h=2 , a1=a2=1 , f1=f2=4 a2=a3=4 , f2=f3=0 a3=a2+h=4 , f3=f(a3)=-2比较f2和f3,因为f2f3,再做前进运算: h=2h=4, a1=a2=2 , f1=f2=0 a2=a3=4 , f2=f3=-2 a3=a2+h=8 , f3=f(a3)=18 此时,a1,a2,a3三点的函数值出现了 “两头大,中间小“的情况,故初始搜索区间a,b=2,8.下面按黄金分割法框图进行优化。 在初始区间a,b=2,8中取两个计算点并计算其函数值 a1=a+0.382(b-a)=4.292, f1=f(a1)=-1.622736 a2=a+0.618(b-a)=5.708 ,f2=f(fa2)=2.62524比较函数值,缩短区间。因有f1 不满足迭代终止条件,比较函数值f1,f2,继续缩短区间。经过6次迭代a=3.28632 b=3.597050 a1=3.405023 a2=3.416456 f1=-2.240980 f2=-2.243020 b-a=0.310722 满足了给定精度,迭代即可终止,近似最优解为 a1*=0.5(b+a)=3.441689 , a2*=f(a*)=-2.2466 以上为解析法求解的结果3 算法流程图 用C语言编程,其算法流程图如下 (即为黄金分割法的顺序流程图4黄金分割法C语言程序#include#include#include#define e 0.35#define b 1float function(float x )float y= pow(x,2)-7 * x+10;return(y);void finding(float a3,float f3)float t=b,a1,f1,ia;a0=0;f0=function(a0);for(int i=0; ;i+)a1=a0+t; f1=function(a1);if(f1=e)t=-t;a0=a1;f0=f1;elseif(ia=1) return;t=t/2;ia=1;for(i=0; ;i+)a2=a1+t;f2=function (a2);if(f2f1) break;t=2*t;a0=a1;f0=f1;a1=a2;f1=f2;if(a0a2)a1=a0;f1=f0;a0=a2;f0=f2;a2=a1;f2=f1;return;float gold(float * e)float a13,f13,a4,f4;float c;finding(a1,f1);a0=a10;f0=f10;a3=a12;f3=f12;a1=a0+0.382*(a3-a0);a2=a0+0.618*(a3-a0);f1=function(a1);f2=function(a2);for(int i=0; ;i+)if(f1=f2)a0=a1;f0=f1;a1=a2;f1=f2;a2=a0+0.618*(a3-a0);f2=function(a2);elsea3=a2;f3=f2;a2=a1;f2=f1;a1=a0+0.382*(a3-a0);f1=function(a1);if(a3-a0)e) c=(a1+a2)/2; * e=function(c);break;return(c);void main()float d,e;d=gold(&e);printf(nThe Optimal Design Result Is:n);printf(nta1*=%fnta2*=%f,d,e);getch(); 程序运行后的结果图: 5结果分析 C语言运行后的实际结果与解析法算的理论结果有一定差距,是由于迭代步长与迭代精度所决定的。所以,可以看出,黄金分割法对步长与迭代精度有非常严格的要求,才能接近准确值。且黄金分割法迭代次数较多,计算效率低,适用于低维优化的一维搜索。四设计心得通过本次课程设计,我们不仅加深了对现代机械设计方法这门课程的基本知识的了解,更加了解的了有限元法在实际问题中的应用,应用ANSYS软件进行有限元分析,能够精确的观察出模型各个微元部分所收的应力或者形变等等。使我们意识到了有限元分析在现代机械设计中的强大功能与作用。通过对数学模型的实际优化,了解了优化方法在实际问题中的应用,也了解了各种方法的有点与缺点,对以后的学习工作有很大帮助,使我们了解到理论与实际联系的重要性,增加了我们的学习兴趣,这次课程设计使我受益匪浅。 五参考文献 1 现代机械设计方法/倪洪启,古耀新主编。北京:化学工业出版社,2008.22 材料力学/刘鸿文主编.-4版.-北京:高等教育出版社,2004.1(2008重印)3 C程序设计/谭浩强著.-3版:北京:清华大学出版社,2005(2007重印)
展开阅读全文