%% Function name % principalstresses & principalstrains %% Revised: % 16 January 2014 %% Author % Adam Wolfe, Trey Moore, & Autar Kaw % Section: All % Semester: Fall 2012 %% Purpose % Given the global stresses acting on the lamina, output the % longitudinal, transverse and in plane principal stresses of a lamina % & % Given the global strains acting on the lamina, output the % longitudinal, transverse and in plane principal strains of a lamina %% Usage % function [ps1,ps2,tmax] = principalstresses(stress_glo) % & % function [pe1,pe2,gmax] = principalstrrain(strain_glo) % Input variables % stress_glo=vector of global stress applied to unidirectional lamina % [stress_glo]=[sx;sy;txy] % sx=longitudinal global stress % sy=transverse global stress % txy=in-plane shear stress % strain_glo=vector of global strain applied to unidirectional lamina % [strain_glo]=[epsx;epsy;epsxy] % epsx=longitudinal global strain % epsy=transverse global strain % epsxy=in-plane global strain % Output variables % ps1=principal stress in direction 1 [pricipal stress 1, angle] % ps2=principal stess in direction 2 [pricipal stress 2, angle] % tmax=maximum shear stress [maximum shear stress, angle] % pe1=vector of principal strain in direction 1 [pricipal strain 1, angle] % pe2=vector of principal strain in direction 2 [pricipal strain 2, angle] % gmax=maximum shear strain [maximum shear strain, angle] % Keyword % global stresses % principal stresses % global strains % principal strains %% License Agreement % http://www.eng.usf.edu/~kaw/OCW/composites/license/limiteduse.pdf %% Testing code clc clear all %% Inputs [stress_glo]=[0.7486;-1.157;2.306]*10^6; [strain_glo]=[0.7486;-1.157;2.306]*10^-3; fprintf('\nLongitudinal Global Stress: %g ',stress_glo(1)) fprintf('\nTransverse Global Stress: %g ',stress_glo(2)) fprintf('\nIn-Plane Global Shear Stress: %g ',stress_glo(3)) fprintf('\nLongitudinal Global Strain: %g ',strain_glo(1)) fprintf('\nTransverse Global Strain: %g ',strain_glo(2)) fprintf('\nIn-Plane Global Strain: %g \n\n\n',strain_glo(3)) %% Test % Testing for principal stresses and strains % Call function: principalstresses [ps1,ps2,tmax,thetaps,thetass] = principalstresses(stress_glo); disp(' Principal Stresses for Lamina') disp('_______________________________________') fprintf('\n ps1 | %G\n ps2 | %G\n tmax | %G\n thetaps | %G\n thetass | %G\n\n'... ,ps1,ps2,tmax,thetaps,thetass) % Call function: principalstrains [pe1,pe2,gmax,thetape,thetase] = principalstrains(strain_glo); % Results for a particular angle disp(' Principal Strains for Lamina') disp('_______________________________________') fprintf('\n pe1 | %G\n pe2 | %G\n gmax | %G\n thetape | %G\n thetase | %G\n\n'... ,pe1,pe2,gmax,thetape,thetase)