哈工大材料力学大作业超级版

合集下载

哈工大材料力学上机大作业(VB编)

哈工大材料力学上机大作业(VB编)

应力状态分析一、问题的提出该程序可以解决的问题:①平面应力状态,已知σx,σy,τxy和角度的情况下计算不同任意截面的应力分量,还可以计算平面应力状态主应力的大小和方向并能画出应力圆;②空间应力状态,已知σx,σy,σz,τxy等的情况下计算主应力和最大切应力。

二、数学模型1、平面应力状态任一斜截面上既有正应力又有切应力,公式为:2、平面应力状态主应力大小及方向1、公式主应力计算公式主平面方位计算公式3、最大切应力:最大切应力发生在与主平面夹45度角的平面方位。

其公式4、应力圆应力圆原理:圆心:半径:5、三向应力状态三向应力计算公式:特征方程:222222x y x y xy αασσσσσττ+-⎛⎫⎛⎫-+=+ ⎪ ⎪⎝⎭⎝⎭2x y a σσ+=222x y xy R σστ-⎛⎫=+ ⎪⎝⎭三个不变量三、程序流程图㈠ 平面应力计算 打开界面选择平面应力计算 出现数据输入对话框 输入σx ,σy ,τxy 和角度 点击计算 可计算出任意截面的应力分量以及三个主应力和最大切应力 记录数据点击清除可进行重复计算㈡ 空间应力状态计算打开界面选择空间应力状态计算 出现数据输入对话框输入σx ,σy ,σz ,τxy ,τyz ,τxz 点击计算 得出结果可计算出三个主应力及最大切应力 记录数据点击清除可以重复计算四、程序说明本程序分为平面应力状态与空间应力状态,点击相应主菜单进行相应的计算。

平面应力状态:本程序能进行多次重复输入与计算根据提示输入数据进行计算输入X ,Y ,XY 方向上的应力值及X'转动的角度值,点击"计算"按扭,进行数值计算。

1x y z I σσσ=++2x yx y zy z xz xy y yz z zx x I στστσττστστσ=++3x yx zx xy y zy xz yz zI στττστττσ=可画出与数据相对应的应力圆空间应力状态:本程序能进行多次重复输入与计算根据提示输入数据进行计算输入X,Y,Z,XY,YZ,ZY方向上的应力值,点击"计算"按扭,可以计算出三个主应力及最大切应力。

材料力学上机大作业(哈工大)

材料力学上机大作业(哈工大)

H a r b i n I n s t i t u t e o f T e c h n o l o g y材料力学上机报告课程名称:材料力学设计题目:二向应力状态分析院系:XXXXXX班级:XXXXXX设计者:XXXXXX学号:XXXXXX设计时间:2013.06.18哈尔滨工业大学二向应力状态分析一:课题要求1.输入:任意一点的应力状态:(σx、σy、τxy);某截面方位角α2.输出:输入点的主应力(σ1、σ2、σ3),方位角α斜截面上的应力σα、τα。

及主方向角α3.画出应力圆示意图。

4.程序运行时为界面显示形式。

二:程序框图三:所编程序x=str2double(get(handles.edit1,'string'));y=str2double(get(handles.edit2,'string'));xy=str2double(get(handles.edit3,'string'));M=str2double(get(handles.edit4,'string')); %将窗口输入值分别赋给x,y,xy,M b=sqrt((x/2-y/2)^2+xy^2);x1=(x+y)/2+b;x3=(x+y)/2-b;x2=0;if x1<0x2=x1;x1=0;endt=(x1-x3)/2;M=M*pi/180;b1=(x+y)/2+(x-y)*cos(2*M)/2-xy*sin(2*M);b2=(x-y)*sin(2*M)/2+xy*cos(2*M);b3=90*atan((-2*xy)/(x+y))/pi;%计算输出的主切应力大小、方向和截面上的应力并赋值set(handles.edit5,'string',x1);set(handles.edit6,'string',x2);set(handles.edit7,'string',x3);set(handles.edit9,'string',t);set(handles.edit10,'string',b3);set(handles.edit11,'string',b1);set(handles.edit12,'string',b2);%在输出窗口显示主切应力大小、方向和截面上应力b4=sqrt(b.^2+t.^2);v1=(x+y)/2-b4:0.001:(x+y)/2+b4;b11=sqrt(b4.^2-(v1-(x+y)/2).^2);b12=-sqrt(b4.^2-(v1-(x+y)/2).^2);%绘制应力圆上的点axes(handles.axes1); %选择应力圆的输出地址plot(v1,b11,v1,b12);grid on%绘制应力圆以上程序为在matlab中使用GUI编程时的主代码,界面代码请见m文件。

哈工大材料力学试卷及答案

哈工大材料力学试卷及答案

一、填空题:请将正确答案写在划线内(每空1分,计16分)⒈ 工程构件正常工作的条件是 ――――――――――――、、――――――――――――、―――――――――――――。

⒉ 工程上将延伸律------- δ的材料称为脆性材料。

⒊ 矩形截面梁横截面上最大剪应力max τ出现在―――――――――――各点,其值=τmax -------------。

4.平面弯曲梁的q 、F s 、M 微分关系的表达式分别为--------------、、-------------、、----------------。

5.四个常用的古典强度理论的表达式分别为―――――――――――――――――、―――――――――――――――――――――、――――――――――――――、―――――――――――――――――――――――――――――――――。

6.用主应力表示的广义虎克定律为 ――――――――――――――――――――― ;――――――――――――――――――――――;-―――――――――――――――――――――――。

二、单项选择题⒈ 没有明显屈服平台的塑性材料,其破坏应力取材料的――――――――――――。

⑴ 比例极限p σ; ⑵ 名义屈服极限2.0σ;⑶ 强度极限b σ; ⑷ 根据需要确定。

2. 矩形截面的核心形状为----------------------------------------------。

⑴ 矩形; ⑵ 菱形; ⑶ 正方形; ⑷三角形。

3. 杆件的刚度是指――――――――――――――-。

⑴ 杆件的软硬程度; ⑵ 杆件的承载能力;⑶ 杆件对弯曲变形的抵抗能力; ⑷ 杆件对弹性变形的抵抗能力; 4. 图示二向应力单元体,如剪应力改变方向,则―――――――――――――。

⑴ 主应力的大小和主平面的方位都将改变;⑵ 主应力的大小和主平面的方位都不会改变;⑶ 主应力的大小不变,主平面的方位改变;⑷ 主应力的大小改变,主平面的方位不变。

材料力学网上作业题参考答案

材料力学网上作业题参考答案

东北农业大学网络教育学院材料力学网上作业题(2015更新版)绪论一、名词解释1.强度2. 刚度3. 稳定性4. 变形5. 杆件6.板或壳7.块体二、简答题1.构件有哪些分类?2. 材料力学的研究对象是什么?3. 材料力学的任务是什么?4. 可变形固体有哪些基本假设?5. 杆件变形有哪些基本形式?6. 杆件的几何基本特征?7.载荷的分类?8. 设计构件时首先应考虑什么问题?设计过程中存在哪些矛盾?第一章轴向拉伸和压缩一、名词解释1.内力2. 轴力3.应力4.应变5.正应力6.切应力7.伸长率8.断面收缩率9. 许用应力 10.轴向拉伸 11.冷作硬化二、简答题1.杆件轴向拉伸或压缩时,外力特点是什么?2.杆件轴向拉伸或压缩时,变形特点是什么?3. 截面法求解杆件内力时,有哪些步骤?4.内力与应力有什么区别?5.极限应力与许用应力有什么区别?6.变形与应变有什么区别?7.什么是名义屈服应力?8.低碳钢和铸铁在轴向拉伸时,有什么样的力学特性?9.强度计算时,一般有哪学步骤?10.什么是胡克定律?11.表示材料的强度指标有哪些?12.表示材料的刚度指标有哪些?13.什么是泊松比?14. 表示材料的塑性指标有哪些?15.拉压杆横截面正应力公式适用范围是什么?16.直杆轴向拉伸或压缩变形时,在推导横截面正应力公式时,进行什么假设?三、计算题1. 试用截面法求下列各杆指定截面的轴力。

2. 试用截面法求下列各杆指定截面的轴力。

3. 试用截面法求下列各杆指定截面的轴力。

4. 试用截面法求下列各杆指定截面的轴力。

5. 试用截面法求下列各杆指定截面的轴力。

6. 试用截面法求下列各杆指定截面的轴力。

7 高炉装料器中的大钟拉杆如图a所示,拉杆下端以连接楔与大钟连接,连接处拉杆的横截面如图b所示;拉杆上端螺纹的小径d = 175 mm。

已知作用于拉杆上的静拉力F=850 kN,试计算大钟拉杆横截面上的最大静应力。

8 一桅杆起重机如图所示,起重杆AB为一钢管,其外径D = 20 mm,内径d≈18 mm;钢绳CB的横截面面积为10 mm2。

工程力学大作业

工程力学大作业

大作业(一)一、填空题1、杆件变形的基本形式有(轴向拉伸和压缩)、(剪切)、(扭转)和(弯曲)2、材料力学所研究的问题是构件的(强度)、(刚度)和(稳定性)。

3、脆性材料的抗压能力远比抗拉能力(强)。

4、同一种材料,在弹性变形范围内,横向应变ε/和纵向应变ε之间有如下关系:(ε/= -με)5、(弹性模量E )是反映材料抵抗弹性变形能力的指标。

6、(屈服点σs )和(抗拉强度σb )是反映材料强度的两个指标7、(伸长率δ)和(断面收缩率ψ)是反映材料塑性的指标,一般把(δ>5%)的材料称为塑性材料,把(δ<5%)的材料称为脆性材料。

8、应力集中的程度可以用(应力集中因数K )来衡量 9、(脆性材料)对应力集中十分敏感,设计时必须考虑应力集中的影响 10、挤压面是外力的作用面,与外力(垂直),挤压面为半圆弧面时,可将构件的直径截面视为(挤压面)11、如图所示,铆接头的连接板厚度t=d ,则铆钉剪应力=( 22dP πτ= ) ,挤压应力bs =( td Pbs 2=σ )。

