Diferencia entre revisiones de «Usuario:Ve.cedillo»

De MateWiki
Saltar a: navegación, buscar
(Tensiones normales)
(Tensiones normales)
Línea 348: Línea 348:
  
  
[[Archivo:A8-92.jpg|500px|miniaturadeimagen|Representación en 3D de las tensiones en  rho y sigma|izquierda ]]
+
[[Archivo:A8-92.jpg|400px|miniaturadeimagen|Representación en 3D de las tensiones en  rho y sigma|izquierda ]]
 
{{matlab|codigo=
 
{{matlab|codigo=
 
h=0.1;
 
h=0.1;

Revisión del 12:04 4 dic 2020

Trabajo realizado por estudiantes
Título Deformaciones de un semianillo circular en 2-D. Grupo 8-A
Asignatura Teoría de Campos
Curso 2020-21
Autores Victoria Elena Cedillo García, María Cristina Pérez-Pozuelo López, Ángela Masiel Zaragoza Paredes
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


En el siguiente artículo procederemos a analizar las deformaciones que sufre la placa bajo la acción de la temperatura y las fuerzas.









1 Visualización de la placa

Para comenzar se representará los puntos interiores de una placa plana con forma de semianillo circular con radios 1 y 2.

Semianillo circular plano
h= 0.1;                           %Paso de muestreo
                                  %Usamos coordenadas cilíndricas
r= 1:h:2;
tetha= 0:h:pi;
[rr,tt]= meshgrid(r,tetha);       %Mallado
                                  %Parametrizamos en cartesianas
x=rr.*cos(tt);
y=rr.*sin(tt);                                 
clf                               %Borramos las posibles gráficas que hubiera    
mesh(x,y,0*x);                    %Visualización de la placa
view(2)                           
axis ([-3,3,-1,3])


2 Distribución de temperaturas del sólido

En el siguiente apartado se representará la temperatura del sólido mediante tintas hipsométricas y se deducirá el punto en el que esta es máxima. La distribución de temperaturas en cada punto del sólido viene dada por el campo escalar: [math]\ T(x,y)=exp({-x^2+y^2-1})[/math]


Distribución y curvas de nivel de la temperatura
h= 0.1;                       %Paso de muestreo
                              %Usamos coordenadas cilíndricas
r= 1:h:2;
tetha= 0:h:pi;
[rr,tt]= meshgrid(r,tetha);   %Mallado
                              %Parametrizamos en cartesianas
x=rr.*cos(tt);
y=rr.*sin(tt);
clf 
                              %Campo temperatura (en cartesianas)
T=exp(-x.^2+y.^2-1);          %Campo escalar de temperatura
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])
colorbar                      %Mostramos la escala
subplot(1,2,2)                %Escribimos en la segunda pantalla
contour(x,y,T,60)             %Líneas de nivel
colorbar                      %Mostramos las escala
axis ([-3,3,-1,3])

Como se puede observar en la primera gráfica, la temperatura alcanza su apogeo en el punto (0,2), donde el color es más cálido. Esto también se puede apreciar en la segunda gráfica ya que hay mayor proximidad entre las curvas.

3 Estudio del gradiente de temperaturas

A continuación, se estudiará la dirección de máximo crecimiento de la temperatura, es decir, el gradiente, comprobando que este sea ortogonal a las curvas de nivel del apartado anterior. [math]grad T = -2x.exp(-x^2+y^2-1)\vec i\ + 2y.exp(-x^2+y^2-1)\vec j\ [/math]


h= 0.1;                          %Paso de muestreo
                                 %Usamos coordenadas cilíndricas
r= 1:h:2;
tetha= 0:h:pi;
[rr,tt]= meshgrid(r,tetha);      %Mallado
                                 %Parametrizamos en cartesianas
x=rr.*cos(tt);
y=rr.*sin(tt);
T=exp(-x.^2+y.^2-1);             %Campo escalar de temperatura
figure
hold on
contour(x,y,T,40)                %Líneas de nivel
colorbar                         %Mostramos las escala
axis ([-3,3,-1,3])
                                 %Gradiente temperatura (en cartesianas)
tx=inline('-2*x.*exp(-x.^2+y.^2-1)','x','y')   %Derivada parcial respecto de x
ty=inline('2*y.*exp(-x.^2+y.^2-1)','x','y');   %Derivada parcial respecto de y
TX=tx(x,y);
TY=ty(x,y);
h= quiver(x,y,TX,TY);            %Representamos el campo vectorial
axis ([-3,3,-1,3])
title ('Gradiente de la Temperatura','Fontsize',18);
set(h,'maxheadsize',0.33)        %Cambiamos formato flechas


Campo vectorial del gradiente
Detalle de la ortogonalidad del gradiente respecto a las curvas de nivel







4 Campo vectorial en los puntos del sólido

Conociendo el campo de deformaciones de la placa:
[math] u(ρ,θ) = sinθf(ρ)(\vec g_{ρ}) + 0(\vec g_{\theta}) + 0(\vec g_{z}) [/math]

Tenemos dos condiciones que se deben cumplir, con ellas podemos obtener f(ρ):

1º Que los puntos situados en ρ = 1 no sufren desplazamiento, lo que significa que: [math]u(ρ,θ) = sin(θ) f(1) (\vec g_{ρ}) = 0 ⇔ f(1) = 0 [/math]

[math] |∇ · u| = sinθ (2ρ − 1)/4 [/math]

Sabemos que la divergencia sigue la siguiente fórmula:

[math] ∇ · u= \frac{1}{ρ}[\frac{\partial}{\partial ρ}(ρ·sin({\theta})f(ρ))+\frac{\partial}{\partial{\theta}}(ρ·0)+\frac{\partial}{\partial z}(ρ·0)]=\frac{sin({\theta})(ρ f(ρ))'}{ρ} [/math]


[math] ∇ · u=\frac{sin({\theta})(ρ f(ρ))'}{ρ}=\frac{sin({\theta})ρ(2ρ-1)}{4} [/math]

[math] (ρ f(ρ))'= (2ρ − 1)/4 [/math]

[math] ρ f(ρ)=ρ^3/6-ρ^2/8+c ⇔ f(ρ)=ρ^2/6-ρ/8+c/ρ [/math]

Para determinar c imponemos la primera condición [math]f(1) = 0 [/math] [math] f(1)=1/6-1/8+c ⇔ c=1/8-1/6=-1/24[/math]

[math] f(ρ)=ρ^2/6-ρ/8-1/(24ρ) [/math]

[math] u [/math]

5 Representación campo de vectores

A continuación, se representa el campo de desplazamientos calculado en el apartado anterior. Para ello se empleará la base ortonormal cartesiana por lo que se pasa el \(\vec g_{\rho}\) a [math] cosθi + senθ j [/math], obteniendo: [math] \vec u(ρ,θ)=sen(θ). cos(θ). (2ρ-1)/4 i + sen^2(θ)\frac{(2ρ-1)}{4}[/math]


izquierda
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= sin(TT).*cos(TT).*(2.*RR-1)/4;
b=(sin(TT)).^2.*(2.*RR-1)/4;
w=quiver(x,y,a,b);
axis ([-3,3,-1,3])
title('Campo de vectores','Fontsize',18);
set(w,'maxheadsize',0.33)   %Cambiamos formato flechas

Según nuestro gráfico, el campo de vectores es mayor en la zona central superior del semianillo, donde las flechas son más largas y hay más próximas.



6 Efecto de los desplazamientos

Para poder observar cómo afecta el campo de desplazamientos a nuestro sólido, lo representaremos antes y después de su efecto.


Efecto de los desplazamientos.
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);
clf
%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])
title('Placa no desplazada','Fontsize',25); 

%Sólido después de los desplazamientos
subplot(1,2,2)                     
A= sin(TT).*cos(TT).*(2.*RR-1)/4;
B=(sin(TT)).^2.*(2.*RR-1)/4; 
X=x+A;
Y=y+B;
mesh(X,Y,0*X)
view(2)
axis ([-3,3,-1,3])
title('Placa desplazada','Fontsize',25);

%Comparación de ambas representaciones. 
figure                                 
mesh(X,Y,0*X)
axis ([-3,3,-1,3])
view(2)
title('Desplazamiento de la placa','Fontsize',16);
hold on
i = mesh(x,y,0*x);
set(i,'EdgeColor','g');


Como podemos ver, el desplazamiento sigue la dirección del campo de vectores hallado anteriormente, deformándose más en la zona central superior del semianillo.

Comparación del antes y después del efecto.

7 Estudio de la Divergencia.

La divergencia es una medida del cambio de volumen local debido al desplazamiento, en nuestro caso, al tratarse de una placa plana, medirá en cambio de área. Eta viene dada por:

[math]\nabla·\vec u(ρ,θ) =\frac{1}{\sqrt g} \frac{\partial}{\partial x^i}({\sqrt g}{u_i})=\frac{1}{ρ} \frac{\partial}{\partial ρ}({ρ}{u_ρ})+\frac{1}{ρ} \frac{\partial}{\partial θ}({ρ}{u_θ})+\frac{1}{ρ} \frac{\partial}{\partial z}({ρ}{u_z})= senθ\frac{(2ρ-1)}{4}[/math].


Estudio de la Divergencia en el sólido.
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=sin(TT).*(2.*RR-1)/4;
surf(x,y,DIVu);
view(2);
axis ([-3,3,-1,3])
colorbar;
title('Divergencia','Fontsize',20);


Divergencia.

La divergencia es mayor en la parte superior del semianillo, corroborando lo hecho anteriormente, ya que es ahí donde el sólido sufre más deformación por efecto del desplazamiento. Si se analiza analíticamente, la divergencia, [math]\nabla·\vec u(ρ,θ)= senθ\frac{(2ρ-1)}{4}[/math], alcanza su máximo cuando el [math]senθ[/math] es máximo [math](θ=\pi/2)[/math], y [math]ρ[/math] máximo [math](ρ=2)[/math]. De esta manera, se obtiene que dicho punto es el [math](2, \pi/2)[/math]. Por otro lado, el punto mínimo coincidiría con la divergencia nula, ya que en nuestro caso solo hay un aumento de área. Esta se anularía cuando [math]senθ=0 [/math]([math] θ=\pi [/math] y [math] θ=0[/math]) y a lo largo de [math]ρ[/math], siendo las rectas de las bases del semianillo.




8 Estudio del Rotacional

A partir del operador rotacional se puede establecer la tendencia del campo vectorial a inducir rotación en un punto alrededor de un vector. Llegados a este punto, es obligado pasar a la visualización en 3 dimensiones por la propia definición de rotacional. Asimismo, el rotacional del campo de desplazamientos [math]\vec u(ρ,θ)[/math] viene dado por el campo vectorial:

[math]\nabla×\vec u(ρ,θ) = \frac{1}{\sqrt g}\left|\begin{matrix} \vec g_1 & \vec g_2 & \vec g_3 \\ \frac{\partial}{\partial x^1} & \frac{\partial}{\partial x^2} & \frac{\partial}{\partial x^3} \\ \vec u · \vec g_1 & \vec u · \vec g_2 & \vec u · \vec g_3 \end{matrix}\right|=\frac{1}{ρ}\left|\begin{matrix} \vec g_ρ & \vec g_θ & \vec g_z \\ \frac{\partial}{\partial ρ} & \frac{\partial}{\partial θ} & \frac{\partial}{\partial z} \\ \vec u · \vec g_ρ & \vec u · \vec g_θ & \vec u · \vec g_z \end{matrix}\right|=\frac{cosθ}{ρ} \frac{(2ρ-1)}{4}\vec g_z [/math].

Donde de verdad se puede apreciar el giro que induce el campo [math]\vec u [/math] es en la visualización del módulo de los vectores del campo rotacional:

[math]|\nabla×\vec u(ρ,θ)| =\frac{cosθ}{ρ}\frac{(2ρ-1)}{4}[/math].
Rotacional del vector desplazamiento.
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((cos(TT)./RR).*(2.*RR-1)./4 );
%Rotacional en 2-D
subplot(1,2,1);
surf (x,y,ROTu);
axis equal
view(2);
colorbar;
title('Rotacional en 2-D', 'Fontsize',16);
%Rotacional en 3-D
subplot(1,2,2);
surf(x,y,ROTu);               
colorbar
title('Rotacional en 3-D', 'Fontsize',16);
Maximo=max(max(ROTu));

Al observar los gráficos, se llega a la conclusión de que el sólido es menos proclive a girar en los puntos en los que se produce una inversión del sentido del campo vibratorio (θ=Π/2). Por el contrario, su tendencia al giro aumenta al acercarnos a θ=0 y θ=Π y, en menor medida, también aumenta al estar más lejanos al origen.

9 Tensiones normales

A continuación, analizaremos las tensiones a las que se ve sometida la placa, estas vienen definidas, en un medio elástico lineal, isótropo y homogéneo, por el tensor:
[math] σ(x,y)=λ∇.u.1 + 2με[/math]
Siendo ε la parte simétrica del ∇\(\vec u\) y λ y μ los coeficientes de Lamé que varían en función del material y que en este caso son ambos de valor 1.

Matriz de componentes de sigma

Pese a que los desplazamientos se realizan en el plano, las tensiones no tienen por qué ser planas, y se puede representar en las tres direcciones del espacio. Puesto que estamos empleando coordenadas cilíndricas, se representan las tensiones en las direcciones de la base ortogonal cilíndrica {\(\vec g_{ρ}\), \(\vec g_{\theta}\), \(\vec g_{z}\)}. Para ello, multiplicamos escalarmente la matriz sigma por el vector \(\vec g_{i}\) por ambos lados: tensión normales en dirección i = \(\vec g_{i}\) * σ * \(\vec g_{i}\)

a) dirección \(\vec g_{\rho}\): (1,0,0)*σ*(1,0,0) = [math](7ρ/6-1/2+1/(12ρ^2 ))sinθ [/math]

