Campos escalares y vectoriales en elasticidad (Grupo 3B)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Campos escalares y vectoriales en elasticidad (Grupo 3B) |
| Asignatura | Teoría de Campos |
| Curso | 2023-24 |
| Autores | Eladio Rodríguez Rúa Jorge Granadino Aranda Mario Raya Sampere Alejandro Villaverde Carrascosa |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
El trabajo consiste en la visualización de campos escalares y vectoriales en elasticidad. Para ello, se ha utilizado principalmente el programa informático MATLAB que permite ver los cálculos de manera más visual.
Se considera una placa rectangular (en dimensión 2) que ocupa la región [math](x, y)∈[-1, 1] × [0, 12][/math].
En ella se supone que hay dos cantidades físicas definidas: La temperatura [math]T(x,y) [/math] que viene dada por:La fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio de los puntos de la misma dado por el vector:
donde [math]\vec {a}[/math] se conoce como aplitud, [math] k\gt0 [/math] es el número de onda, [math]\vec {d}[/math] es un vector unitario que marca la dirección de propagación y [math] v [/math] es la velocidad de propagación.
La variable [math] t [/math] representa el tiempo que se detiene en [math] t = 0 [/math] en los primeros 10 apartados de este trabajo. De manera que, solo para los primeros apartados:
Se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. En particular se toma:
Contenido
- 1 Dibujo del mallado
- 2 Dibujo de las curvas de nivel de la temperatura
- 3 Ley de Fourier
- 4 Dibujo del campo de vectores
- 5 Dibujo del sólido antes y después del desplazamiento
- 6 Cálculo y dibujo de la divergencia
- 7 Cálculo y dibujo del rotacional
- 8 Dibujo de las tensiones normales
- 9 Cálculo de las tensiones tangenciales
- 10 Dibujo de la tensión de Von Mises
- 11 Cálculo de la velocidad de propagación
- 12 Dibujo de la función
1 Dibujo del mallado
En primer lugar dibujamos el mallado para representar los puntos interiores del sólido, tomando los ejes del rectángulo [-1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.
% Mallado interior de la figura:
%definimos el paso de muestreo y las variables
h = 2/10;
x = -1:h:1;
y = 0:h:12;
%se realiza el mallado
[X,Y] = meshgrid(x,y);
mesh(X,Y,0*X);
%se define el rango de visión de la gráfica
axis([-10,10,-0.5,12.5]);
view(2)
%se pone título a la gráfica
title('Representación del mallado')
%se pone nombre a los ejes
xlabel('Eje x')
ylabel('Eje y')
2 Dibujo de las curvas de nivel de la temperatura
A continuación dibujamos mediante colores las curvas de nivel de la temperatura, que viene dada por el campo escalar [math]T(x,y) = 3log(1+(x-1)^2) + log(1+(y-8)^2)[/math]. Los colores azulados representan las zonas más frías, mientras que las zonas más cálidas tienen tonos más amarillentos y anaranjados. En la gráfica podemos ver los puntos más próximos a la temperatura máxima.
% Curvas de nivel:
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%se realiza el mallado
[X,Y]=meshgrid(x,y);
%la temperatura viene dada por la siguiente función
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
figure
%dibujamos las curvas de nivel
contour(X,Y,T,40)
%barra de indicación de colores
colorbar
%se define el rango de visión de la gráfica
axis([-10,10,-0.5,12.5])
MaxTemp=max(max(T));
%se pone título a la gráfica
title('Curvas de nivel')
3 Ley de Fourier
De acuerdo con la Ley de Fourier, la energía calorífica [math] \vec{Q} [/math] viaja de acuerdo con la formula [math]\vec Q [/math] [math] = −k \nabla T[/math]. Donde [math] k [/math] es la constante de conductividad térmica de la placa, que supondremos que es [math] k = 1 [/math].
Para la resolución de este apartado se reutilizará el código del apartado anterior y se hará uso de la función gradiente propia del programa MATLAB. Se puede comprobar en la gráfica que existe ortogonalidad entre el gradiente y las curvas de nivel del campo de temperatura.
% Energía calorífica:
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%definimos el mallado y la temperatura
[X,Y]=meshgrid(x,y);
figure(1)
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
%dibujamos las curvas de nivel
contour(X,Y,T)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%barra de indicación de colores
colorbar
%cálculo y representación del gradiente
hold on
[Px,Py]=gradient(T)
figure(1)
quiver(X,Y,Px,Py)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%se pone título a la gráfica
title('Gradiente de la Placa')
4 Dibujo del campo de vectores
Se pide dibujar el campo de vectores en los puntos del mallado del sólido, en [math] t = 0 [/math]. Comenzamos definiendo todas las variables incluyendo la función temperatura y el mallado. A continuación, se calcula y se representa el gradiente en la gráfica.
% Campo de vectores de desplazamiento:
%definimos el paso de muestreo y las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%definimos el mallado
[X,Y]=meshgrid(x,y);
%definimos la temperatura
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
%cálculo y representación del gradiente
hold on
[Px,Py]=gradient(T);
%ley de Fourier
Qx=-k.*Px;
Qy=-k.*Py;
quiver(X,Y,Qx,Qy)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%se pone título a la gráfica
title('Campo de vectores en t=0')
5 Dibujo del sólido antes y después del desplazamiento
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
[X,Y]=meshgrid(x,y);
hold on
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
quiver(X,Y,Ux,Uy)
axis([-5,5,-0.5,12.5])
view(2)
6 Cálculo y dibujo de la divergencia
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
[X,Y]=meshgrid(x,y);
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
figure
subplot(1,2,1)
surf(X,Y,0.*X)
axis([-5,5,-0.5,12.5])
view(2)
subplot(1,2,2)
surf(X+Ux,Y+Uy,0.*X)
axis([-5,5,-0.5,12.5])
view(2)
7 Cálculo y dibujo del rotacional
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
[X,Y]=meshgrid(x,y);
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
div=divergence(X,Y,Ux,Uy);
MaxD=max(max(div));
MinD=min(min(div));
surf(X,Y,div)
colorbar
axis([-2.5,2.5,-0.5,12.5,0,0.5])
8 Dibujo de las tensiones normales
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
[X,Y]=meshgrid(x,y);
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
[Rz,V]=curl(X,Y,Ux,Uy);
MaxR=max(max(Rz));