Diferencia entre revisiones de «Onda longitudinal plana. Grupo 22»

De MateWiki
Saltar a: navegación, buscar
(Código y representación)
(Código y representación)
Línea 205: Línea 205:
 
==='''Código y representación'''===
 
==='''Código y representación'''===
  
 +
[[Archivo:Rotacional-G22.jpg|miniaturadeimagen|400px|Derecha|Rotacional]]
 
{{matlab|codigo=
 
{{matlab|codigo=
  
Línea 247: Línea 248:
  
 
}}
 
}}
 
  
 
=='''Modelado de desplazamientos y tensiones en la placa vibrante.''' ==
 
=='''Modelado de desplazamientos y tensiones en la placa vibrante.''' ==

Revisión del 13:58 3 dic 2025

Trabajo realizado por estudiantes
Título Onda longitudinal plana. Grupo 22
Asignatura Teoría de Campos
Curso 2025-26
Autores Irene Delgado Felpeto
Ana Sanz García
Lucía Reneses Doncel
Francisco Javier Vela Cobos
Marta Escaso Camacho
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] \left[ 0, 4 \right] \times \left[\frac{-1}{2}, \frac{1}{2}\right] [/math].

En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura [math] 𝑇(𝑥,𝑦,𝑡) [/math], que depende de las dos variables espaciales [math] (𝑥,𝑦) [/math]
y del tiempo [math] 𝑡 [/math], y los deplazamientos.
De esta forma, si definimos [math] 𝑟_0(𝑥,𝑦) [/math] el vector de posición de los puntos de la placa en reposo, la posición de cada punto [math] (𝑥,𝑦) [/math] de la placa en un
instante de tiempo [math] 𝑡 [/math] viene dada por

[math] \vec{𝑟}(𝑥, 𝑦, 𝑡) = \vec{𝑟_0}(𝑥,𝑦) + \vec{𝑢}(𝑥,𝑦,𝑡) [/math].

Vamos a suponer que sobre la placa se ha aplicado una fuerza que ha provocado una vibración, de manera que los desplazamientos vienen
dados por la onda

[math] \vec{𝑢}(𝑥, 𝑦, 𝑡) = \vec{𝑎}cos(\vec{𝑏} ⋅ \vec{𝑟_0} − 𝑐𝑡) [/math],