b) dirección \(\vec g_{\theta}\)/ρ: (0,1,0)*σ*(0,1,0) = [math] (5ρ/6-1/2-1/(12ρ^2 ))sinθ[/math]

c) dirección \(\vec g_{z}\): (0,0,1)*σ*(0,0,1) = [math](ρ/2-1/4)sinθ [/math]

Representamos las tensiones primero en 2D y, posteriormente en 3D en las dos direcciones en las que existen tensiones.

Representación de las tensiones en las direcciones rho y sigma
h=0.1;
r=1:h:2;
t=0:h:pi;
[rr,tt]=meshgrid(r,t); 
clf
subplot(1,3,1);
xx=rr.*cos(tt);
yy=rr.*sin(tt);
a=(7*rr./6-1/2+1./(12*rr.^2)).*sin(tt); %Elemento (1,1) de la matriz sigma
b=(5*rr/6-1/2-1./(12*rr.^2)).*sin(tt);
surf(xx,yy,a)
axis equal
view(2)
colorbar
subplot(1,3,2);   %Elemento (2,2) de la matriz sigma
surf(xx,yy,b)
axis equal
view(2)
colorbar
subplot(1,3,3)
c=(rr/2-1/4).*sin(rr);            %Elemento (3,3) de la matriz sigma
surf(xx,yy,c)
axis equal
view(2)
colorbar