二、选择题1、构成构件的材料是可变形固体,材料力学中对可变形固体的基本假设不包括(C )A 、均匀连续性B 、各向同性假设C 、平面假设D 、小变形假设 2、下列力学性能指标中,(B )是强度指标A 、弹性模量EB 、屈服强度s σC 、伸长率δD 、许用应力σ 3、下列力学性能指标中,(C )是反映塑性的指标A 、比例极限p σB 、抗拉强度b σC 、断面收缩率ψD 、安全系数n 4、下列构件中,( C )不属于轴向拉伸或轴向压缩 A 、 B 、 C 、 D 、5、强度计算时,引入安全系数的原因不包括(A )A 、力学性能指标测定方法都不是太科学B 、对构件的结构、尺寸和受力等情况都作了一定程度的简化C 、加工工艺对构件强度的影响考虑的不全面D 、构件需有必要的强度储备6、一直杆受外力作用如图所示,此杆各段的轴力图为(C )A 、B 、C 、D 、7、一直杆受外力作用如图所示,此杆各段的轴力为(A )A 、+6(拉力),- 4(压力),4(拉力)B 、-6(压力),- 4(压力),4(拉力)C 、+6(拉力),+ 4(拉力),4(拉力)D 、-6(压力),+ 4(拉力),4(拉力)8、图所示为两端固定的杆。

哈工大材料力学性能大作业-铁碳马氏体的强化机制

哈工大材料力学性能大作业-铁碳马氏体的强化机制

铁碳马氏体的强化机制摘要:钢中铁碳马氏体的最主要特性是高强度、高硬度,其硬度随碳含量的增加而升高。

马氏体的强化机制是多种强化机制共同作用的结果。

主要的强化机制包括:相变强化、固溶强化、时效强化、形变强化和综合强化等。

本文介绍了铁碳马氏体及其金相组织和力学特性,着重深入分析马氏体的强化机制。

关键词:铁碳马氏体强化机制1.马氏体的概念,组织及力学特性1.1马氏体的概念马氏体,也有称为麻田散铁,是纯金属或合金从某一固相转变成另一固相时的产物;在转变过程中,原子不扩散,化学成分不改变,但晶格发生变化,同时新旧相间维持一定的位向关系并且具有切变共格的特征。

马氏体最先在淬火钢中发现,是由奥氏体转变成的,是碳在α铁中的过饱和固溶体。

以德国冶金学家阿道夫·马登斯(A.Martens)的名字命名;现在马氏体型相变的产物统称为“马氏体”。

马氏体的开始和终止温度,分别称为M始点和M终点;钢中的马氏体在显微镜下常呈针状,并伴有未经转变的奥氏体(残留奥氏体);钢中的马氏体的硬度随碳量增加而增高;高碳钢的马氏体的硬度高而脆,而低碳钢的马氏体具有较高的韧性。

1.3马氏体的力学特性铁碳马氏体最主要的性质就是高硬度、高强度,其硬度随碳含量的增加而增加。

但是当碳含量达到6%时,淬火钢的硬度达到最大值,这是因为碳含量进一步提高,虽然马氏体的硬度会提高但是由于残余奥氏体量的增加,使钢的硬度反而下降。

2.铁碳马氏体的晶体学特性和金相形貌钢经马氏体转变形成的产物。

绝大多数工业用钢中马氏体属于铁碳马氏体,是碳在体心立方结构铁中的过饱和固溶体。

铁碳合金的奥氏体具有很宽的碳含量范围,所形成的马氏体在晶体学特性、亚结构和金相形貌方面差别很大。

可以把铁碳马氏体按碳含量分为5个组别(见表)【1】。

低碳马氏体为体心立方结构,中、高碳为体心正方结构。

碳原子的固溶为间隙式,处于八面体间隙之中。

如图1A中×号所示,三坐标方向的面心位置是具有代表性的三种八面体间隙中心,构成了体心晶格中的三套亚点阵,分别以1/2[001]、1/2[010]、1/2[100]表示,每单位晶胞中有六个八面体间隙分属这三套亚点阵。

哈工大材料力学计算机计算大作业_范例

哈工大材料力学计算机计算大作业_范例

B
ql 3 48 EI z
500 23 1.5215mrad 3 0.034 0.054 3 9 0.04 0.06 48 200 10 12 12 500 2 4 1.1411mm 3 0.034 0.0543 9 0.04 0.06 128 200 10 12 12
max
1000 32 1 5.77 mm , x 3 1732.1mm 9 3 100000 3
电算解:
故:与理论解一致。
第 十四 页 共 二十一 页
材料力学大作业
(8)理论解:
增补条件: 代入约定条件算得: A M 3000 N m , a 1 .6 m , 电算解:
3
电算解:
故:与理论解一致。
第 十七 页 共 二十一 页
材料力学大作业
(11)理论解:
代入约定数据解之得: A B 11 .25mrad ; C
5 1000 34 10.55mm 384 100000
电算解:
故:与理论解一致。
第 十八 页 共 二十一 页
然后,我们需要输入抗弯刚度。题目没有给怎么办?不怕,我们有“抗弯刚度计算器”!点击对 应区段抗弯刚度边上的按钮即可开始计算!
第 三 页 共 二十一 页
材料力学大作业
在计算完毕之后,点击“置入并返回” ,则我们又来到了基本信息输入界面。由于这一根简单 梁是等截面、等抗弯刚度的,所以我们不用去管“区段二”和“区段三”的相关文本框(实际上在 你选定对应的区段之前,这些文本框都是无法激活的) 。我们需要点击“更新基本信息”按键,以 核查、写入数据。核查无误,我们点击“受力情况输入”按钮。

2016新编哈工大材料力学上机大作业四——绘制梁的剪力弯矩图

2016新编哈工大材料力学上机大作业四——绘制梁的剪力弯矩图

H a r b i n I n s t i t u t e o f T e c h n o l o g y材料力学上机作业课程名称:材料力学设计题目:绘制梁的剪力弯矩图院系:班级:分析者:学号:指导教师:设计时间:哈尔滨工业大学材料力学上机课设计说明书一,设计题目题目4 绘制梁的剪力弯矩图输入:1.梁的总长度l2.支撑条件及量的各区段长度输入(左、右固定端悬臂梁;简支梁;左、右、双外伸梁)3.各载荷大小、作用位置及方向(q i、a i、b i;p j、c j、m k、d k)输出:1.结构构型图(图示)2.剪力、弯矩(图示)3.输出剪力、弯矩的最大值及截面位置。

二,方向规定本程序规定集中作用力及均布载荷以向下为正,右固定端悬臂梁与左外伸梁集中力偶以顺时针方向为正,其他情况集中力偶以逆时针方向为正。

当取出梁的一段为研究对象时,梁左端面力以向下为正,力偶以顺时针方向为正,梁右端面力以向上为正,力偶以逆时针方向为正。

三,程序设计过程1,制作程序框架,显示提示内容,提示操作者需要输入的作用条件及各作用位置;2,编写程序使计算机读入操作者输入的作用条件;3,草稿拟写各种情况下为达到题目要求所需使用的计算公式设量的长度为l,集中力大小为p,作用位置为c,集中力大小为q,作用起始位置a,终止位置为b,集中力偶大小为m,作用位置d。

(1)左固定端悬臂梁:在任意位置x处,取x以右部分为研究对象a,终止位置为b,集中力作用位置为c,大小为P,集中力偶作用位置为d,大小为m。

①若c<x,a<b<x,d>x,则Fs y=0,M(x)=m;②若c>x,a<b<x,d<x,则Fs y=-P,M(x)=Px-Pc;③若c<x,a<x<b,d<x,则Fs y=-q(b-x),M(x)=-2q(b-x)²;④若c<x, x<a<b,d>x,则Fs y=-q(b-a),M(x)=-q(b-a)(2ba+-x);⑤若c>x,a<b<x,d>x,则Fs y=-P,M(x)= Px-Pc+m;(第①、②两种情况合成)⑥若c<x,a<x<b,d>x,则Fs y=-q(b-x),M(x)=m-2q(b-x)²;(第①、③两种情况合成)⑦若c<x,x<a<b,d>x,则Fs y=-q(b-a),M(x)=m-q(b-a)(2ba+-x);(第①、④两种情况合成)⑧若c>x,a<x<b,d<x,则Fs y=-P-q(b-x),M(x)=Px-Pc-2q(b-x)²;(第②、③两种情况合成)⑨若c>x,x<a<b,d<x,则Fs y=-P-q(b-a),M(x)=Px-Pc-q(b-a)*(2ba+-x);(第②、④两种情况合成)⑩若c>x,x<a<b,d>x,则Fs y=-P-q(b-a), M(x)=m+Px-Pc-q(b-a)*(2ba+-x);(第①、②、④两种情况合成)⑪c>x,a<x<b,d>x, 则Fs y=-P-q(b-x), M(x)m+Px-Pc-q(b-a)*(2ba+-x); (第①、②、③两种情况合成)将上述公式编入程序即可计算出在固定端悬臂梁情况下任意位置处的剪力和弯矩,采用散点法作出梁的剪力弯矩图。

哈尔滨工业大学历年材料力学试题及答案

哈尔滨工业大学历年材料力学试题及答案

哈尔滨工业大学学年第二学期材料力学试题(A 卷)一、 选择题(20分)1、图示刚性梁AB 由杆1和杆2支承,已知两杆的材料相同,长度不等,横截面积分别为A 1和A 2,若载荷P 使刚梁平行下移,则其横截面面积( )。

A 、A 1〈A 2B 、A 1 〉A 2C 、A 1=A 2D 、A 1、A 2为任意2、建立圆周的扭转应力公式τρ=M ρρ/I ρ时需考虑下列因素中的哪几个?答:( ) (1) 扭矩M T 与剪应力τρ的关系M T =∫A τρρdA (2) 变形的几何关系(即变形协调条件) (3) 剪切虎克定律(4) 极惯性矩的关系式I T =∫A ρ2dAA 、(1)B 、(1)(2)C 、(1)(2)(3)D 、全部 3、二向应力状态如图所示,其最大主应力σ1=( ) A 、σ B 、2σ C 、3σ D 、4σ4、高度等于宽度两倍(h=2b)的矩形截面梁,承受垂直方向的载荷,若仅将竖放截面改为平放截面,其它条件都不变,则梁的强度( )A 、提高到原来的2倍B 、提高到原来的4倍C 、降低到原来的1/2倍D 、降低到原来的1/4倍5. 已知图示二梁的抗弯截面刚度EI 相同,若二者自由端的挠度相等,则P 1/P 2=( ) A 、2 B 、4 C 、8 D 、16二、作图示梁的剪力图、弯矩图。

(15分) 题 号 一 二 三 四 五 六 总分 得 分题一、3图工程技术学院 _______________专业 班级 姓名____________ 学号---------------------------------------------------密 封 线 内 不 准 答 题-------------------------------------------------------------题一、5图题一、4题一、1图三、如图所示直径为d 的圆截面轴,其两端承受扭转力偶矩m 的作用。

设由实验测的轴表面上与轴线成450方向的正应变,试求力偶矩m 之值、材料的弹性常数E 、μ均为已知。

哈工大材料力学上机实验课作业

哈工大材料力学上机实验课作业

