77范文网 - 专业文章范例文档资料分享平台

复合材料力学上机编程作业(计算层合板刚度)(2)

来源:网络收集 时间:2019-01-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

附件1:计算所用的程序代码。

PROGRAM COMPOSITE !Coded by James Wilson IMPLICIT NONE

REAL(8)::A(3,3),B(3,3),D(3,3),MC(5),TEMP,ROT(3,3) !A拉伸刚度;B耦合刚度;D弯曲刚度; !MC读入材料常数;ROT旋转矩阵

REAL(8)::TOTAL_TH,HALF_TH !总厚度;半厚度

REAL(8),ALLOCATABLE::Q(:,:,:),AL(:),T(:),Z(:),Z1(:),Z2(:),Z3(:) !Q每层板相应刚度;AL转角;T每层板的厚度;Z坐标量 INTEGER(4)::N,I,J,K,SEQ,L

!____IJK循环变量;N板的层数;SEQ序数

CHARACTER(50)::CHR(8),TEMPC,filename1,filename2 !CHR、TEMPC:character variables

WRITE(*,*)\READ(*,*)filename1

OPEN(8,file=filename1)!Open data file !Read in data

READ(8,*)TEMPC,N

ALLOCATE(Q(3,3,N),AL(N),T(N),Z(N+1),Z1(N),Z2(N),Z3(N)) READ(8,*)CHR(1:8) DO I=1,N

READ(8,*)SEQ,T(I),MC(1:5),AL(I)

Q(:,:,I)=0!Calculate stiffness of each layer for the principal axis TEMP=1./(1-MC(3)*MC(4)) Q(1,1,I)=MC(1)*TEMP Q(2,2,I)=MC(2)*TEMP Q(3,3,I)=MC(5)

Q(1,2,I)=MC(4)*MC(2)*TEMP Q(2,1,I)=Q(1,2,I)

AL(I)=AL(I)*3.1415926535898/180

ROT(1,1)=(cos(AL(I)))**2!Work out Rot Matrix ROT(2,2)=ROT(1,1) ROT(3,3)=cos(2*AL(I)) ROT(2,1)=1-ROT(1,1) ROT(1,2)=ROT(2,1)

ROT(3,1)=0.5*sin(2*AL(I)) ROT(3,2)=-ROT(3,1) ROT(1,3)=-2*ROT(3,1) ROT(2,3)=-2*ROT(3,2)

Q(:,:,I)=MATMUL(MATMUL(ROT,Q(:,:,I)),TRANSPOSE(ROT)) ENDDO

TOTAL_TH=sum(T) HALF_TH=TOTAL_TH/2 Z(1)=-HALF_TH !Work out Z DO I=1,N

Z(I+1)=Z(I)+T(I) ENDDO

!calculate tensor A、B and D DO K=1,N

Z1(K)=(Z(K+1)-Z(K))

Z2(K)=(Z(K+1)-Z(K))*(Z(K+1)+Z(K))/2 Z3(K)=(Z(K+1)**3-Z(K)**3)/3 ENDDO

A=0;B=0;D=0

WRITE(*,*)\

READ(*,*)filename2 OPEN(9,file=filename2)

!Write in stiffness tensor for each single ply DO K=1,N

WRITE(9,100)K