izquierda
h=0.1;
  r=1:h:2;
  t=0:h:pi;
 [rr,tt]=meshgrid(r,t); 
 clf
 subplot(3,1,1);
 xx=rr.*cos(tt);
 yy=rr.*sin(tt);
 a=(7*rr./6-1/2+1./(12*rr.^2)).*sin(tt); %Elemento (1,1) de la matriz sigma
 b=(5*rr/6-1/2-1./(12*rr.^2)).*sin(tt);
 c=(rr/2-1/4).*sin(rr); 
 surf(xx,yy,a)
 colorbar
 subplot(3,1,2);   %Elemento (2,2) de la matriz sigma
 surf(xx,yy,b)
 colorbar
 subplot(3,1,3);   %Elemento (3,3) de la matriz sigma
 surf(xx,yy,c)
 colorbar


10 10 Tensiones tangenciales

Una vez calculadas las tensiones normales podemos pasar a analizar las tensiones tangenciales, estas vienen dadas por σ.*\(\vec g_{\rho}\)+(\(\vec g_{\rho}\)*σ*\(\vec g_{\rho}\))\(\vec g_{\rho}\), y como \(\vec g_{\rho}\) tiene como coordenadas cilíndricas (1,0,0), esto da [math](ρ/6-1/8-1/(24ρ^2 ))cosθ[/math].

