哈工大材料力学上机实验报告
哈工大材力上机报告 应力状态分析

材料力学上机报告——应力状态分析班号:学号:姓名:哈尔滨工业大学MATLAB源代码clear all;flag=input('计算双向应力请输入2 计算三向应力请输入3\n ');if flag==2sx=input('请输入x向正应力=');sy=input('请输入y向正应力=');txy=input('请输入xy平面切应力=');a=linspace(0,pi,37);sa=(sx+sy)/2;sd=(sx-sy)/2;sigma=sa+sd*cos(2*a)+txy*sin(2*a);tau=-sd*sin(2*a)+txy*cos(2*a);plot(sigma,tau,'b-'),gridaxis equal;v=axis;line([v(1),v(2)],[0,0]);line([0,0],[v(3),v(4)])hold,plot(sa,0,'x')smax=max(sigma);smin=min(sigma);tmax=max(tau);asigma=((atan((2*txy)/(sx-sy)))/2)/pi*180;fprintf('σmax=%8.5fMpa\n',smax);fprintf('σmin=%8.5fMpa\n',smin);fprintf('τmax=%8.5fMpa\n',tmax);fprintf('α0=%8.5f度和%8.5f度\n',asigma,asigma+90);a=input('请输入方位角α/°=');a=a*pi/180;sigma=sa+sd*cos(2*a)+txy*sin(2*a);tau=sd*sin(2*a)-txy*cos(2*a);plot(sigma,tau,'or')fprintf('σ=%8.5fMpa\n',sigma);fprintf('τ=%8.5fMpa\n',tau);endif flag==3del1=5;sx=input('请输入x向正应力:');sy=input('请输入y向正应力:');sz=input('请输入z向正应力:');txy=input('请输入xy平面切应力:');tyz=input('请输入yz平面切应力:');tzx=input('请输入zx平面切应力:');I1=sx+sy+sz;tmp1=[sx,txytxy,sy];tmp2=[sy,tyztyz,sz];tmp3=[sz,tzxtzx,sx];I2=det(tmp1)+det(tmp2)+det(tmp3);tmp4=[sx,txy,tzxtxy,sy,tyztzx,tyz,sz];I3=det(tmp4);P=[1,-I1,I2,-I3];X=roots(P); X=X';ansf=sort(X,'descend');qiemax=(ansf(1)-ansf(3))/2;a12=(ansf(1)+ansf(2))/2;a13=(ansf(1)+ansf(3))/2;a23=(ansf(2)+ansf(3))/2;r12=(ansf(1)-ansf(2))/2;r13=(ansf(1)-ansf(3))/2;r23=(ansf(2)-ansf(3))/2;if abs(r12)<0.01 r12=0; end;if abs(r13)<0.01 r13=0; end;if abs(r23)<0.01 r23=0; end;tt=0:0.01:2*pi;plot(a12+r12*sin(tt),r12*cos(tt),'linewidth',1); hold on; plot(a13+r13*sin(tt),r13*cos(tt),'linewidth',1);plot(a23+r23*sin(tt),r23*cos(tt),'linewidth',1);title('三向状态应力圆视图');minx=min(-del1,a23-r23-del1);maxx=max(del1,a12+r12+del1);miny=min(-del1,-qiemax-del1);maxy=max(del1,qiemax+del1);axis([minx,maxx,miny,maxy]);plot([0 0],[miny maxy],'k',[minx maxx],[0 0],'k','linewidth',1);ax=[maxx,maxx-2,maxx-2;0,1,-1];fill(ax(1,:),ax(2,:),'k');ay=[0,1,-1;maxy,maxy-2,maxy-2];fill(ay(1,:),ay(2,:),'k');text(-1.5,-1.5,'O','Fontsize',15);text(maxx-2,-2,'{\sigma}','Fontsize',12);text(-5,maxy-5,'{\tau}','Fontsize',12);fprintf('\n'); fprintf('\n');fprintf('第一主应力:%6.2fMpa\n',ansf(1));fprintf('第二主应力:%6.2fMpa\n',ansf(2));fprintf('第三主应力:%6.2fMpa\n',ansf(3));fprintf('最大切应力:%6.2fMPa\n',qiemax);axis equal;end程序功能展示一、课本例题2-3计算双向应力请输入2 计算三向应力请输入32请输入x向正应力=40请输入y向正应力=-20请输入xy平面切应力=40Current plot heldσmax=59.92541Mpaσmin=-39.92541Mpaτmax=49.92541Mpaα0=26.56505度和116.56505度请输入方位角α/°=30σ=59.64102Mpaτ= 5.98076Mpa二、课本习题2-13计算双向应力请输入2 计算三向应力请输入33请输入x向正应力:60请输入y向正应力:20请输入z向正应力:20请输入xy平面切应力:-40 请输入yz平面切应力:0 请输入zx平面切应力:0第一主应力: 84.72Mpa 第二主应力: 20.00Mpa 第三主应力: -4.72Mpa 最大切应力: 44.72MPa。
哈工大材料力学上机大作业(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文件。
哈工大材料力学上机实验报告

材料力学I上机实验设计报告院系:机电学院班级: 1308***姓名:***学号: 11308*****指导教师:张桂莲时间:2015年6月一、问题描述1、应力状态分析对于空间或者是平面应力状态的相关计算,如果采用人工计算的方式比较繁琐而且容易出错,对于这种简单的重复计算,编制相应的程序则可以大大提高计算准确度和人工计算强度。
对于平面应力状态,输入量应为(,,x y xy σστ),以及某截面的方位角α,其输出数据应为该单元体所受主应力(123,,σσσ),所受最大剪应力(13max 132σσττ-==),以及方位角为α的斜截面上的应力(,ααστ)以及主方向角σα,同时还要画出其应力圆示意图,以直观的显示其应力状态。
对于空间应力状态,输入量则应该为各应力(,,,,,x y z xy yz xz σσστττ),其输出数据应该为该单元体所受主应力(123,,σσσ),所受最大剪应力(13max 132σσττ-==),同时还要画出其应力圆示意图,以直观的显示其应力状态。
这样,应力状态分析的基本任务就可以完成。
2、常用截面图形几何性质的分析在生活中,有各种各样的几何形状,但是对于工程实际中经常用到的构件,其截面的几何形状则非常有限。
对于不同的截面,其形心位置、对于形心轴的惯性矩也就有所不同,这样在进行如弯曲、扭转等的应力分析时就会到来不便,因此编制相应的程序来计算相关截面的几何性质也就具有了实际应用价值和可行性。
在这部分程序中,截面几何形状分为三角形、矩形、椭圆形、梯形、圆形、扇形等多种形式,对于不同的截面形状,输入量也就不同。
例如,对于扇形应输入直径和圆心角(,d α);对于梯形则应输入上底、下底和高(,,a b h );对于椭圆形,则要输入长轴长和短轴长(,a b )等等,在此不一一列举,具体输入数据请参看程序运行。
不过对于不同的截面,其输出的量都是相同的,即截面形心的位置、面积、对于形心轴的惯性矩(,,,,C C C C y z y z S I I ),这些输出量就是这些截面的基本几何性质参数,有了这些参数之后则可以对其进行进一步的计算和接下来的分析等问题。
【原创】哈工大材料力学上机——应力状态分析

Harbin Institute of Technology材料力学上机大作业课程名称:材料力学题目:应力状态分析院系:机电学院班级:姓名:学号:指导教师:设计时间: 20130621哈尔滨工业大学一、题目要求:应力状态分析输入:1.平面应力状态输入:(xy y x τσσ、、);某截面方位角α2.空间应力状态输入:(zx yz xy z y x τττσσσ、、、、、)输出:1.输出主应力(321σσσ、、)。
2.最大剪应力(23113max σσττ-==)。
3.如为平面应力状态则需输出方位角α斜截面上的应力αατσ、及主方位角*σα。
4.画出应力圆示意图。
算法:1.二向应力状态给定xy y x τσσ、、,某截面方位角α,由公式ατασστατασσσσσ2cos 2sin 22sin 2cos 22'''xy y x y x xy y x yx x +--=+-++=即可求得方位角α斜截面上的应力αατσ、, 再由公式y x xyσστασ-=22tan ,推出2/)2arctan(y x xy σστασ-=,于是求出主方位角σα的两个值。
最后由公式22min max )2(2xy y x y x τσσσσσσ+-±+=⎭⎬⎫得到min max ,σσ,并将0,min max 与σσ比较大小,最后得到321,,σσσ 再由公式23113max σσττ-==计算出max τ程序:由matlAB 程序GUI 功能实现可视化窗口,使界面更加友好。
已知正交界面的正应力和剪应力,求其应力状态,包括主应力大小、最大剪切应力、以及具体界面位置应力和剪切力。
第一个按钮用来绘制莫尔圆;第二个按钮用来计算具体界面位置应力和剪切力。
function varargout = gui_moore_13_4(varargin)% GUI_MOORE_13_4 M-file for gui_moore_13_4.fig% GUI_MOORE_13_4, by itself, creates a new GUI_MOORE_13_4 or raises the existing% singleton*.%% H = GUI_MOORE_13_4 returns the handle to a new GUI_MOORE_13_4 or the handle to% the existing singleton*.%% GUI_MOORE_13_4('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in GUI_MOORE_13_4.M with the given input arguments.%% GUI_MOORE_13_4('Property','Value',...) creates a newGUI_MOORE_13_4 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before gui_moore_13_4_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to gui_moore_13_4_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help gui_moore_13_4% Last Modified by GUIDE v2.5 07-Sep-2007 18:01:33% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @gui_moore_13_4_OpeningFcn, ...'gui_OutputFcn', @gui_moore_13_4_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before gui_moore_13_4 is made visible.function gui_moore_13_4_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% varargin command line arguments to gui_moore_13_4 (see VARARGIN) % Choose default command line output for gui_moore_13_4set(handles.sx_edit,'String', 30);set(handles.sy_edit,'String', 0);set(handles.txy_edit,'String', 8);set(handles.rad_edit,'String', 1.0472); %pi/3handles.output = hObject;handles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes gui_moore_13_4 wait for user response (see UIRESUME) % uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = gui_moore_13_4_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;function txy_edit_Callback(hObject, eventdata, handles)% hObject handle to txy_edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of txy_edit as text% str2double(get(hObject,'String')) returns contents of txy_edit as a double% --- Executes during object creation, after setting all properties. function txy_edit_CreateFcn(hObject, eventdata, handles)% hObject handle to txy_edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction sy_edit_Callback(hObject, eventdata, handles)% hObject handle to sy_edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of sy_edit as text% str2double(get(hObject,'String')) returns contents of sy_edit as a double% --- Executes during object creation, after setting all properties. function sy_edit_CreateFcn(hObject, eventdata, handles)% hObject handle to sy_edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction sx_edit_Callback(hObject, eventdata, handles)% hObject handle to sx_edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of sx_edit as text% str2double(get(hObject,'String')) returns contents of sx_edit as a double% --- Executes during object creation, after setting all properties. function sx_edit_CreateFcn(hObject, eventdata, handles)% hObject handle to sx_edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in moore_pushbutton.function moore_pushbutton_Callback(hObject, eventdata, handles)% hObject handle to moore_pushbutton (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)。
材料力学实验报告

材料力学实验报告引言:材料力学是研究物质在外力作用下的变形和破坏行为的科学。
在工程领域,材料力学实验是非常重要的,它能提供关于材料性能的定量数据,用于设计和优化结构。
本篇实验报告将介绍一项材料力学实验,包括实验目的、实验装置和实验过程,重点关注实验结果的分析和讨论。
实验目的:本次实验旨在研究一种金属材料的拉伸性能,通过对材料在不同载荷下的应力-应变关系曲线的测定,获得材料的力学性能参数,如屈服强度、抗拉强度和延伸率等。
同时,通过断口分析,了解材料的破坏行为和断裂机制。
实验装置:本次实验采用的材料力学实验装置包括拉伸试验机、计算机数据采集系统和金属试样。
拉伸试验机主要包括上夹具和下夹具,通过电机驱动实现上下夹具之间的拉伸和压缩运动。
计算机数据采集系统用于实时记录试验过程中的应变和载荷数据。
金属试样采用标准的矩形横截面形状,制备精细,确保试样的几何尺寸以及表面质量。
实验过程:1. 调整试验机,确保试样正确安装在上下夹具之间,并进行预应力调校。
2. 设置拉伸速率和采样频率,开始实验。
3. 开始加载并进行拉伸实验,直至试样断裂。
4. 实时记录应变和载荷数据,生成应力-应变曲线。
5. 对断口进行分析,观察破坏模式和断裂特征。
实验结果分析:基于实验数据,通过应力-应变曲线的绘制和分析,可以得到材料的力学性能参数。
应力-应变曲线的特点是:一开始,材料的应变随载荷的增加近似线性增加,这是材料的弹性区域。
当应变逐渐超过一定程度时,材料的应变开始迅速增加,即材料进入了屈服区。
进一步增加载荷,材料的应变仍呈线性增加,但增加的速率较之前小,这是材料的塑性区。
除了绘制应力-应变曲线,我们还可以计算出材料的屈服强度、抗拉强度和延伸率等力学性能参数。
屈服强度是指试样开始进入塑性阶段时的应力值,抗拉强度是试样发生破裂时的最大应力值,而延伸率则反映了试样在拉伸过程中的延伸能力。
断口分析是评价材料破坏行为和断裂机制的重要手段。
通过观察断口的形貌特征和变异,可以判断材料的韧性和脆性。
哈尔滨工程大学力学实验报告

Harbin Engineering University材料力学实验报告实验题目:姓名:班级:学号:设备号:实验时间:年月日时分—时分力学实验教学中心材料力学实验上课要求一、实验项目分两部分:第一部分为“必做实验”,是必选的实验;第二部分为“选做实验”,要在提供的实验题目中选做要求的实验个数。
所有实验要在开课周内完成,逾期不补。
二、平时要多留意网上通知。
三、必须在选定的时间前10分钟到实验室进行实验,不许迟到。
如果不按时到课,按缺课处理。
四、进入实验室时,必须首先用学生卡进行刷卡签到。
并带计算器和直尺。
五、课前要认真预习,写好预习报告,注意要把上课时间和设备号写在实验报告的封面上,无预习报告或预习不合格的不能做实验。
六、实验报告要字迹工整,图表规范,书面整洁,在做完实验的一周内,把实验报告按班级统一交给上课教师,逾期按没交处理。
七、进入实验室必须遵守实验室的各项规章制度,不得大声喧哗,保持室内卫生,正确使用仪器设备,注意安全。
八、实验中要详实记录实验数据,不得抄袭和携带它组实验数据。
九、实验结束后应将所用的仪器设备整理好,摆放整齐。
预习报告须经上课老师检查签字后方可离开实验室。
预习报告一、实验题目:二、实验目的:三、实验仪器:四、实验原理(原理图、公式推导和文字说明):五、实验内容及主要步骤:六、实验数据记录表格(自己设计):教师签章月日实验报告一、实验题目:二、实验目的:三、实验仪器:四、实验原理(原理图、公式推导和文字说明):五、实验数据处理(整理表格、计算过程、计算结果):六、总结及应用(结论、误差分析、讨论问题、本实验的应用):。
哈工大材力上机实验报告

材料力学电算实验压杆的临界力计算院系:机电工程学院班级:设计者:学号:指导教师:张桂莲软件要求:设计时间:一.概述:本程序使用Microsoft Visual Basic编写,可以对不同材料、不同约束类型、不同截面类型的压杆进行临界力的计算。
杆件的参数可以输入,得出结果之后也可以清零。
二、问题分析及相关公式:1、压杆稳定当短粗杆受压时(图1),在压力F由小逐渐增大的过程中,杆件始终保持原有的直线平衡形式,直到压力F达到屈服强度载荷F s(或抗压强度载荷F b),杆件发生强度破坏时为止。
但是,如果用相同的材料,做一根与图1a所示的同样粗细而比较长的杆件(图1b),当压力F比较小时,这一较长的杆件尚能保持直线的平衡形式,而当压力F逐渐增大至某—数值F1时,杆件将突然变弯,不再保持原有的直线平衡形式,因而丧失了承载能力。
我们把受压直杆突然变弯的现象,称为丧失稳定或失稳。
此时,F1可能远小于F s (或F b)。
可见,细长杆在尚未产生强度破坏时,就因失稳而破坏。
图1在研究压杆稳定时,我们用一微小横向干扰力使处于直线平衡状态的压杆偏离原有的位置,如图1所示。
当轴向压力F由小变大的过程中,可以观察到:1)当压力值F1较小时,给其一横向干扰力,杆件偏离原来的平衡位置。
若去掉横向干扰力后,压杆将在直线平衡位置左右摆动,最终将恢复到原来的直线平衡位置。
2)当压力值F2超过其一限度F cr时,平衡状态的性质发生了质变。
这时,只要有一轻微的横向干扰,压杆就会继续弯曲,不再恢复原状,。
3)界于前二者之间,存在着一种临界状态。
当压力值正好等于F cr时,一旦去掉横向干扰力,压杆将在微弯状态下达到新的平衡,既不恢复原状,也不再继续弯曲,。
临界状态是杆件从稳定平衡向不稳定平衡转化的极限状态。
压杆处于临界状态时的轴向压力称为临界力或临界载荷,用F cr表示。
2、两端铰支细长压杆的临界力图2为一两端为球形铰支的细长压杆,其临界力公式为:图222lEIF cr π=(1)式(1)又称为欧拉公式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
材料力学I上机实验设计报告院系:机电学院班级: 1308***姓名: ***学号: 11308*****指导教师:张桂莲时间: 2015年6月一、问题描述1、应力状态分析对于空间或者是平面应力状态的相关计算,如果采用人工计算的方式比较繁琐而且容易出错,对于这种简单的重复计算,编制相应的程序则可以大大提高计算准确度和人工计算强度。
对于平面应力状态,输入量应为(,,x y xy σστ),以及某截面的方位角α,其输出数据应为该单元体所受主应力(123,,σσσ),所受最大剪应力(13max 132σσττ-==),以及方位角为α的斜截面上的应力(,ααστ)以及主方向角σα,同时还要画出其应力圆示意图,以直观的显示其应力状态。
对于空间应力状态,输入量则应该为各应力(,,,,,x y z xy yz xz σσστττ),其输出数据应该为该单元体所受主应力(123,,σσσ),所受最大剪应力(13max 132σσττ-==),同时还要画出其应力圆示意图,以直观的显示其应力状态。
这样,应力状态分析的基本任务就可以完成。
2、常用截面图形几何性质的分析在生活中,有各种各样的几何形状,但是对于工程实际中经常用到的构件,其截面的几何形状则非常有限。
对于不同的截面,其形心位置、对于形心轴的惯性矩也就有所不同,这样在进行如弯曲、扭转等的应力分析时就会到来不便,因此编制相应的程序来计算相关截面的几何性质也就具有了实际应用价值和可行性。
在这部分程序中,截面几何形状分为三角形、矩形、椭圆形、梯形、圆形、扇形等多种形式,对于不同的截面形状,输入量也就不同。
例如,对于扇形应输入直径和圆心角(,d α);对于梯形则应输入上底、下底和高(,,a b h );对于椭圆形,则要输入长轴长和短轴长(,a b )等等,在此不一一列举,具体输入数据请参看程序运行。
不过对于不同的截面,其输出的量都是相同的,即截面形心的位置、面积、对于形心轴的惯性矩(,,,,C C C C y z y z S I I ),这些输出量就是这些截面的基本几何性质参数,有了这些参数之后则可以对其进行进一步的计算和接下来的分析等问题。
这样,对于工程实际中常见的几种截面形状的几何性质的分析任务就可以用编写程序的方式来完成。
以上两项内容即为本次上机实验程序的基本构成,两种功能相互配合、协调运行,以完成程序的稳定运行和人机交互,同时也可以解决工程实际中的一些比较简单的问题和任务,程序编制的任务就可以完成。
二、程序流程本程序分为三个窗体:主界面、应力状态分析界面、截面几何性质分析界面,下面将对各个界面进行程序流程的分析:1、主界面:开始显示基本信息隐藏计算窗口选择计算任务显示相应的窗口继续运行结束程序运行截图:选择相应的计算程序,然后点击确定即可进入对应的计算程序窗口之中,如果点击退出则退出程序,菜单栏也包含有一些辅助的功能和相关的基本信息。
2、应力状态分析窗口开始定义变量及所用子函数选择应力状态,显示相应的输入提示图输入数据,赋值计算相关的输出量,并将其显示绘制应力圆继续下一步计算结束程序运行截图:点击某应力状态后,相应的输入框可用,输入数据之后,点击确定,输出计算结果,点击绘制应力圆,绘制对应的应力圆及坐标。
点击退出,退出程序;点击返回,返回主界面;点击清除,清除所有数据。
3、截面几何性质分析窗口开始定义变量及所用子函数选择几何形状,显示相应的输入提示图输入数据,赋值计算相关的输出量,并将其显示绘制截面构型图继续下一步计算结束程序运行截图:选择相应的形状类型,点击确定,显示提示图,输入框可用;输入数据,点击计算,输出计算结果和截面构型图;点击清除,清除所有数据和图形显示;点击返回,返回主界面;点击退出,结束程序运行。
按照此流程编制和应用程序,即可实现相应的设计任务。
三、具体某个问题和涉及到的计算公式以及相关理论本程序涉及多条公式及相关理论,现分部分阐述:1、平面应力状态分析平面应力状态任一斜截面上既有正应力又有切应力,则其公式为:平面应力状态主应力大小及方向公式为:(1)主应力计算公式(2)主平面方位计算公式(3)最大切应力:最大切应力发生在与主平面夹45度角的平面方位。
其公式为:应力圆:222222xy x y xyαασσσσσττ+-⎛⎫⎛⎫-+=+ ⎪ ⎪⎝⎭⎝⎭圆心:2x ya σσ+=半径:222x y xyR σστ-⎛⎫=+ ⎪⎝⎭根据数学建模结果,编制相应的程序,即可计算出结果。
2、空间应力状态分析三向应力计算公式: 特征方程:系数分别为:1x y zI σσσ=++2x yx y zy z xz xy y yz z zx xI στστσττστστσ=++3x yx zxxy y zyxz yz zI στττστττσ=解出此特征方程即可求出单元体的三个主应力,求解该方程可以采用盛金公式,内容如下:一元三次方程aX 3+bX 2+cX +d=0,(a ,b ,c ,d ∈R ,且a≠0)。
重根判别式:A=b 2-3ac ; B=bc -9ad ; C=c 2-3bd ,总判别式:Δ=B 2-4AC 。
当A=B=0时,盛金公式①:X 1=X 2=X 3=-b/(3a)=-c/b=-3d/c 。
当Δ=B 2-4AC>0时,盛金公式②:X 1=(-b -(Y 11/3+Y 21/3))/(3a);X 2,3=(-2b +Y 11/3+Y 21/3±31/2 (Y 11/3-Y 21/3)i)/(6a); 其中Y 1,2=Ab +3a (-B±(B 2-4AC)1/2)/2,i 2=-1。
当Δ=B 2-4AC=0时,盛金公式③:X 1=-b/a +K ;X 2=X 3=-K/2,其中K=B/A ,(A≠0)。
当Δ=B 2-4AC<0时,盛金公式④:X 1= (-b -2A 1/2cos(θ/3) )/(3a);X 2,3= (-b +A 1/2(cos(θ/3)±31/2sin(θ/3)))/(3a);其中θ=arccosT ,T= (2Ab -3aB)/(2A 3/2),(A>0,-1<T<1)。
盛金判别法①:当A=B=0时,方程有一个三重实根;②:当Δ=B 2-4AC>0时,方程有一个实根和一对共轭虚根;③:当Δ=B 2-4AC=0时,方程有三个实根,其中有一个两重根; ④:当Δ=B 2-4AC<0时,方程有三个不相等的实根。
据此即可解除一元三次方程,得到单元体的主应力。
然后即可根据主应力做出三向应力状态应力圆:121223231313121223231313222222C C C R R R σσσσσσσσσσσσ+=+=+=-=-=-=据此即可做出应力圆及其坐标系。
3、截面几何性质分析按照此表所提供的公式编制程序,即可计算出相应的截面几何性质。
由此,该程序的数学建模过程完成,可以照此编制出相应的程序。
四、程序源代码代码分为三部分:主界面、应力分析窗口、截面几何性质分析窗口:1、主界面'1308***班,11308***10,***'2015年6月21日Private Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()End SubPrivate Sub jiaoshi_Click()MsgBox "张桂莲"End SubPrivate Sub shijian_Click()MsgBox "2015年6月2日"End SubPrivate Sub tuichu_Click()EndEnd SubPrivate Sub zuozhe_Click()MsgBox "11308***10—***"End SubPrivate Sub Command1_Click()If = True ThenElseIf = True ThenElseMsgBox "请选择项目"End IfEnd Sub2、应力状态分析窗口Option ExplicitConst pi =Dim σx, σy, σz, σ1, σ2, σ3, τxy, τyz, τxz, τmax, σα, τα, α, ασ As Double Dim temp As DoubleDim I1, I2, I3 As DoubleDim R, C, C12, C23, C31, R12, R23, R31 As DoubleDim j, i As DoublePrivate Sub Command3_Click()EndEnd SubPrivate Sub Command4_Click()End SubPrivate Sub Command2_Click()= 0= 0= 0= 0= 0= 0= 0= 0= 0= 0= 0= 0= 0= 0End SubPrivate Sub Command5_Click()Set = Nothingσx = Valσy = Valσz = Valτxy = Valτyz = Valτxz = Valα = Val / 180 * piIf = True ThenR = Sqr(((σx - σy) / 2) ^ 2 + τxy ^ 2)C = (σx + σy) / 2(C - 2 * R - 1, 2 * R + 1)-(C + 2 * R + 1, -2 * R - 1)= 0= 1(C - 2 * R - 2, 0)-(C + 2 * R + 2, 0)(0, 2 * R + 2)-(0, -2 * R - 2)= 2(C, 0), R(σx, -τxy)-(σy, τxy)= 5(σx, -τxy), vbRed(σy, τxy), vbRed(C + R, 0), vbRed(C - R, 0), vbRed= C - R: = 0"σmin"= C + R: = 0"σmax"= σy: = τxy"Y(σy,τxy)"= σx: = -τxy"X(σx,-τxy)"= 0: = 0"O"= 2= 1For i = 0 To 200 Step 1(-20 * R + i * * R, -2 * R - 2)-(-20 * R + i * * R, 2 * R + 2)(C - 2 * R - 2, -20 * R + i * * R)-(C + 2 * R + 2, -20 * R + i * * R)Next iElseIf = True ThenC12 = (σ1 + σ2) / 2C23 = (σ2 + σ3) / 2C31 = (σ3 + σ1) / 2R12 = (σ1 - σ2) / 2R23 = (σ2 - σ3) / 2R31 = (σ1 - σ3) / 2(C31 - 2 * R31 - 1, 2 * R31 + 1)-(C31 + 2 * R31 + 1, -2 * R31 - 1)= 0= 1(C31 - 2 * R31 - 2, 0)-(C31 + 2 * R31 + 2, 0)(0, 2 * R31 + 2)-(0, -2 * R31 - 2)= 2For i = 0 To 200 Step 1(-20 * R31 + i * * R31, -2 * R31 - 2)-(-20 * R31 + i * * R31, 2 * R31 + 2)(C31 - 2 * R31 - 2, -20 * R31 + i * * R31)-(C31 + 2 * R31 + 2, -20 * R31 + i * * R31)Next i= 2(C12, 0), R12(C23, 0), R23(C31, 0), R31= C12: = 0"C12"= C23: = 0"C23"= C31: = 0"C31"= σ1: = 0"σ1"= σ2: = 0"σ2"= σ3: = 0"σ3"= 0: = 0"O"= 4(C12, 0)(C23, 0)(C31, 0)= 5(σ1, 0), vbRed(σ2, 0), vbRed(σ3, 0), vbRedElseMsgBox "请选择应力状态"End IfEnd SubPrivate Sub Command6_Click()= NothingEnd SubPrivate Sub Form_Load()= False= FalseEnd SubPrivate Sub Option1_Click()= True= False= True= True= False= True= False= False= True= True= True= True= True= True= True= False= False= False= False= False= False= True= True= True= True= True= True= True= TrueEnd SubPrivate Sub Option2_Click() = True= False= True= True= True= True= True= True= False= True= True= True= True= False= False= False= True= True= False= False= True= True= True= False= False= False= False= False= FalseEnd SubFunction Arccos(X) As Double '反余弦Arccos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)End FunctionPrivate Sub Command1_Click()If = True Thenσx = Valσy = Valτxy = Valα = Val / 180 * piσα = (σx + σy) / 2 + (σx - σy) / 2 * Cos(2 * α) + τxy * Sin(2 * α)τα = -(σx - σy) / 2 * Sin(2 * α) + τxy * Cos(2 * α)If σx <> σy Thenασ = (Atn(2 * τxy / (σx - σy)) / 2) / pi * 180Elseασ = 90End Ifσ1 = (σx + σy) / 2 + Sqr(((σx - σy) / 2) ^ 2 + τxy ^ 2)σ2 = (σx + σy) / 2 - Sqr(((σx - σy) / 2) ^ 2 + τxy ^ 2)σ3 = 0If σ2 > σ1 Thentemp = σ1σ1 = σ2σ2 = tempEnd IfIf σ3 > σ1 Thentemp = σ1σ1 = σ3σ3 = tempEnd IfIf σ3 > σ2 Thentemp = σ2σ2 = σ3σ3 = tempEnd Ifτmax = (σ1 - σ3) / 2= σ1= σ2= σ3= τmax= σα= τα= ασElseIf = True Thenσx = Valσy = Valσz = Valτxy = Valτyz = Valτxz = ValI1 = σx + σy + σzI2 = (σx * σy - τxy ^ 2) + (σy * σz - τyz ^ 2) + (σz * σx - τxz ^ 2)I3 = σx * σy * σz + τxy * τyz * τxz + τxy * τyz * τxz - σx * τyz * τyz - σz * τxy * τxy - σy * τxz * τxzDim aa, bb, cc, dd As DoubleDim a1, b1, c1, derta As Doubleaa = 1bb = -I1cc = I2dd = -I3a1 = bb ^ 2 - 3 * aa * ccb1 = bb * cc - 9 * aa * ddc1 = cc * cc - 3 * bb * ddderta = b1 * b1 - 4 * a1 * c1If (0 = a1) And (0 = b1) Thenσ1 = -bb / (3 * aa)σ2 = -bb / (3 * aa)σ3 = -bb / (3 * aa)'ElseIf derta > 0 Then'Dim y1, y2 As Double'y1 = a1 * b + 3 * a * (-b1 + Sqr(b1 ^ 2 - 4 * a1 * c1)) / 2'y2 = a1 * b + 3 * a * (-b1 - Sqr(b1 ^ 2 - 4 * a1 * c1)) / 2'σ1 = (-b - (y1 ^ (1 / 3) + y2 ^ (1 / 3))) / (3 * a)'σ2 = (-b + (y1 ^ (1 / 3) + y2 ^ (1 / 3)) / 2 + Sqr(3) / 2 * (y1 ^ (1 / 3) -y2 ^ (1 / 3)) * i) / (3 * a)'σ3 = (-b + (y1 ^ (1 / 3) + y2 ^ (1 / 3)) / 2 - Sqr(3) / 2 * (y1 ^ (1 / 3) - y2 ^ (1 / 3)) * i) / (3 * a)ElseIf (0 = derta) Thenσ1 = -bb / aa + b1 / a1σ2 = -b1 / (a1 * 2)σ3 = -b1 / (a1 * 2)ElseIf (derta < 0) ThenDim θ As Doubleθ = Arccos((2 * a1 * bb - 3 * aa * b1) / (2 * Sqr(a1 * a1 * a1)))σ1 = (-bb - 2 * Sqr(a1) * Cos(θ / 3)) / (3 * aa)σ2 = (-bb + Sqr(a1) * (Cos(θ / 3) + Sqr(3) * Sin(θ / 3))) / (3 * aa)σ3 = (-bb + Sqr(a1) * (Cos(θ / 3) - Sqr(3) * Sin(θ / 3))) / (3 * aa) End IfIf σ2 > σ1 Thentemp = σ1σ1 = σ2σ2 = tempEnd IfIf σ3 > σ1 Thentemp = σ1σ1 = σ3σ3 = tempEnd IfIf σ3 > σ2 Thentemp = σ2σ2 = σ3σ3 = tempEnd Ifτmax = (σ1 - σ3) / 2= σ1= σ2= σ3= τmaxElseMsgBox "请选择应力状态"End IfEnd Sub3、截面几何性质分析窗口Option ExplicitDim a, b, h As DoubleDim d, al As DoubleDim iyc, izc, s, yc, zc As DoubleConst pi = 3.Private Sub Command1_Click() If = "三角形" Then= True= True= False= False= False= False= False= False= False= False= FalseElseIf = "矩形" Then= True= True= False= False= False= False= False= False= False= False= FalseElseIf = "圆形" Then= True= True= False= False= False= False= False= False= False= False= FalseElseIf = "梯形" Then= True= True= False= False= False= False= False= False= False= False= FalseElseIf = "椭圆形" Then= True= True= False= False= False= False= False= False= False= False= FalseElseIf = "扇形" Then= True= True= False= False= False= False= False= False= False= False= FalseElseIf = "组合图形" ThenElseMsgBox "请选择截面形状"End IfEnd SubPrivate Sub Command2_Click()= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"= "0"Set = NothingEnd SubPrivate Sub Command3_Click() End SubPrivate Sub Command4_Click() EndEnd SubPrivate Sub Command5_Click() Set = NothingIf = "三角形" Thenb = Valh = ValIf b <= 0 Or h <= 0 ThenMsgBox "输入错误"Elses = * b * hyc = b / 3zc = h / 3iyc = b * h ^ 3 / 36izc = h * b ^ 3 / 36= yc= zc= iyc= s(-(b + h) / 2, 3 * (b + h) / 2)-(3 * (b + h) / 2, -(b + h) / 2)= 0= 1(-(b + h) / 2, 0)-(3 * (b + h) / 2, 0)(0, -(b + h) / 2)-(0, 3 * (b + h) / 2)= 2(0, 0)-(0, h)(0, h)-(b, 0)(b, 0)-(0, 0)= 5(yc, zc), vbRed= 0: = 0"O"= yc: = zc"C"= yc: = 3 * h / 2"zc"= 3 * b / 2: = zc"yc"= 0: = 3 * (h + b) / 2"z"= 17 * (h + b) / 12: = 0"y"= 1(yc, zc)-(yc, 3 * h / 2)(yc, zc)-(3 * b / 2, zc)End IfElseIf = "矩形" Thenb = Valh = ValIf b <= 0 Or h <= 0 ThenMsgBox "输入错误"Elses = b * hyc = b / 2zc = h / 2iyc = b * h ^ 3 / 12izc = h * b ^ 3 / 12= yc= iyc= iyc= s(-(b + h) / 2, 3 * (b + h) / 2)-(3 * (b + h) / 2, -(b + h) / 2)= 0= 1(-(b + h) / 2, 0)-(3 * (b + h) / 2, 0)(0, -(b + h) / 2)-(0, 3 * (b + h) / 2)= 2(0, 0)-(0, h)(0, h)-(b, h)(b, h)-(b, 0)(b, 0)-(0, 0)= 5(yc, zc), vbRed= 0: = 0"O"= yc: = zc"C"= yc: = 3 * h / 2"zc"= 3 * b / 2: = zc"yc"= 0: = 3 * (h + b) / 2"z"= 17 * (h + b) / 12: = 0"y"= 1(yc, zc)-(yc, 3 * h / 2)(yc, zc)-(3 * b / 2, zc)End IfElseIf = "圆形" Thend = ValIf d <= 0 ThenMsgBox "输入错误"Elses = pi * d ^ 2 / 4yc = 0zc = d / 2iyc = pi * d ^ 4 / 64izc = pi * d ^ 4 / 64= zc= iyc= iyc= s(-d, 3 * d / 2)-(d, -d / 2)= 0= 1(-d, 0)-(d, 0)(0, 3 * d / 2)-(0, -d / 2)= 2(0, d / 2), d / 2= 5(yc, zc), vbRed= 0: = 0"O"= yc: = zc"C"= yc: = 17 * d / 12"zc"= * d: = zc"yc"= 0: = 3 * d / 2"z"= * d: = 0"y"= 1(yc, zc)-(yc, 17 * d / 12)(yc, zc)- * d, zc)End IfElseIf = "梯形" Thena = Valb = Valh = ValIf a <= 0 Or b <= 0 Or h <= 0 ThenMsgBox "输入错误"Elses = (a + b) * h / 2yc = (a ^ 2 + b ^ 2 + a * b) / (3 * (a + b))zc = (b + 2 * a) * h / (3 * (a + b))iyc = h ^ 3 * (b ^ 2 + 4 * a * b - a ^ 2) / (36 * (a + b))= zc= iyc= ""= s(-(b + h) / 2, 3 * (b + h) / 2)-(3 * (b + h) / 2, -(b + h) / 2)= 0= 1(-(b + h) / 2, 0)-(3 * (b + h) / 2, 0)(0, -(b + h) / 2)-(0, 3 * (b + h) / 2)= 2(0, 0)-(0, h)(0, h)-(a, h)(a, h)-(b, 0)(b, 0)-(0, 0)= 5(yc, zc), vbRed= 0: = 0"O"= yc: = zc"C"= yc: = 3 * h / 2"zc"= 3 * b / 2: = zc"yc"= 0: = 3 * (h + b) / 2"z"= 17 * (h + b) / 12: = 0"y"= 1(yc, zc)-(yc, 3 * h / 2)(yc, zc)-(3 * b / 2, zc)End IfElseIf = "椭圆形" Thena = Valb = ValIf a <= 0 Or b <= 0 ThenMsgBox "输入错误"Elses = pi * a * b / 4yc = 0zc = b / 2iyc = pi * a * b ^ 3 / 64= yc= zc= iyc= ""= s(-(b + a) / 2, 3 * (b + a) / 2)-(3 * (b + a) / 2, -(b + a) / 2)= 0= 1(-(b + a) / 2, 0)-(3 * (b + a) / 2, 0)(0, -(b + a) / 2)-(0, 3 * (b + a) / 2)= 2If a >= b Then(0, b / 2), a / 2, , , , b / aElse(0, b / 2), b / 2, , , , b / aEnd If= 5(yc, zc), vbRed= 0: = 0"O"= yc: = zc"C"= yc: = 3 * b / 2"zc"= 3 * a / 2: = zc"yc"= 0: = 3 * (a + b) / 2"z"= 17 * (a + b) / 12: = 0"y"= 1(yc, zc)-(yc, 3 * b / 2)(yc, zc)-(3 * a / 2, zc)End IfElseIf = "扇形" Thend = Valal = ValIf al > pi / 2 Or al <= 0 Or d <= 0 ThenMsgBox "输入错误"Elses = al * d ^ 2 / 4yc = 0zc = d * Sin(al) / 3 / aliyc = d ^ 4 / 64 * (al + Sin(al) * Cos(al) - 16 * Sin(al) * Sin(al) / 9 / al)= yc= zc= iyc= ""= s(-d, 3 * d / 2)-(d, -d / 2)= 0= 1(-d, 0)-(d, 0)(0, 3 * d / 2)-(0, -d / 2)= 2(0, 0), d / 2, , (pi / 2 - al), (pi / 2 + al)(0, 0)-(d / 2 * Sin(al), d / 2 * Cos(al))(0, 0)-(-d / 2 * Sin(al), d / 2 * Cos(al))= 5(yc, zc), vbRed= 0: = 0"O"= yc: = zc"C"= yc: = 17 * d / 12"zc"= * d: = zc"yc"= 0: = 3 * d / 2"z"= * d: = 0"y"= 1(yc, zc)-(yc, 17 * d / 12)(yc, zc)- * d, zc)End IfElseIf = "组合图形" ThenElseMsgBox "请选择截面形状"End IfEnd Sub五、具体问题的计算结果和结果分析(对或者不对)下面对各计算程序进行应用、验证和运行结果的分析:1、平面应力状态分析已知应力状态:σx=,σy=,τxy=,α=°求指定截面的应力,并求出主应力和最大切应力。