donde [math] \vec{𝑎} [/math] se conoce como amplitud, [math] \vec{𝑏} [/math] es la fase que indica la dirección de propagación y [math] \frac{𝑐}{|\vec{𝑏}|} [/math] es la velocidad de propagación.
Si [math] \vec{𝑎} [/math] es paralelo a [math] \vec{𝑏} [/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 longitudinales. Supondremos lo siguiente:

[math] \vec{𝑎} = \frac{\vec{𝑖}}{10}, \qquad \vec{𝑏} = \pi\vec{i}, \qquad t = 0 [/math].

En este caso, [math] \vec{𝑢}(𝑥,𝑦,𝑡) = \frac{cos(\pi x)}{10} \vec{i} [/math].

1 1

2 2

3 3

4 4

5 Deformación de la placa inducida por una onda longitudinal

Para el estudio de la deformación de la placa rectangular que ocupa la región [math] \left[ 0, 4 \right] \times \left[\frac{-1}{2}, \frac{1}{2}\right] [/math].

cuando sobre ella actúa una onda longitudinal. En este caso el desplazamiento de la onda viene dado por: [math] \vec{u} (x,y)=\frac{cos(πx)}{10}\vec{i} [/math]

5.1 Código y representación

Valor del desplazamiento Ux en cada punto (x,y) y malla física deformada
%% --- Dominio ---
Nx = 160; Ny = 40;
x = linspace(0,4,Nx);
y = linspace(-0.5,0.5,Ny);
[X, Y] = meshgrid(x,y);

%% --- Desplazamiento longitudinal (onda) ---
ux = (1/10) * cos(pi * X);   % ux(x,y) (no depende de y)
uy = zeros(size(X));

%% --- Malla deformada (solo en x) ---
Xdef = X + ux;
Ydef = Y;

%% --- Plot: antes (campo sobre malla original) y despues (malla deformada coloreada) ---
figure('Units','normalized','Position',[0.05 0.15 0.9 0.6]);

%% --- Izquierda: campo ux sobre la malla ORIGINAL ---
subplot(1,2,1);
% coloreado de ux sobre la malla original
surf(X, Y, zeros(size(X)), ux, 'EdgeColor', 'none');
view(2);
axis equal tight;
colormap(subplot(1,2,1), parula);
colorbar;
xlabel('x'); ylabel('y');
title('ANTES: desplazamiento u_x sobre malla original');
hold on;
% añadir flechas muestreadas para ver dirección/amplitud (no saturan)
step = max(1, round(Nx/20));
quiver(X(1:step:end,1:step:end), Y(1:step:end,1:step:end), ...
       ux(1:step:end,1:step:end), uy(1:step:end,1:step:end), ...
       0.6, 'k', 'LineWidth', 0.8);
hold off;

%% --- Derecha: malla DEFORMADA coloreada por el mismo ux ---
subplot(1,2,2);
% superficie coloreada sobre la malla deformada
surf(Xdef, Ydef, zeros(size(Xdef)), ux, 'EdgeColor', 'none');
view(2);
axis equal tight;
colormap(subplot(1,2,2), parula);
colorbar;
xlabel('x'); ylabel('y');
title('DESPUÉS: malla deformada coloreada por u_x');

hold on;
% superponer contorno de la malla original para comparar (líneas finas negras)
for i=1:Ny
    plot(X(i,:), Y(i,:), 'k-', 'LineWidth', 0.4);   % horizontales originales
end
for j=1:Nx
    plot(X(:,j), Y(:,j), 'k-', 'LineWidth', 0.4);   % verticales originales
end
% y superponer contorno de la malla deformada (líneas rojas más gruesas)
for i=1:Ny
    plot(Xdef(i,:), Ydef(i,:), 'r-', 'LineWidth', 1.0);
end
for j=1:Nx
    plot(Xdef(:,j), Ydef(:,j), 'r-', 'LineWidth', 1.0);
end
hold off;


6 Divergencia del campo de desplazamiento

Partimos del campo de desplazamiento -FÓRMULA-

La divergencia en cartesianas la calculamos de la siguiente manera: -FÓRMULA- . En este caso en específico Uy=0 por lo que -FÓRMULA-

Finalmente nos queda que la divergencia del campo de desplazamiento en todos los puntos del sólido es: -FÓRMULA-

6.1 Código y representación

En las gráficas proporcionadas a continuación observamos la superficie de la divergencia tanto en 3D como en 2D. Sin nos fijamos en la primera imagen, podemos identificar los máximos y mínimos gráficamente, ubicando los máximos en x=1.5 y x=3.5, y los mínimos en x=0.5 y x=2.5.

Superficies de divergencia 2D y 3D
%% --- Malla ---
Nx = 200;
Ny = 60;

x = linspace(0, 4, Nx);
y = linspace(-0.5, 0.5, Ny);
[X, Y] = meshgrid(x, y);

%% --- Divergencia ---
div_u = - (pi/10) * sin(pi * X);

%% --- Superficie limpia ---
figure;

surf(X, Y, div_u, 'EdgeColor', 'none');
colormap turbo;      % (puedes cambiarlo si quieres)
colorbar;

xlabel('x');
ylabel('y');
zlabel('\nabla \cdot u');
title('Superficie de la divergencia \nabla \cdot u(x,y)');

view(45, 30);  % ángulo 3D


En la siguiente gráfica observamos de otra manera donde se encuentran los máximos, marcados con una linea vertical blanca. Para encontrar estos puntos analíticamente, partimos de la base de que sabemos que los puntos de mayor divergencia se encontraran cuando -sin(πx)=1 con -FÓRMULA-, esto se da en x=1.5 y x=3.5.

Máximos de la divergencia
%% --- Malla ---
Nx = 200;
Ny = 60;

x = linspace(0, 4, Nx);
y = linspace(-0.5, 0.5, Ny);
[X, Y] = meshgrid(x, y);

%% --- Divergencia ---
div_u = - (pi/10) * sin(pi * X);

%% --- Posiciones teóricas de los máximos ---
x_max = [1.5, 3.5];  % donde sin(pi x) = -1

%% --- Encontrar los puntos de malla más cercanos a los máximos ---
[~, idx1] = min(abs(x - x_max(1)));
[~, idx2] = min(abs(x - x_max(2)));

Xmax_points = [X(:, idx1); X(:, idx2)];
Ymax_points = [Y(:, idx1); Y(:, idx2)];

%% --- Dibujo ---
figure;

surf(X, Y, zeros(size(X)), div_u, 'EdgeColor', 'none');
view(2);
axis equal tight;
colorbar;

title('Divergencia \nabla \cdot u con máximos marcados');
xlabel('x');
ylabel('y');
hold on;

% Marcar líneas verticales de máximos
plot3(X(:, idx1), Y(:, idx1), ones(Ny,1), ...
      'wo', 'MarkerSize', 8, 'MarkerFaceColor', 'w');
plot3(X(:, idx2), Y(:, idx2), ones(Ny,1), ...
      'wo', 'MarkerSize', 8, 'MarkerFaceColor', 'w');


7 Rotacional del campo de desplazamiento

Siendo -FÓRMULA- el campo de desplazamiento con el que estamos trabajando y partiendo de la fórmula del rotaciones en cartesianas -FÓRMULA- , procedemos a analizar y sustituir para realizar el estudio del rotación del campo de desplazamiento.

En este caso no contamos con componente j, por los que el rotacional se nos queda como: -FÓRMULA-

Sustituimos en la ecuación y analizamos la solución:

-FÓRMULAS-

Al ser el resultado nulo sabemos que el campo en todo el sólido es nulo, por no que ho hay giro local y denominamos el campo como irrotacional.

7.1 Código y representación

Rotacional
%% Apartado 7: rotacional de u en Omega = [0,4] x [-0.5,0.5]
Nx = 300; Ny = 120;
x = linspace(0, 4, Nx);
y = linspace(-0.5, 0.5, Ny);
[X, Y] = meshgrid(x, y);

% Campo u
ux = (1/10) * cos(pi * X);   % ux(x,y)
uy = zeros(size(ux));        % uy = 0

% Cálculo numérico del rotacional (componente z en 2D)
% gradient devuelve derivadas: [dF/dx, dF/dy] si se pasan vectores x,y
[dux_dx, dux_dy] = gradient(ux, x, y);
[duy_dx, duy_dy] = gradient(uy, x, y);

curl_z = duy_dx - dux_dy;    % should be all zeros
curl_abs = abs(curl_z);

% Estadísticas numéricas
max_abs = max(curl_abs(:));
fprintf('Máx abs(curl_z) en la malla = %.3e\n', max_abs);

%% --- Dibujo 1: mapa 2D del valor absoluto del curl (vista superior) ---
figure('Name','


8 Modelado de desplazamientos y tensiones en la placa vibrante.

Primero, se define el campo de desplazamiento sabiendo que este se modela mediante: [math] \vec{𝑢}(𝑥, 𝑦, 𝑡) = \vec{𝑎}cos(\vec{𝑏} ⋅ \vec{𝑟_0} − 𝑐𝑡) [/math].
Teniendo en cuenta las condiciones iniciales [math] (t = 0) [/math] dadas: [math] \vec{𝑎} = \frac{\vec{𝑖}}{10}, \vec{𝑏} = \pi\vec{i} [/math], este resulta [math] \vec{𝑢}(𝑥,𝑦,𝑡) = \frac{cos(\pi x)}{10} \vec{i} [/math].

Para caracterizar localmente la deformación de la placa, se define el tensor de deformaciones:

[math] ε(\vec{𝑢})= \frac{1}{2}(∇\vec{𝑢}+(∇\vec{𝑢})^T) [/math].

Este tensor, es la parte simétrica de [math] \vec{𝑢} [/math], y mide elongaciones, compresiones, etc. en cada punto de la placa.

Por otro lado, se cuenta con el tensor de tensiones, el cual sirve para materiales elásticos, homogéneos e isotrópicos. Este se relaciona con el anterior mediante la siguiente expresión:

[math] σ = λ(∇·\vec{𝑢})I + 2με [/math],

donde [math] λ [/math] y [math] μ [/math] son los conocidos como coeficientes de Lamé, los cuales dependen de las propiedades elásticas de cada material; y donde [math] I [/math], es el tensor identidad de [math] R^3 [/math].
Tomando [math] λ = μ = 1 [/math], este tensor se simplifica y queda:

[math] σ = (∇·\vec{𝑢})I + ∇\vec{𝑢}+(∇\vec{𝑢})^T [/math]

8.1 Cálculo de tensiones normales

Para estudiar el efecto de la deformación en cada dirección, se buscan las tensiones normales a los ejes:

Para las del eje [math]x[/math] se elige la posición en la que coinciden la primera fila y la primera columna de la matriz del tensor de tensiones:

[math] σ_{xx} = \vec{i}·σ·\vec{i} \rightarrow (∇·\vec{𝑢})\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} + \begin{pmatrix} \frac{\partial u_{x}}{\partial x} & \frac{\partial u_{x}}{\partial y} \\ \frac{\partial u_{y}}{\partial x} & \frac{\partial u_{y}}{\partial y} \end{pmatrix} + \begin{pmatrix} \frac{\partial u_{x}}{\partial x} & \frac{\partial u_{y}}{\partial x} \\ \frac{\partial u_{x}}{\partial y} & \frac{\partial u_{y}}{\partial y} \end{pmatrix} = \begin{pmatrix} (∇·\vec{𝑢})+\frac{\partial u_{x}}{\partial x}+\frac{\partial u_{x}}{\partial x} & \frac{\partial u_{x}}{\partial y} + \frac{\partial u_{y}}{\partial x} \\ \frac{\partial u_{y}}{\partial x} + \frac{\partial u_{x}}{\partial y} & (∇·\vec{𝑢})+ \frac{\partial u_{y}}{\partial y} + \frac{\partial u_{y}}{\partial y} \end{pmatrix} \rightarrow (∇·\vec{𝑢}) + 2\frac{\partial u_{x}}{\partial x} [/math]

Y para el caso del eje [math]y[/math] se elige la posición en la que coinciden la segunda fila y la segunda columna: [math] σ_{yy} = \vec{j}·σ·\vec{j} = (∇·\vec{𝑢}) + 2\frac{\partial u_{y}}{\partial y} [/math]

En este caso, se tiene: [math] \qquad u_{x} = \frac{1}{10}cos(\pi x), \qquad u_{y} = 0, \qquad [/math] por lo que:

[math] \frac{\partial u_{x}}{\partial x} = -\frac{\pi}{10}sin(\pi x), \qquad \frac{\partial u_{y}}{\partial y} = 0 [/math]

[math] ∇·\vec{𝑢} = \frac{\partial u_{x}}{\partial x} + \frac{\partial u_{y}}{\partial y} = -\frac{\pi}{10}sin(\pi x) [/math]

Así, las tensiones normales quedan:

[math] σ_{xx} = (∇·\vec{𝑢}) + 2\frac{\partial u_{x}}{\partial x} = -\frac{\pi}{10}sin(\pi x) + 2(-\frac{\pi}{10}sin(\pi x)) = -\frac{3\pi}{10}sin(\pi x) [/math]

[math] σ_{yy} = (∇·\vec{𝑢}) + 2\frac{\partial u_{y}}{\partial y} = -\frac{\pi}{10}sin(\pi x) + 0 = -\frac{\pi}{10}sin(\pi x) [/math]

8.2 Código y representación

La gráfica de la izquierda muestra cómo la onda longitudinal genera tensiones internas en la dirección de propagación. Los valores positivos se representan con colores cálidos que indican tracción (es decir, los lugares en los que el material se estira) y los valores negativos, con colores fríos que indican compresión. En el caso de la gráfica de la derecha, esta aparece casi sin variaciones, ya que el desplazamiento no depende de la variable [math]y[/math], solo de la [math]x[/math]. Esto indica que en la dirección vertical no hay apenas tensiones normales inducidas por la onda longitudinal.

Representación de las tensiones normales en las direcciones de i y j en la placa
% Se define la malla de la placa
Nx = 400; Ny = 100;   % Ajustamos la resolución para mantener una buena relación x/y
x = linspace(0, 4, Nx);
y = linspace(-0.5, 0.5, Ny);
[X,Y] = meshgrid(x,y);

% Desplazamiento longitudinal:
% u(x,y) = ( (1/10) * cos(pi*x), 0 )
Ux = (1/10) * cos(pi*X);
Uy = zeros(size(X));

% Gradientes de u
[dUx_dx, dUx_dy] = gradient(Ux, x, y);
[dUy_dx, dUy_dy] = gradient(Uy, x, y);

% Tensor de deformaciones epsilon = 1/2 (grad u + grad u^T)
eps_xx = dUx_dx;
eps_xy = 0.5*(dUx_dy + dUy_dx);
eps_yy = dUy_dy;

% Divergencia de u
div_u = dUx_dx + dUy_dy;

% Coeficientes de Lamé
lambda = 1; mu = 1;

% Tensor de tensiones sigma = lambda*(div u) I + 2 mu eps
sigma_xx = lambda*div_u + 2*mu*eps_xx;
sigma_yy = lambda*div_u + 2*mu*eps_yy;
sigma_xy = 2*mu*eps_xy;

% Tensiones normales en dirección i y j
sigma_i = sigma_xx;   % Dirección x
sigma_j = sigma_yy;   % Dirección y

% Gráficas
figure;
set(gcf, 'Position', [100, 100, 1000, 300]); 
subplot(1,2,1);
imagesc(x,y,sigma_i);
axis xy;
axis equal tight; 
colorbar;
title('Tensión normal en dirección x (σ_{xx})');
xlabel('x'); ylabel('y');

subplot(1,2,2);
imagesc(x,y,sigma_j);
axis xy;
axis equal tight; 
colorbar;
title('Tensión normal en dirección y (σ_{yy})');
xlabel('x'); ylabel('y');


9 Tensiones tangenciales respecto al plano ortogonal a [math] \vec{i} [/math]

Para estudiar las tensiones tangenciales respecto al plano ortogonal a [math] \vec{i} [/math] , es decir: [math] \left | \sigma·\vec{i} - (\vec{i}·\sigma·\vec{i}) \vec{i} \right | [/math]

Necesitamos los valores de la divergencia (apartado 6) y tensor de tensiones [math] \sigma [/math] con [math] \lambda =\mu = 1 [/math] (apartado 8):

Divergencia: [math] \bigtriangledown · u = - \frac{\pi }{10} sin (\pi x) [/math]

Tensor de tensiones con [math] \lambda =\mu = 1 [/math]: [math] \sigma = \lambda (\bigtriangledown · u)\mathbb{I} + 2\mu \varepsilon \Rightarrow \sigma (x,y)=\begin{pmatrix} - 3\frac{\pi }{10} sin (\pi x) & 0 \\ 0 & - \frac{\pi }{10} sin (\pi x) \\ \end{pmatrix} [/math]

[math] \sigma [/math] es diagonal, ya que los valores de [math] σ_{12},σ_{21} [/math] son nulos

Ahora sí podemos calcular componente a componente, al ser el plano ortogonal a [math] \vec{i} [/math], tenemos que evaluar [math] σ_{11},σ_{21} [/math]:

[math] \sigma·\vec{i} = \begin{pmatrix} σ_{11}\\σ_{21} \end{pmatrix} = \begin{pmatrix} - 3\frac{\pi }{10} sin (\pi x) \\ 0 \end{pmatrix} [/math]

[math] (\vec{i}·\sigma·\vec{i})= σ_{11} = - 3\frac{\pi }{10} sin (\pi x) [/math]

Por lo tanto, las tensiones tangenciales respecto al plano ortogonal a [math] \vec{i} [/math] , [math] \left | \sigma·\vec{i} - (\vec{i}·\sigma·\vec{i}) \vec{i} \right | = \begin{pmatrix} 0 \\ 0 \end{pmatrix} [/math]

Es decir, la componente tangencial, sobre las caras normales al eje [math] x [/math] es 0 en todo el dominio. Por lo tanto, las tracciones sobre esas caras son puramente normales, no hay esfuerzo cortante.

No hay puntos donde sean mayores las tensiones tangenciales, porque son nulas.


9.1 Comparación con puntos de mayor deformación de la malla

La deformación relevante para este apartado es [math] \varepsilon _{11} = - \frac{\pi }{10} sin (\pi x) [/math]

[math] \left | \varepsilon _{11} \right | [/math] es máxima cuando [math] \left | sin (\pi x) \right | = 1 [/math]

esto ocurre para [math] \pi x = \frac{\pi }{2} + k \pi \Rightarrow x = \frac{1}{2} + k, (k\epsilon \mathbb{Z}) [/math]

En el intervalo [math] x\epsilon [0,4] [/math] los valores son: [math] x = 0.5, 1.5, 2.5, 3.5 [/math]

Estos vectores verticales (en la dirección [math] y [/math]) tendrá la deformación máxima en el valor absoluto. Las máximas deformaciones ([math] x = 0.5, 1.5, 2.5, 3.5 [/math]) no implican que exista tensiones tangenciales. Como hemos demostrado en este apartado, las tensiones tangenciales son [math] 0 [/math].

Lo que sí varía y tiene máximos en esos puntos [math] x [/math] son las tensiones normales [math] σ_{11},σ_{21} [/math] y sus valores absolutos alcanzan su máximo donde [math] \left | sin (\pi x) \right | = 1 [/math]. Concretamente:

[math] σ_{11} = - 3\frac{\pi }{10} sin (\pi x) [/math] , [math] σ_{22} = - \frac{\pi }{10} sin (\pi x) [/math]

Conclusión, la onda longitudinal produce cambios de volumen en la dirección de propagación [math] x [/math], no genera esfuerzos cortantes. Por eso las tensiones tangenciales son nulas incluso donde la deformación absoluta es máxima.


9.2 Código y representación


10 Tensiones tangenciales respecto al plano ortogonal a [math] \vec{j} [/math]

Para estudiar las tensiones tangenciales respecto al plano ortogonal a [math] \vec{j} [/math] , es decir: [math] \left | \sigma·\vec{j} - (\vec{j}·\sigma·\vec{j}) \vec{j} \right | [/math]

Utilizamos el mismo procedimiento y calculamos componente a componente, considerando de la misma forma [math] \sigma (x,y) [/math] del apartado (8) y evaluando en [math] σ_{12},σ_{22} [/math]:

[math] \sigma·\vec{j} = \begin{pmatrix} σ_{12}\\σ_{22} \end{pmatrix} = \begin{pmatrix} 0 \\ - \frac{\pi }{10} sin (\pi x) \end{pmatrix} [/math]

[math] (\vec{j}·\sigma·\vec{j}) = σ_{22} = - \frac{\pi }{10} sin (\pi x) [/math]

Por lo tanto, las tensiones tangenciales respecto al plano ortogonal a [math] \vec{j} [/math], [math] \left | \sigma·\vec{j} - (\vec{j}·\sigma·\vec{j}) \vec{j} \right | = \begin{pmatrix} 0 \\ 0 \end{pmatrix} [/math]

En este caso, la traccion tangencial sobre planos normales al eje [math] y [/math] también es nula en todo el dominio. Por lo que podemos decir que [math] \sigma [/math] es diagonal en este problema.

De forma similar al apartado anterior, no hay puntos donde sean mayores las tensiones tangenciales, porque son nulas.

Esto es completamente lógico para una onda longitudinal cuyo desplazamiento va exclusivamente en dirección x y que produce sólo componentes normales de tensión en esta formulación lineal simple.

10.1 Comparación con puntos de mayor deformación de la malla

De la misma forma que en el apartado 9.1, al ser matriz diagonal, no hay puntos con tensiones tangenciales mayores

10.2 Código y representación

Simplificamos el código mostrando el apartado 10, considerando los anteriores apartados del trabajo.

Tensionnormal101.png
Tensionnormal102.png
Tensionnormal103.png
% Tensiones tangenciales respecto al plano ortogonal a j

clear; close all; clc;

% Considerando los apartados anteriores:
% Parámetros
% Mallado
% Desplazamiento
% Derivadas analíticas
% Tensor de deformaciones
% Divergencia
% Tensiones (lambda = mu = 1)
sigma11 = divu + 2.*eps11;   % -3*(pi/10) * sin(pi x)
sigma22 = divu + 2.*eps22;   % -1*(pi/10) * sin(pi x)
sigma12 = 2.*eps12;          % zeros

% ---- Apartado (10): tangencial respecto a j ----
% sigma * j = [sigma12; sigma22]
t_tan_j_x = sigma12;  
t_tan_j_y = zeros(size(sigma22));

% Magnitud de la tangencial (numérica)
mag_tan_j = sqrt(t_tan_j_x.^2 + t_tan_j_y.^2);

% Puntos de máxima deformación
x_max_strain = [0.5, 1.5, 2.5, 3.5];

% ---- PLOT ----
figure('Units','normalized','Position',[0.05 0.05 0.9 0.85]);

% 1) Sigma22 (tensión normal en y)
subplot(2,2,2);
imagesc(x, y, sigma22); axis xy; colorbar;
title('\sigma_{22} (tensiones normales en y)');
xlabel('x'); ylabel('y'); axis equal;

