%% Function name % laminate_moduli %% Revised: % 28 January 2014 %% Author: % Aadithya Jeyaranjan, Trey Moore, & Autar Kaw % Section: all % Semester: Fall 2013 %% Purpose: % Given the extensional stiffness and bending stiffness matrices, the % number of plies, as well as the thickness of each ply, output a % vector of the in-plane modulii and a vector of the flexural modulii %% Usage % function [moduliplane,moduliflex] = laminate_moduli(A,D,nplies,tplies) % Input Variables % A=extensional stiffness matrix % D=bending stiffness matrix % nplies=number of plies % tplies=thickness of each ply % Output Variables % moduliplane=vector of 4 elastic in-plane modulii of a laminate % moduliflex=vector of 4 elastic flexural modulii of a laminate % Keyword % elastic modulus % shear moudulus % Poisson's ratio % Flexural elastic modulus % Flexural shear moudulus % Flexural Poisson's ratio %% License Agreement % http://www.eng.usf.edu/~kaw/OCW/composites/license/limiteduse.pdf %% Testing code clc clear all %% Inputs [A]=[1.870e9 4.345e7 0; 4.345e7 1.013e9 0;0 0 1.076e8]; [D]=[4.925e4 8.148e2 0; 8.148e2 4.696e3 0;0 0 2.017e3]; tplies=[.005 .005 .005]; nplies=3; fprintf('Number of plies: %g\n\n',nplies) for i=1:1:nplies fprintf('For Ply: %g\n',i) fprintf(' Ply Thickness: %g\n\n',tplies(i)) end disp('Extensional Stiffness Matrix:') disp('______________________________________________') disp(A) disp('Bending Stiffness Matrix:') disp('______________________________________________') disp(D) %% Test % Call function: laminate_moduli [moduliplane,moduliflex] = laminate_moduli(A,D,nplies,tplies); % Results for a particular Vf disp(' In-Plane Modulii') disp('__________________________________') fprintf('\n Ex | %G\n Ey | %G\n nuxy | %G\n Gxy | %G\n\n',... moduliplane(1),moduliplane(2),moduliplane(3),moduliplane(4)) disp(' Flexural Modulii') disp('___________________________________') fprintf('\n Efx | %G\n Efy | %G\n nufxy | %G\n Gfxy | %G\n\n\n\n',... moduliflex(1),moduliflex(2),moduliflex(3),moduliflex(4))