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 Gradiente como campo vectorial y curvas de nivel.
- 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 gráfica muestra el mallado de la placa y el código utilizado en MatLab para obtenerlo.
clear;clc; % Borramos las variables usadas anteriormente para no causar confusión
h=0.1;
%Se establecen las variables x e y con equidistancia h
x=0:h:4;
y=-0.5:h:0.5;
[X,Y]=meshgrid(x,y);
figure;
hold on
mesh(X,Y,0*X) %se crea el gráfico
xlabel('x'); ylabel('y')
axis equal
hold off
2 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.
La expresión dada para la temperatura viene dada en coordenadas cilíndricas, para su representación, en el código se ha pasado a coordenadas cartesianas.
clear;clc;
h=0.1;
%se establecen las variables con equidistancia h
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 %añade la escala de colores utilizada para representar la gráfica
xlabel('x');ylabel('y');zlabel('z') %nombre de los ejes
view(2)
axis equal
axis([0,4,-0.5,0.5])
grid on
3 Gradiente como campo vectorial y curvas de nivel.
La siguiente gráfica representa el gradiente como campo vectorial y las curvas de nivel de T, demostrando así que el gradiente es ortogonal las curvas de nivel de T.
en este caso sería:
clear;clc;
y = linspace(-0.5, 0.5, 20);
x = linspace(0, 4, 20);
[Mx,My]=meshgrid(x,y);
rho=sqrt(Mx.^2+My.^2);
MT= -log((rho-1).^2+0.1);
axis equal;
hold on;
figure;
U=-(2.*(rho-1).*Mx)./(rho.*((rho-1).^2+0.1));
V=-(2.*(rho-1).*My)./(rho.*((rho-1).^2+0.1));
quiver(Mx,My,U,V,'k');
contour(Mx,My,MT,20)
colorbar
hold on
quiver(Mx,My,U,V,'k');
axis equal;
hold off
4 Campo de vectores en el mallado del sólido.
Se utilizarán los datos obtenidos en apartados anteriores, así como en el enunciado. Consideramos ahora el campo de vectores: [math]\vec u = \frac{1}{10}\cos\left ( π y\right )\vec{i}[/math]
A continuación se adjunta la representación gráfica de este campo, así como el código utilizado en Matlab:
clear;clc; % borra las variables usadas anteriormente para no causar confusión
h=0.10;
%se establecen las variables x e y con equidistancia h
x=0:h:4;
y=-0.5:h:0.5;
[Mx, My] = meshgrid(x, y);
figure;
hold on
mesh(Mx,My,0.*My) %se crea el gráfico
xlabel('x'); ylabel('y')
U = cos(pi * My) / 10;
V = zeros(size(My));
%campo de vectores
quiver(Mx, My, U, V,'k');
axis equal;
xlabel('x');
ylabel('y');
grid on
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]), para lo que se ha utilizado el comando subplot. Se han utilizado datos definidos en el apartado anterior, en concreto, [math] ux=\frac{1}{10}cos({π}y) [/math] y [math] uy=0 [/math]. También se adjunta el código en Matlab utilizado para la representación.
% Se establecen las variables.
h=0.1;
x=[0:h:4];
y=[-1/2:h:1/2];
[Mx,My]=meshgrid(x,y);
uy=0.*Mx;
ux=(1/10).*cos((pi).*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([-0.5,4.5,-1/2.5,1/2.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([-0.5,4.5,-1/2.5,1/2.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([-0.5,4.5,-1/2.5,1/2.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 vectoriales.
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]
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=0,1;
x=0:h:4;
y=-1/2:h:1/2;
[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([0,4,-1/2,1/2]);
% Aplicamos una escala de colores.
colorbar;
view(2)
h=0,1;
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 la recta [math] y=0.5 [/math], representada en el tono más claro de amarillo.
clear;clc;
% Se definen las variables x e y
h=1/10;
x=0:h:4;
y=-0.5:h:0.5;
[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,4,-0.5,0.5]);
% 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{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.
h=0.1;
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 al eje j
Kx=zeros(size(Mx)); %Componente X de las tensiones tangenciales al eje j
Kz=zeros(size(Kx)); %Componente Z de las tensiones tangenciales al eje j
quiver(x,y,Kx,Ky); %Representación del campo de las tensiones tangenciales al eje j
% 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
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.
h=0.1;
x=[0:h:4];
y=[-1/2:h:1/2];
z=0;
[Mx,My]=meshgrid(x,y);
Kx=(-pi/10)*sin(pi*My); %Componente X de las tensiones tangenciales al eje i
Ky=zeros(size(Mx)); %Componente Y de las tensiones tangenciales al eje i
Kz=zeros(size(Kx)); %Componente Z de las tensiones tangenciales al eje i
quiver(x,y,Kx,Ky); %Representación del campo de las tensiones tangenciales al eje i
% 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]); %Límites de representación
view(2) %Punto de vista vertical
11 Cálculo de la masa aproximada.
Dada la función de la densidad: [math] d(ρ,θ)=1+e^{ρ·ρcosθ} [/math]
Primero pasamos la función de densidad a coordenadas cartesianas:
El valor de la masa viene dado por la integral de superficie en [math](x, y) ∈ [0, 4][/math] x [math][\frac{-1}{2}, \frac{1}{2}][/math]:
[math] \vec{r_{0}} = x \vec{i} + y \vec{j} [/math]
[math] \vec{r_{x}}(x,y)= \frac{\partial{\vec{r_{0}}}}{\partial{x}} = \vec{i} [/math], [math] \vec{r_{y}}(x,y)= \frac{\partial{\vec{r_{0}}}}{\partial{y}} = \vec{j} [/math]
h=0.1;
xmin=0;
xmax=4;
ymin=-1/2;
ymax=1/2;
x=xmin:h:xmax;
y=ymin:h:ymax;
%Definimos una función anónima para la densidad
d=@(x,y) 1+exp(x.*sqrt(x.^2+y.^2));
%Calculamos la masa total con integral2
M=integral2(d, xmin, xmax, ymin, ymax);
%Mostramos el resultado
fprintf('La masa total de la placa es aproximadamente: %.6f\n', M);
Con ello obtenemos que la masa total de la placa es aproximadamente 1199015.787397