% % 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