%% Function name % anglemoduli %% Revised: % 13 January 2014 %% Author % Peter Vinje, Trey Moore, and Autar Kaw % Section: All % Semester: Fall 2012 %% Purpose % Given elastic modulii of a unidirectional lamina and the angle of the % ply in degrees, output elastic modulii in the x and y directions, % Poisson's ratio in the x-y plane, the shear modulus in the x-y % plane, as well as the shear coupling terms with axial load in both % the x and y directions %% Usage % function [moduli_ang] = anglemoduli(moduli,angle) % Input variables % moduli=vector with four elastic moduli of unidirectional lamina % [moduli]=[E1 E2 nu12 G12] % angle=angle of ply in degrees % E1=longitudinal elastic modulus % E2=transverse elastic modulus % nu12=major Poisson's ratio % G12=in-plane shear modulus % Output variables % Ex=elastic modulus in the x-direction % Ey=elastic modulus in the y-direction % nuxy=Poisson's ratio in the x-y plane % Gxy=shear modulus in x-y plane % Mx=shear coupling with axial load in x-direction % My=shear coupling with axial load in y-direction % moduli=vector with four elastic moduli of unidirectional lamina in % x,y direction % [moduli_ang]=[nuxy Gxy Mx My] % Keywords % elastic modulus % Poisson's ratio % shear modulus % shear coupling % angle ply %% License Agreement % http://www.eng.usf.edu/~kaw/OCW/composites/license/limiteduse.pdf %% Testing Code clc clear all %% Inputs % Material: Graphite/Epoxy [moduli]=[181 10.3 0.28 7.17]; fprintf('\nLongitudinal Elastic Modulus: %g ',moduli(1)) fprintf('\nTransverse Elastic Modulus: %g ',moduli(2)) fprintf('\nPoisson''s Ratio: %g ',moduli(3)) fprintf('\nShear Modulus: %g ',moduli(4)) %% Test 1 % Testing for individual angle % Input desired angle in degrees angle=40.6; % Call function: anglemoduli [moduli_ang] = anglemoduli(moduli,angle); % Results for a particular angle fprintf('\n\nAngle of Lamina: %G\n\n',angle) disp(' Angle Lamina Engineering Constants') disp('___________________________________________________') fprintf('\n Ex | %G\n Ey | %G\n nuxy | %G\n Gxy | %G\n Mx | %G\n My | %G\n\n\n\n'... ,moduli_ang(1),moduli_ang(2),moduli_ang(3),moduli_ang(4),moduli_ang(5),moduli_ang(6)) %% Test 2 % Table of Engineering Constants of an Angle Lamina % as a Function of Fiber Angle for i = 1:10:91 angle(i)=i-1; [moduli_ang] = anglemoduli(moduli,angle(i)); Ex(i)=moduli_ang(1); Ey(i)=moduli_ang(2); nuxy(i)=moduli_ang(3); Gxy(i)=moduli_ang(4); Mx(i)=moduli_ang(5); My(i)=moduli_ang(6); end disp(' Angle Lamina Engineering Constants') disp('____________________________________________________________________________________________________________') disp(' angle Ex Ey nuxy Gxy Mx My') for i=1:10:91 fprintf(' \t%2.0f |\t %3.4e |\t %3.4e |\t %3.4e |\t %3.4e |\t %3.4e |\t %3.4e \n', angle(i),Ex(i),Ey(i),nuxy(i),Gxy(i),Mx(i),My(i)) end %% Test 3 % Graphs of Engineering Constants of an Angle Lamina % as a Function of Fiber Angle for i=1:1:91 angle(i)=i-1; [moduli_ang] = anglemoduli(moduli,angle(i)); Ex(i)=moduli_ang(1); Ey(i)=moduli_ang(2); nuxy(i)=moduli_ang(3); Gxy(i)=moduli_ang(4); Mx(i)=moduli_ang(5); My(i)=moduli_ang(6); end % Plot of elastic modulus figure hold on plot(angle,Ex,'b','LineWidth',2) plot(angle,Ey,'r','LineWidth',2) grid legend('Longitudinal Elastic Modulus','Transverse Elastic Modulus') title('Elastic Modulus vs. Fiber Angle') xlabel('Angle (degrees)') ylabel('Elastic Modulus') hold off % Plot of Poisson's ratio figure hold on plot(angle,nuxy,'b','LineWidth',2) grid legend('Poisson''s Ratio') title('Poisson''s Ratio vs. Fiber Angle') xlabel('Angle (degrees)') ylabel('Poisson''s Ratio') hold off % Plot of shear modulus figure hold on plot(angle,Gxy,'b','LineWidth',2) grid legend('Shear Modulus') title('Shear Modulus vs. Fiber Angle') xlabel('Angle (degrees)') ylabel('Shear Modulus') hold off % Plot of shear coupling figure hold on plot(angle,Mx,'b','LineWidth',2) plot(angle,My,'r','LineWidth',2) grid legend('Shear Coupling x-dir','Shear Coupling y-dir') title('Shear Coupling vs. Fiber Angle') xlabel('Angle (degrees)') ylabel('Shear Coupling') hold off