Diferencia entre revisiones de «Campos y deformaciones en 2D (Grupo 23B)»
| Línea 78: | Línea 78: | ||
clear | clear | ||
clc | 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 122: | Línea 121: | ||
El campo en cilíndricas es el siguiente: <math> \vec u(\rho,\theta)=\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\vec e_{\rho } </math>. El campo en cartesianas nos queda: | El campo en cilíndricas es el siguiente: <math> \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(\rho,\theta)=\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\cos\theta \vec i+\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\sin\theta \vec j </math> | + | <math> \vec u(\rho,\theta)=\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\cos\theta \vec i+\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\sin\theta \vec j </math>. |
| − | [[File:23Bapartado4.jpg|350px|right]] | + | <center> [[File:23Bapartado4.jpg|350px|right]] <\center> |
{{matlab|codigo= | {{matlab|codigo= | ||
clear | clear | ||
Revisión del 12:54 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 x e y.
%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,My*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 aproximados de máxima temperatura: [-1.3,1.5] y [1.4,1.4].
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,My*0);
%campo que define la temperatura
T=Mx.^2+(My-1).^2;
%dibujamos 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]);
%barra de indicación de colores
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].
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);
Mz=0*My;
mesh(Mx,My,Mz);
T=Mx.^2+(My-1).^2;
surf(Mx,My,T)
axis([-3,3,-1,3]);
view(2)
title('Campo de temperaturas');
contour(Mx,My,T)
axis([-3,3,-1,3]);
view(2)
hold on
colorbar
%para que se inserten los graficos de las curvas de nivel y el gradiente en un mismo dibujo
hold on
%vectores del gradiente
Mxx=2*Mx;
Myy=2*(My-1);
%campo vectorial en 2D
quiver(Mx,My,Mxx,Myy);
%centramos los ejes
axis equal
%elegimos los limites de los ejes
axis([-3,3,-1,3]);
view(2)
title('Gradiente de T')
hold off
hold off
4 Dibujo del 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}[/math]:
El campo en cilíndricas es el siguiente: [math] \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(\rho,\theta)=\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\cos\theta \vec i+\frac{\rho}{20}\sin(6(\theta-\frac{\pi}{4}))\sin\theta \vec j [/math].
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);
subplot(1,2,1);
mesh(Mx,My,My*0);
axis([-3,3,-1,3]);
view(2)
title('Campo u')
xlabel ('Eje x')
ylabel ('Eje y')
hold on
mx=(ro.*sin(6.*(teta-pi/4)).*cos(teta))/20;
my=(ro.*sin(6.*(teta-pi/4)).*sin(teta))/20;
%aplicamos el comando quiver para representar nuestro campo
quiver(Mx,My,mx,my);
axis([-3,3,-1,3]);
hold off