Diferencia entre revisiones de «Usuario:Ve.cedillo»
(→Estudio del gradiente de temperaturas) |
(→Estudio del gradiente de temperaturas) |
||
| Línea 104: | Línea 104: | ||
[[Archivo:A8-31.jpg|470px|miniaturadeimagen|izquierda|Campo vectorial del gradiente ]] | [[Archivo:A8-31.jpg|470px|miniaturadeimagen|izquierda|Campo vectorial del gradiente ]] | ||
| − | [[Archivo:A8- | + | [[Archivo:A8-32.png|450px|miniaturadeimagen|derecha|Detalle de la ortogonalidad del gradiente respecto a las curvas de nivel ]] |
== Campo vectorial en los puntos del sólido == | == Campo vectorial en los puntos del sólido == | ||
Revisión del 11:26 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.
Contenido
- 1 Visualización de la placa
- 2 Distribución de temperaturas del sólido
- 3 Estudio del gradiente de temperaturas
- 4 Campo vectorial en los puntos del sólido
- 5 Representación campo de vectores
- 6 Efecto de los desplazamientos
- 7 Estudio de la Divergencia.
- 8 Estudio del Rotacional
- 9 Tensiones normales
- 10 10 Tensiones tangenciales
- 11 Tensión de Von Mises
- 12 Masa total de la placa
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.
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]
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
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]
2º [math] |∇ · u| = sinθ (2ρ − 1)/4 [/math]
Sabemos que la divergencia sigue la siguiente fórmula:
[math]
∇ · u= \frac{1}{ρ}[{\frac{\partial}{\partial ρ}]
[/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]
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 flechasSegú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.
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.
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].
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);
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].
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:
σ(x,y)=λ∇.u.1 + 2με
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.
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.
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
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].
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:
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
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*w1y 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