% 2) Quiver de las tensiones tangenciales respecto a j
subplot(2,2,3);
plot(XX(:), YY(:), '.','Color',[0.8 0.8 0.8]); hold on;
quiver(XX, YY, t_tan_j_x, t_tan_j_y, 0, 'b');  
title('Tensiones tangenciales respecto al plano normal a j (quiver)');
xlabel('x'); ylabel('y'); axis equal;
hold off;

% 3) Magnitud de la tangencial (ver que es cero)
subplot(2,2,4);
imagesc(x,y,mag_tan_j); axis xy; colorbar;
title('Magnitud de la tens. tangencial (debe ser cero)');
xlabel('x'); ylabel('y'); axis equal;

% output
fprintf('Mallado: Nx=%d, Ny=%d, h=%.2f\n', length(x), length(y), h);
fprintf('Max


11 Masa de la placa

Si la densidad de la placa viene dada en coordenadas polares por [math] \delta (\rho ,\theta )= 1 + e^{\rho ^2 cos \theta} [/math]

Queremos calcular la masa total de la placa dada por el dominio [math] D = \left\{ (x,y); x\epsilon [0,4], y\epsilon [-\frac{1}{2},\frac{1}{2}] \right\} [/math]

La masa de la integral dobles es: [math] M = \int\int_{D} d(x,y)dA [/math]

Donde en coordenadas cartesianas, para poder integrar en el dominio del rectangulo, [math] \rho = {\sqrt{x^2+y^2}} [/math] y [math] \theta = atan2(x,y) \rightarrow cos \theta =\frac{x}{\rho} [/math]

[math] \delta (\rho ,\theta )= 1 + e^{\rho ^2 cos \theta} [/math]

[math] \delta (x,y)= 1 + e^{(x^2 + y^2)·\frac{x }{\sqrt{x^2+y^2}}} [/math] [math](para \rho \gt 0 ) [/math]

En la práctica vamos a usar la definición continua en [math] \rho = 0 [/math]; [math] \rho = 0 \Rightarrow e = 1 ; d(0,0)= 1 + 1 = 2 [/math]

De esta ecuación de la densidad podemos sacar las primeras conclusiones, como el factor [math] cos \theta =\frac{x}{\rho} [/math] hace que la parte exponencial sea mayor donde [math] x \gt 0 [/math], ya que el dominio siempre es positivo en [math] x \epsilon [0,4] [/math] y va creciendo rápidamente para [math] \rho [/math] grandes. Por este motivo tenemos la conclusión de que la masa será grande.

Aproximamos la integral por suma de Riemann con [math] h= \frac{1}{10} [/math] obteniendo [math] M\approx 1.912271 [/math] x [math] 10^6 [/math]


La función puede tomar valores muy grandes en la esquina derecha del rectángulo [math] x=4 [/math] porque [math] \rho ^2 cos \theta [/math] se aproxima a [math] x^2 [/math] cuando [math] y [/math] es pequeño y [math] x [/math] grande, por eso [math] e^{\rho ^2 cos \theta} [/math] puede alcanzar valores de [math] e^{16} [/math]

Físicamente este resultado puede ser muy elevado, pero matemáticamente es razonable por las razones que hemos dado.


12 Aplicaciones de las ondas longitudinales planas

Aviononda.png

12.1 Ingeniería estructural y vibraciones

Para diseñar, por ejemplo, un panel de avión, se necesita conocer cómo responden a las vibraciones y cómo estas afectan a la distribución de tensiones. Las piezas aeronáuticas como las de fuselaje, las alas o las cubiertas interiores suelen estar fabricadas generalmente de placas delgadas de materiales metálicos o compuestos. Estas deben soportar numerosos esfuerzos, como las vibraciones creadas por fuerzas variables aerodinámicas, los cambios de temperatura del aire o la fatiga mecánica que puede producir microfisuras en el material.
El estudio realizado en este trabajo es crucial para identificar las zonas de mayor tensión y para conocer como se comporta el material frente a los anteriores efectos. De esta forma, se pueden prevenir fallos y mejorar el diseño y selección de materiales previa a su fabricación.

MicrochipC.jpg

12.2 Control térmico

Detectar los cambios de temperatura y su distribución en un material es imprescindible en el caso de los microchips o placas electrónicas, ya que afectan a la integridad física y la función electrónica de estos. El calor y las vibraciones juntas aumentan su degradación, sin embargo, realizando el estudio previo, se puede optimizar el diseño térmico y mecánico de las placas para evitar los microdesplazamientos de capas internas y así controlar la disipación de las ondas y sus tensiones internas.

Inspeccion.jpeg

12.3 Sensores de deformación térmica

Este tipo de ondas suelen utilizarse en sensores ultrasonido para determinar defectos como grietas o variaciones en materiales. El modelo estudiado funciona muy bien para la evaluación de la integridad de estructuras en ingeniería civil de forma rápida, precisa y no destructiva. Suelen utilizarse sobre vigas de acero, losas de hormigón o columnas y pilares; si existe una grieta, la onda se refleja sin causar daños en el elemento estructural. También pueden determinar el espesor de materiales, o incluso detectar vibraciones longitudinales inducidas por cargas reales, muy útiles en el caso de las presas, puentes o edificios altos. De esta forma, se crea una herramienta de inspección al controlar la onda y su dispersión o desplazamiento a lo largo del material.

13 Póster

A continuación compartimos el póster, basado en los contenidos publicados en este trabajo, en el que resumimos las labores desarrolladas por el grupo:

14 Referencias

[1]

[2]
  1. Libro: "Matlab y matemática computacional" Biblioteca Técnica Universitaria by Sagrario Lantarón Sánchez y Bernardo Llanas Juárez]
  2. Código LaTex: https://latex.codecogs.com/eqneditor/editor.php?lang=es-es