哈工大材料力学上机实验课作业Harbin Institute of Technology材料力学电算大作业题目名称:各种条件下的任意截面的弯矩,挠度作者班号:1108108作者学号:1110810812作者姓名:刘涛指导教师:王春香完成时间:2013/5/23一、问题的提出该程序可以解决的问题:一个力作用下(1)圆柱面杆(2)矩形截面杆(3)工字梁截面杆(4)空心圆柱截面杆的弯矩和挠度二、程序流程图输入杆长(mm),力F(kN),力作用点到左端面A的距离a(mm)输入梁的弹性模量(Gpa)输入所求端面到左端面的距离X 输入梁的形状计算惯性矩计算并输出弯矩根据梁的形状不同输入不同的数值计算并输出挠度三、不同力作用下的弯矩,挠度1.一个力作用下的任意截面的弯矩,挠度程序:#include <stdio.h>#include <stdlib.h>#include <math.h>#define PI 3.1415926int get_I(int kind);int main(){float f=100, l=100, a=50, b, x=60;float M, v;float E = 200, I;int kind=1;printf("请输入杆长l(mm),力F(kN),力作用点到左端面A的距离a(mm)\n");scanf("%f%f%f",&l,&f,&a);l /= 1000;f *= 1000;a /= 1000;printf("请输入梁的弹性模量(GPa)\n");scanf("%f",&E);E *= 1.e9;printf("请输入所求端面到左端面A的距离X\n");scanf("%f",&x);x /= 1000;printf("请输入梁的截面形状(圆柱面=1,矩形梁=2,工字梁=3,空心圆柱梁=4)\n");scanf("%d",&kind);I = get_I(kind);//计算惯性矩b = l - a;M = f * x;//计算弯矩if (0 <= x && x <= a){v = (-1) * f * b * x *(l*l - x*x - b*b) / (6 * E * I * l);}else if (a < x && x <= l){v = (-1) * f * b * x *(l/b * pow((x-a), 3) + (l*l - b*b)*x -pow(x, 3)) / (6 * E * I * l);}else{v = 0;printf("error!");exit (0);}printf("转矩M = %gN•m\n", M);printf("挠度V = %gm\n", v);system("pause");return 0;}int get_I(int kind)//计算截面的I惯性矩{float d,b, h;//矩形梁,工字梁,圆柱梁float d2, alpha;//空心圆柱梁float I;//圆柱面=1,矩形梁=2,工字梁=3,空心圆柱梁=4if (1 == kind)//圆柱面=1{printf ("请输入圆柱梁的直径d\n");scanf("%f", &d);I = PI * pow(d, 4) / 64;}else if (2 == kind)//矩形梁=2{printf ("请输入矩形截面的b和h\n");scanf ("%f%f",&b, &h);I = b * pow(h, 3) / 12;}///*else if (3 == kind)//工字梁=3{printf("|——————-—————|\n");printf("|————| |——————|t\n");printf(" |d|\n");printf(" | |\n");printf("|————| |——————|\n");printf("|—————b——————|\n");/*printf ("请输入工字梁的翼缘厚度t,腹板厚度d,翼缘宽度b,梁高度h\n");scanf ("%f%f%f%f",&t,&d,&b,&h);*/printf ("请查附表B输入工字梁的惯性矩I\n");scanf ("%f",&I);}//*/else if (4 == kind)//空心圆柱梁=4{printf ("请输入圆柱梁的直径d和内外径比例alpha\n"); scanf ("%f%f",&d2, &alpha);I = PI * pow(d2, 4) *(1 - pow(alpha, 4)) / 64; }else{I = 0;}return I;}2.一个力偶作用下的任意截面的弯矩,挠度#include <stdio.h>#include <stdlib.h>#include <math.h>#define PI 3.1415926#define TORAD (PI/180)float get_I(int kind);float get_V_M0(float E, float Length,float I,float x, float M0, float a_L );float get_M_M0(float Length, float M0,float a_L, float x);int main(){int kind;//截面形状float Length, a_L, x;float E, I, M0;float v, M;//所求截面的挠度,弯矩printf(" Input Length(mm): ");scanf ("%f", &Length);Length /= 1000;/*单位转化*/printf("Input shape (circle=1,scquare=2,gongZL=3,blank circle=4): ");scanf("%d",&kind);printf("Input E(GPa): ");scanf("%f",&E);E *= 1.e9;/*单位转化*/printf("Input M0(N*m): ");scanf ("%f", &M0);printf("Input a_L( mm) ");scanf ("%f", &a_L);a_L /= 1000;/*单位转化*/while(a_L < 0 || a_L > Length){printf("力偶没有作用在杆上,请重新输入作用点位置: \n"); printf("请输入力偶作用点距离左端面的距离a_L( mm) "); scanf ("%f", &a_L);a_L /= 1000;/*单位转化*/}printf("Input x ( mm): ");scanf ("%f", &x);x /= 1000;/*单位转化*/I = get_I(kind );v = get_V_M0(E, Length, I, x, M0, a_L );M = get_M_M0(Length, M0, a_L, x);printf("Toatal M = %g N•m\n", M);printf("Toatal v = %g mm\n", v);return 0;system("pause");}float get_I(int kind)//计算截面的I惯性矩{float d,b, h;//矩形梁,工字梁,圆柱梁float d2, alpha;//空心圆柱梁float I;//float t;if (1 == kind)//圆柱面=1{printf ("Input d\n");scanf("%f", &d);I = PI * pow(d, 4) / 64;}else if (2 == kind)//矩形梁=2{printf ("Input b和h\n");scanf ("%f%f",&b, &h);I = b * pow(h, 3) / 12;}///*else if (3 == kind)//工字梁=3{printf("|——————-—————|\n");printf("|————| |——————|t\n");printf(" |d|\n");printf(" | |\n");printf("|————| |——————|\n");printf("|—————b——————|\n");printf ("Input I\n");scanf ("%f",&I);}else if (4 == kind)//空心圆柱梁=4{printf ("Input d and alpha\n");scanf ("%f%f",&d2, &alpha);I = PI * pow(d2, 4) *(1 - pow(alpha, 4)) / 64;}else{I = 0;}return I;}float get_V_M0(float E, float Length, float I, float x, float M0, float a_L ){float v;float m, b;b = Length - a_L;m = M0;if (E < 1.e7){E *= 1.e9;}if(x >= 0 && x <= a_L){v = m * x * (3*Length*Length - 3*b*b - x*x)/(6*E*I*Length );}else if (x > a_L && x <= Length){v = m * (-pow(x, 3) + 3*Length*pow(x-a_L, 2) + (pow(Length, 2) -3*b*b)*x) / (6*E*I*Length );}else{printf ("ERROR!!!\n");v = 0;exit(0);}return v;}float get_M_M0(float Length, float M0, float a_L, float x) {float F_L, F_R;//左右两处的支反力float m, b;float M;//所求任意截面的弯矩b = Length - a_L;m = M0;F_L = - M0 / Length;F_R = - F_L;if(x >= 0 && x <= a_L){M = F_L * x;}else if (x > a_L && x <= Length){M = F_R * (x - a_L);}else{printf ("ERROR!!!\n");M = 0;exit(0);}return M;}3. 一段分布力作用下的任意截面的弯矩,挠度#include<stdio.h>#include<math.h>#include<stdlib.h># define PI 3.1415926float get_I(int kind);//计算截面的I惯性矩float get_M_q(float E, float I, float Length, float x, floatq, float a_q_L, float a_q_R);float get_V_q(float E, float I, float Length, float x, floatq, float a_q_L, float a_q_R);int main(){float Length, a_q_L, a_q_R, q;float E, I;float M, V, x;int kind;printf("请输入梁的长度Length(单位:mm) ");scanf("%f",&Length);Length *= 1.e-3;printf("请输入分布力最左端距离梁左端距离a_q_L(单位:mm) ");scanf("%f",&a_q_L);a_q_L *= 1.e-3;printf("请输入分布力最左端距离梁右端距离a_q_R(单位:mm) ");scanf("%f",&a_q_R);a_q_R *= 1.e-3;printf("请输入分布力q:(单位:kN) ");scanf("%f",&q);q *= 1.e3;printf("请输入梁的弹性模量E(单位:GPa) ");scanf("%f",&E);E *= 1.e9;printf("请输入截面形状(圆柱面=1,矩形梁=2,工字梁=3,空心圆柱梁=4): ");scanf("%d",&kind);I = get_I(kind);printf("请输所求截面距离左端面距离x(单位:mm) ");scanf("%f",&x);x *= 1.e-3;M = get_M_q(E, I, Length, x, q, a_q_L, a_q_R);V = get_V_q(E, I, Length, x, q, a_q_L, a_q_R);printf("所求截面的弯矩是:%g N•m\n",M);printf("所求截面的挠度是:%g m\n",V);system ("pause");return 0;}float get_I(int kind)//计算截面的I惯性矩{float d,b, h;//矩形梁,工字梁,圆柱梁float d2, alpha;//空心圆柱梁float I;if (1 == kind)//圆柱面=1{printf ("请输入圆柱梁的直径d(单位:mm) ");scanf("%f", &d);d *= 1.e-3;I = PI * pow(d, 4) / 64;}else if (2 == kind)//矩形梁=2{printf ("请输入矩形截面的b和h(单位:mm) ");scanf ("%f%f",&b, &h);b *= 1.e-3;h *= 1.e-3;I = b * pow(h, 3) / 12;}else if (3 == kind)//工字梁=3{printf("|——————-—————|\n");printf("|————| |——————|t\n");printf(" |d|\n");printf(" | |\n");printf("|————| |——————|\n");printf("|—————b——————|\n");printf ("请查附表B输入工字梁的惯性矩I ");scanf ("%f",&I);}else if (4 == kind)//空心圆柱梁=4{printf ("请输入圆柱梁的直径d和内外径比例alpha "); scanf ("%f%f",&d2, &alpha);d2 *= 1.e-3;I = PI * pow(d2, 4) *(1 - pow(alpha, 4)) / 64;}else{I = 0;}return I;}float get_M_q(float E, float I, float Length, float x,float q, float a_q_L, float a_q_R){float c_q, fa, fb;float M;c_q = Length - a_q_L - a_q_R;fa = (a_q_R + c_q/2) * c_q * q / Length;fb = (a_q_L + c_q/2) * c_q * q / Length;if ((x >= 0) && (x <= a_q_L)){M = fa * x / (E * I);}else if ((x > a_q_L) && (x <= (Length-a_q_R))){M = ( fa * x - (x - a_q_L) * (x - a_q_L) * q/2 ) / (E*I);}else if ((x > (Length-a_q_R)) && (x <= Length)){M = ( fb * (Length - x)) / (E*I);}else{M = 0;printf("ERROR!!!!! \n");exit(0);}return M;}float get_V_q(float E, float I, float Length, float x, float q, float a_q_L, float a_q_R){float c_q, fa, fb;float V;c_q = Length - a_q_L - a_q_R;fa = (a_q_R + c_q/2) * c_q * q / Length;fb = (a_q_L + c_q/2) * c_q * q / Length;if ((x >= 0) && (x <= a_q_L)){V = fa * pow(x, 3) / (6*E*I);}else if ((x > a_q_L) && (x <= (Length-a_q_R))){V = ( fa*pow(x, 3) / 6 - pow((x-a_q_L), 4) * q / 24 )/ (E*I);}else if ((x > (Length-a_q_R)) && (x <= Length)){V = ( fb*Length*pow(x, 2)/2 - fb*pow(x, 3)/6 - fb*pow(Length, 2)*x/3 ) / (E*I);}else{V = 0;printf("ERROR!!!!!\n");exit(0);}return V;}。

