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: [math] \vec a=\frac{\vec i}{10}, \qquad \vec b= \pi \vec j, \qquad t=0. [/math] En este caso, [math]\vec u(x,y)=\frac{\cos(\pi y)}{10}\vec i[/math].
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio de los puntos de la misma dado por el vector:
La variable t representa el tiempo que congelaremos en t=0 en los primeros apartados de este trabajo de manera que supondremos, para los primeros apartados,
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular:
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 >>>');