Onda transversal plana a través de una placa rectangular
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Onda transversal plana a través de una placa rectangular. Grupo 12 |
| Asignatura | Teoría de Campos |
| Curso | 2025-26 |
| Autores |
|
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Consideramos una placa rectangular plana (en dimensión 2) que ocupa la región [math](x, y) ∈ [-1/2, 1/2]×[0, 4][/math].
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura [math]T(x, y, t)[/math], que depende de las dos variables espaciales [math](x, y)[/math], y del tiempo t, y los desplazamientos [math]\vec{u}(x, y, t)[/math]. De esta forma, si definimos [math]\vec{r_{0}}(x, y)= x \vec{i} + y \vec{j} [/math] el vector de posición de los puntos de la placa en reposo, la posición de cada punto [math](x, y)[/math] de la placa en un instante de tiempo t viene dada porSi [math]\vec{a} [/math] es paralelo a [math]\vec{b} [/math] diremos que la onda es longitudinal mientras que si es perpendicular hablaremos de onda transversal. En este trabajo vamos a centrarnos en las ondas transversales. Supondremos lo siguiente:
En este caso, [math]\vec u(x,y)=\frac{\cos(\pi y)}{10}\vec i[/math].
Contenido
- 1 Dibujo del mallado que representa los puntos interiores del sólido.
- 2 Curvas de nivel de la temperatura
- 3 Cálculo de energía calorífica con la Ley de Fourier
- 4 Campo de vectores en el sólido
- 5 Representación gráfica del desplazamiento del sólido
- 6 Divergencia [math]∇·\vec{u}[/math]
- 7 Rotacional [math]\left | ∇ \times \vec{u} \right |[/math]
- 8 Tensor de tensiones
- 9 Tensiones tangenciales al plano ortogonal a [math]\vec{i}[/math]
- 10 Tensión de Von Mises
- 11 Campo de fuerzas que actúa sobre la placa
- 12 Módulo del desplazamiento transversal
1 Dibujo del mallado que representa los puntos interiores del sólido.
Esta grafica muestra el mallado de la placa y el código utilizado en MatLab para obtenerlo. Un breve resumen del funcionamiento del codigo seria:
- La primera línea del código utiliza algo basico en Matlab,que es el uso del clear y el clc para que se borren todas las variables anteriormente usadas y no causen confusión
- En las dos siguientes lineas de codigo discretizamos las variables x1 e y1.
- En la cuarta y en la quinta línea escribimos los comandos para crear el mallado.
- Finalmente las dos penúltimas lineas servirán para nombrar a los ejes x e y respectivamente, mientras que las últimos dos sirven para añadirle un título a nuestra gráfica y visualizar en planta nuestra placa.
clear;clc;
x1=-1:0.2:1;
y1=0:0.2:12;
[x2,y2]=meshgrid(x1,y1);
mesh(x2,y2,x2*0);
axis equal
axis([-1,1,0,12]);
xlabel('Eje X');
ylabel('Eje Y');
title('Placa rectangular');
view(2);
2 Curvas de nivel de la temperatura
La siguiente grafica representa las curvas de nivel de la temperatura.
en este caso sería:
La temperatura máxima alcanzada es de 4.8675 y se alcanza en los puntos (61,1) y (61,61)
clear;clc;
x1=-1:0.2:1;
y1=0:0.2:12;
[x2,y2]=meshgrid(x1,y1);
T= log(1+(x2).^2)+log(1+(y2-4).^2);
axis([-1,1,0,12]);
hold on
U=(2.*x2./(x2.^2+1));
V=(2.*(y2-4))./((y2-4).^2+1);
quiver(x1,y1,U,V);
xlabel('Eje X')
ylabel('Eje Y')
title('Gradiente')
contour(x2,y2,T,30)
colorbar
hold off
x=max(max(T)) %te da el valor máximo de la temperatura
find(T==x) %te dice donde se encuentra este valor contando todos los valores en columnas
3 Cálculo de energía calorífica con la Ley de Fourier
De acuerdo a la Ley de Fourier la energía calorífica [math] \vec{Q} [/math] viaja de acuerdo a la fórmula [math] \vec{Q}=−κ∇T [/math], donde [math] κ [/math] es la constante de conductividad térmica de la placa que supondremos [math] κ=1 [/math]. Para poder calcular la energía calorífica, primero debemos de calcular el gradiente de la temperatura, que viene dada por:Una vez calculado, se procede a dibujarlo utilizando Matlab:
% Se establecen las variables.
h=0.2;
x=-1:h:1;
y=0:h:12;
[Mx,My]=meshgrid(x,y);
T=(log10(1+Mx.^2)+log10(1+(My-4).^2));
% Derivada parcial respecto de Mx.
Fx=((-2.*Mx)./(log(10).*(1+Mx.^2)));
% Derivada parcial respecto de My.
Fy=((-2.*(My-4))./(log(10).*(1+(My-4).^2)));
figure(3)
% Curvas de nivel.
contour(Mx,My,T,30);
hold on
% Gradiente.
quiver(Mx,My,Fx,Fy);
hold off
% Título a la gráfica.
title('Gradiente');
% Nombre de los ejes.
xlabel('Eje de las X');
ylabel('Eje de las Y');
% Equidistancia de los ejes.
axis equal;
4 Campo de vectores en el sólido
Se utilizarán los datos obtenidos en apartados anteriores, así como en el enunciado, y por lo tanto, se tiene que [math] ux=\frac{1}{3}sin(\frac{π}{3}y) [/math] y [math] uy=0 [/math]. A continuación se adjunta el resultado gráfico, así como el código utilizado en Matlab:
% Se establecen las variables.
h=2/10;
x=[-1:h:1];
y=[0:h:12];
[Mx,My]=meshgrid(x,y);
uy=0.*Mx;
ux=(1/3).*sin(/pi/3).*My);
figure(4)
mesh(Mx,My,0.*My)
hold on
% Campo de vectores.
quiver(Mx,My,ux,uy);
hold off
% Título de la gráfica.
title('Campo de vectores en t=0');
% Nombre de los ejes.
xlabel('Eje de las X');
ylabel('Eje de las Y');
% Equidistancia de los ejes.
axis equal;
% Rango de visión de la gráfica.
axis([-1.5,1.5,-0.5,12.5]);
5 Representación gráfica del desplazamiento del sólido
A continuación se incluye la representación del sólido previa al movimiento y después del movimiento (en [math]t = 0[/math]), así como una figura que contiene la representación del sólido previa y tras el desplazamiento, para lo que se ha utilizado el comando subplot. Se han utilizado datos definidos en el apartado anterior, en concreto, [math] ux=\frac{1}{3}sin(\frac{π}{3}y) [/math] y [math] uy=0 [/math]. También se adjunta el programa de Matlab utilizado para la representación.
% Se establecen las variables.
h=2/10;
x=[-1:h:1];
y=[0:h:12];
[Mx,My]=meshgrid(x,y);
uy=0.*Mx;
ux=(1/3).*sin((pi/3).*My);
figure(5)
% Situación inicial
subplot(2,2,1)
mesh(Mx,My,Mx*0);
% Título de la gráfica.
title('Antes del desplazamiento');
% Se da nombre a los ejes.
xlabel('Eje de las X');
ylabel('Eje de las Y');
% Equidistancia a los ejes.
axis equal;
% Rango de visión de la gráfica.
axis([-1.5,1.5,-0.5,12.5]);
view(2)
%Situación tras el desplazamiento
subplot(2,2,2)
mesh(Mx+ux,My+uy,0*My);
% Título de la gráfica.
title('Después del desplazamiento');
%Nombre de los ejes.
xlabel('Eje de las X');
ylabel('Eje de las Y');
%Equidistancia a los ejes.
axis equal;
%Rango de visión de la gráfica.
axis([-1.5,1.5,-0.5,12.5]);
view(2)
%Comparación de las dos situaciones
subplot(2,2,3)
%Antes del desplazamiento de color rojo
mesh(Mx,My,Mx*0,'EdgeColor','red');
hold on
mesh(Mx+ux,My+uy,0*My);
hold off
%Título de la gráfica.
title('Comparación del desplazamiento');
%Nombre de los ejes.
xlabel('Eje de las X');
ylabel('Eje de las Y');
%Equidistancia de los ejes.
axis equal;
% Rango de visión de la gráfica.
axis([-1.5,1.5,-0.5,12.5]);
view(2)
6 Divergencia [math]∇·\vec{u}[/math]
Para calcular la divergencia usaremos la siguiente formula: [math]\ \nabla \cdot \vec u =\frac{\partial \vec u_1}{\partial x} + \frac{\partial \vec u_2}{\partial y} + \frac{\partial \vec u_3}{\partial z} [/math] usada para calcular la divergencia en campos escalares.
Siendo en [math]t=0[/math]: [math]\vec u = \frac{1}{3}\sin \left ( \frac{π}{3} y\right )\vec{i} + 0\vec{j} + 0\vec{k}[/math]
[math]\ \nabla \cdot \vec u = 0[/math]
La divergencia da 0, por lo tanto, como se puede observar en la grafica, no hay cambio de volumen debido al desplazamiento, al ser este nulo en todos sus puntos.
clear;clc;
% Definimos las variables x e y.
h=2/10;
x=-1:h:1;
y=0:h:12;
[Mx,My]=meshgrid(x,y);
% Introducimos la divergencia que da cero.
D=0.*Mx+0.*My;
surf(Mx,My,D)
shading flat
% Damos un título a la gráfica.
title('Representación de la divergencia en la placa');
% Nombramos los ejes.
xlabel('Eje X');
ylabel('Eje Y');
% Se da equidistancia a los ejes.
axis equal;
% Fijamos el rango de visión.
axis([-1,1,0,12]);
% Aplicamos una escala de colores.
colorbar;
view(2)
h=2/10;
7 Rotacional [math]\left | ∇ \times \vec{u} \right |[/math]
Para calcular el rotacional usaremos la siguiente formula: [math]∇ × \vec{u}= \begin{vmatrix}\vec{i} & \vec{j}& \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y}& \frac{\partial }{\partial z}\\ u_{1}& u_{2}& u_{3} \end{vmatrix}[/math] Usada para calcular el rotacional en campos escalares.
Siendo en [math]t=0[/math]: [math]\vec u = \frac{1}{3}\sin \left ( \frac{π}{3} y\right )\vec{i} + 0\vec{j} + 0\vec{k}; [/math] [math]∇ × \vec{u}[/math] = [math]\begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y} &\frac{\partial }{\partial z} \\ 0 & \frac{1}{3}\sin \left ( \frac{π}{3} y\right ) & 0\end{vmatrix} = \frac{π}{9}\cos \left ( \frac{π}{3} y\right )\vec{k}; [/math]
Buscamos el modulo: [math]|∇ × \vec{u}|= \frac{π}{9}\cos \left ( \frac{π}{3} y\right )[/math]
En la grafica se puede apreciar que los puntos de mayor rotacional son los pertenecientes a las rectas [math] y=0; y=6; y=12 [/math], representadas en amarillo.
clear;clc;
% Definimos las variables x e y.
h=2/10;
x=-1:h:1;
y=0:h:12;
[Mx,My]=meshgrid(x,y);
% Introducimos el rotacional.
R=pi/9*cos(pi*My/3);
surf(Mx,My,R)
shading flat
% Damos un título a la gráfica.
title('Representación del modulo del rotacional en la placa');
% Nombramos los ejes.
xlabel('Eje X');
ylabel('Eje Y');
% Se da equidistancia a los ejes.
axis equal;
% Fijamos el rango de visión.
axis([-1,1,0,12]);
% Aplicamos una escala de colores.
colorbar;
view(2)
h=2/10;
8 Tensor de tensiones
Para la realización de este apartado introduciremos dos nuevos conceptos: el tensor de deformaciones, Ԑ, y el tensor de tensiones, σ, definidos a continuación,donde Ԑ será la parte simétrica del tensor [math]∇·\vec{u}[/math]; 1 es el tensor identidad en [math]R^3[/math], y ([math]λ[/math], [math]µ[/math]) son los llamados coeficientes de Lamé, que determinan las características elásticas de cada material. Para este caso tomaremos que [math]λ=µ=1[/math]. Se hallaran las tensiones normales en la dirección de los ejes cartesianos, y se graficarán en caso de ser no nulas.
Recordando el vector [math]\vec{u}=(\frac{1}{3}sen(\frac{π}{3}y) , 0 , 0)[/math] previamente definido, el primer paso será calcular su gradiente:
Con estos resultados, calculamos el tensor de deformaciones:
Con la divergencia del campo hallada previamente, [math]∇·\vec{u}=0[/math], definimos el tensor de tensores, para luego calcular las tensiones normales a los ejes.
[math]\vec{i}·σ·\vec{i}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} 0 & \frac{π}{9}cos(\frac{π}{3}y) & 0\\ \frac{π}{9}cos(\frac{π}{3}y) & 0 & 0\\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} 1 & 0 & 0 \end{pmatrix}=\begin{pmatrix} 0 & \frac{π}{9}cos(\frac{π}{3}y) & 0 \end{pmatrix}\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}=0[/math]
[math]\vec{j}·σ·\vec{j}=\begin{pmatrix} 0 & 1 & 0 \end{pmatrix}\begin{pmatrix} 0 & \frac{π}{9}cos(\frac{π}{3}y) & 0\\ \frac{π}{9}cos(\frac{π}{3}y) & 0 & 0\\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} 0 & 1 & 0 \end{pmatrix}=\begin{pmatrix} \frac{π}{9}cos(\frac{π}{3}y) & 0 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 & 0 \end{pmatrix}=0[/math]
[math]\vec{k}·σ·\vec{k}=\begin{pmatrix} 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} 0 & \frac{π}{9}cos(\frac{π}{3}y) & 0\\ \frac{π}{9}cos(\frac{π}{3}y) & 0 & 0\\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} 0 & 0 & 1 \end{pmatrix}=\begin{pmatrix} 0 & 0 & 0 \end{pmatrix}\begin{pmatrix} 0 & 0 & 1 \end{pmatrix}=0[/math]
Atendiendo al resultado observamos como el valor de las tensiones obtenidas es cero. Esto implica la inexistencia de dichas tensiones, y la imposibilidad de trazarlas en un gráfico.
9 Tensiones tangenciales al plano ortogonal a [math]\vec{i}[/math]
Buscaremos analizar las tensiones que sufre la placa con respecto a la dirección especificada, en t = 0. Para ello, definiremos esta tensión como [math] |σ·\vec{i}−(\vec{i}·σ·\vec{i})\vec{i}|[/math]. Recordando el resultado obtenido anteriormente, [math]\vec{i}·σ·\vec{i}=0[/math], concluimos que la tensión buscada es igual a [math]σ·\vec{i}[/math]. Continuando el desarrollo,
A continuación presentamos una representación gráfica del resultado hallado.
% Definimos las variables
h=1/5;
Pi=3.1415;
x=[-1:h:1];
y=[0:h:12];
[Mx,My]=meshgrid(x,y);
% Establecemos los campos a representar
Tg=(Pi/9)*cos((Pi/3)*My);
quiver(Mx,My,Tg,Tg.*0);
% Le damos formato a la gráfica
title('Tensiones tangenciales al eje i');
axis equal;
xlabel('Eje X');
ylabel('Eje Y');
axis([-5,5,-1,13]);
%proyectamos la gráfica
view(2)
10 Tensión de Von Mises
La Tensión de Von Mises es una magnitud física escalar usada en campos como la ingeniería estructural, calculada a partir de los valores de las tensiones principales de cada punto del espacio, la cual indica la tensión a aplicar a cada punto de un material para que éste inicie su comportamiento plástico.
Sea la Tensión de Von Mises [math] \sigma_{VM} [/math], calculada para un punto P de un sólido deformable, y sean las tensiones principales del tensor tensión para dicho punto [math]\sigma_1, \sigma_2, \sigma_3[/math], correspondientes a los autovalores de [math] \sigma_{ij} [/math], entonces se comprueba que la Tensión de Von Mises viene dada por la siguiente expresión:
[math] \sigma_{VM} = \sqrt{ \frac { ( \sigma_1 - \sigma_2 )^2 + ( \sigma_2 - \sigma_3 )^2 + ( \sigma_3 - \sigma_1 )^2 }{2} }[/math]
Repetimos el código como en anteriores apartados, añadiendo esta vez la función de Von Mises ([math]VonMises[/math]). Asimismo añadimos un bucle donde asignamos los valores de la tensión en cada punto, y finalmente representamos la gráfica.
clear
clc
close all
%definición de las variables
h= 2/10;
x=-1:h:1;
y= 0:h:12;
%matriz de X e Y y de Von Mises
[Mx,My]=meshgrid(x,y);
%definimos la función de Von mises siendo tp1,2,3 las tensiones principales
VonMises=inline('(((tp1-tp2)^2+(tp2-tp3)^2+(tp3-tp1)^2)/2)^(1/2)','tp1','tp2','tp3');
[f,c]=size(Mx);
%asignamos a la matriz MVonM los valores de la tensión
%de Von Mises en cada punto
for i=1:f
for j=1:c
deformaciones=[[0;(pi/9).*cos((pi/3).*My(i,j));0],[(pi/9).*cos((pi/3).*My(i,j));0;0],[0;0;0]];
lamdas=eig(deformaciones);
tp1=lamdas(1,1);
tp2=lamdas(2,1);
tp3=lamdas(3,1);
MVonM(i,j)=VonMises(tp1,tp2,tp3);
end
end
%graficamos
surf(Mx,My,MVonM)
shading interp
axis([-5,5,-0.5,13.5]);
axis equal
title('TensióndeVonMises');
xlabel('Eje X');
ylabel('Eje Y');
zlabel('Eje Z');
view(3);
colorbar;
11 Campo de fuerzas que actúa sobre la placa
El campo de fuerzas [math]\vec{F}[/math] que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal
donde [math]∇ · σ[/math] es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz [math]σ[/math]. Calcular la velocidad de propagación de las ondas [math]v[/math] en términos de las constantes de Lamé, suponiendo que [math]\vec{F} = 0[/math]. Si la onda fuera longitudinal, es decir, tomando [math]\vec{a} = 1/3\vec{j}[/math], ¿cuál sería la velocidad de propagación? Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.
Nuestro vector [math]\vec{u}[/math] es [math]\vec{u}=\vec{a}·sin(k(d·\vec{r0}(x, y)−vt))[/math] Utilizandon los siguients valores: [math]\vec{a}=1/3 \vec{i} [/math], [math]\vec{d}=1/3 \vec{j}[/math] y [math]k=1[/math]. Sustituyendo las componentes dadas quedaría [math]\vec{u}=1/3·sin(\frac{\pi y}{3}-\pi vt)\vec{i})[/math]
Calculando [math]∇ · σ[/math] queda [math]∇ · σ = \frac{\pi ^2}{27} · sen(\frac{\pi y}{3}-\pi vt)\vec{i}[/math]
Derivando:
[math]\frac{∂\vec{u}}{∂t}= -\frac{\pi v}{3}·cos(\frac{\pi y}{3}-\pi vt)\vec{i} [/math]
[math]\frac{∂^2\vec{u}}{∂t^2}= -\frac{\pi ^2 v^2}{3}·sin(\frac{\pi y}{3}-\pi vt)\vec{i}[/math]
Sustituyendo en la ecuación de la elasticidad lineal y despejando la velocidad: [math]\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ[/math], con la cual metiendo los datos obtenidos, suponiendo que [math]\vec{F}=0[/math], obtenemos una velocidad de propagación de las ondas de, [math]\vec{v}=\frac{1}{3}\vec{i}[/math].
Utilizando [math]\vec{a}=\frac{1}{3}\vec{j}[/math], repetiríamos el proceso, obteniendo una velocidad de onda longitudinal de [math]\vec{v}=\frac{1}{\sqrt{3}}\vec{j}.[/math].Es decir, estando en el mismo medio las ondas transversales y longitudinales tienen una velocidad diferente.
12 Módulo del desplazamiento transversal
Para este último apartado se estudiará la trayectoria de un único punto [math] P( \frac{1}{2} , 1) [/math] en los primeros 10 segundos del estudio, [math]t ∈ [0, 10][/math]. Consideraremos la velocidad de propagación definida en el apartado anterior, de forma de que la ecuación [math] \vec{u}(x,y,t) = \frac{1}{3}·sen(\frac{π}{3}·y-πvt) [/math] se convierte en [math]\vec{u}(x,y,t) = \frac{1}{3}·sen(\frac{π}{3}-\frac{π}{3}t)[/math]. Supondremos los coeficientes de Lamé con valor 1 para la presentación del resultado.
Estudiaremos el el movimiento de P con una gráfica posición-tiempo en Matlab a continuación.
% Definimos las variables
h=1/200;
v=1/3;
Pi=3.1415;
t=0:h:10;
tiledlayout(1,2)
nexttile
%Creamos una primera gráfica
x=(1/3)*sin(((Pi/3)-Pi*v*t));
plot(x,t)
title('Desplazamiento relativo - tiempo');
grid on
xlabel('Desplazamiento');
ylabel('>>> Tiempo >>>');
nexttile
%Graficamos teniendo ahora en cuenta P
x2=0.5+(1/3)*sin(((Pi/3)-Pi*v*t));
plot(x2,t)
title('Desplazamiento absoluto - tiempo');
grid on
axis equal
xlabel('Posición (x)');
ylabel('>>> Tiempo >>>');