Deformación de un semianillo plano Grupo 4-A

De MateWiki
Saltar a: navegación, buscar


Trabajo realizado por estudiantes
Título Deformación de un semianillo plano Grupo 4-A
Asignatura
Curso 2021/22
Autores Jaime Guerrero Suárez

Sergio Míguez González Pedro Michelini

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura.

1 Enunciado

Consideramos una placa plana que ocupa la mitad de un anillo circular centrado en el origen y comprendido entre los radios 1 y 2, en el plano y ≥ 0. En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura \(T(x,y,t)\), que viene dada por [math]T(x, y) = log((x − 3)^2 + 2)[/math], y los desplazamientos \(\vec u(x,y,t)\) producidos por la acción de una fuerza determinada. De esta forma, si definimos \(r_0(x,y)\) el vector de posición de los puntos de la placa en reposo, la posición de cada punto \((x,y)\) de la placa después de la deformación viene dada por \(r(x, y) = ~r0(x, y) + ~u(x, y)\). Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento de los puntos de la misma dado por el vector de desplazamientos [math]\vec u(ρ, θ) = ρ − 1 5 sin(θ)~eθ[/math].

2 Mallado

Comenzamos la representación del sólido definiendo un mallado siguiendo las directrices del enunciado: "Tomar los ejes (comando axis) en el rectángulo (x, y) ∈ [-3; 3] × [−1; 3] y como paso de muestreo h = 1/10 para las variables x e y. Al tratarse de una figura plana en 2D, la componente z es nula.

Representacion del mallado
h= 0.1;                           %Paso de muestreo
r= 1:h:2;
tt= 0:h:pi;
[RR,TT]= meshgrid(r,tt);       %Mallado
x=RR.*cos(TT);
y=RR.*sin(TT);                                                        
mesh(x,y,0.*x)                  %Visualización de la placa
view(2)                           
axis ([-3,3,-1,3])
xlabel('Eje X')
ylabel('Eje Y')


3 Representación de la temperatura

