Sei sulla pagina 1di 2

% TENSIONES

% % Este programa calcula el estado de tensión plano de un cuerpo, para cualquier


% orientación, dadas las tensiones normales y tangenciales actuantes y el ángulo de
% la normal al plano donde se requieren las tensiones respecto del eje x.
% También calcula las tensiones principales y la orientación del plano donde actúan,
% como así también las tensiones tangenciales máximas desarrolladas y la orientación
% de su plano también.
%
% Sistema de Referencia:
%
% C N ^ y(+) C P
% a e | a o
% r g | r s
% a a | a i
% t | t
% i | i
% v |----------> x(+) v
% a a
%
%
% Tensión normal de tracción -S-: positiva en cara positiva / negativa en cara negat
iva
% Tensión normal de compresión -S-: negativa en cara postiva / positiva en cara nega
tiva
% Tensión tangencial positiva -T-: genera momento horario
% Tensión tangencial negativa -T-: genera momento anti-horario
%
%
% Simbología:
%
% Sx: Tensión Normal en dirección x
% Sy: Tensión Normal en dirección y
% Txy: Tensión Tangencial actuante en plano de normal x, de dirección y
% Tyx: Tensión Tangencial actuante en plano de normal y, de dirección x
%
A=input('Ingrese la tensión normal en dirección x -Sx-: ');
B=input('\nIngrese la tensión normal en dirección y -Sy-: ');
C=input('\nIngrese la tensión tangencial xy -Txy-: ');
D=input('¿Desea calcular el estado de tensión principal? SI(1)/NO(0): ');
if D==1
Smax=((1/2)*(A+B))+sqrt((A-B)^2+4*C^2)*(1/2);
Smin=((1/2)*(A+B))-sqrt((A-B)^2+4*C^2)*(1/2);
Phi11=(atan((2*C)/(A-B)))/2;
Phi12=((atan((2*C)/(A-B)))/2)*(180/pi);
fprintf('Las tesiones principales son: \n\nSmáx: %g\nSmín: %g',Smax,Smin)
fprintf('\nLa orientación del plano es: %g rad o bien %gº',Phi11,Phi12)
end
F=input('\n¿Desea calcular las tensiones tangenciales máximas y mínima? SI(1)/NO(0): '
);
if F==1
Tmax=sqrt((A-B)^2+4*C^2)*(1/2);
Tmin=-sqrt((A-B)^2+4*C^2)*(1/2);
Phi21=(atan((B-A)/(2*C)))/2;
Phi22=((atan((B-A)/(2*C)))/2)*(180/pi);
fprintf('\nLa tensión Tmáx es: %g\nLa tensión Tmín es: %g',Tmax,Tmin)
fprintf('\nLa orientación del plano es: %g rad o bien %gº',Phi21,Phi22)
end
G=input('\n¿Desea calcular el estado de tensión \npara una orientación cualquiera? SI(
1)/NO(0): ');
if G==1
E=input('Ingrese el ángulo (en radianes) del plano\nen el cual desea cacular el es
tado de tensión: ');
S1=((A+B)/2)+((A-B)/2)*cos(2*E)+C*sin(2*E);
S2=((A+B)/2)+((A-B)/2)*cos((2*E)-(pi/2))+C*sin((2*E)-(pi/2));
T=-((A-B)/2)*sin(2*E)+C*cos(2*E);
fprintf('\nLas tensiones normales son: \nS1: %g\nS2: %g',S1,S2)
fprintf('\nLa tensión T12 es: %g', T)
end
H=input('\n¿Desea graficar la circunferencia de Mohr? SI(1)/NO(0): ');
if H==1
I=((A+B)/2);
J=sqrt((A-B)^2+4*C^2)*(1/2);
if A>B
x=[(B-(abs(A)/10)):(A+(abs(A)/10))];
y=sqrt((J.^2)-(x-I).^2);
Smax=((1/2)*(A+B))+sqrt((A-B)^2+4*C^2)*(1/2);
Smin=((1/2)*(A+B))-sqrt((A-B)^2+4*C^2)*(1/2);
plot(x,y,'k',x,-y,'k',A,C,'ro',B,-C,'ro',Smax,0,'go',Smin,0,'go')
title('Circunferencia de Mohr')
xlabel('Tensiones Normales - S')
ylabel('Tensiones Tangenciales - T')
grid
axis equal
text(A,C,'Sx;Txy')
text(B,-C,'Sy;Txy')
else
x=[(A-(abs(B)/10)):(B+(abs(B)/10))];
y=sqrt((J.^2)-((x-I).^2));
Smax=((1/2)*(A+B))+sqrt((A-B)^2+4*C^2)*(1/2);
Smin=((1/2)*(A+B))-sqrt((A-B)^2+4*C^2)*(1/2);
plot(x,y,'k',x,-y,'k',A,C,'ro',B,-C,'ro',Smax,0,'go',Smin,0,'go')
title('Circunferencia de Mohr')
xlabel('Tensiones Normales - S')
ylabel('Tensiones Tangenciales - T')
grid
axis equal
text(A,C,'Sx;Txy')
text(B,-C,'Sy;Txy')
end
end

Potrebbero piacerti anche