Tensiones tangenciales en la dirección de sigma
h=0.1;
r=1:h:2;
t=0:h:pi;
[rr,tt]=meshgrid(r,t);
xx=rr.*cos(tt);
yy=rr.*sin(tt);
a=(rr/6-1/8-1./(24*rr.^2 )).*cos(tt);
subplot(2,1,1)
surf(xx,yy,a)
colorbar
subplot(2,1,2)
surf(xx,yy,a)
colorbar
view(2)





11 Tensión de Von Mises

Conociendo que la tensión de Von Mises se define como:

Fórmula de Von Mises

siendo \(\ σ_{i}\) con i=1,2,3 los autovalores de σ (también son conocidos como tensiones principales)

La tensión de Von Mises es una magnitud escalar que es un indicador para saber cuando un material inicia un comportamiento plástico y no elástico puro

Tensión de Von Mises
h=0.1;
r=[1:h:2];
t=[0:h:pi];
[rr,tt]=meshgrid(r,t);
%Creación de la matriz sigma
s=zeros(3,3);
%Creamos la matriz de von mises 
vm=zeros(32,11); %Tiene un tamaño 32x11 porque es el tamaño del mallado
for i=1:32*11
    rrr=rr(i)';
    ttt=tt(i)';
    s(1,1)=(7*rrr./6-1/2+1./(12*rrr.^2)).*sin(ttt);
    s(1,2)=(rrr/6-1/8-1./(24*rrr.^2 )).*cos(ttt);
    s(2,1)=s(1,2);
    s(2,2)=(5*rrr/6-1/2-1./(12*rrr.^2)).*sin(ttt);
    s(3,3)=(rrr/2-1/4).*sin(rrr);
    [v,d]=eig(s);                                      %Autovalores de la matriz sigma
    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);  %Fórmula de Von Mises
