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) ∈ [0, 4][/math] x [math][\frac{-1}{2}, \frac{1}{2}][/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 Representación de la temperatura.
- 3 Curvas de nivel de la temperatura.
- 4 Campo de vectores en el mallado del sólido.
- 5 Representación del sólido antes y después del desplazamiento.
- 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 Tensiones tangenciales al plano ortogonal a [math]\vec{j}[/math]
- 11 Cálculo de la masa aproximada.
- 12 Aplicaciones a la vida real.
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 código seria:
- La primera línea del código utiliza algo básico 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 líneas tres y cuatro de código discretizamos las variables x e y.
- Posteriormente escribimos los comandos para crear el mallado.
- Las dos penúltimas líneas servirán para dar nombre a los ejes x e y respectivamente e igualar la escala de ejes.
clear;clc;
h=0.1;
x=0:h:4;
y=-0.5:h:0.5;
[X,Y]=meshgrid(x,y);
figure;
hold on
mesh(X,Y,0*X)
xlabel('x'); ylabel('y')
axis equal
hold off2 Representación de la temperatura.
En la gráfica de la temperatura del sólido, se puede observar que el calor se concentra en los puntos cuya distancia al origen es 1, representado en color amarillo.
clear;clc;
h=0.1;
x=0:h:4;
y=-0.5:h:0.5;
[X,Y]=meshgrid(x,y);
ux=(cos(pi*Y))/10 %desplazamiento;
rho=sqrt(X.^2+Y.^2);
T=-log((rho-1).^2+0.1); %temperatura del sólido
figure;
surf(X,Y,T) %creación de la gráfica;
shading interp
colorbar
xlabel('x');ylabel('y');zlabel('z')
view(2)
axis equal
grid on
3 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
4 Campo de vectores en el mallado del 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 del sólido antes y después del desplazamiento.
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}{10}\cos \left ( \ {π}{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} \\ \frac{1}{10}\cos \left ( \ {π}{y} \right ) & 0 & 0\end{vmatrix} = \frac{π}{10}\sin \left ( \ {π}{y} \right )\vec{k}; [/math]
Por lo tanto, el módulo es: [math]|∇ × \vec{u}|= \frac{π}{10}\sin \left ( \ {π}{y} \right )[/math]
En la grafica se puede apreciar que los puntos de mayor rotacional son los pertenecientes a las rectas [math] y=0.5 [/math] e [math] y=2.5 [/math], representadas en el tono más claro de amarillo.
clear;clc;
% Se definen las variables x e y
h=1/10;
x=-0.5:h:0.5;
y=0:h:4;
[Mx,My]=meshgrid(x,y);
% Introducimos el rotacional
R=pi/10*sin(pi*My);
surf(Mx,My,R)
shading flat
% Personalizamos la gráfica
% Título
title('Representación del módulo del rotacional en la placa');
% Nombre en los ejes
xlabel('Eje X');
ylabel('Eje Y');
% Ejes equidistantes
axis equal
% Fijamos el rango de visión
axis([-0.5,0.5,0,4]);
% Escala de colores
colorbar;
view(2)
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]; [math]I[/math] 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 hallarán 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}{10}cos(\ {π}{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:
Y, procedemos al cálculo de las tensiones normales en la dirección que marca el eje [math]vec{i}[/math] y el eje [math]vec{j}[/math].
[math]\vec{i}·σ·\vec{i}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} 0 & \frac{-π}{10}sin(\ {π}y) & 0\\ \frac{-π}{10}sin(\ {π}y) & 0 & 0\\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} 1 & 0 & 0 \end{pmatrix}=\begin{pmatrix} 0 & \frac{-π}{10}sin(\ {π}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{-π}{10}sin(\ {π}y) & 0\\ \frac{-π}{10}sin(\ {π}y) & 0 & 0\\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} 0 & 1 & 0 \end{pmatrix}=\begin{pmatrix} \frac{-π}{10}sin(\ {π}y) & 0 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 & 0 \end{pmatrix}=0[/math]
Atendiendo al resultado observamos como el valor de las tensiones obtenidas es nulo. Esto implica su inexistencia así como la imposibilidad de representarlas.
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=0.1;
Pi=3.1415;
x=[0:h:4];
y=[-1/2:h:1/2];
[Mx,My]=meshgrid(x,y);
% Establecemos los campos a representar
Tg=(-Pi/10)*sin(Pi*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([-1,5,-2,2]);
%proyectamos la gráfica
view(2)
10 Tensiones tangenciales al plano ortogonal a [math]\vec{j}[/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{j}−(\vec{j}·σ·\vec{j})\vec{j}|[/math]. Recordando el resultado obtenido anteriormente, [math]\vec{j}·σ·\vec{j}=0[/math], concluimos que la tensión buscada es igual a [math]σ·\vec{j}[/math]. Continuando el desarrollo,
A continuación presentamos una representación gráfica del resultado hallado.
% Definimos las variables
x=[0:h:4];
y=[-1/2:h:1/2];
z=0;
[Mx,My]=meshgrid(x,y);
Ky=(-pi/10)*sin(pi*My); %Componente Y de las tensiones tangenciales del eje i
Kx=zeros(size(Kx)); %Componente X de las tensiones tangenciales del eje i
Kz=zeros(size(Kx)); %Componente Z de las tensiones tangenciales del eje i
quiver(x,y,Kx,Ky); %Representación del campo de las tensiones tangenciales del eje i
% Le damos formato a la gráfica
title('Tensiones tangenciales al eje j');
axis equal;
xlabel('Eje X');
ylabel('Eje Y');axis([-1,5,-2,2]) %Límites de representación
view(2) %Punto de vista vertical