哈工大材料力学上机大作业

哈工大材料力学上机大作业

材料力学上机实验作业组合截面几何性质计算指导教师:王秋生班级:学号:姓名:题目3:组合截面几何性质计算输入:1.各几何图形形状(圆形、矩形)及个数2.截面参数输入(形状、尺寸及位置)即圆截面-d,圆心位置;圆环截面-D,d,圆心位置;矩形截面h,b,形心位置输出:1.截面构形图2.形心位置坐标(图示)3.在形心坐标系下画出主轴,计算主惯性矩程序说明:本程序用于计算材料截面几何量,是使用VB编程语言汇编而成。

进入程序后,可选择三种模式:1.常用模式(此模式用于计算常用正多边形的几何量)2.直线模式,此模式下可利用线段绘制多边形(包括镂空多边形及多个不相交的多边形)3.曲线模式,此模式下可用鼠标任意绘制平面图形(同样包括镂空图形及多个不相交图形)一.绘图模式1.常用模式可鼠标绘制正多边形,或利用键盘精确输入正多边形。

2.直线模式可用鼠标绘制任意多边形,或利用键盘精确输入点坐标。

输入完成倒数第二个点后,单击淡绿色圆圈(起点),在弹出的对话框选择是,完成第一个图形。

可继续绘制下一图形或开始计算。

3.曲线模式可用鼠标绘制任意曲线以构成图形。

最后一点,单击淡绿色圆圈(起点),在弹出的对话框选择是,完成第一个图形。

可继续绘制下一图形或开始计算。

二.计算当绘制完某一图形后,点击“开始计算”按钮,即可计算出面积、静矩、形心坐标、惯性矩、惯性半径、惯性积、主惯性轴角度、主惯性矩、形心主惯性轴角度、形心主惯性矩等16个几何量。

欲重新开始,可点击“重置”按钮。

点击任意按钮后屏幕下方都会有相应的提示。

三.外部图形首先将所需图形大小修改为500×470,格式为jpg,命名为“截面”,并将其保存在程序根目录下,可载入外部图形以精确计算其各个量。