end
%Cambiamos a cartesianas
xx=rr.*cos(tt);
yy=rr.*sin(tt);
surf(xx,yy,vm)
colorbar
view(2)


Como se puede apreciar en la gráfica de la tensión, el punto donde ésta alcanza el mayor valor es en las inmediaciones del punto (0,2)

12 Masa total de la placa

La densidad de la placa viene dada en coordenadas cartesianas
[math] d(x, y) = 1 + x*y*log(1 + x + y^2) [/math]


Chicas este es el q puso el profe como ejemplo

N1=200; N2=100;                  %Number of points
a=-1; b=1; c=0; d=1;             %Extremes of the interval
h1=(b-a)/N1; h2=(d-c)/N2;
u=a:h1:b; v=c:h2:d;              %coordinates of the partition
[uu,vv]=meshgrid(u,v);           %coordinates of the rectangle
f=exp(-uu.^2+vv);                %function
w1=ones(N1+1,1);                 %weights vector
w1(1)=1/2; w1(N1+1)=1/2;
w2=ones(N2+1,1);                 %weights vector
w2(1)=1/2; w2(N2+1)=1/2;
result=h1*h2*w2'*f*w1
y yo cambié varias cosas pero os dejo este q fue el último, creo, el problema q había era las dimensiones de las matrices qno coincidian
N1=600; N2=400;                  %Number of points
a=-3; b=3; c=-1; d=3;             %Extremes of the interval
h1=(b-a)/N1; h2=(d-c)/N2;
u=a:h1:b; v=c:h2:d;              %coordinates of the partition
[uu,vv]=meshgrid(u,v);           %coordinates of the rectangle
f=1+Mx.*My.*log10(1+Mx+My.*My);                %function
w1=ones(N1+1,1);                 %weights vector
w1(1)=1/2; w1(N1+1)=1/2;
w2=ones(N2+1,1);                 %weights vector
w2(1)=1/2; w2(N2+1)=1/2;
result=h1*h2.*w2'.*f.*w1