Diferencia entre revisiones de «Campos y deformaciones en 2D (Grupo 23B)»
| Línea 14: | Línea 14: | ||
[[File:23Bapartado1.jpg|350px|right]] | [[File:23Bapartado1.jpg|350px|right]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| + | %limpieza de programas anteriores | ||
| + | clear | ||
| + | clc | ||
%mallado interior placa rectangular | %mallado interior placa rectangular | ||
%espesor de la curva y sus subdivisiones | %espesor de la curva y sus subdivisiones | ||
| Línea 39: | Línea 42: | ||
[[File:23Bapartado2.jpg|600px|right]] | [[File:23Bapartado2.jpg|600px|right]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| + | clear | ||
| + | clc | ||
u=1:0.1:2; | u=1:0.1:2; | ||
v=pi/4:0.1:(3*pi)/4; | v=pi/4:0.1:(3*pi)/4; | ||
| Línea 46: | Línea 51: | ||
mesh(Mx,My,Mz*0); | mesh(Mx,My,Mz*0); | ||
| − | % | + | %campo que define la temperatura |
| − | T=Mx.^2+(My-1).^2; | + | T=Mx.^2+(My-1).^2; |
| − | % | + | %dibujar las curvas de nivel con el comando contour |
| − | subplot(2,1,1) % | + | %este gráfico se coloca en la fila de arriba |
| − | surf(Mx,My,T)% | + | subplot(2,1,1) |
| − | axis([-3,3,-1,3]); | + | %aplicamos la función al mallado con un degradado de colores |
| − | + | surf(Mx,My,T) | |
| + | %dibujamos la curva entre los ejes dados | ||
| + | axis([-3,3,-1,3]); | ||
| + | %para verlo desde arriba | ||
| + | view(2) | ||
title('Campo de temperaturas'); | title('Campo de temperaturas'); | ||
subplot(2,1,2) | subplot(2,1,2) | ||
| − | contour(Mx,My,T) | + | %líneas de nivel |
| + | contour(Mx,My,T) | ||
axis([-3,3,-1,3]); | axis([-3,3,-1,3]); | ||
view(2) | view(2) | ||
Revisión del 12:09 2 dic 2022
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Campos y deformaciones en 2D (Grupo 23B) |
| Asignatura | Teoría de Campos |
| Curso | 2022-23 |
| Autores | Pablo Ramos Bartol Irene Serra García Marc Torres Vidal Teresa Chiara Vegetti Sanmamed |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
El trabajo correspondiente a nuestro grupo es el número 5, que consiste en el estudio de campos y deformaciones en dos dimensiones.
Consideraremos una placa plana que ocupa un cuarto de un anillo circular centrado en el origen y comprendido entre los radios 1 y 2, en el plano y ≥ |x|, por lo que trabajaremos en coordenadas cilíndricas. Físicamente representa la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada.
En ella, vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura [math] T(x,y) [/math], que viene dada por [math] T(x,y) = x^2 + (y-1)^2 [/math], y los desplazamientos [math] \vec u(\rho,\theta) [/math], producidos por la acción de una fuerza [math] \vec u(\rho,\theta)=\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\vec e_{\rho } [/math].
De esta forma, si definimos [math] \vec r_{0}(x,y)=x \vec i+y\vec j [/math] como el vector posición de los puntos de la placa antes de la deformación, la posición de cada punto [math] (x,y) [/math] de la placa después de la deformación vendrá dada por [math] \vec r_{d}(x,y)=\vec r_{0}(x,y)+\vec u(x,y) [/math].
Contenido
1 Dibujo del sólido
Comenzaremos dibujando un mallado que represente los puntos interiores del sólido, tomando los ejes en el cuadrado [-3; 3] × [-1; 3] y como paso de muestreo h = 1/10 para las variables [math] x [/math] e [math] y [/math].
%limpieza de programas anteriores
clear
clc
%mallado interior placa rectangular
%espesor de la curva y sus subdivisiones
u=1:0.1:2;
%ángulos en los que se secciona la curva
v=pi/4:0.1:(3*pi)/4;
%mallado
[ro,teta]=meshgrid(u,v);
%paso de cilíndricas a cartesianas
Mx=ro.*cos(teta);
My=ro.*sin(teta);
%Mz tiene que ser una matriz nula del mismo tamaño para estar en la cota 0
mesh(Mx,My,Mz*0);
axis([-3,3,-1,3]);
view(2)
title('Representación del mallado')
xlabel ('Eje x')
ylabel ('Eje y')
2 Dibujo curvas de nivel
Ahora dibujaremos también las curvas de nivel de la temperatura, que viene dada por el campo escalar [math] T(x,y) = x^2 + (y-1)^2 [/math]. Podemos observar la variación de los colores en función de la temperatura. En la zona más fría se emplean tonos azules, mientras que en la zona más cálida se utilizan tonos amarillentos. En la gráfica, encontramos los puntos de máxima temperatura: [a,b] y [a,b].
clear
clc
u=1:0.1:2;
v=pi/4:0.1:(3*pi)/4;
[ro,teta]=meshgrid(u,v);
Mx=ro.*cos(teta);
My=ro.*sin(teta);
mesh(Mx,My,Mz*0);
%campo que define la temperatura
T=Mx.^2+(My-1).^2;
%dibujar las curvas de nivel con el comando contour
%este gráfico se coloca en la fila de arriba
subplot(2,1,1)
%aplicamos la función al mallado con un degradado de colores
surf(Mx,My,T)
%dibujamos la curva entre los ejes dados
axis([-3,3,-1,3]);
%para verlo desde arriba
view(2)
title('Campo de temperaturas');
subplot(2,1,2)
%líneas de nivel
contour(Mx,My,T)
axis([-3,3,-1,3]);
view(2)
colorbar
3 Cálculo y dibujo del gradiente
A continuación, calcularemos el gradiente y lo representaremos. Podemos ver gráficamente cómo los vectores resultantes son ortogonales a las curvas de nivel ahora ya conocidas. La razón de esto es que el gradiente muestra la dirección máxima de variación en cada punto.
[math] \nabla T=2x\vec i+2(y-1)\vec j [/math]
%Cálculo del gradiente
u=1:0.1:2;
v=0:0.1:pi;
[ro,teta]=meshgrid(u,v);
figure(1)
xx=ro.*cos(teta);
yy=ro.*sin(teta);
mesh(xx,yy,yy*0);
figure(1)
T=xx.^2+(yy-1).^2;
%Dibujar las curvas de nivel (contour)
contour(xx,yy,T)
view(2)
hold on
colorbar
hold on
%representación del gradiente
u=1:0.1:2;
v=0:0.1:pi;
[ro,teta]=meshgrid(u,v);
figure(1)
xx=ro.*cos(teta);
yy=ro.*sin(teta);
mx=2*xx;
my=2*(yy-1);
quiver(xx,yy,mx,my);
axis equal
axis([-3,3,-1,3]);
view(2)
title('Gradiente de T')
4 Dibujo campo de vectores
Posteriormente, vamos a dibujar el campo de vectores en los puntos del mallado de la placa, tomando el campo dado en el enunciado. Se ha realizado un cambio de coordenadas cilíndricas a cartesianas, conociendo la expresión del vector [math]\vec e_{\rho}\lt\math\gt:
\vec e_{\rho}=\cos \theta \vec i+\sin \theta \vec j
El campo en cilíndricas es el siguiente:
\ltmath\gt \vec u(\rho,\theta)=\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\vec e_{\rho } [/math]
El campo en cartesianas nos queda:
[math] \vec u(x,\theta)= [/math]
%Campo de vectores en el mallado del sólido
u=1:0.1:2;
v=0:0.1:pi;
[ro,teta]=meshgrid(u,v);
xx=ro.*cos(teta);
yy=ro.*sin(teta);
mesh(xx,yy,yy*0);
figure(1)
mx=yy/20;
my=yy/10;
mesh(xx,yy,yy*0);
hold on
quiver(xx,yy,mx,my);
axis([-3,3,-1,3]);
view(2)
title('Campo U')