源程序:注:以下为form1的代码Private X As Single, Y As Single, Xp As Single, Yp As SinglePrivate N As Integer, Num As Integer, M As Integer, missN(10000) As Integer, j As Integer, k As IntegerPrivate stepX As Single, stepY As Single, Step As SinglePrivate P(1 To 30000, 1 To 2) As Single, Q1 As Single, Q2 As Single Private minX As Single, maxX As Single, minY As Single, maxY As Single Private runX As Single, runY As SinglePrivate X1 As Single, Y1 As Single, X2 As Single, Y2 As SinglePrivate Lx As Single, Ly As SinglePrivate Lpoint(200) As Single, Lpointmemory As SinglePrivate Nn As Integer, Rr As SinglePrivate Xx As Single, Yy As Single, T As Integer, Ang As SinglePrivate Sx As Single, Sy As Single, Ax As Single, Ay As Single Private ShapeCenterX As Single, ShapeCenterY As SinglePrivate Ix As Single, Iy As Single, IxC As Single, IyC As Single, IxyC As SinglePrivate Rx As Single, Ry As SinglePrivate Ixy As Single, Iyx As Single, LIxy As Single, LIyx As Single Private Angle As SinglePrivate Imin As Single, Imax As SinglePrivate AngleC As SinglePrivate Icmin As Single, Icmax As SinglePrivate Can As IntegerPrivate Msg As IntegerPrivate MoveN As Long, MoveM As Long, Decider As Integer, Shape As IntegerPrivate A As Single, B As Single, C As Single, E As Single, F As Single Private Usual As IntegerPrivate Sub PaintNnRr()M = 0: N = 1For i = 0 To Nn - 1Text1.Text = Xx + Rr * Cos(Ang * 3.1415926535898 / 180 + 2 * 3.1415926535898 / Nn * i)Text2.Text = Yy + Rr * Sin(Ang * 3.1415926535898 / 180 + 2 * 3.1415926535898 / Nn * i)Command1_ClickNextEnd SubPrivate Sub Shorten(A As Single, B As Single, C As Single)i = 0Do While A >= 10A = A / 10i = i + 1LoopB = Format(A, "0.00")C = iEnd SubPrivate Sub Calculate()ShapeCenterY = CLng(Sx / Ax)ShapeCenterX = CLng(Sy / Ay)If Ix = Iy And Ixy > 0 ThenAngle = -3.1415926535898 / 4ElseIf Ix = Iy And Ixy < 0 ThenAngle = 3.1415926535898 / 4ElseIf Ix = Iy And Ixy = 0 ThenAngle = 0ElseAngle = 0.5 * Atn(-2 * Ixy / (Ix - Iy))End IfRx = Sqr(Ix / Ax)Ry = Sqr(Iy / Ay)Imin = (Ix + Iy) / 2 - Sqr((Ix - Iy) ^ 2 / 4 + Ixy ^ 2)Imax = (Ix + Iy) / 2 + Sqr((Ix - Iy) ^ 2 / 4 + Ixy ^ 2)IxC = Ix - ShapeCenterY ^ 2 * AxIyC = Iy - ShapeCenterX ^ 2 * AyIxyC = Ixy - ShapeCenterX * ShapeCenterY * AxIcmin = (IxC + IyC) / 2 - Sqr((IxC - IyC) ^ 2 / 4 + IxyC ^ 2)Icmax = (IxC + IyC) / 2 + Sqr((IxC - IyC) ^ 2 / 4 + IxyC ^ 2)If IxC = IyC And IxyC > 0 ThenAngleC = -3.1415926535898 / 4ElseIf IxC = IyC And IxyC < 0 ThenAngleC = 3.1415926535898 / 4ElseIf IxC = IyC And IxyC = 0 Thenanflec = 0ElseAngleC = 0.5 * Atn(-2 * IxyC / (IxC - IyC))End IfEnd SubPrivate Sub Output()Picture1.Line (Sy / Ay + 1000, 6000 - Sx / Ax)-(Sy / Ay + 1000, 6000), RGB(255, 121, 121)Picture1.Line (Sy / Ay + 1000, 6000 - Sx / Ax)-(1000, 6000 - Sx / Ax), RGB(255, 121, 121)Label6.Left = Sy / Ay + 100 + 1000: Label6.Top = 5775 + 20Label6.Caption = "X =" & ShapeCenterXLabel6.Visible = TrueLabel7.Left = 1080: Label7.Top = 6000 - (Sx / Ax - 20)Label7.Caption = "Y =" & ShapeCenterYLabel7.Visible = TrueText3.Text = ShapeCenterX: Text4.Text = ShapeCenterYCall Shorten(Ax, E, F)Text5.Text = E & "×" & 10 & "^" & FCall Shorten(Sx, E, F)Text6.Text = E & "×" & 10 & "^" & FCall Shorten(Sy, E, F)Text7.Text = E & "×" & 10 & "^" & FCall Shorten(Ix, E, F)Text8.Text = E & "×" & 10 & "^" & FCall Shorten(Iy, E, F)Text9.Text = E & "×" & 10 & "^" & FText10.Text = CLng(Rx * 10) / 10: Text11.Text = CLng(Ry * 10) / 10Call Shorten(Ixy, E, F)Text12.Text = E & "×" & 10 & "^" & FText13.Text = Format(Angle * 180 / 3.1415926535898, "0.0")Call Shorten(Imin, E, F)Text14.Text = E & "×" & 10 & "^" & FCall Shorten(Imax, E, F)Text15.Text = E & "×" & 10 & "^" & FText16.Text = Format(AngleC * 180 / 3.1415926535898, "0.0")Call Shorten(Icmin, E, F)Text17.Text = E & "×" & 10 & "^" & FText18.Text = IcmaxCall Shorten(Icmax, E, F)Text18.Text = E & "×" & 10 & "^" & FEnd SubPrivate Sub Sort()For i = 1 To j - 2For k = i + 1 To j - 1If Lpoint(k) < Lpoint(i) ThenLpointmemory = Lpoint(i)Lpoint(i) = Lpoint(k)Lpoint(k) = LpointmemoryEnd IfNextNextEnd SubPrivate Sub CloseLine()Picture1.Circle (Q1 + 1000, 6000 - Q2), 90, RGB(255, 255, 255)Label1.Caption = "输入第" & N + 1 & "点坐标:"P(N, 1) = Q1: P(N, 2) = Q2Picture1.Line (P(N - 1, 1) + 1000, 6000 - P(N - 1, 2))-(Q1 + 1000, 6000 - Q2), RGB(0, 0, 255)missN(Num) = NM = 0N = N + 1Num = Num + 1Decider = 0Label21.Caption = "点击计算“截面的几何量”按钮开始计算,或单击下一点以绘制下一图形的起点"End SubPrivate Sub GetstepXstepY()minY = P(1, 2)For i = 2 To N - 1If P(i, 2) < minY ThenminY = P(i, 2)ElseEnd IfNextmaxY = P(1, 2)For i = 2 To N - 1If P(i, 2) > maxY ThenmaxY = P(i, 2)ElseEnd IfNextstepY = (maxY - minY) / StepminX = P(1, 1)For i = 2 To N - 1If P(i, 1) < minX ThenminX = P(i, 1)ElseEnd IfNextmaxX = P(1, 1)For i = 2 To N - 1If P(i, 1) > maxX ThenmaxX = P(i, 1)ElseEnd IfNextstepX = (maxX - minX) / StepEnd SubPrivate Sub GetLxLIxy()j = 1: Lx = 0: LIxy = 0For i = 1 To N - 1Can = 0For k = 1 To Num - 1If i = missN(k) ThenCan = 1ElseEnd IfNextIf Can = 0 ThenIf (P(i, 2) - runY) * (P(i + 1, 2) - runY) = 0 ThenrunY = runY + stepY / 1000ElseEnd IfIf (P(i, 2) - runY) * (P(i + 1, 2) - runY) < 0 ThenX1 = P(i, 1): Y1 = P(i, 2): X2 = P(i + 1, 1): Y2 = P(i + 1, 2)Lpoint(j) = X1 + (X2 - X1) * (runY - Y1) / (Y2 - Y1)j = j + 1ElseEnd IfElseEnd IfNextCan = 0Call SortFor i = 1 To j - 1 Step 2Lx = Lx + Lpoint(i + 1) - Lpoint(i)LIxy = LIxy + 0.5 * (Lpoint(i + 1) ^ 2 - Lpoint(i) ^ 2)NextEnd SubPrivate Sub PaintX()For i = 1 To j - 2 Step 2Picture1.Line (Lpoint(i) + 1000, 6000 - runY)-(Lpoint(i + 1) + 1000, 6000 - (runY + stepY)), RGB(255, 113, 116), BFNextEnd SubPrivate Sub GetAxSxIx()Ax = Ax + Lx * stepYSx = Sx + (runY + 0.5 * stepY) * (Lx * stepY)Ix = Ix + (runY + 0.5 * stepY) ^ 2 * (Lx * stepY)Ixy = Ixy + (runY + 0.5 * stepY) * (LIxy * stepY)End SubPrivate Sub GetLyLIyx()j = 1: Ly = 0: LIyx = 0For i = 1 To N - 1Can = 0For k = 1 To Num - 1If i = missN(k) ThenCan = 1ElseEnd IfNextIf Can = 0 ThenIf (P(i, 1) - runX) * (P(i + 1, 1) - runX) = 0 ThenrunX = runX + stepX / 1000ElseEnd IfIf (P(i, 1) - runX) * (P(i + 1, 1) - runX) < 0 ThenX1 = P(i, 1): Y1 = P(i, 2): X2 = P(i + 1, 1): Y2 = P(i + 1, 2)Lpoint(j) = Y1 + (Y2 - Y1) * (runX - X1) / (X2 - X1)j = j + 1ElseEnd IfElseEnd IfNextCall SortFor i = 1 To j - 1 Step 2Ly = Ly + Lpoint(i + 1) - Lpoint(i)LIyx = LIyx + 0.5 * (Lpoint(i + 1) ^ 2 - Lpoint(i) ^ 2)NextEnd SubPrivate Sub PaintY()For i = 1 To j - 2 Step 2Picture1.Line (runX + 1000, 6000 - Lpoint(i))-(runX + stepX + 1000, 6000 - Lpoint(i + 1)), RGB(118, 89, 255), BFNextEnd SubPrivate Sub GetAySyIy()Ay = Ay + Ly * stepXSy = Sy + (runX + 0.5 * stepX) * (Ly * stepX)Iy = Iy + (runX + 0.5 * stepX) ^ 2 * (Ly * stepX)Iyx = Iyx + (runX + 0.5 * stepX) * (LIyx * stepX)End SubPrivate Sub Command1_Click() '画线Label1.Caption = "输入第" & N + 1 & "点坐标:"Text1.Text = CLng(Text1.Text * 10) / 10: Text2.Text = CLng(Text2.Text * 10) / 10Xp = Text1.Text: Yp = Text2.TextX = Xp: Y = YpP(N, 1) = X: P(N, 2) = YIf M = 0 ThenQ1 = X: Q2 = YPicture1.PSet (Q1 + 1000, 6000 - Q2), RGB(0, 0, 255)Picture1.Circle (Q1 + 1000, 6000 - Q2), 90, RGB(180, 255, 180)If Shape = 0 ThenDecider = 0ElseDecider = 1End IfElseIf M <> 0 ThenPicture1.Line (P(N - 1, 1) + 1000, 6000 - P(N - 1, 2))-(P(N, 1) + 1000, 6000 - P(N, 2)), RGB(0, 0, 255)ElseEnd IfM = 1N = N + 1Command2.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand9.Enabled = FalseLabel21.Caption = "点击以输入下一个点的坐标 .或点击当前图形起点(淡绿色圆圈内)以封闭图形"End SubPrivate Sub Command10_Click()Nn = Text19.TextRr = Text20.TextXx = Text22.TextYy = Text23.TextAng = Text21.TextCall PaintNnRrCall CloseLineCommand2_ClickCommand10.Enabled = FalseEnd SubPrivate Sub Command2_Click()N = N - 1Call GetstepXstepYrunX = minX: runY = minYAx = 0: Sx = 0: Ix = 0Do While runY < maxYCall GetLxLIxy 'Lx为与x轴平行的LCall PaintXCall GetAxSxIxrunY = runY + stepYLoopAy = 0: Sy = 0: Iy = 0Do While runX < maxXCall GetLyLIyxCall PaintYCall GetAySyIyrunX = runX + stepXLoopCall CalculateCall OutputCommand1.Enabled = FalseCommand2.Enabled = FalseN = N + 1Label21.Caption = "单击“重置程序”按钮以初始化程序"Form1.Width = 9750End SubPrivate Sub Command3_Click()Form_ActivateEnd SubPrivate Sub Command4_Click()Decider = 0Shape = 0Label21.Caption = "进入直线模式"If T = 1 ThenFrame6.Visible = FalseT = 0ElseEnd IfCommand1.Enabled = TrueCommand4.Enabled = FalseCommand5.Enabled = FalseCommand9.Enabled = FalseEnd SubPrivate Sub Command5_Click()Decider = 0Shape = 1Label21.Caption = "进入曲线模式"If T = 1 ThenFrame6.Visible = FalseT = 0ElseEnd IfCommand4.Enabled = FalseCommand5.Enabled = FalseCommand9.Enabled = FalseEnd SubPrivate Sub Command6_Click()Unload Form1Unload Form2End SubPrivate Sub Command7_Click()Shell "C:\windows\system32\notepad.exe" + " " + App.Path + "\帮助.txt", 3End SubPrivate Sub Command8_Click()Command3_ClickPicture1.Picture = LoadPicture(App.Path + "\截面.jpg")Label21.Caption = "请将截面图形大小修改为500×470,再将名字改为“截面”,并保存在程序根目录下"End SubPrivate Sub Command9_Click()If T = 1 ThenCommand4.Enabled = TrueCommand5.Enabled = TrueElseCommand4.Enabled = FalseCommand5.Enabled = FalseEnd IfIf T = 1 ThenFrame6.Visible = FalseT = 0Usual = 0ElseFrame6.Visible = TrueT = 1Usual = 3End IfIf T = 1 ThenLabel21.Caption = "选择一种正多边形"ElseEnd IfEnd SubPrivate Sub Form_Activate()Form1.Width = 7680Picture1.ClsPicture1.Picture = LoadPicture(App.Path + "\1.jpg")Command1.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand9.Enabled = TrueCommand10.Enabled = TrueLabel21.Caption = "选择一种模式(默认为直线模式)并鼠标点击输入或键入第一点坐标"Command2.Enabled = FalseN = 1: Num = 1: M = 0: Can = 0: MoveN = 0: MoveM = 0Step = 10000: Decider = 0: Shape = 0: Usual = 0Label1.Caption = "输入第1点坐标:": Label6.Visible = False: Label7.Visible = FalseText3.Text = 0: Text4.Text = 0Text20.Text = 1500Text21.Text = 0Text22.Text = 3000Text23.Text = 3000Frame6.Visible = FalseT = 0Command1.Enabled = False End SubPrivate Sub Option1_Click() Form_ActivateCommand4.Enabled = False Command5.Enabled = False Command9_ClickText19.Text = 100Usual = 1Step = 10000End SubPrivate Sub Option2_Click() Form_ActivateCommand4.Enabled = False Command5.Enabled = False Command9_ClickText19.Text = 3Usual = 1Step = 10000End SubPrivate Sub Option3_Click() Form_ActivateCommand4.Enabled = False Command5.Enabled = False Command9_ClickText19.Text = 4Usual = 1Step = 10000End SubPrivate Sub Option4_Click() Form_ActivateCommand4.Enabled = False Command5.Enabled = False Command9_ClickText19.Text = 5Usual = 1Step = 10000End SubPrivate Sub Option5_Click()Form_ActivateCommand4.Enabled = FalseCommand5.Enabled = FalseCommand9_ClickText19.Text = 6Usual = 1Step = 10000End SubPrivate Sub Option6_Click()Form_ActivateCommand4.Enabled = FalseCommand5.Enabled = FalseCommand9_ClickText19.Text = 7Text19.SetFocusText19.SelLength = Len(Text1.Text)Label21.Caption = "输入N边形边数"Usual = 1Step = 10000End SubPrivate Sub Picture1_Click()If Usual = 0 ThenIf Sqr((Text1.Text - Q1) ^ 2 + (Text2.Text - Q2) ^ 2) <= 90 And N > 3 ThenLabel21.Caption = "单击“是”将封闭当前图形,单击“否”则可继续绘制下一点"Msg = MsgBox("是否封口?", 4, "")If Msg = 6 ThenCall CloseLineCommand2.Enabled = TrueElseCommand1_ClickEnd IfElseCommand1_ClickEnd IfElseIf Usual = 1 ThenText22.Text = Text1.Text: Text23.Text = Text2.TextPSet (Text1.Text + 1000, 6000 - Text2.Text), RGB(0, 0, 255)Usual = 2ElseIf Usual = 2 ThenUsual = 3ElseEnd IfEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Text1.Text = CLng((X - 1000) * 10) / 10: Text2.Text = CLng((6000 - Y) * 10) / 10If Usual = 0 ThenIf Decider = 1 ThenMoveN = MoveN + 1MoveM = MoveN Mod 2If MoveM = 0 ThenCommand1_ClickElseEnd IfElseEnd IfElseIf Usual = 2 ThenPicture1.ClsText20.Text = Sqr((Text1.Text - Xx) ^ 2 + (Text2.Text - Yy) ^ 2) Text20.Text = CLng(Text20.Text * 10) / 10Nn = Text19.TextRr = Text20.TextXx = Text22.TextYy = Text23.TextAng = Text21.TextCall PaintNnRrCall CloseLineNum = Num - 1ElseIf Usual = 3 ThenElseEnd IfEnd SubPrivate Sub Text19_LostFocus()Text19.Text = CLng(Text19.Text)End SubPrivate Sub Text21_LostFocus()Text21.Text = CLng(Text21.Text * 10) / 10End Sub注:以下为form2的代码Private N As IntegerPrivate Sub Form_Activate()N = 0End SubPrivate Sub Timer1_Timer()N = N + 30If N < 165 ThenLabel1.ForeColor = RGB(165 - N, 165, 165 - N) Label2.ForeColor = RGB(165 - N, 165, 165 - N) Label3.ForeColor = RGB(165 - N, 165, 165 - N) ElseIf N > 260 ThenForm2.HideForm1.ShowTimer1.Enabled = FalseEnd IfEnd Sub应用举例:1.圆形截面2.矩形截面3.组合截面。