100 FORMAT(\DO I=1,3

WRITE(9,200)Q(I,:,K)

200 FORMAT(ES12.4,6X,ES12.4,6X,ES12.4) ENDDO

WRITE(9,\A=A+Q(:,:,K)*Z1(K) B=B+Q(:,:,K)*Z2(K) D=D+Q(:,:,K)*Z3(K) ENDDO

!Output the actual stiffness of the laminate WRITE(9,\

WRITE(9,*)\WRITE(9,\

WRITE(9,*)\DO I=1,3

WRITE(9,200)A(I,1:3) ENDDO

WRITE(9,\

WRITE(9,*)\DO I=1,3

WRITE(9,200)B(I,1:3) ENDDO

WRITE(9,\

WRITE(9,*)\DO I=1,3

WRITE(9,200)D(I,1:3) ENDDO

!Normalised tensor output WRITE(9,\

WRITE(9,*)\WRITE(9,\

WRITE(9,*)\DO I=1,3

WRITE(9,200)A(I,1:3)/TOTAL_TH ENDDO

WRITE(9,\

WRITE(9,*)\DO I=1,3

WRITE(9,200)A(I,1:3)/TOTAL_TH-12*D(I,1:3)/TOTAL_TH**3 ENDDO

WRITE(9,\

WRITE(9,*)\DO I=1,3

WRITE(9,200)12*D(I,1:3)/TOTAL_TH**3 ENDDO

WRITE(*,*)\successfully,please press any key to end program!\READ(*,*)

END PROGRAM COMPOSITE

附2

杨涛同学的MATLAB(GUI)计算程序。

主要程序:(编了个小界面,程序略长,删掉一些程序自带解释语句,添加了一些对关键语句的解释。)界面是:

第 6 页 共 6 页

作的一个算例如下:

该算例结果与组内同伴James Wilson同学基本一致,其余算例结果也基本一致,仅仅在趋近于零时有略微差异,在此不赘于。 后边附上源代码:

function varargout = composit_plate(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @composit_plate_OpeningFcn, ... 'gui_OutputFcn', @composit_plate_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

function composit_plate_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles);

ha=axes('units','normalized','position',[0 0 1 1]);%嵌入坐标,为嵌入背景图片准备 uistack(ha,'down')%作为背景

II=imread('武汉大学.jpg');%读入图片信息 image(II)

第 7 页 共 7 页

colormap hsv

set(ha,'handlevisibility','off','visible','off')

function varargout = composit_plate_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles) function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit2_Callback(hObject, eventdata, handles) function edit2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit4_Callback(hObject, eventdata, ~)

function edit4_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function pushbutton1_Callback(hObject, eventdata, handles) syms e1e2v21g12ang%本程序采用符号运算 v12=v21*e2/e1;

q=[e1/(1-v12*v21),v21*e2/(1- v12*v21),0 v21*e2/(1-v12*v21),e2/(1-v12*v21),0 0,0,g12];

tran=[ cos(ang)^2, sin(ang)^2, -sin(2*ang) sin(ang)^2, cos(ang)^2, sin(2*ang)

sin(2*ang)/2, -sin(2*ang)/2, cos(2*ang)]; q1=tran*q*tran';%得到Q

n=str2num(get(handles.edit2,'string'));%读入层数 n=floor(n);nn=0; A=0;B=0;D=0;

t=str2num(get(handles.edit3,'string'));%读入每层厚度 t1=zeros(1,n+1);t1(1)=0; for nn=1:n

t1(nn+1)=t1(nn)+t(nn); end

ang1=str2num(get(handles.edit4,'string'));%读入每层角度 const=str2num(get(handles.edit1,'string'));%读入材料系数 t0=sum(t)/2; t1=t1-t0;

e1=const(1);e2=const(2);v21=const(3);g12=const(4); q11=subs(q1); for nn=1:n ang=ang1(nn); nn=nn+1;

A=A+subs(q11*(t1(nn)-t1(nn-1)));

B=B+subs(0.5*q11*(t1(nn)^2-t1(nn-1)^2)); D=D+subs(1/3*q11*(t1(nn)^3-t1(nn-1)^3)); end%累加计算

set(handles.edit5,'string',num2str(A(1,:)));%以下为输出结果 set(handles.edit6,'string',num2str(A(2,:))); set(handles.edit7,'string',num2str(A(3,:))); set(handles.edit8,'string',num2str(B(1,:))); set(handles.edit9,'string',num2str(B(2,:))); set(handles.edit10,'string',num2str(B(3,:))); set(handles.edit11,'string',num2str(D(1,:))); set(handles.edit12,'string',num2str(D(2,:)));

第 8 页 共 8 页

set(handles.edit13,'string',num2str(D(3,:)));

function edit5_Callback(hObject, eventdata, handles) function edit5_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit6_Callback(hObject, eventdata, handles) function edit6_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit7_Callback(hObject, eventdata, handles) function edit7_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit8_Callback(hObject, eventdata, handles) function edit8_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit9_Callback(hObject, eventdata, handles) function edit9_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit10_Callback(hObject, eventdata, handles) function edit10_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit11_Callback(hObject, eventdata, handles) function edit11_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit12_Callback(hObject, eventdata, handles) function edit12_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit13_Callback(hObject, eventdata, handles) function edit13_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

第 9 页 共 9 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库复合材料力学上机编程作业(计算层合板刚度)(2)在线全文阅读。

复合材料力学上机编程作业(计算层合板刚度)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/405133.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: