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:
subplot(2,1,1)
%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);
%se define la temperatura
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
%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([-5,5,-0.5,12.5])
title('Curvas de nivel')
xlabel('Eje x')
ylabel('Eje y')
% Gradiente de la placa:
subplot(2,1,2)
%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);
%se define la temperatura
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
%dibujamos las curvas de nivel
contour(X,Y,T)
axis([-5,5,-0.5,12.5])
view(2)
colorbar
%se calcula el gradiente en la misma gráfica
hold on
[Px,Py]=gradient(T)
quiver(X,Y,Px,Py)
axis([-5,5,-0.5,12.5])
view(2)
title('Gradiente de la placa')
xlabel('Eje x')
ylabel('Eje y')
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.
% Cálculo de la energía calorífica:
%definimos el paso de muestreo y las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
%se define la temperatura
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
hold on
%cálculo del gradiente
[Px,Py]=gradient(T);
%ley de Fourier
Qx=-k.*Px;
Qy=-k.*Py;
%campo de vectores
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('Energía calorífica')
%se pone nombre a los ejes
xlabel('Eje x')
ylabel('Eje y')
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:
%definimos las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
hold on
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
%campo de vectores
quiver(X,Y,Ux,Uy)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%titulamos la gráfica y los ejes
title('Campo de vectores en t=0')
xlabel('Eje x')
ylabel('Eje y')
5 Dibujo del sólido antes y después del desplazamiento
% Desplazamiento y comparación:
%antes del desplazamiento
h=2/10;
x=-1:h:1;
y=0:h:12;
subplot(2,2,1)
[X,Y] = meshgrid(x,y);
mesh(X,Y,0*X);
axis([-5,5,-0.5,12.5])
view(2)
title('Situación inicial')
xlabel('Eje x')
ylabel('Eje y')
axis equal
%después del desplazamiento
subplot(2,2,2)
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
mesh(X+Ux,Y+Uy,0.*X)
axis([-5,5,-0.5,12.5])
view(2)
title('Situación final')
xlabel('Eje x')
ylabel('Eje y')
axis equal
%comparación
subplot(2,2,3)
plot3(X,Y,0.*X,X+Ux,Y+Uy,0.*X)
axis([-5,5,-0.5,12.5])
view(2)
title('Comparación')
xlabel('Eje x')
ylabel('Eje y')
axis equal
%campo de vectores
subplot(2,2,4)
quiver(X,Y,Ux,Uy)
axis([-5,5,-0.5,12.5])
view(2)
title('Campo de Vectores')
xlabel('Eje x')
ylabel('Eje y')
axis equal
6 Cálculo y dibujo de la divergencia
A continuación calcularemos la divergencia del campo [math] \vec u [/math], que es una medida del cambio de volumen local debido al desplazamiento. La podemos calcular gracias a la siguiente expresión:
% Cálculo y dibujo de la divergencia
%definimos las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
%cálculo de la divergencia
div=divergence(X,Y,Ux,Uy);
MaxD=max(max(div));
MinD=min(min(div));
surf(X,Y,div)
%barra de indicación de colores
colorbar
%se define el rango de visión de la gráfica
axis([-2.5,2.5,-0.5,12.5,0,0.5])
title('Divergencia')
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
7 Cálculo y dibujo del rotacional
En este apartado buscamos calcular el rotacional del campo [math]\vec u[/math] de los puntos del sólido en t=0. Para el calculo del rotacional utilizamos los siguientes cálculos:
En nuestro caso tenemos:
Siendo el módulo:
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));
8 Dibujo de las tensiones normales
9 Cálculo de las tensiones tangenciales
En este apartado, calcularemos las tensiones tangenciales respecto al plano ortogonal a [math]\vec {i}[/math], es decir, [math]|\sigma\cdot \vec{i} - (\vec{i}\cdot \sigma \cdot \vec{i}) \cdot \vec{i}|.[/math]
10 Dibujo de la tensión de Von Mises
En este apartado vamos a trabajar con la fórmula de Von Mises, la tensión viene dada por la siguiente expresión:
donde [math] \sigma_1 [/math], [math] \sigma_2 [/math] y [math] \sigma_3 [/math] son los autovalores de [math] \sigma [/math], también conocidos como tensiones principales. La tensión de Von Mises es una magnitud escalar que se suele usar como indicador para saber cuándo un material inicia un comportamiento plástico.
11 Cálculo de la velocidad de propagación
Para este apartado, vamos a usar la ecuación de la elasticidad lineal, definida porDefinimos primeramente la función [math]\vec{u}(x,y)=\frac{x}{3}sen(\frac{π}{3}-vt)·\vec{i}[/math].
12 Dibujo de la función
En el último aparatado calcularemos el módulo del desplazamiento transversal (dada por la dirección [math] \vec i [/math]) a lo largo del tiempo en el intervalo t € [0,10].
h=2/10;
mu=1;
lambda=-mu;
v=sqrt(mu/144);
t=0:h:10;
x=-1:h:1;
y=0:h:12;
[X,Y]=meshgrid(x,y);
x0=1/2;
y0=1;
u=x0/3*sin((pi*y0/12)-pi.*t.*v);
%creamos la gráfica
figure
%tazamos la función en función del tiempo
plot(t,u);
%Titulamos la gráfica y sus ejes
title('Función u en función del tiempo');
xlabel('Tiempo (s)');
ylabel('Valor de la función');
% Mostrar la cuadrícula
grid on;