哈工大材料力学(完整版)第1-8讲

哈工大材料力学(完整版)第1-8讲

7
§1.2 变性固体的概念及理想模型
(3)小变形前提保证叠加法成立:(叠加法是材料力学中常 用的方法)
– 叠加法指构件在多个载荷作用下产生的变形——可以看作为各个 载荷单独作用产生的变形之代数和
4. 变形固体基本假设
连续性 假设 均匀性 假设 各向同 性假设
第1章 绪论
认为变形固体整个体积内都被物质连续地充满,没 有空隙和裂缝 认为变形固体整个体积内各点处的力学性质相同 认为变形固体沿各个方向的力学性质相同(不适合 所有的材料)
外效应——使物体的动态发生改 变(物体的位置、速度、加速度 变化) 内效应——使物体的形态发 生改变(物体的形状、尺寸 大小改变)
• 理论力学研究力产生的外效应,研 究力与机械运动之间的普遍规律, 研究对象抽象为——刚体
• 材料力学研究力产生的内效应,研 究力与物体的变形及破坏规律,研 究对象抽象为——变形固体
4.课程的研究方法:理论分析和实验手段相结合
• 材料的力学性质需要通过实验获得 • 一些理论以实验结果得出的某些假设为前提
第1章 绪论 4
§1.2 变性固体的概念及理想模型
1.变形固体
– 弹性变形:外力去掉后可消失的变形,弹性:变形固 体在外力去掉后能恢复原来形状和尺寸的性质 – 塑性变形:残余变形
– 变形特点:沿轴线方向将发生伸长 或缩短变形,对应横截面尺寸减小或 增大。
F1
B
桁架中的杆件
A C
第1章 绪论
F1 F2 F2
26
F
§2.1 轴向拉伸和压缩
F m
沿m-m截开
F
2.1.3 轴力和轴力图
左端:∑X = 0, – F = 0 FN = F
F

哈工程材料力学考题整理

哈工程材料力学考题整理

哈尔滨工程大学试卷考试科目:材料力学B一简答题(每题5分,共40分)1、等截面圆杆受力如图,弹性模量200E GPa =,若杆的总伸长不允许超过1mm ,试求杆的直径的最小值。

60kN20kN200mm200mm2、空心圆轴横截面上扭矩为n M ,方向如图,内、外径分别为d 和D ,在图上画出扭转剪应力分布规律图,并写出内壁上点A 的扭转剪应力表达式。

dDAonM 共9页;第1页3、螺栓联接结构受力如图,两板宽均为b 、厚均为t 。

若材料的拉(压)、剪切、挤压许用应力分别为[]σ、[]τ、jy σ⎡⎤⎣⎦。

写出该联接件的强度条件。

dtt PP4、求图示图形的形心位置及对形心轴c y 轴的惯性矩yc I 。

(图中尺寸单位为mm )30cy C cz 3030909030共9页;第2页班级:学号:姓名:装订线题号一二三四五六总分分数评卷人5、圆轴扭转时,测得与轴线呈45 角方向上的线应变45εε=-,拉压弹性模量E 和泊松比 已知。

试求横截面上的剪应力τ。

eM eM 456、写出弯曲对称循环情况下构件的持久极限计算表达式,并说明各量的含义。

共9页;第3页7、重量为Q 的重物自由下落在图示刚架的C 点,设材料的抗弯刚度EI 和抗弯截面模量W 均已知,且已知C 点的静变形343j Qa EI ∆=。

试求冲击时刚架内的最大正应力(轴力影响不考虑)。

CBAaaHQ8、试绘制某塑性材料的临界应力总图(中长杆用直线型经验公式),并标出各段计算临界应力的公式。

共9页;第4页班级:学号:姓名:装订线二、画出图示梁的剪力图、弯矩图,并确定max Q 和maxM。

(12分)BAa aCq2qaqa212qa 212qa max Q qa=2max12Mpa =QMxx共9页;第5页三、如图圆截面轴。

已知2.n M kN m =,11P kN =,2 1.5P kN =,[]150MPa =,横截面直径80d mm =。

哈工大材料力学性能大作业-铁碳马氏体的强化机制解读

哈工大材料力学性能大作业-铁碳马氏体的强化机制解读

铁碳马氏体的强化机制摘要:钢中铁碳马氏体的最主要特性是高强度、高硬度,其硬度随碳含量的增加而升高。

马氏体的强化机制是多种强化机制共同作用的结果。

主要的强化机制包括:相变强化、固溶强化、时效强化、形变强化和综合强化等。

本文介绍了铁碳马氏体及其金相组织和力学特性,着重深入分析马氏体的强化机制。

关键词:铁碳马氏体强化机制1.马氏体的概念,组织及力学特性1.1马氏体的概念马氏体,也有称为麻田散铁,是纯金属或合金从某一固相转变成另一固相时的产物;在转变过程中,原子不扩散,化学成分不改变,但晶格发生变化,同时新旧相间维持一定的位向关系并且具有切变共格的特征。

马氏体最先在淬火钢中发现,是由奥氏体转变成的,是碳在α铁中的过饱和固溶体。

以德国冶金学家阿道夫·马登斯(A.Martens)的名字命名;现在马氏体型相变的产物统称为“马氏体”。

马氏体的开始和终止温度,分别称为M始点和M终点;钢中的马氏体在显微镜下常呈针状,并伴有未经转变的奥氏体(残留奥氏体);钢中的马氏体的硬度随碳量增加而增高;高碳钢的马氏体的硬度高而脆,而低碳钢的马氏体具有较高的韧性。

1.3马氏体的力学特性铁碳马氏体最主要的性质就是高硬度、高强度,其硬度随碳含量的增加而增加。

但是当碳含量达到6%时,淬火钢的硬度达到最大值,这是因为碳含量进一步提高,虽然马氏体的硬度会提高但是由于残余奥氏体量的增加,使钢的硬度反而下降。

2.铁碳马氏体的晶体学特性和金相形貌钢经马氏体转变形成的产物。

绝大多数工业用钢中马氏体属于铁碳马氏体,是碳在体心立方结构铁中的过饱和固溶体。

铁碳合金的奥氏体具有很宽的碳含量范围,所形成的马氏体在晶体学特性、亚结构和金相形貌方面差别很大。

可以把铁碳马氏体按碳含量分为5个组别(见表)【1】。

表1 铁碳马氏体的晶体学特性和金相形貌低碳马氏体为体心立方结构,中、高碳为体心正方结构。

碳原子的固溶为间隙式,处于八面体间隙之中。

如图1A中×号所示,三坐标方向的面心位置是具有代表性的三种八面体间隙中心,构成了体心晶格中的三套亚点阵,分别以1/2[001]、1/2[010]、1/2[100]表示,每单位晶胞中有六个八面体间隙分属这三套亚点阵。

哈工大材料力学上机

哈工大材料力学上机

材料力学上机大作业院系:机电工程学院班级: 1208107 作者:吕肃学号: 1120810728 指导教师:张桂莲设计时间: 2014.6.12一、问题的提出:计算出6种梁的剪力,弯矩,挠度及角度,给出剪力图、弯矩图,挠曲线,角度曲线。

二、数学模型及算法算法实现:剪力,弯矩运用叠加法,挠度,角度运用积分法计算。

三、程序说明鉴于GUI界面复杂,回调函数众多,故只给出主回调函数,及对应的三个子函数。

需要输入分段矩阵x及载荷矩阵ZH。

输入分段矩阵为行矩阵,每个矩阵中的值对应载荷及支点位置或固定端,按从小到大顺序输入,从0开始。

载荷矩阵为多行矩阵,每行形式如:a b c d。

a对应载荷类型,1为力偶,2为集中力,3位分布力。

b对应载荷大小,单位为k。

c对应载荷起点位置,d对于载荷终点位置。

还可以选择不同截面类型,得到不同的E。

