• 大小: 45KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Matlab
  • 标签: matlab  

资源简介

用来简单计算复合材料的ABD矩阵的、适合期末大作业编程使用

资源截图

代码片段和文件信息

% ++++++++++++++++++++++++ ABDlam.m +++++++++++++++++++++++++++++++
% ++++++++++++++++++++++++ v1.0 - 4 Mar 2008 ++++++++++++++++++++++
% Written for a class homework for the Air Force Institute of Technology
% (AFIT) MECH541 class Intro. to Composite Materials. Program is “as-is“ 
% consider it “beta“ software any bug report can be sent to: oeasterd@afit.edu
% The code is not optimized has redundent variables and quite assuradly
% violates the MATLAB aesthetic of minimizing “for-next“ looping...but
% that‘s for version 1.1 ....
%
% Program is a MATLAB based thin-layer implementation to determine
% the laminate ABD matrix laminate strain and ply stress profile 
% as well as effective properties of the laminate using thin plate theory. 
% This code is in essense a GENLAM clone.
% Plies should be sequenced from top surface to bottom!
% The input file is “Infile.dat“ and Output is “Outfile.dat“; lack of an
% “Input.dat“ file will result in the writing of a default file with the
% formatting and a sample layup; this can then be further modified.
%
% This program was written referencing the following text: Herakovich Carl T.
% Mechanics of Fiberous Composites John Wiley & Sons Inc. New York 1998
% ISBN - 0-471-10636-4. Refer to the attached diagrams for
% variable/dimension conventions.
%
% More documentation follows at the end of the code.
%
function ABDlam(InfileOutfile)

if nargin == 0 ;
    defaultdata ;
    Infile =  ‘infile.dat‘
    Outfile = ‘outfile.dat‘
elseif nargin == 1 ;
    Outfile = ‘outfile.dat‘;
end ;
%% -------------------------------
% ROUTINE - READIN DATA FILE
%  -------------------------------
% readindata(Infile) ;
% Read in data from inputfile 
% IN = fopen(Infile‘r‘) ;
[plots  matnum] = textread(Infile‘%u %u‘1‘headerlines‘3) ; 
[Nx Ny Nxy Mx My Mxy] = textread(Infile‘%f %f %f %f %f %f‘1‘headerlines‘10) ; 
[matnu1 Ex Ey Gxy nu_xy alpha_x alpha_y beta_x beta_y] = textread(Infile‘%f %f %f %f %f %f %f %f %f‘matnum‘headerlines‘17) ; 
[matnu2 Ft_x Fc_x Ft_y Fc_y Fs_xy Del_T Del_C matname] = textread(Infile‘%f %f %f %f %f %f %f %f %s‘matnum‘headerlines‘27) ; 
[plynum theta thick matid] = textread(Infile‘%f %f %f %f‘‘headerlines‘39) ;
fclose(‘all‘) ;
%% Assemble load vectors each lamina compliance and stiffiness matrix
plymax = max(plynum) ;  % loop through the number of plys in the laminate
N_m = [Nx ; Ny ; Nxy]         % Mechanical normal loads on laminate edges
M_m = [Mx ; My ; Mxy]         % Mechanical moment loads on laminate edges
%% Determine ply coordinates datuum plane z-coords and H
stackthick = 0.0 ;
z(1) = 0.0 ;            % top plane of laminate
for i = 2:1:plymax+1 ;
    z(i) = z(i-1) + thick(i-1) ;
    stackthick = stackthick + thick(i-1) ;
end ;
H = stackthick/2.0 ;    % determine 1/2 the laminate thickness
z = z - H  ;            % reset z-coodinate origin to the datuum plane in the laminate
z = transpose(z)
%% ----------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       25327  2008-03-04 22:35  ABDlam.m
     文件       10676  2008-03-01 21:39  Drawing1.wmf
     文件       56824  2008-03-01 22:05  Drawing2.wmf
     文件        9272  2008-03-01 23:16  Drawing3.wmf
     文件        1306  2014-02-12 14:10  license.txt

评论

共有 条评论