一 有限元
一、题目
材料力学Ι
(刘鸿文 第四版) P121
外伸梁上均布载荷的集中度为q=3kN/m,集中力偶矩M e =3kN·m 列出剪力方程和弯矩方程,并绘制剪力图和弯矩图。
二、简化模型
1、梁的参数:
长度 l=8m;
宽度 b=2m 厚度 h=0.5m 梁的长度 L =8m AC段长度为2m AD段长度为4 m BD段长度为2m
2、材料参数
梁选择线性、弹性、各向同性的材料。它的弹性模量
EI=2.07Gpa,泊松比选择 u=0.26。
3、梁的边界条件
此问题的边界条件为位移边界条件
A 处的约束条件是固定铰支,限制了x 方向和y 方向两个
自由度,即 u Ax = 0, u= 0 。
Ay
B 处的约束条件是滑动铰支,限制了y 方向一个自由度,
即u = 0。
By
4、梁的载荷
加在D 处的力偶M
方向为顺时针
施加在AC 段梁上的均布载荷q=3KN/m 方向向下
e
=3·m
经上述分析,此外伸梁可简化成一个二维单元,其中一端固支,
一端外伸。另一个支撑点变化为一个绞支点,在梁的上部分布着均布载荷,中段有一个集中力偶,简化图如下:
图2-1 外伸梁简化图
三、解析法求解
由梁的平衡方程,求出支反力为 FRA =14.5kN,F RB =3.5kN
梁的CA 、AD、DB等三段内,剪力和弯矩都不能有同一 个方程来表示,所以应分为三段考虑。对每一段都可以用同一
个方法计算,列出剪力方程和弯矩方程,方程中x以m为单位,Fs(x)以kN为单位,M(x)以kN为单位。 在CA段内:
Fs(x)=-qx=-3x(0<x<2m) (g ) M(x)=-1/2X2(0<x<6m) (h ) 在AD 段内:
Fs(x)=F RA -qx=14.5-3x(2m <x<6m)(i )
M(x)=F RA (x-2)-1/2X2=14.5(x-2)-3/2X 2 (j)
(2m<x6m) M(x )是x 的二次函数, 根据极值条件dM (x )/d(x)=0,得 14.5-3x=0
由此解出x=4.83m,亦即在那这一截面上,弯矩为极值。代入(j ) 式得AD 段内的最大弯矩为 M=6.04kN·m
当截面取在DB 段,用截面右侧的外力计算剪力和弯矩比较方便 结果为
Fs(x)=-F RB =-3.5kN (6m <x<8m) (k ) M(x)=F RB (8-x)=3.5(8-x)(6m
图3-1 剪力图
图3-2 弯矩图
四、有限元求解
将梁划分为16个单元,17个节点,用BEAM3来建立单元进行静力学分析。
1、显示各单元与节点列表
2、ANSYS 中的模型为:
3、梁的变形图如下:
图4-1 量的变形图 4、问题资料
S O L U T I O N O P T I O N S
PROBLEM DIMENSIONALITY. . . . . . . . . . . . .2-D DEGREES OF FREEDOM. . . . . . UX UY ROTZ
ANALYSIS TYPE . . . . . . . . . . . . . . . . .STATIC
(STEADY-STATE)
GLOBALLY ASSEMBLED MATRIX . . . . . . . . . . .SYMMETRIC L O A D S T E P O P T I O N S LOAD STEP NUMBER. . . . . . . . . . . . . . . . 1 TIME AT END OF THE LOAD STEP. . . . . . . . . . 1.0000 NUMBER OF SUBSTEPS. . . . . . . . . . . . . . . 1 STEP CHANGE BOUNDARY CONDITIONS . . . . . . . . NO PRINT OUTPUT CONTROLS . . . . . . . . . . . . .NO PRINTOUT DATABASE OUTPUT CONTROLS. . . . . . . . . . . .ALL DATA WRITTEN FOR
LAST SUBSTEP
5、弯矩与剪力的计算结果:
THE
MINIMUM VALUES
ELEM 5 4 5 5 VALUE -6.0000 -6.0000 -8.5000 -7.0000 MAXIMUM VALUES
ELEM 13 10 4 4 VALUE 7.0000 6.0000 4.5000 6.0000
6、剪力图如下
图4-2 剪力图
弯矩图如下
图4-3弯矩图
五、结果分析
用解析法的解出的结果是:
最大弯矩 Mmax =7kN·m
最小弯矩 Mmin =-6kN·m
最大剪力 Fmax =8.5kN
最小剪力 Fmin =0 kN
用ANSYS 的求解结果:
最大弯矩 Mmax =7kN·m
最小弯矩 Mmin =0kN·m
最大剪力 Fmax =8.5kN
最小剪力 Fmin =0 kN
所以梁的最大、最小应力分别为:
剪力 Fmax =8.5kN(A 点 方向:竖直向上)、
F min =0 kN(距C 点4.83m ) ;
弯矩 Mmax =7kN·m (D 点 方向:逆时针)
Mmin =0kN·m (距C 点4.83m )
梁的弯矩在有集中力偶的地方会发生跳变,而剪力是在有集中 力的地方会有跳变的
两种方法的求解结果一样,证明在运用正确的方法,选用正确的 单元与节点进行有限元的分析,能得到与实际相符的结果,所以在。 工程实际中将实际问题转化成数学与物理模型,能得到想要的结果
二 优化设计
一、题目
用二次插值法求解数学函数f (a )=a2-5a+7的最优解。
函数的图像为:
图1-1 函数图像
二、解析法求解
根据二次函数的性质可以直接得出
Xmin =2
Fmin =3
三、运用二次插值法求解
1、基本条件
函数的搜索区间为[0,10],
收敛精度为ε=0.000001
2、算法框图
下图右接上图
图1-2 求解框图
3、计算结果
通过二次差值法的优化计算,只一个函数的最优解为
a *=2
f *=3
优化的计算结果与解析法的计算结果一样,结果截图如下
图1-3 结果图
4. 结果分析
优化设计是通过一定的方法来解决实际问题的,在工程实际当中有很多问题是不能直接用解析法求的我们想得到的结果,所以我们用优化来实现。
在本问题当中,因为是简单的一个函数而不是一个工程实际的确切的问题,所以俩种方法的求解结果以及优化求解的优点都无法体现出来。这次求解两种方法的结果一样,这时因为在一维问题是最简单的求解,方法得当的话是可以的到与实际结果一致的。但在真正的工程实际当中,通过优化求得的结果是与真实解是有误差的吗,在你选择方法不当得时候这个误差有时会挺大的。
所以在工程实践当中选择适当的解决方法是能否解决问题的关键所在,只有在选对的情况下才会得到正确结果。
三 结束语
经过一周的努力,现代设计方法课程设计论文终于完成了。在整个设计过程中,出现过很多的难题,但都在老师和同学的帮助下都顺利解决了,在不断的学习过程中我体会到:
写论文做课设是一个不断学习的过程,从最初刚写论文时对有限元与优化设计问题的模糊认识到最后能够对该问题有深刻的认识,我体会到实践对于学习的重要性,以前只是明白理论,没有经过实践考察,对知识的理解不够明确,通过这次的做,真正做到林论时间相结合。
总之,通过课程设计, 我深刻体会到要做好一个完整的事情,
需要有系统的思维方式和方法,对待要解决的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样才能更加有效。
四 参考文献
[1]倪洪启 谷耀新. 现代机械设计方法. 北京:化学工业出版社,2008.
[2]李黎明.Ansys 有限元分析实用教程. 北京:华大学出版社,2005.
[3]刘鸿文. 材料力学. 北京:高等教育出版社2004.
[4]王庆五 Ansys10.0机械设计. 北京:机械工业出版社,2006.
五 附录
优化设计C 语言程序: #include "stdio.h" #include "math.h" #include "conio.h" void main() {
f3=f(a3); do {
ar=((a3*a3-a2*a2)*f1+(a1*a1-a3*a3)*f2+(a2*a2-a1*a1)*f3);
float *area(float a1,float ar=ar/2/((a3-a2)*f1+(a1-a3)*p,float a[3]); float f(float x); float ar,fr; float a2,a3; float f1,f2,f3; float
a1=10,p=0.01,e=0.00001; float pa[3]; area(a1,p,pa); a1=pa[0]; a2=pa[1]; a3=pa[2]; f1=f(a1); f2=f(a2);
f2+(a2-a1)*f3); fr=f(ar); if(ar>a2) {
if(fr>f2) {
a3=ar;f3=fr;} else if(fr
a1=a2;f1=f2; a2=ar;f2=fr;} else {
a3=ar;a1=a2;a2=(a1+a3)/2;
f1=f2;f3=fr;f2=f(a2);} }
else if(ar
if(fr>f2) {
a1=ar;f1=fr;} else if(fr
a3=a2;f3=f2; a2=ar;f2=fr;} else {
a1=ar;a3=a2;a2=(a1+a3)/2; f1=fr;f3=f2;f2=f(a2);} }
if(fabs(a1-a3)
ar=a2;fr=f2;}
printf("\nx*=%f\nf(x*)=%f",a
r,fr); }
float *area(float a1,float p,float a[3]) {
float f(float x); float a2,f2,a3,f3,temp; float acc=0.01; float f1=f(a1); while(1) {
a2=a1+p;f2=f(a2); if(f2>=f1) {
if(fabs(f2-f1)
else break; } while(1) {
a3=a2+p;f3=f(a3); if(f2a3)
{
temp=a1;a1=a3;a3=temp;} a[0]=a1;a[1]=a2;a[2]=a3; return a; }
float f(float x) {
float y=pow(x,2)-4*x+7; return y; }
一 有限元
一、题目
材料力学Ι
(刘鸿文 第四版) P121
外伸梁上均布载荷的集中度为q=3kN/m,集中力偶矩M e =3kN·m 列出剪力方程和弯矩方程,并绘制剪力图和弯矩图。
二、简化模型
1、梁的参数:
长度 l=8m;
宽度 b=2m 厚度 h=0.5m 梁的长度 L =8m AC段长度为2m AD段长度为4 m BD段长度为2m
2、材料参数
梁选择线性、弹性、各向同性的材料。它的弹性模量
EI=2.07Gpa,泊松比选择 u=0.26。
3、梁的边界条件
此问题的边界条件为位移边界条件
A 处的约束条件是固定铰支,限制了x 方向和y 方向两个
自由度,即 u Ax = 0, u= 0 。
Ay
B 处的约束条件是滑动铰支,限制了y 方向一个自由度,
即u = 0。
By
4、梁的载荷
加在D 处的力偶M
方向为顺时针
施加在AC 段梁上的均布载荷q=3KN/m 方向向下
e
=3·m
经上述分析,此外伸梁可简化成一个二维单元,其中一端固支,
一端外伸。另一个支撑点变化为一个绞支点,在梁的上部分布着均布载荷,中段有一个集中力偶,简化图如下:
图2-1 外伸梁简化图
三、解析法求解
由梁的平衡方程,求出支反力为 FRA =14.5kN,F RB =3.5kN
梁的CA 、AD、DB等三段内,剪力和弯矩都不能有同一 个方程来表示,所以应分为三段考虑。对每一段都可以用同一
个方法计算,列出剪力方程和弯矩方程,方程中x以m为单位,Fs(x)以kN为单位,M(x)以kN为单位。 在CA段内:
Fs(x)=-qx=-3x(0<x<2m) (g ) M(x)=-1/2X2(0<x<6m) (h ) 在AD 段内:
Fs(x)=F RA -qx=14.5-3x(2m <x<6m)(i )
M(x)=F RA (x-2)-1/2X2=14.5(x-2)-3/2X 2 (j)
(2m<x6m) M(x )是x 的二次函数, 根据极值条件dM (x )/d(x)=0,得 14.5-3x=0
由此解出x=4.83m,亦即在那这一截面上,弯矩为极值。代入(j ) 式得AD 段内的最大弯矩为 M=6.04kN·m
当截面取在DB 段,用截面右侧的外力计算剪力和弯矩比较方便 结果为
Fs(x)=-F RB =-3.5kN (6m <x<8m) (k ) M(x)=F RB (8-x)=3.5(8-x)(6m
图3-1 剪力图
图3-2 弯矩图
四、有限元求解
将梁划分为16个单元,17个节点,用BEAM3来建立单元进行静力学分析。
1、显示各单元与节点列表
2、ANSYS 中的模型为:
3、梁的变形图如下:
图4-1 量的变形图 4、问题资料
S O L U T I O N O P T I O N S
PROBLEM DIMENSIONALITY. . . . . . . . . . . . .2-D DEGREES OF FREEDOM. . . . . . UX UY ROTZ
ANALYSIS TYPE . . . . . . . . . . . . . . . . .STATIC
(STEADY-STATE)
GLOBALLY ASSEMBLED MATRIX . . . . . . . . . . .SYMMETRIC L O A D S T E P O P T I O N S LOAD STEP NUMBER. . . . . . . . . . . . . . . . 1 TIME AT END OF THE LOAD STEP. . . . . . . . . . 1.0000 NUMBER OF SUBSTEPS. . . . . . . . . . . . . . . 1 STEP CHANGE BOUNDARY CONDITIONS . . . . . . . . NO PRINT OUTPUT CONTROLS . . . . . . . . . . . . .NO PRINTOUT DATABASE OUTPUT CONTROLS. . . . . . . . . . . .ALL DATA WRITTEN FOR
LAST SUBSTEP
5、弯矩与剪力的计算结果:
THE
MINIMUM VALUES
ELEM 5 4 5 5 VALUE -6.0000 -6.0000 -8.5000 -7.0000 MAXIMUM VALUES
ELEM 13 10 4 4 VALUE 7.0000 6.0000 4.5000 6.0000
6、剪力图如下
图4-2 剪力图
弯矩图如下
图4-3弯矩图
五、结果分析
用解析法的解出的结果是:
最大弯矩 Mmax =7kN·m
最小弯矩 Mmin =-6kN·m
最大剪力 Fmax =8.5kN
最小剪力 Fmin =0 kN
用ANSYS 的求解结果:
最大弯矩 Mmax =7kN·m
最小弯矩 Mmin =0kN·m
最大剪力 Fmax =8.5kN
最小剪力 Fmin =0 kN
所以梁的最大、最小应力分别为:
剪力 Fmax =8.5kN(A 点 方向:竖直向上)、
F min =0 kN(距C 点4.83m ) ;
弯矩 Mmax =7kN·m (D 点 方向:逆时针)
Mmin =0kN·m (距C 点4.83m )
梁的弯矩在有集中力偶的地方会发生跳变,而剪力是在有集中 力的地方会有跳变的
两种方法的求解结果一样,证明在运用正确的方法,选用正确的 单元与节点进行有限元的分析,能得到与实际相符的结果,所以在。 工程实际中将实际问题转化成数学与物理模型,能得到想要的结果
二 优化设计
一、题目
用二次插值法求解数学函数f (a )=a2-5a+7的最优解。
函数的图像为:
图1-1 函数图像
二、解析法求解
根据二次函数的性质可以直接得出
Xmin =2
Fmin =3
三、运用二次插值法求解
1、基本条件
函数的搜索区间为[0,10],
收敛精度为ε=0.000001
2、算法框图
下图右接上图
图1-2 求解框图
3、计算结果
通过二次差值法的优化计算,只一个函数的最优解为
a *=2
f *=3
优化的计算结果与解析法的计算结果一样,结果截图如下
图1-3 结果图
4. 结果分析
优化设计是通过一定的方法来解决实际问题的,在工程实际当中有很多问题是不能直接用解析法求的我们想得到的结果,所以我们用优化来实现。
在本问题当中,因为是简单的一个函数而不是一个工程实际的确切的问题,所以俩种方法的求解结果以及优化求解的优点都无法体现出来。这次求解两种方法的结果一样,这时因为在一维问题是最简单的求解,方法得当的话是可以的到与实际结果一致的。但在真正的工程实际当中,通过优化求得的结果是与真实解是有误差的吗,在你选择方法不当得时候这个误差有时会挺大的。
所以在工程实践当中选择适当的解决方法是能否解决问题的关键所在,只有在选对的情况下才会得到正确结果。
三 结束语
经过一周的努力,现代设计方法课程设计论文终于完成了。在整个设计过程中,出现过很多的难题,但都在老师和同学的帮助下都顺利解决了,在不断的学习过程中我体会到:
写论文做课设是一个不断学习的过程,从最初刚写论文时对有限元与优化设计问题的模糊认识到最后能够对该问题有深刻的认识,我体会到实践对于学习的重要性,以前只是明白理论,没有经过实践考察,对知识的理解不够明确,通过这次的做,真正做到林论时间相结合。
总之,通过课程设计, 我深刻体会到要做好一个完整的事情,
需要有系统的思维方式和方法,对待要解决的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样才能更加有效。
四 参考文献
[1]倪洪启 谷耀新. 现代机械设计方法. 北京:化学工业出版社,2008.
[2]李黎明.Ansys 有限元分析实用教程. 北京:华大学出版社,2005.
[3]刘鸿文. 材料力学. 北京:高等教育出版社2004.
[4]王庆五 Ansys10.0机械设计. 北京:机械工业出版社,2006.
五 附录
优化设计C 语言程序: #include "stdio.h" #include "math.h" #include "conio.h" void main() {
f3=f(a3); do {
ar=((a3*a3-a2*a2)*f1+(a1*a1-a3*a3)*f2+(a2*a2-a1*a1)*f3);
float *area(float a1,float ar=ar/2/((a3-a2)*f1+(a1-a3)*p,float a[3]); float f(float x); float ar,fr; float a2,a3; float f1,f2,f3; float
a1=10,p=0.01,e=0.00001; float pa[3]; area(a1,p,pa); a1=pa[0]; a2=pa[1]; a3=pa[2]; f1=f(a1); f2=f(a2);
f2+(a2-a1)*f3); fr=f(ar); if(ar>a2) {
if(fr>f2) {
a3=ar;f3=fr;} else if(fr
a1=a2;f1=f2; a2=ar;f2=fr;} else {
a3=ar;a1=a2;a2=(a1+a3)/2;
f1=f2;f3=fr;f2=f(a2);} }
else if(ar
if(fr>f2) {
a1=ar;f1=fr;} else if(fr
a3=a2;f3=f2; a2=ar;f2=fr;} else {
a1=ar;a3=a2;a2=(a1+a3)/2; f1=fr;f3=f2;f2=f(a2);} }
if(fabs(a1-a3)
ar=a2;fr=f2;}
printf("\nx*=%f\nf(x*)=%f",a
r,fr); }
float *area(float a1,float p,float a[3]) {
float f(float x); float a2,f2,a3,f3,temp; float acc=0.01; float f1=f(a1); while(1) {
a2=a1+p;f2=f(a2); if(f2>=f1) {
if(fabs(f2-f1)
else break; } while(1) {
a3=a2+p;f3=f(a3); if(f2a3)
{
temp=a1;a1=a3;a3=temp;} a[0]=a1;a[1]=a2;a[2]=a3; return a; }
float f(float x) {
float y=pow(x,2)-4*x+7; return y; }