Una vez tenemos bien definido el mallado (que representa al propio sólido), pasamos a la representación de la temperatura a partir de la función [math]T(x, y) = log((x − 3)2 + 2)[/math]. Para llevarla a cabo, representamos el campo escalar, donde se puede observar la posición de la Temperatura máxima (en el punto (-2,0.1). Además, hemos definido una serie de curvas de nivel para poder apreciar mejor el cambio de temperatura a lo largo de la placa.

Temperaturas
h= 0.1;                           %Paso de muestreo
r= 1:h:2;
tt= 0:h:pi;
[RR,TT]= meshgrid(r,tt);       %Mallado
x=RR.*cos(TT);
y=RR.*sin(TT);  
T=log10((x-3).^2 + 2);
hold on
subplot(1,2,1)                %Dividimos la pantalla en dos
surf(x,y,T)                   %Representamos el campo escalar de temperaturas
view(2)
axis ([-3,3,-1,3])
xlabel('Eje X')
ylabel('Eje Y')
colorbar                      %Mostramos la escala
subplot(1,2,2)                %Escribimos en la segunda pantalla
contour(x,y,T,30)
title('Curvas de Nivel','Fontsize',16)      %Líneas de nivel
colorbar                      %Mostramos las escala
axis ([-3,3,-1,3])
xlabel('Eje X')
ylabel('Eje Y')
hold off

Del grafico se deduce que la temperatura aumenta en la direccion negativa de x. Por lo tanto, el valor maximo se alcanza cuando x=-2.


4 Gradiente de Temperatura

El siguiente paso después de observar el campo de la temperatura es calcular el gradiente de esta misma función y dibujarlo como campo vectorial. El cálculo del gradiente es sencillo y consiste en

En nuestro caso, el gradiente calculado manualmente nos da [math]\nabla T=\frac{2(x-3)}{(x-3)^2+2}\vec i\[/math]. Como sabemos, por definición el gradiente es siempre perpendicular a la función original. Una vez que lo tenemos ya calculado, podemos observarlo y confirmar que, efectivamente, se trata de un campo vectorial perpendicular a las curvas de nivel formadas por la temperatura.


[[Archivo:]]

5 Representación del campo vectorial de deformaciones

Ahora nos centraremos en el campo u de deformaciones, definido en el enunciado en coordenadas cilíndricas (factor a tener en cuenta). No necesitamos calcularlo, pero sí convertir la dirección de eθ en las direcciones \(\vec i\) y \(\vec j\) para poder representarlo sin problema en la misma cuadrícula. Aplicamos la equivalencia [math]e_θ=\frac{-x_2\vec i\+x_1\vec j\}{ρ}=-sin(θ)\vec i\+cos(θ)\vec j\[/math]. El nuevo campo \(\vec u\) nos queda de la siguiente forma: [math]\vec u=-\frac{ρ-1}{5}cos(θ)sin(θ)\vec i+\frac{ρ-1}{5}cos_2(θ)\vec j\[/math]

h= 0.1;                     %Paso de muestreo                              
rr= 1:h:2;                  %Usamos coordenadas polares.
tt= 0:h:pi;
[RR,TT]= meshgrid(rr,tt);   %Mallado
x=RR.*cos(TT);
y=RR.*sin(TT);                     
axis ([-3,3,-1,3])
a=-((RR-1)./5).*((sin(TT)).^2);
b=((RR-1)./5).*(cos(TT).*sin(TT));
w=quiver(x,y,a,b);                       %Representacion de los vectores
axis ([-3,3,-1,3])
title('Campo de vectores','Fontsize',16);
xlabel('Eje X')
ylabel('Eje Y')
set(w,'maxheadsize',0.33)


Archivo

6 Desplazamiento del mallado producido por el campo vectorial

Ya tenemos el campo vectorial del desplazamiento, por lo que vamos a poder observar la deformación en la placa antes y después de la acción del campo u:

h= 0.1;                          %Paso de muestreo                                 
rr= 1:h:2;                       %Usamos coordenadas polares
tt= 0:h:pi;
[RR,TT]= meshgrid(rr,tt);        %Mallado
x=RR.*cos(TT);
y=RR.*sin(TT);
                                 %Sólido antes de los desplazamientos
subplot(1,2,1)                  
i=mesh(x,y,0*x);
view(2)
set(i,'EdgeColor','g');
axis ([-3,3,-1,3])
xlabel('Eje X')
ylabel('Eje Y')
title('Placa no desplazada','Fontsize',16); 
                                 %Sólido después de los desplazamientos
subplot(1,2,2)                     
A=-((RR-1)./5).*((sin(TT)).^2);
B=((RR-1)./5).*(cos(TT).*sin(TT)); 
X=x+A;
Y=y+B;
j=mesh(X,Y,0*X);
view(2)
set(j,'EdgeColor','r');
axis ([-3,3,-1,3])
xlabel('Eje X')
ylabel('Eje Y')
title('Placa desplazada','Fontsize',16);


[[Archivo:]]

7 Divergencia del campo vectorial

A continuacion, calculamos la divergencia del campo vectorial. La divergencia es una medida del cambio de volumen local debido al desplazamiento. Al calcularla nos queda: DivU.png

Divergencia
h= 0.1;                        %Paso de muestreo
                               %Usamos coordenadas polares
rr= 1:h:2;
tt= 0:h:pi;
[RR,TT]= meshgrid(rr,tt);      %Mallado
x=RR.*cos(TT);
y=RR.*sin(TT);
DIVu=((1)./RR).*(cos(TT).*((RR-1)./5)); %Divergencia de u
surf(x,y,DIVu);
view(2);
axis ([-3,3,-1,3])
colorbar;
title('Divergencia','Fontsize',16);
xlabel('Eje X')
ylabel('Eje Y')


Del grafico se puede deducir que la divergencia toma valores maximos en el punto (ρ, θ) = (2,0) y valores minimos en el punto (ρ, θ) = (2,π). Por otro lado, vemos que la divergencia es nula cuando ρ=1 (cualquiera sea el θ) y cuando θ=π/2 (cualquiera sea el ρ).


8 Rotacional del campo vectorial

Continuamos calculando el rotacional, con resultado: Formularottt.png en ez. Calculamos su modulo y graficamos:

Rotacional
h=0.1;                                       %Paso de muestreo                                
rr=1:h:2;                                    %Usamos coordenadas polares
tt=0:h:pi;
[RR,TT]= meshgrid(rr,tt);                    %Mallado
x=RR.*cos(TT);
y=RR.*sin(TT);
ROTu=abs((sin(TT)./(5.*RR)).*(2-((1)./RR))); %Modulo del rotacional de u
                                             %Rotacional en 2-D
subplot(1,2,1);
surf (x,y,ROTu);
axis equal
view(2);
colorbar;
title('Rotacional en 2-D', 'Fontsize',16);
xlabel('Eje X')
ylabel('Eje Y')
                                            %Rotacional en 3-D
subplot(1,2,2);
surf(x,y,ROTu);               
colorbar
title('Rotacional en 3-D', 'Fontsize',16);
xlabel('Eje X')
ylabel('Eje Y')
zlabel('Eje Z')


[[Archivo:]]

9 Tensiones normales a los ejes coordenados

10 Tensiones tangenciales respecto al plano ortogonal a \(\vec i\)


[[Archivo:]]

11 Tensión de Von Mises

Debemos calcular la Tension de Von Mises. Se trata de una magnitud escalar que se suele usar como indicador para saber cuando un material inicia un comportamiento plastico. TVONMISES.png

h=0.1;
rr=[1:h:2];
tt=[0:h:pi];
[RR,TT]=meshgrid(rr,tt); 
sigma=zeros(3,3);%%Creacion matriz sigma y de Von Mises              
VM=zeros(32,11); %Tomando cada punto del mallado (dimensiones)
for i=1:32*11
     r=RR(i)';
     t=TT(i)';
     sigma(1,1)=((r-1)/5*r)*cos(t);
     sigma(1,2)=sin(t)/10;
     sigma(2,1)=sin(t)/5;
     sigma(2,2)=(r-1)*cos(t)*((2/5)+(1/(5*r)));
     sigma(3,3)=((r-1)/5)*cos(t);
     [v,d]=eig(sigma);                           %obtenemos autovalores
     VM(i)=sqrt(((d(1,1)-d(2,2))^2+(d(2,2)-d(3,3))^2+(d(3,3)-d(1,1))^2)/2);  %Formula de Tension de Von Mises
end
                 
xx=RR.*cos(TT);         %Pasamos a cartesianas
yy=RR.*sin(TT);
surf(xx,yy,VM)
title('Tension de Von Mises')
axis([-3,3,-1,3])
xlabel('Eje X')
ylabel('Eje Y')
colorbar
view(2)



12 Campo de fuerzas \(\vec F\) que actúa sobre la placa


[[Archivo:]]