Diferencia entre revisiones de «Campos y deformaciones en 2D (Grupo 23B)»

De MateWiki
Saltar a: navegación, buscar
Línea 122: Línea 122:
 
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]]
+
[[File:23Bapartado4.jpg|350px|right]]
 
{{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].


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. right

%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].

right

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]. right

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]:

[math] \vec e_{\rho}=\cos \theta \vec i+\sin \theta \vec j [/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]. right

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