四、主回调程序global x ZH E I %定义所有的全局变量L1=get(handles.edit17,'string');L1=str2num(L1); %将文本格式转换到数值L2=get(handles.edit16,'string');L2=str2num(L2); %将文本格式转换到数值A=get(handles.edit18,'string');A=str2num(A); %将文本格式转换到数值B=get(handles.edit19,'string');B=str2num(B); %将文本格式转换到数值valu=get(handles.popupmenu2,'Value');value=get(handles.popupmenu3,'Value');switch valuecase 1I=pi*A^4/64;case 2I=pi*(A^4-B^4)/64;case 3I=A^3*B/12;case 4I=2450000;case 5I=23700000;case 6I=25000000;endE=get(handles.edit4,'string');E=str2num(E); %将文本格式转换到数值E=E*10^9;I=I/10^12;z=E*I;x=get(handles.edit1,'string');x=str2num(x); %将文本格式转换到数值ZH=get(handles.edit2,'string');ZH=str2num(ZH);switch valucase 1 %简支梁[n,m]=size(x);[a,b]=size(ZH);L=x(m);x1=[];for i=1:m-1x1=[x1,linspace(x(i),x(i+1),30*(x(i+1)-x(i)))]; endLO=zeros(size(x1));JL=zeros(size(x1));[PN,t]=size(ZH);[t,n]=size(x1);for i=1:PNswitch ZH(i,1) %不同类型的作用对梁的贡献case 1 %作用为弯矩M=ZH(i,2)*10^3;a=ZH(i,3);d=-M/L;JL=JL+d;LO=LO+d*x1;if a==0LO=LO+M;endif a>0&a<LLO=QLO(n,x1,a,M,LO);endcase 2 %作用为剪力P=ZH(i,2)*10^3;b=ZH(i,3);RA=(L-b)*P/L;if b>0&b<LJL(1:n)=JL+RA;LO=LO+RA*x1;[JL,LO]=QMP(n,x1,b,P,JL,LO);endcase 3 %作用为均布载荷q=ZH(i,2)*10^3;c=ZH(i,3);d=ZH(i,4);RA=(L-0.5*(c+d))*q*(d-c)/L;JL=JL+RA;LO=LO+RA*x1;[JL,LO]=QMQ(n,x1,c,d,q,JL,LO);endenddx=1/10;h=cumtrapz(LO)*dx/z;y=cumtrapz(h)*dx;D=-y(1);C=(-D-y(n))/L;h=cumtrapz(LO)*dx/z;h=h+C;y=cumtrapz(h)*dx;y=y+D;case 2 %左端固定悬臂梁[n,m]=size(x);L=x(m);x1=[];for i=1:m-1x1=[x1,linspace(x(i),x(i+1),30*(x(i+1)-x(i)))]; endLO=zeros(size(x1));JL=zeros(size(x1));[PN,t]=size(ZH);[t,n]=size(x1);for i=1:PNswitch ZH(i,1) %不同类型的作用对梁的贡献case 1 %作用为弯矩M=ZH(i,2)*10^3;a=ZH(i,3);if a>0&a<LLO=LO-M;LO=QLO(n,x1,a,M,LO);endif a==LLO=LO-M;endcase 2 %作用为剪力P=ZH(i,2)*10^3;b=ZH(i,3);RA=P;MA=-P*b;JL=JL+RA;LO=LO+RA*x1+MA;if b>0&b<L[JL,LO]=QMP(n,x1,b,P,JL,LO);endcase 3 %作用为均布载荷q=ZH(i,2)*10^3;c=ZH(i,3);d=ZH(i,4);RA=Q*(d-c);MA=-0.5*Q*(d-c)*(d+c);JL=JL+RA;LO=LO+RA*x1+MA;[JL,LO]=QMQ(n,x1,c,d,q,JL,LO);endendh=cumtrapz(LO)/z;y=cumtrapz(h);case 3 %右端固定悬臂梁[n,m]=size(x);L=x(m);x1=[];for i=1:m-1x1=[x1,linspace(x(i),x(i+1),30*(x(i+1)-x(i)))]; endLO=zeros(size(x1));JL=zeros(size(x1));[PN,t]=size(ZH);[t,n]=size(x1);for i=1:PNswitch ZH(i,1) %不同类型的作用对梁的贡献case 1 %作用为弯矩M=ZH(i,2)*10^3;a=ZH(i,3);if a==0LO=LO+M;endif a>0&a<LLO=QLO(n,x1,a,M,LO);endcase 2 %作用为剪力P=ZH(i,2)*10^3;b=ZH(i,3);if b==0JL=JL-P;LO=LO-P*x1;endif b>0&b<L[JL,LO]=QMP(n,x1,b,P,JL,LO);endcase 3 %作用为均布载荷q=ZH(i,2)*10^3;c=ZH(i,3);d=ZH(i,4);[JL,LO]=QMQ(n,x1,c,d,q,JL,LO);endenddx=1/10;h=cumtrapz(LO)*dx/z;y=cumtrapz(h)*dx;C=-h(n);D=-y(n)-C*L;h=cumtrapz(LO)*dx/z;h=h+C;y=cumtrapz(h)*dx;y=y+D;case 4 %左端外伸梁[n,m]=size(x);L=x(m);x1=[];for i=1:m-1x1=[x1,linspace(x(i),x(i+1),30*(x(i+1)-x(i)))]; endLO=zeros(size(x1));JL=zeros(size(x1));[PN,t]=size(ZH);[t,n]=size(x1);for i=1:PNswitch ZH(i,1) %不同类型的作用对梁的贡献case 1 %作用为弯矩M=ZH(i,2)*10^3;a=ZH(i,3);RA=-M/(L-L1);[JL,LO]=QMP(n,x1,L1,-RA,JL,LO);if a>0&a<LLO=QLO(n,x1,a,M,LO);endif a==0LO=LO+M;endcase 2 %作用为剪力P=ZH(i,2)*10^3;b=ZH(i,3);RA=P*(L-b)/(L-L1);[JL,LO]=QMP(n,x1,L1,-RA,JL,LO);if b>0&b<L[JL,LO]=QMP(n,x1,b,P,JL,LO);endif b==0JL=JL-P;LO=LO-P*x1;endcase 3 %作用为均布载荷q=ZH(i,2)*10^3;c=ZH(i,3);d=ZH(i,4);b=(c+d)*0.5;P=(d-c)*q;RA=P*(L-b)/(L-L1);[JL,LO]=QMP(n,x1,L1,-RA,JL,LO); [JL,LO]=QMQ(n,x1,c,d,q,JL,LO);endendfor i=1:nif x1(i)==L1t=i;endenddx=1/10;h=cumtrapz(LO)*dx/z;y=cumtrapz(h)*dx;C=(y(n)-y(t))/(t*dx-L);D=-y(n)-L*C;h=cumtrapz(LO)*dx/z;h=h+C;y=cumtrapz(h)*dx;y=y+D;case 5 %右端外伸梁[n,m]=size(x);L=x(m);x1=[];for i=1:m-1x1=[x1,linspace(x(i),x(i+1),30*(x(i+1)-x(i)))]; endLO=zeros(size(x1));JL=zeros(size(x1));[PN,t]=size(ZH);[t,n]=size(x1);for i=1:PNswitch ZH(i,1) %不同类型的作用对梁的贡献case 1 %作用为弯矩M=ZH(i,2)*10^3;a=ZH(i,3);RA=-M/L1;RB=-RA;JL=JL+RA;LO=LO+x1*RA;[JL,LO]=QMP(n,x1,L1,-RB,JL,LO);if a>0&a<LLO=QLO(n,x1,a,M,LO);endif a==0LO=LO+M;endcase 2 %作用为剪力P=ZH(i,2)*10^3;b=ZH(i,3);RA=P*(L1-b)/L1;RB=P*b/L1;JL=JL+RA;LO=LO+RA*x1;[JL,LO]=QMP(n,x1,L1,-RB,JL,LO);if b>0&b<L[JL,LO]=QMP(n,x1,b,P,JL,LO);endif b==0JL=JL-P;LO=LO-P*x1;endcase 3 %作用为均布载荷q=ZH(i,2)*10^3;c=ZH(i,3);d=ZH(i,4);b=(c+d)*0.5;P=(d-c)*q;RA=P*(L1-b)/L1;RB=P*b/L1;JL=JL+RA;LO=LO+RA*x1;[JL,LO]=QMP(n,x1,L1,-RB,JL,LO);[JL,LO]=QMQ(n,x1,c,d,q,JL,LO);endendfor i=1:nif x1(i)==L1t=i;endenddx=1/10;h=cumtrapz(LO)*dx/z;y=cumtrapz(h)*dx;D=-y(1);C=(-D-y(t))/(t*dx);h=cumtrapz(LO)*dx/z;h=h+C;y=cumtrapz(h)*dx;y=y+D;case 6 %两端外伸梁[n,m]=size(x);L=x(m);x1=[];for i=1:m-1x1=[x1,linspace(x(i),x(i+1),30*(x(i+1)-x(i)))]; endLO=zeros(size(x1));JL=zeros(size(x1));[PN,t]=size(ZH);[t,n]=size(x1);for i=1:PNswitch ZH(i,1) %不同类型的作用对梁的贡献case 1 %作用为弯矩M=ZH(i,2)*10^3;a=ZH(i,3);RA=-M/(L2-L1);RB=-RA;[JL,LO]=QMP(n,x1,L1,-RA,JL,LO);[JL,LO]=QMP(n,x1,L2,-RB,JL,LO);if a>0&a<LLO=QLO(n,x1,a,M,LO);endif a==0LO=LO+M;endcase 2 %作用为剪力P=ZH(i,2)*10^3;b=ZH(i,3);LL=L2-L1;bb=b-L1;RA=P*(LL-bb)/LL;RB=P*b/LL;[JL,LO]=QMP(n,x1,L1,-RA,JL,LO); [JL,LO]=QMP(n,x1,L2,-RB,JL,LO);if b>0&b<L[JL,LO]=QMP(n,x1,b,P,JL,LO);endif b==0JL=JL-P;LO=LO-P*x1;endcase 3 %作用为均布载荷q=ZH(i,2)*10^3;c=ZH(i,3);d=ZH(i,4);b=(c+d)*0.5;P=(d-c)*q;LL=L2-L1;bb=b-L1;RA=P*(LL-bb)/LL;RB=P*bb/LL;[JL,LO]=QMP(n,x1,L1,-RA,JL,LO); [JL,LO]=QMP(n,x1,L2,-RB,JL,LO); [JL,LO]=QMQ(n,x1,c,d,q,JL,LO);endendfor i=1:nif x1(i)==L1t=i;endendfor i=1:nif x1(i)==L2r=i;endenddx=1/10;h=cumtrapz(LO)*dx/z;y=cumtrapz(h)*dx;C=(y(r)-y(t))/(t*dx-r*dx);D=-y(t)-C*t*dx;h=cumtrapz(LO)*dx/z;h=h+C;y=cumtrapz(h)*dx;y=y+D;end[Qmax,i]=max(JL); %寻找最大剪力[Qmin,j]=min(JL); %寻找最小剪力if abs(max(JL))>=abs(min(JL))set(handles.text7,'string',Qmax); set(handles.text8,'string',x1(i)); elseset(handles.text7,'string',Qmin); set(handles.text8,'string',x1(j)); end[LOax,i]=max(LO); %寻找最大弯矩[LOin,j]=min(LO); %寻找最小弯矩if abs(max(LO))>=abs(min(LO))set(handles.text9,'string',LOax); set(handles.text10,'string',x1(i)); elseset(handles.text9,'string',LOin); set(handles.text10,'string',x1(j)); end[hmax,i]=max(h); %寻找最大弯矩[hmin,j]=min(h); %寻找最小弯矩if abs(max(h))>=abs(min(h))set(handles.text24,'string',hmax); set(handles.text25,'string',x1(i)); elseset(handles.text24,'string',hmin); set(handles.text25,'string',x1(j)); end[ymax,i]=max(y); %寻找最大弯矩[ymin,j]=min(y); %寻找最小弯矩if abs(max(y))>=abs(min(y))set(handles.text26,'string',ymax);set(handles.text27,'string',x1(i));elseset(handles.text26,'string',ymin);set(handles.text27,'string',x1(j));endaxes(handles.axes1); %绘制剪力图并显示在axe.1中stem(x1,JL);grid;title('剪力图')axes(handles.axes2); %绘制弯矩图并显示在axe.2中stem(x1,LO);grid;title('弯矩图');axes(handles.axes3);stem(x1,h);grid;title('转角图');axes(handles.axes4);stem(x1,y,'b');grid;title('挠度图');3个子函数%集中力偶对弯矩贡献的子程序:function LO=QLO(n,x1,a,M,LO)for j=1:nif x1(j)==an1=j;endendLO(n1:n)=LO(n1:n)+M;%集中力对剪力和弯矩贡献的子程序:function [JL,LO]=QMP(n,x1,b,P,JL,LO)for j=1:nif x1(j)==b;n1=j;endendJL(n1:n)=JL(n1:n)-P;LO(n1:n)=LO(n1:n)-P*(x1(n1:n)-b);%分布力对剪力和弯矩贡献的子程序:function [JL,LO]=QMQ(n,x1,c,d,q,JL,LO)for j=1:nif x1(j)>cJL(j)=JL(j)-q*(x1(j)-c);LO(j)=LO(j)-0.5*q*(x1(j)-c)^2;endif x1(j)>dJL(j)=JL(j)+q*(x1(j)-d);LO(j)=LO(j)+0.5*q*(x1(j)-d)^2;endend五、应用举例:O简支梁,长1.6m,在0.7m及1.3m处分别有力偶30KN m及集中力46KN,截面为圆形,直径200mm,弹性模量210Gp运行得出结果如下:可得出最大剪力-46000N在0m处,最大弯矩-89800N m在0m处。

