资源描述
材料力学上机作业
课程名称: 材料力学
设计题目: 绘制梁的剪力弯矩图
院 系: 能源科学与工程学院
材料力学上机课设计说明书
一, 设计题目
题目4 绘制梁的剪力弯矩图
输入:
1.梁的总长度l
2.支撑条件及量的各区段长度输入(左、右固定端悬臂梁;简支梁;左、右、双外伸梁)
3.各载荷大小、作用位置及方向(qi、ai、bi;pj、cj、mk、dk)
输出:
1. 结构构型图(图示)
2. 剪力、弯矩(图示)
3. 输出剪力、弯矩的最大值及截面位置。
二, 方向规定
本程序规定集中作用力及均布载荷以向下为正,右固定端悬臂梁与左外伸梁集中力偶以顺时针方向为正,其他情况集中力偶以逆时针方向为正。当取出梁的一段为研究对象时,梁左端面力以向下为正,力偶以顺时针方向为正,梁右端面力以向上为正,力偶以逆时针方向为正。
三, 程序设计过程
1,制作程序框架,显示提示内容,提示操作者需要输入的作用条件及各作用位置;
2,编写程序使计算机读入操作者输入的作用条件;
3,草稿拟写各种情况下为达到题目要求所需使用的计算公式
设量的长度为l,集中力大小为p,作用位置为c,集中力大小为q,作用起始位置a,终止位置为b,集中力偶大小为m,作用位置d。
(1)左固定端悬臂梁:在任意位置x处,取x以右部分为研究对象
q P m
设梁的总长度为l,可动铰支座位置在s2处,均布载荷起始位置为a,终止位置为b,集中力作用位置为c,大小为P,集中力偶作用位置为d,大小为m。
①若c<x,a<b<x,d>x,则Fsy=0,M(x)=m;
②若c>x,a<b<x,d<x,则Fsy=-P,M(x)=Px-Pc;
③若c<x,a<x<b,d<x,则Fsy=-q(b-x),M(x)=-(b-x)²;
④若c<x, x<a<b,d>x,则Fsy=-q(b-a),M(x)=-q(b-a)(-x);
⑤若c>x,a<b<x,d>x,则Fsy=-P,M(x)= Px-Pc+m;
(第①、②两种情况合成)
⑥若c<x,a<x<b,d>x,则Fsy=-q(b-x),M(x)=m-(b-x)²;
(第①、③两种情况合成)
⑦若c<x,x<a<b,d>x,则Fsy=-q(b-a),M(x)=m-q(b-a)(-x);
(第①、④两种情况合成)
⑧若c>x,a<x<b,d<x,则Fsy=-P-q(b-x),M(x)=Px-Pc-(b-x)²;
(第②、③两种情况合成)
⑨若c>x,x<a<b,d<x,则Fsy=-P-q(b-a),M(x)=Px-Pc-q(b-a) *(-x);(第②、④两种情况合成)
⑩若c>x,x<a<b,d>x,则Fsy=-P-q(b-a), M(x)=m+Px-Pc-q(b-a) *(-x);(第①、②、④两种情况合成)
⑪c>x,a<x<b,d>x, 则Fsy=-P-q(b-x), M(x)m+Px-Pc-q(b-a) *(-x); (第①、②、③两种情况合成)
将上述公式编入程序即可计算出在固定端悬臂梁情况下任意位置处的剪力和弯矩,采用散点法作出梁的剪力弯矩图。利用max函数筛选出最大值及该最大值所对应的x,即可输出最大值和最大值位置。
(2)右固定端悬臂梁:在任意位置x处,取x以左部分为研究对象
q P m
分析方法与(1)相同,但注意此时规定的集中力偶正方向与(1)相反(程序中已注明),仍采用散点法和max函数即可求得剪力弯矩图以及剪力弯矩的最大值与其出现位置。
(3)简支梁程序编写
设梁的总长度为l,均布载荷起始位置为a,终止位置为b,集中力作用位置为c,大小为P,集中力偶作用位置为d,大小为m。
首先对于图示情况求支反力:∑MA=0,q(b-a)*(a+)+P*c-m+ FB*l=0 ∑MB=0,q(b-a)*(i-a-)+P*(l-c)+m-FA*l=0
解得:FA=[q(b-a)(l-)+ P*(l-c)+m]/l FB=
由于FB的表达是相对于FA较简单一些,所以以A点为原点建立坐标系,并取出任意位置x以右部分为研究对象,分类如下:
①若c<x,a<b<x,d>x,则Fsy= FB,M(x)=m+ FB(l-x);
②若c>x,a<b<x,d<x,则Fsy= FB-P,M(x)= FB(l-x)+Px-Pc;
③若c<x,a<x<b,d<x,则Fsy= FB -q(b-x),M(x)= FB(l-x)-(b-x)²;
④若c<x,x<a<b,d>x,则Fsy= FB -q(b-a),M(x)=FB(l-x)-q(b-a) *(- x);
⑤若c>x,a<b<x,d>x,则Fsy= FB -P,M(x)= FB(l-x)+Px-Pc+m;
⑥若c<x,a<x<b,d>x,则Fsy= FB-q(b-x),M(x)= FB(l-x)+m-(b-x)²;
⑦若c<x,x<a<b,d>x,则Fsy= FB-q(b-a),M(x)= FB(l-x)+m-q(b-a) *(-x);
⑧若c>x,a<x<b,d<x,则Fsy=FB-P-q(b-x),M(x)= FB(l-x)+Px- Pc-(b-x)²;
⑨若c>x,x<a<b,d<x,则Fsy=FB-P-q(b-a),M(x)= FB(l-x)+Px- Pc-q(b-a) *(-x);
⑩若c>x,x<a<b,d>x,则Fsy=- FB+P-q(b-a), M(x)= FB(l-x)+m+Px- Pc-q(b-a) *(-x);
⑪c>x,a<x<b,d>x, 则Fsy= FB-P-q(b-x), M(x)= FB(l-x)+m+Px- Pc-q(b-a) *(-x);
将上述公式编入程序即可计算出在简支梁情况下任意位置处的剪力和弯矩,采用散点法作出梁的剪力弯矩图。利用max函数筛选出最大值及该最大值所对应的x,即可输出最大值和最大值位置。
(4)右外伸梁程序编写:
q P m
设梁的总长度为l,可动铰支座位置在s2处,均布载荷起始位置为a,终止位置为b,集中力作用位置为c,大小为P,集中力偶作用位置为d,大小为m。
以梁最左端为原点、向右为正方向作x轴,设右边可动铰支座距远点距离为s,则可求得支反力:∑MA=0, FB*s+m-q*(b-a)*(a+)-Pc=0
∴FB= FA=
1)对集中力P作用情况进行分类讨论
当只有集中力作用时,∑MA=0,FB*s-Pc=0, ∴FB= FA=
①c>s,对任意位置x处有
若0≤x<s,则Fsy'=-FA,M(x)'=FA*x;
若s≤x≤c,则Fsy'=-P,M(x)'=Px-Pc;
若c≤x≤l,则Fsy'=0,M(x)'=0;
②c≤s,对任意位置x处有
若0≤x<s,则Fsy'=-FA,M(x)'=FA*x;
若c≤x≤s,则Fsy'=P-FA,M(x)'=FA*x-P(x-c);
若s<x≤l,则Fsy'=0,M(x)'=0;
2)对集中力偶m作用情况进行分类讨论
求支反力:FA+FB=0, ∑MA=0,FB*s+m=0, ∴FB=- FA=
①d>s,对任意位置x处有
若0≤x≤s,则Fsy''=-, M(x)''=x;
若s<x≤d,则Fsy''=0, M(x)''=x-(x-s)=m;
若d<x≤l,则Fsy''=0, M(x)''=0;
②d≤s,对任意位置x处有
若0≤x≤d,则Fsy''=-, M(x)''=x;
若d<x≤s,则Fsy''=-, M(x)''=x-m;
若s<x≤l,则Fsy''=0, M(x)''=0;
3)对均布载荷q作用情况进行分类讨论
当只有均布载荷作用时,求支反力:
FA+FB=q(b-a), ∑MA=0,FB*s-q(b-a)(a+)=0,
∴FB=- FA=
① 当0≤a<b≤s时,对任意位置x处有
若0≤x≤a,则Fsy'''=-FA, M(x)'''=FA*x;
若a<x<b,则Fsy'''=-FA+q(x-a), M(x)'''=FA*x-q(x-a)²;
若b≤x≤s,则Fsy'''=-FA+q(b-a), M(x)'''=FA*x-q(b-a)(x- );
若s<x≤l,则Fsy'''=0, M(x)'''=0;
② 当0≤a<s≤b时,对任意位置x处有
若0≤x≤a,则Fsy'''=-FA, M(x)'''=FA*x;
若a<x<s,则Fsy'''=-FA+q(x-a), M(x)'''=FA*x-q(x-a)²;
若s≤x≤b,则Fsy'''=-q(b-x), M(x)'''=q(b-x)²;
若b<x≤l,则Fsy'''=0, M(x)'''=0;
③ 当0≤s≤a<b时,对任意位置x处有
若0≤x≤s,则Fsy'''=-FA, M(x)'''=FA*x;
若s<x<a,则Fsy'''=-q(b-a), M(x)'''=q(b-a)(x-);
若a≤x≤b,则Fsy'''=-q(b-x), M(x)'''=-q(b-x)²;
若b<x≤l,则Fsy'''=0, M(x)'''=0;
最后采用叠加法Fsy=Fsy'+Fsy''+Fsy''',M(x)=M(x)'M(x)''+M(x)'''
(5)左外伸梁程序编写:
q P m
分析方法与(4)相同,但注意此时规定的集中力偶正方向与(4)相反(程序中已注明),仍采用散点法和max函数即可求得剪力弯矩图以及剪力弯矩的最大值与其出现位置。
(6)双外伸梁程序编写:
q P m
设梁的总长度为l,左端固定铰支座距左端面距离为s1,可动铰支座位置在s2处,均布载荷起始位置为a,终止位置为b,集中力作用位置为c,大小为P,集中力偶作用位置为d,大小为m。
1)对集中力P作用情况进行分类讨论
当只有集中力作用时,∑MA=0,P(s1-c)+FB(s2-s1)=0,∴FB=- ∑MB=0,P(s2-c)- FA*(s2-s1)=0, ∴FA=
①当0<c≤s1时,对任意位置x处有
若0≤x<c,则Fsy'=0,M(x)'=0;
若c≤x≤s1,则Fsy'=P,M(x)'=-P(x-c);
若s1≤x≤s2,则Fsy'= FB,M(x)'= FB (s2-x);
若s2<x≤l,则Fsy'=0,M(x)'=0;
②当s1<c<s2时,对任意位置x处有
若0≤x<s1,则Fsy'=0,M(x)'=0;
若s1≤x≤c,则Fsy'= -FA,M(x)'= FA *x;
若c≤x≤s2,则Fsy'= FB,M(x)'= FB (s2-x);
若s2<x≤l,则Fsy'=0,M(x)'=0;
③当s2<c<l时,对任意位置x处有
若0≤x<s1,则Fsy'=0,M(x)'=0;
若s1≤x≤s2,则Fsy'= -FA,M(x)'= FA *x;
若s2≤x≤c,则Fsy'= -P,M(x)'= P(x-c);
若c<x≤l,则Fsy'=0,M(x)'=0;
2)对集中力偶m作用情况进行分类讨论
求支反力:∑Fy=0,FA+FB=0, ∑MA=0,FB*(s2-s1)-m=0,
∴FB= FA=-
①当0≤d≤s1时,对任意位置x处有
若0≤x≤d,则Fsy''=0, M(x)''=0;
若d<x<s1,则Fsy''=0, M(x)''=m;
若s1<x≤s2,则Fsy''=-FA, M(x)''=m+ FA (x-s1);
若s2≤x≤l,则Fsy''=0, M(x)''=0;
②当s1<d<s2时,对任意位置x处有
若0≤x≤s1,则Fsy''=0, M(x)''=0;
若s1<x<d,则Fsy''=-FA, M(x)''=FA*x;
若d<x≤s2,则Fsy''=-FA, M(x)''=m+ FA*x;
若s2≤x≤l,则Fsy''=0, M(x)''=0;
③当s2<d<l时,对任意位置x处有
若0≤x≤s1,则Fsy''=0, M(x)''=0;
若s1<x<s2,则Fsy''=-FA, M(x)''=FA*x;
若s2<x≤d,则Fsy''=0, M(x)''=-m;
若d≤x≤l,则Fsy''=0, M(x)''=0;
3)对均布载荷q作用情况进行分类讨论
当只有均布载荷作用时,求支反力:
FA+FB=q(b-a), ∑MA=0,FB*(s2-s1)-q(b-a)(s1-)=0,
∴FB=- FA=
①当0≤a<b≤s1时,对任意位置x处有
若0≤x≤a,则Fsy'''=0, M(x)'''=0;
若a<x<b,则Fsy'''=q(x-a), M(x)'''=-q(x-a)²;
若b≤x≤s1,则Fsy'''= q(b-a), M(x)'''= -q(b-a)(x- );
若s1<x≤s2,则Fsy'''= q(b-a)- FA, M(x)'''= FA (x-s1)- q(b-a)(x- );
若s2<x≤l, 则Fsy'''=0, M(x)'''=0;
最后采用叠加法Fsy=Fsy'+Fsy''+Fsy''',M(x)=M(x)'M(x)''+M(x)'''
四, 例题检验
1,左固定端悬臂梁计算例题
例1.有一左固定端悬臂梁长l=4m,在梁中间作用有集中力P=4N,梁右端作用有集中力偶m=5N·m,左端作用均布载荷,载荷集度q=2N/m,作用图示如下。请作出梁的剪力弯矩图,并求出剪力弯矩的最大值与其出现位置。
2N/m P=4N M=5N·m
A 2m C 2m B
程序计算截图
理论计算
根据题意可得FA=8N MB=7N·m,将梁分为AB、BC段进行分析,即可作出梁的剪力、弯矩图,所作图形与程序所作结果相同。从剪力、弯矩图上显然可以看出剪力最大值Fmax=-8N,弯矩最大值Mz=7N·m,均与程序相同,故此段程序编写正确。
2,右固定端悬臂梁计算例题
例2.有一右固定端悬臂梁长l=2m,在梁中间作用有集中力F=5N,梁右端作用竖直向下的集中力P,大小为5N,在梁的0.5m到1.5m作用有均布载荷,载荷集度为q=2N/m,梁左端作用有顺时针集中力偶m=10N*m,作用图示如下。请作出梁的剪力弯矩图,并求出剪力弯矩的最大值与其出现位置。
程序计算截图
5N*m P=5N
A 0.5m D 0.5m C 0.5m E 0.5m B
理论计算
根据题意可得FB=7N MA=5N·m,将梁分为AB、BC段进行分析即可作出梁的剪力弯矩图,所作图形与程序结果相同。从剪力、弯矩图上显然可以看出剪力最大值Fmax=7N(出现在EB段,本段程序显示结果在E截面处),弯矩最大值Mz=5N·m(出现在AD段,本段程序显示结果在A截面处),均与程序相同,故此段程序编写正确。
3,简支梁计算例题
例3. 已知一横梁长l=4m,两端铰支。现在x=2m处作用一大小为4N、方向竖直向下的集中力,并且在整根梁上作用有竖直向下的均布载荷,大小为q=2N/m,作用示意图如下。试做出梁上的剪力和弯矩图,并求出剪力弯矩的最大、最小值及它们出现的位置。
P=4N q=2N/m
A 2m 2m B
程序计算截图
理论计算
求支反力得FA=6N FB=6N,作梁的剪力弯矩图与程序所作结果相同,从剪力弯矩图上显然可以得到剪力最大值Fmax=6N,弯矩最大值Mz=8N·m,与程序相同。理论计算绘制图示上可以看出剪力最大值在梁的左右两端点处取到(x=0和x=4m处),程序中只显示了一个(x=4m处)。
4,左外伸梁计算例题
例4.已知一左外伸梁长3米,可动铰支座距左端面1m,在x=2m出作用一大小为F=10N,方向竖直向下的集中力,图形如下。试做出梁上的剪力和弯矩图,并求出剪力弯矩的最大、最小值及它们出现的位置。
M=5N*m P=10N
1m A 1m 1m B
程序计算截图
理论计算
求支反力得FA=5N FB=5N,作梁的剪力弯矩图与程序所作结果基本相同(程序所作剪力弯矩图中有断点存在,这是由于本程序绘制剪力弯矩图采用的是散点法,当剪力弯矩值有突变时程序计算的因数值不连续而产生“跳跃”现象),从剪力弯矩图上显然可以得到剪力最大值Fmax=5N,弯矩最大值Mz=5N·m,与程序相同。理论计算绘制图示上可以看出剪力和弯矩最大值应该在x=2m处取到,而程序计算的最大值分别在x=1.9999和x=2.0001m取到,这是由于在程序编写过程中把梁分成了OA段和AB段,在OA段所有的x都小于2,在AB段所有x都大于2,因而显示结果会出现与理论计算的微小差别。
5,右外伸梁计算例题
例5. 已知一右外伸梁长1.5米,右支点距右端面0.5米,在两支架中间作用一大小为F=5N,方向竖直向上的集中力,图形如下,试做出梁上的剪力和弯矩图,并求出剪力弯矩的最大、最小值及它们出现的位置。
P=5N
A 1m B 0.5m
程序计算截图
理论计算
求支反力得FA=2.5N FB=2.5N,作梁的剪力弯矩图与程序所作结果相同(程序所作剪力弯矩图中有断点存在,这是由于本程序绘制剪力弯矩图采用的是散点法,当剪力弯矩值有突变时程序计算的因数值不连续而产生“跳跃”现象),从剪力弯矩图上显然可以得到剪力最大值Fmax=2.5N,弯矩最大值Mz=1.25N·m,与程序计算结果相同。理论计算绘制图示上可以看出剪力和弯矩最大值应该在x=0.5m处取到,而程序计算的最大值分别在x=0.4999和x=0.5001m取到,这是由于在程序编写过程中把梁在集中作用出分成了两段,集中力作用以左部分所有的x都小于0.5m,集中力作用以右部分所有x都大于0.5m,因而显示结果会出现与理论计算的微小差别。
6,双外伸梁计算例题
例6. 已知一双外伸梁长4米,固定铰支座距左端面1m,可动铰支座距右端面1m,在距离梁的左端0.5m处作用一大小为F=4N、方向竖直向下的集中力,两铰支座之间作用有向下的均布载荷,大小为2N/m,图形如下。试做出梁上的剪力和弯矩图,并求出剪力弯矩的最大、最小值及它们出现的位置。
P=4N q=2N/m
1m A 1m 1m B 1m
程序计算截图
理论计算
求支反力得FA=1N FB=7N,作梁的剪力弯矩图与程序所作结果相同(程序所作剪力图中有断点存在,这是由于本程序绘制剪力弯矩图采用的是散点法,当剪力弯矩值有突变时程序计算的因数值不连续而产生“跳跃”现象),从剪力弯矩图上显然可以得到剪力最大值Fmax=4N,弯矩最大值Mz=-2N·m,与程序计算结果相同。理论计算绘制图示上可以看出剪力和弯矩最大值分别在x=0.5mx=1m处取得,与程序计算结果也相同,因而此段程序运行正确。
五, 程序缺陷
由于本程序绘制剪力弯矩图采用的是散点法,因而在剪力或弯矩有突变时图示上会产生断点,未连接上。可以采用“line”指令,在数据有突变时直接直线连接(但此种指令并非实际程序计算所得图示,相当于拼凑出的剪力弯矩图,故本程序未编入)。
六, 作业感想
在这次上机编程作业中,虽然花费了很长时间,但是我感到收获很多。在此过程中,我对VB语言有了更加熟悉的运用,这将成为我一生的财富,VB也必将成为我日后工作的得力助手。在看到自己做出的最终结果以及它运行时的高效、简洁,我不禁有了一丝成就感,尤其是在点击“作者简介”而显示出自己的信息时,心中更是一阵激动。我为能有一次这样锻炼的机会而感到幸运,希望以后还会更多这样的机会充实自己。对于材料力学这门课程,我想也会因为这次程序的编写而记忆的更加深刻,我一定要争取多掌握一些这方面的知识,然后在工作中充分的应用进去!
展开阅读全文