% Example: rosette
% ~~~~~~~~~~~~~~~~
% This program analyzes for the stresses or
% strains in a plate using Hooke's law.
%
% Data is defined in the declaration statements
% below, where:
%
% Emod - modulus of elasticity
% mu - Poisson's ratio
% Rosette - =1, rectangular rosette
% =2, delta rosette
% =3, T-delta
% e1,e2,e3 - three strain measures
% e4 - required for T-delta rosettes
%
% User m functions required: none
%----------------------------------------------
clear;
%...Input definitions
Problem=1;
if Problem == 1
%...Rectangular
Rosette=1; Emod=30e6; mu=0.3;
e1=285e-6; e2=65e-6; e3=102e-6;
elseif Problem == 2
%...Delta
Rosette=2; Emod=30e6; mu=0.3;
e1=374e-6; e2=-135e-6; e3=227e-6;
elseif Problem == 3
%...T-Delta
Rosette=3; Emod=30e6; mu=0.3;
e1=225e-6; e2=305e-6; e3=-274e-6; e4=-65e-6;
end
raddeg=180/pi;
if Rosette == 1
%............................
%...Rectangular (3 @ 45 degs)
%............................
%...Strain calculations
e_avg=(e1+e3)/2;
Eradius=sqrt((e1-e3)^2+(2*e2-(e1+e3))^2);
e_max=e_avg+0.5*Eradius;
e_min=e_avg-0.5*Eradius; gamma_max=Eradius;
%...Stress constants
A=(e1+e3)/2; B=(e1-e3)/2;
C=(2*e2-(e1+e3))/2;
elseif Rosette == 2
%......................
%...Delta (3 @ 60 degs)
%......................
%...Strain calculations
e_avg=(e1+e2+e3)/3;
Eradius=sqrt((e1-(e1+e2+e3)/3)^2+ ...
((e2-e3)/sqrt(3))^2);
e_max=e_avg+Eradius; e_min=e_avg-Eradius;
gamma_max=2*Eradius;
%...Stress constants
A=(e1+e2+e3)/3; B=e1-(e1+e2+e3)/3;
C=(e2-e3)/sqrt(3);
elseif Rosette == 3
%....................................
%...T-delta (3 @ 60 degs, 1 @ 0 degs)
%....................................
%...Strain calculations
e_avg=(e1+e4)/2;
Eradius=sqrt((e1-e4)^2+4/3*(e2-e3)^2);
e_max=e_avg+Eradius/2;
e_min=e_avg-Eradius/2; gamma_max=Eradius;
%...Stress constants
A=(e1+e4)/2; B=(e1-e4)/2; C=(e2-e3)/sqrt(3);
else
fprintf( ...
'\n\nERROR: Undefined rosette type\n');
end
%...Stress calculations
Savg=Emod/(1-mu)*A;
Sradius=Emod/(1+mu)*sqrt(B^2+C^2);
Sigma_max=Savg+Sradius;
Sigma_min=Savg-Sradius; Tau_max=Sradius;
Sigma_ang_mxmn=0.5*atan2(C,B);
Sigma_ang_mxmn=Sigma_ang_mxmn*raddeg;
fprintf('\n\nRosette Analysis');
fprintf( '\n----------------');
fprintf('\n\nInput:');
fprintf('\n Modulus of elasticity: %g',Emod);
fprintf('\n Poisson''s ratio: %g',mu);
fprintf('\n Rosette type: %g ', ...
Rosette);
if Rosette == 1, fprintf('(Rectangular)'); end
if Rosette == 2, fprintf('(Delta)'); end
if Rosette == 3, fprintf('(T-Delta)'); end
fprintf( '\n Strains:');
fprintf( '\n e1: %g ',e1);
fprintf( '\n e2: %g ',e2);
fprintf( '\n e3: %g ',e3);
if Rosette == 3
fprintf('\n e4: %g ',e4);
end
fprintf('\n\nPrincipal stresses:');
fprintf( '\n Sigma-1: %g',Sigma_max);
fprintf( '\n Sigma-2: %g',Sigma_min);
fprintf( '\n Tau-12: %g',Tau_max);
fprintf( '\n Sigma_ang: %g',Sigma_ang_mxmn);
fprintf( ' degs');
fprintf('\n\nPrincipal strains:');
fprintf( '\n e-1: %g',e_max);
fprintf( '\n e-2: %g',e_min);
fprintf( '\n e-12: %g',gamma_max);
fprintf('\n');