哈工大材料力学上机大作业

哈工大材料力学上机大作业

材力作业题目:圆形组合截面几何性质计算姓名:叶怀木我的软件简介:该程序是用VB语言编写的。

由于水平有限,存在一些不足还请老师批评指正。

双击打开程序,在文本框输入已知数据,单击控制按钮进行操作与计算。

应用:输入2个圆形截面的直径和圆心位置坐标。

主界面如下所示。

计算主惯性矩I Z0,I Y0;生成截面构形图;标明形心位置点;形心坐标系下画出主轴。

注意事项:1、本程序仅限于2个圆的情况。

第二个圆的直径不能为0。

2、输入的圆形截面的直径和圆心位置坐标要求是整数。

3、由于本程序对坐标刻度比例尚未完全调试好,要求输入的两个直径之差不宜过大或两个圆心位置距离不宜过远,即两个圆要相对集中,否则可能不能显示完整图形。

计算过程:已知:第i个圆形截面的直径di,圆心坐标Xi,Yi,n=2计算:1、第i 圆面积24i i d A π=2、形心位置坐标101n i i i n i i X A X A===∑∑;101n i i i n ii Y A Y A ===∑∑3、在形心坐标系下画主轴421164nn i z i i i i d I X A π===+∑∑;421164n n i y i i i i d I Y A π===+∑∑;1n zy i i i i I X Y Z ==∑21()2zy z yI arctg I I α-=-主轴:00tan ()Y Y X X α-=⋅-;001()tan Y Y X X α-=-⋅-4、计算主惯性矩02z y z I I I +=+02z yy I I I +=-。

哈工大材料力学大作业--matlab编程

哈工大材料力学大作业--matlab编程

H a r b i n I n s t i t u t e o f T e c h n o l o g y材料力学上机作业课程名称:材料力学设计题目:应力状态分析院系:机电学院班级:分析者:学号:指导教师:***设计时间:2013年6月18日哈尔滨工业大学材料力学上机课设计说明书一, 设计题目题目7 应力状态分析 输入:1. 平面应力状态输入:x y xy σστ(,,);某截面方位角α2. 空间应力状态输入:,x y z xy yz zx σσστττ(,,,,)输出: 1. 输出主应力123σσσ(,,)2. 最大切应力(13max 132σσττ-==)3.如为平面应力状态则需要输出方位角α斜截面上的应力ααστ、及主方向角*σα4. 画出应力圆示意图二, 程序计算设计过程1. 平面应力状态分析对于任意平面应力状态,有max min σσ=2x y σσ+±主应力为:1max 23min ,0,σσσσσ===并且由 2tan 2xyx yστασσ=-可求得主应力方向角13σσαα、。

对于任意一个方位角α,有:=cos 2sin 222sin 2cos 22x yx yxy x yxy αασσσσσατασστατα++++-=-+从而,输入任意角α,即可求得该截面的应力状态ααστ、并且ααστ、都是关于α的函数,上式即为应力圆的参数方程,参数为α。

将α从0到pi 取一系列的值,则可以求出一系列的ααστ、,在坐标系中找到对应点,连接即可作出应力圆。

2. 三向应力状态分析解特征方程 321230I I I σσσ-+-=即可求出主应力123σσσ、、 其中:123||||||||x y z xyx y zy z xz xy y yz z zx x x yx zx xyy zy xzyz z I I I σσσστστσττστστσστττστττσ=-+⎛⎫⎛⎫⎛⎫=++⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎛⎫⎪= ⎪ ⎪⎝⎭再由 13max 132σσττ-== 可求得最大切应力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

H a r b i n I n s t i t u t e o f T e c h n o l o g y材料力学电算大作业课程名称:材料力学院系:XX学院班级:作者:学号:指导教师:完成时间:2012.6.25哈尔滨工业大学圆截面杆件在扭转变形下的强度及刚度计算一.使用说明及主要功能在已编成的VB窗口下,首先对截面形状进行选择,确定是实心圆、空心圆环还是薄壁圆筒。

第二步,进行材料常数与载荷的输入。

第三步,如果截面形状选择的是实心圆,则输入实心圆直径,如果截面形状选择的是空心圆环,则输入外圆直径与内园直径,如果选择的是薄壁圆筒,则输入圆筒直径和厚度。

以上数据输入完成后,则可点击确定键,生成结构构型图和扭矩图,得到最大切应力,通过计算与比较,得出校核结果。

操作界面如下图:二.程序源代码圆截面杆件在扭转变形下的强度及刚度计算编译代码:Private Sub Command1_Click()Dim Text1, Text2, Text3, Text4, Text5, Text6, Text7, Text8, Text9, Text10, Text11 As Double Dim wt1, wt2, wt3, Ip1, Ip2, Ip3, q1, q2, q3, J1, J2, J3, G As DoublePicture1.Scale (-10, 30)-(100, -30)Picture2.Scale (-10, 30)-(100, -30)Picture1.Line (0, 20)-(0, -20)Picture1.Line (0, 3)-(Text1, -3), , BPicture2.Line (0, 0)-(0, Text5 * 10), , BFillStyle = 3G = Text2 / 2 / (1 + Text3)If Frame2.Visible = ture Thenwt1 = Text7 ^ 3 * 3.1416 / 16Ip1 = 3.1416 * Text7 ^ 4 / 32q1 = Text5 / wt1J1 = Text5 * Text1 / G / Ip1Text12.Text = q1If q1 <= Text4 ThenLabel19.Caption = "安全"ElseLabel19.Caption = "不安全"End IfEnd IfIf Frame3.Visible = ture Thenwt2 = Text8 ^ 3 * 3.1416 / 16 - Text9 ^ 4 * 3.1416 / 16 / Text8Ip2 = 3.1416 * Text8 ^ 4 / 32 - 3.1416 * Text9 ^ 4 / 32q2 = Text5 / wt2J2 = Text5 * Text1 / G / Ip2Text12.Text = q2If q2 <= Text4 ThenLabel19.Caption = "安全"ElseLabel19.Caption = "不安全"End IfEnd IfIf Frame4.Visible = ture Thenwt3 = 2 * 3.1416 * Text11 * (Text10 - Text11 / 2) ^ 2Ip3 = 3.1416 * (Text10 - Text11 / 2) ^ 4q3 = Text5 / wt3J3 = Text5 * Text1 / G / Ip3Text12.Text = q3If q3 <= Text4 ThenLabel19.Caption = "安全"ElseLabel19.Caption = "不安全"End IfEnd IfEnd SubPrivate Sub Command2_Click()Picture1.ClsPicture2.ClsText1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text11.Text = ""Text12.Text = ""End SubPrivate Sub Command3_Click()Dim wt1, Ip1, q1, J1, G As DoublePicture1.Scale (-10, 30)-(100, -30)Picture2.Scale (-10, 30)-(100, -30)Picture1.Line (0, 20)-(0, -20)Picture1.Line (0, 1.5)-(Text1, -1.5), , BPicture2.Line (0, 0)-(Text6, Text5 / Abs(Text5) * 10), , BF Picture1.Line (Text6, 0)-(Text6, Text5 / Abs(Text5) * 10)Picture2.Line (0, 0)-(100, 0)FillStyle = 3G = Text2 / 2 / (1 + Text3)wt1 = Text7 ^ 3 * 3.1416 / 16Ip1 = 3.1416 * Text7 ^ 4 / 32q1 = Text5 / wt1J3 = Text5 * Text1 / G / Ip1Text12.Text = q1If q1 <= Text4 ThenLabel19.Caption = "安全"ElseLabel19.Caption = "不安全"End IfEnd SubPrivate Sub Command5_Click()Dim wt3, Ip3, q3, J3, G As DoublePicture1.Scale (-10, 30)-(100, -30)Picture2.Scale (-10, 30)-(100, -30)Picture1.Line (0, 20)-(0, -20)Picture1.Line (0, 1.5)-(Text1, -1.5), , BPicture2.Line (0, 0)-(Text6, Text5 / Abs(Text5) * 10), , BF Picture2.Line (0, 0)-(100, 0)Picture1.Line (Text6, 0)-(Text6, Text5 / Abs(Text5) * 10)FillStyle = 3G = Text2 / 2 / (1 + Text3)wt3 = 2 * 3.1416 * Text11 * (Text10 - Text11 / 2) ^ 2 Ip3 = 3.1416 * (Text10 - Text11 / 2) ^ 4q3 = Text5 / wt3J3 = Text5 * Text1 / G / Ip3Text12.Text = q3If q3 <= Text4 ThenLabel19.Caption = "安全"ElseLabel19.Caption = "不安全"End IfEnd SubPrivate Sub Command4_Click()Dim wt2, Ip2, q2, J2, G As DoublePicture1.Scale (-10, 30)-(100, -30)Picture2.Scale (-10, 30)-(100, -30)Picture1.Line (0, 20)-(0, -20)Picture1.Line (0, 1.5)-(Text1, -1.5), , BPicture2.Line (0, 0)-(Text6, Text5 / Abs(Text5) * 10), , BF Picture2.Line (0, 0)-(100, 0)Picture1.Line (Text6, 0)-(Text6, Text5 / Abs(Text5) * 10)G = Text2 / 2 / (1 + Text3)wt2 = Text8 ^ 3 * 3.1416 / 16 - Text9 ^ 4 * 3.1416 / 16 / Text8Ip2 = 3.1416 * Text8 ^ 4 / 32 - 3.1416 * Text9 ^ 4 / 32q2 = Text5 / wt2J2 = Text5 * Text1 / G / Ip2Text12.Text = q2If q2 <= Text4 ThenLabel19.Caption = "安全"ElseLabel19.Caption = "不安全"End IfEnd SubPrivate Sub Option1_Click()Frame2.Visible = TrueFrame3.Visible = FalseFrame4.Visible = FalseEnd SubPrivate Sub Option2_Click()Frame2.Visible = FalseFrame3.Visible = TrueFrame4.Visible = FalseEnd SubPrivate Sub Option3_Click()Frame2.Visible = FalseFrame3.Visible = FalseFrame4.Visible = TrueEnd Sub三.程序实际应用举例:选择截面形状为实心圆,输入杆件长度20dm,材料常数输入E=200000MPa,μ=0.25,τ=20MPa,载荷大小3000N*M,载荷位置为20dm.实心圆的直径为10mm。

点击确定,结果如下。

程序计算结果与笔算吻合,故证明该程序的可行性良好!。

相关文档
最新文档