Diferencia entre revisiones de «Mallado 2D de Arco I (Grupo 63)»

De MateWiki
Saltar a: navegación, buscar

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/mat/public_html/w/includes/diff/DairikiDiff.php on line 434
(Arco antes y después del desplazamiento)
(Arco antes y después del desplazamiento)
Línea 218: Línea 218:
 
=Arco antes y después del desplazamiento=
 
=Arco antes y después del desplazamiento=
 
Las imágenes muestran la representación del sólido antes y después de la deformación producida por el campo de desplazamientos <math> \vec u(ρ,θ) </math>.
 
Las imágenes muestran la representación del sólido antes y después de la deformación producida por el campo de desplazamientos <math> \vec u(ρ,θ) </math>.
[[Archivo:Antes_despues.jpg|700px|miniaturadeimagen|thumb|right|Figura 2. Representación del arco antes y después del desplazamiento]]
+
[[Archivo:DesplazamientoA.jpg|500px|miniaturadeimagen|thumb|right|Figura 2. Representación del arco antes y después del desplazamiento ]]
 +
[[Archivo:Antes_despues.jpg|500px|miniaturadeimagen|thumb|right|Figura 2. Comparación]]
 
<br />
 
<br />
 
{{matlab|codigo=
 
{{matlab|codigo=

Revisión del 18:44 3 dic 2025

Trabajo realizado por estudiantes
Título Mallado 2D de Arco I. Grupo 63
Asignatura Teoría de Campos
Curso 2025-26
Autores María Cocina Sanjuanbenito, Fernando Trocoli de Toro, Rodrigo Sánchez de León Acevedo,

Marta Reiter Hernández

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

1 Introducción

En el sigiente artículo se estudia la parametrización y el mallado de una placa plana bidimensional con geometría de arco circular, delimitada por los radios 1 y 2. Sobre este dominio se definen dos magnitudes físicas: la temperatura [math]T(x,y)[/math], expresada en coordenadas cartesianas, y un campo de desplazamientos [math] \vec u(ρ,θ) [/math], descrito en coordenadas cilíndricas siguiendo la simetría geométrica del problema.

La temperatura viene dada por

[math]T(x,y)=(x-y)^2 [/math]

mientras que el campo de desplazamientos se define como

[math]\vec{u} = \frac{1}{5}(\rho-1)\rho^2cos\theta(\vec{e}_{\theta})[/math]

El objetivo de esta introducción es establecer una formulación precisa del dominio y de las funciones involucradas, para disponer de una base adecuada para su discretización y análisis numérico. Incluidos en todos los apartados del artículo se incluyen códigos de Matlab, fotografías y gráficas de los resultados del problema.

2 Mallado de la placa

Para definir el mallado de la mitad de un anillo circular usaremos dos condiciones: que esté comprendido entre los radios R1=1 y R2=2, y el plano y ≥ |x|. Al estudiar la mitad de un anillo, trabajaremos en coordenadas cilíndricas.

Su representación quedará definida en la región (ρ,θ) ∈ [1,2] × [[math] 0,\pi[/math]].

Para el muestreo, que son las subdivisiones deseadas por unidad en función de ambos ejes, usaremos \(h = 1/10\).


Figura 1.Mallado Arco
% Definimos parámetros
h=0.1                 %muestreo
r=1:h:2;              %radios del arco
t=0:h:pi;             

%Mallado en coordenadas cilíndricas
[RR,TT]=meshgrid(r,t);
% Pasamos de cilíndricas a cartesianas
x=RR.*cos(TT); 
y=RR.*sin(TT);

%Gráfica del mallado
figure;
mesh(x,y,0*x); view(2); axis equal; axis([-3,1,-3,3]); 
xlabel('Eje X'); ylabel('Eje Y'); title('Mallado de la placa');

%Bordes 
hold on;
  %radio exterior r=2
plot(2*cos(t),2*sin(t),'k', 'LineWidth', 2);
  %radio interior r=1
plot(1*cos(t), 1*sin(t), 'k', 'LineWidth', 2);

plot([1*cos(0), 2*cos(0)], [1*sin(0), 2*sin(0)], 'k', 'LineWidth', 2);     
plot([1*cos(pi), 2*cos(pi)], [1*sin(pi), 2*sin(pi)], 'k', 'LineWidth', 2); 

hold off;


3 Curvas de nivel de la temperatura (isotermas)

La temperatura del sólido proviene de un foco de calor muy concentrado en los puntos que están a distancia 1 del origen.

La distribución de la temperatura en el sólido para dibujar sus curvas de nivel, viene dado por la función:

[math]T(x,y)=(x-y)^2 [/math]


Figura 2. Representación de las curvas de nivel de la temperatura
% Parámetros 
h = 0.2;                     % Paso radial
r = 1:h:2;                   % Radios              
t = linspace(0,pi,40);       

% Mallado polar
[R, Th] = meshgrid(r, t);

% Conversión a coordenadas cartesianas
X = R .* cos(Th);
Y = R .* sin(Th);

% Función de temperatura
T = (X - Y).^2;


%Grafica 1: CONTORNOS
figure; subplot(1,2,1); mesh(X, Y, 0*X);
hold on

% Curvas de nivel 
contour(X, Y, T, 25, "LineWidth", 1.2);

colorbar; title('CURVAS DE NIVEL DE LA TEMPERATURA','FontSize',14); axis([-3 3 -1 3]); view(0,90); 
xlabel('Eje X')
ylabel('Eje Y')
hold off


%Grafica 2: 3D
subplot(1,2,2); surf(X, Y, T); shading interp; colorbar; 
title('TEMPERATURA EN 3D','FontSize',14)
xlabel('Eje X')
ylabel('Eje Y')
zlabel('Temperatura')
axis([-3 3 -1 3 0 max(T(:))])
axis vis3d


% Máxima temperatura
Tmax = max(T(:));
fprintf("La temperatura máxima es: %.4f\n", Tmax);


A partir del campo escalar, podemos calcular el gradiente de la temperatura [math]\nabla T[/math]. Que indica la dirección en la que aumenta nuestra temperatura. |[math]\nabla T[/math]| nos especificará cuanto aumenta.

Para calcular nuestro gradiente en cilíndricas, usaremos la fórmula:

[math]\nabla T = \frac{\partial T}{\partial x}\vec i+\frac{\partial T}{\partial y}\vec j+\frac{\partial T}{\partial z}\vec k[/math]

Por lo tanto, el gradiente será:

[math]\nabla T = 2(x-y)\vec i-2(x-y)\vec j[/math]
Figura 3. Representación del gradiente
% Parámetros de la placa 
h  = 0.1;             
r  = 1:h:2;         
t  = linspace(0,pi,50); 

% Mallado polar
[R,Th] = meshgrid(r,t);

% Conversión a coordenadas cartesianas
X = R .* cos(Th);
Y = R .* sin(Th);

% Gradiente de T
%  ∇T = (2(x-y), -2(x-y))
Gx =  2*(X - Y);
Gy = -2*(X - Y);

% Grafica 1: CURVAS DE NIVEL + GRADIENTE 2D
figure; subplot(1,2,1); mesh(X,Y,0*X);    
hold on
contour(X,Y,T,20) 
quiver(X,Y,Gx,Gy,'AutoScale','on','AutoScaleFactor',0.5)

colorbar
title('CURVAS DE NIVEL Y GRADIENTE','FontSize',14)
axis([-3 3 -0.5 3])
view(0,90)
xlabel('Eje X')
ylabel('Eje Y')
hold off

% GRAFICA 2: SUPERFICIE + GRADIENTE 3D
subplot(1,2,2); 
surf(X,Y,T)
shading interp
hold on
esc = 0.2; quiver3(X,Y,T,esc*Gx,esc*Gy,0*Gx,'AutoScale','off')

hold off
colorbar
title('GRADIENTE 3D','FontSize',14)
xlabel('Eje X')
ylabel('Eje Y')
zlabel('Temperatura')
axis([-3 3 -0.5 3 0 max(T(:))])
axis vis3d
view(45,30)

% Gradiente máximo
Gmag = sqrt(Gx.^2 + Gy.^2);
Gmax = max(Gmag(:));
fprintf('Máximo módulo del gradiente: %.4f\n', Gmax);


4 Campo de vectores en el mallado

El campo de vectores [math]\vec u [/math] indica el desplazamiento de los puntos del sólido. En este caso usaremos la fórmula:
[math] \vec u = \frac{1}{5}\vec (ρ-1)ρ^2 sen(θ)\vec e_θ [/math]
Figura 2. Representación del campo de vectores
% Medio arco: radios 1 a 2, ángulos 0 a pi
r1 = 1;  r2 = 2;
t1 = 0;  t2 = pi;

% Mallado (puedes cambiar 20 y 40 para refinar el mallado)
[R,T] = meshgrid(linspace(r1,r2,20), linspace(t1,t2,40));

% Campo en coordenadas polares
%  u(r,theta) = (1/5)*(r-1)*r^2*sin(theta)*e_theta
Ur = 0.*R;                            % componente radial nula
Ut = (1/5).*(R-1).*R.^2.*sin(T);      % componente tangencial

% Conversión a cartesianas
X = R.*cos(T);
Y = R.*sin(T);

% e_r = (cosθ, sinθ),  e_theta = (-sinθ, cosθ)
Ux = Ur.*cos(T) - Ut.*sin(T);
Uy = Ur.*sin(T) + Ut.*cos(T);

% Dibujo del campo
figure;
quiver(X,Y,Ux,Uy,'b'); 
axis equal; hold on;

% Contorno del medio arco
theta = linspace(t1,t2,200);
plot(r1*cos(theta), r1*sin(theta),'k','LineWidth',1.2); % semicircunferencia interior
plot(r2*cos(theta), r2*sin(theta),'k','LineWidth',1.2); % semicircunferencia exterior
plot([r1*cos(t1) r2*cos(t1)], [r1*sin(t1) r2*sin(t1)], 'k','LineWidth',1.2); % radio izquierdo
plot([r1*cos(t2) r2*cos(t2)], [r1*sin(t2) r2*sin(t2)], 'k','LineWidth',1.2); % radio derecho

title('Campo u(r,\theta) = (1/5)(r-1)r^2\sin(\theta)\,e_{\theta} en medio arco');
xlabel('x'); ylabel('y');


5 Arco antes y después del desplazamiento

Las imágenes muestran la representación del sólido antes y después de la deformación producida por el campo de desplazamientos [math] \vec u(ρ,θ) [/math].

Figura 2. Representación del arco antes y después del desplazamiento
Figura 2. Comparación


% Mallado
h  = 0.1;            % paso de mallado
r  = 1:h:2;          % radios
t  = 0:h:pi;         % ángulos
[R,T] = meshgrid(r,t);

% Coordenadas cartesianas de la placa no desplazada
X0 = R.*cos(T);
Y0 = R.*sin(T);

Ur = 0.*R;                            % componente radial nula
Ut = (1/5).*(R-1).*R.^2.*sin(T);    % componente tangencial

% Conversión a cartesianas:
% e_r = (cosθ, sinθ), e_theta = (-sinθ, cosθ)
Ux = Ur.*cos(T) - Ut.*sin(T);
Uy = Ur.*sin(T) + Ut.*cos(T);

% Coordenadas desplazadas
Xd = X0 + Ux;
Yd = Y0 + Uy;

% '''GRAFICAS'''
figure;

% 1. Placa no desplazada
subplot(1,3,1); mesh(X0,Y0,0*X0,'EdgeColor',[0 0.7 0],'FaceColor','none'); 
view(2); axis equal; axis([-3 3 -1 3]); title('Placa no desplazada');
xlabel('Eje X'); ylabel('Eje Y');

% 2. Placa desplazada
subplot(1,3,2); mesh(Xd,Yd,0*Xd,'EdgeColor',[0.8 0 0],'FaceColor','none'); 
view(2); axis equal; axis([-3 3 -1 3]); title('Placa desplazada');
xlabel('Eje X'); ylabel('Eje Y');

% 3. Comparación
subplot(1,3,3); hold on;
mesh(X0,Y0,0*X0,'EdgeColor',[0 0.7 0],'FaceColor','none');   % original
mesh(Xd,Yd,0*Xd,'EdgeColor',[0.8 0 0],'FaceColor','none');   % desplazada
hold off; view(2); axis equal; axis([-3 3 -1 3]); title('Desplazamiento de la placa');
xlabel('Eje X'); ylabel('Eje Y');


6 Divergencia del campo de vectores

La divergencia mide la tasa de flujo saliente o entrante en un punto. Nos permite saber si un campo vectorial está comportándose como una "fuente" (flujo saliente) o como un "sumidero" (flujo entrante) en esa región.

6.1 ¿Qué es la divergencia?

Sea [math]\vec u(ρ,θ)[/math]: 𝐷 ⊂ ℝ3V un campo vectorial, expresado en la base cilíndrica. Y siendo la fórmula de la divergencia en coordenadas cilídricas:

[math]\nabla ·\vec{u} = \frac{1}{\rho} (\frac{\partial }{\partial \rho} (\rho u_\rho)+\frac{\partial }{\partial θ} (u_θ)+\frac{\partial }{\partial z} (\rho u_z))[/math]


El campo de desplazamientos es:

[math]\vec{u} = \frac{1}{5}(\rho-1)\rho^2cos\theta [/math]

Una vez operado obtenemos

[math]\nabla ·\vec{u} =\frac{\rho(\rho-1)cos\theta }{5}[/math]

6.2 ¿Qué puntos tienen mayor divergencia? ¿Por qué?

Con el resultado del apartado anterior introducido en Matlab se puede observar que los puntos con máximos de divergencia son

%% Mallado del medio arco
h  = 0.1;          % paso de mallado
r  = 1:h:2;        % radios
t  = 0:h:pi;       % ángulos
[RR,TT] = meshgrid(r,t);

% Coordenadas cartesianas del medio arco
X = RR.*cos(TT);
Y = RR.*sin(TT);

%% Divergencia del campo
% u = (1/5)*(rho-1)*rho^2*cos(theta)*e_theta
% => div u = (rho*(rho-1)*cos(theta))/5
DIV = (RR.*(RR-1).*cos(TT))/5;

%% Gráficas de la divergencia
figure;

% ---- Divergencia 2D (vista en planta, coloreada) ----
subplot(1,2,1);
surf(X,Y,DIV,'EdgeColor','interp','FaceColor','interp');
view(2);                      % vista 2D
axis equal; axis([-3 3 -1 3]);
xlabel('Eje X'); ylabel('Eje Y');
title('Divergencia 2D');
colorbar;

% ---- Divergencia 3D ----
subplot(1,2,2);
surf(X,Y,DIV,'EdgeColor','interp','FaceColor','interp');
view(3); axis vis3d;
xlabel('Eje X'); ylabel('Eje Y'); zlabel('Eje Z');
title('Divergencia 3D');
colorbar;

%% Apartado: puntos con mayor divergencia

% Máxima divergencia positiva
[maxDiv, idxMax] = max(DIV(:));
xMax = X(idxMax);
yMax = Y(idxMax);

% Máxima divergencia negativa
[minDiv, idxMin] = min(DIV(:));
xMin = X(idxMin);
yMin = Y(idxMin);

fprintf('Máxima divergencia POSITIVA:\n');
fprintf('  div u = %.5f en (x,y) = (%.5f, %.5f)\n', maxDiv, xMax, yMax);

fprintf('Máxima divergencia NEGATIVA:\n');
fprintf('  div u = %.5f en (x,y) = (%.5f, %.5f)\n', minDiv, xMin, yMin);

% (Opcional) marcar estos puntos en la gráfica 2D
subplot(1,2,1); hold on;
plot3(xMax,yMax,maxDiv,'ko','MarkerSize',8,'MarkerFaceColor','k'); % máximo
plot3(xMin,yMin,minDiv,'ks','MarkerSize',8,'MarkerFaceColor','k'); % mínimo
legend('Divergencia','Máx.','Mín.','Location','bestoutside');
hold off;


7 Rotacional del campo de vectores |∇ × ⃗𝑢|

El rotacional de un campo vectorial mide su tendencia a rotar en un punto.


7.1 ¿Qué es el rotacional?

%5. Rotacional h=0.1; r=1:h:2; t=0:h:pi; [RR,TT]=meshgrid(r,t); x=RR.*cos(TT); y=RR.*sin(TT);

ROT=abs((1/5).*(4.*RR.^2-3.*RR).*sin(TT)); %Formula Rotacional

subplot(1,2,1); surf(x,y,ROT); view(2); axis([-3,3,-1,3]); axis equal; colorbar; title('Rotacional 2D');

subplot(1,2,2); surf(x,y,ROT); view(3); axis vis3d; colorbar; title('Rotacional 3D');

fprintf('Rotacional maximo: %.4f\n',max(max(ROT)));

7.2 ¿Qué puntos tiene un mayor rotacional?

%% Mallado del medio arco
h  = 0.1;          % paso de mallado
r  = 1:h:2;        % radios
t  = 0:h:pi;       % ángulos
[RR,TT] = meshgrid(r,t);

% Coordenadas cartesianas
X = RR.*cos(TT);
Y = RR.*sin(TT);

%% Rotacional del campo
% u = (1/5)*(rho-1)*rho^2*cos(theta)*e_theta
% => (nabla x u)_z = rho*(4*rho - 3)*cos(theta)/5
ROTz = (RR.*(4*RR - 3).*cos(TT))/5;   % componente z del rotacional

%% Gráficas del rotacional
figure;

% ---- Rotacional 2D (vista en planta) ----
subplot(1,2,1);
surf(X,Y,ROTz,'EdgeColor','interp','FaceColor','interp');
view(2);                      % vista 2D
axis equal; axis([-3 3 -1 3]);
xlabel('Eje X'); ylabel('Eje Y');
title('Rotacional 2D (\omega_z)');
colorbar;

% ---- Rotacional 3D ----
subplot(1,2,2);
surf(X,Y,ROTz,'EdgeColor','interp','FaceColor','interp');
view(3); axis vis3d;
xlabel('Eje X'); ylabel('Eje Y'); zlabel('Eje Z');
title('Rotacional 3D (\omega_z)');
colorbar;

%% Apartado: puntos con mayor rotacional

% Máximo (más positivo)
[maxRot, idxMax] = max(ROTz(:));
xMax = X(idxMax);
yMax = Y(idxMax);

% Mínimo (más negativo)
[minRot, idxMin] = min(ROTz(:));
xMin = X(idxMin);
yMin = Y(idxMin);

fprintf('Máximo rotacional (componente z POSITIVA):\n');
fprintf('  w_z = %.5f en (x,y) = (%.5f, %.5f)\n', maxRot, xMax, yMax);

fprintf('Mínimo rotacional (componente z NEGATIVA):\n');
fprintf('  w_z = %.5f en (x,y) = (%.5f, %.5f)\n', minRot, xMin, yMin);

% Marcar estos puntos en la gráfica 2D
subplot(1,2,1); hold on;
plot3(xMax,yMax,maxRot,'ko','MarkerSize',8,'MarkerFaceColor','k'); % máximo
plot3(xMin,yMin,minRot,'ks','MarkerSize',8,'MarkerFaceColor','k'); % mínimo
legend('Rotacional','Máx.','Mín.','Location','bestoutside');
hold off;


8 TENSIONES

En un sólido deformable, cuando aplicamos fuerzas externas, experimenta fuerzas internas ejercidas por el propio material, que "luchan" contra esta deformación. Estas fuerzas internas se describen mediante un tensor de tensiones [math]\sigma [/math] que en cada punto indica: cómo el resto del material impide la deformación de la fuerza externa, y en qué dirección actúan estas fuerzas.

Las tensiones se obtienen a partir de la fórmula:
[math]\sigma = λ \nabla · \vec u I + 2µ \epsilon (\vec u) [/math]
donde I es el tensor identidad y λ,µ son los coeficientes de Lamé.

Si tomamos como valores de µ = λ = 1, nuestra expresión queda:

[math]\sigma = \nabla · \vec u I + 2 \epsilon(\vec u) [/math]

8.1 Tensor de deformaciones

En un medio elástico lineal, isótropo y homogéneo, los desplazamientos [math] \vec u [/math] determinan las deformaciones a través del tensor de deformaciones:

[math]\epsilon(\vec u) =\frac{\nabla{\vec u}+(\nabla{\vec u})^t}{2}[/math]

que equivale a la parte simétrica del gradiente del campo de desplazamientos.

Para ello se calculan [math]\nabla{\vec u(ρ,θ)}[/math] y [math](\nabla{\vec u(ρ,θ)})^t[/math]:

[math]\frac{\partial \vec{u}}{\partial\rho}=\frac{1}{5}(3\rho^2 -2\rho)sen\theta\vec{e}_{\theta}[/math]
[math]\frac{\partial \vec{u}}{\partial\theta}= - \frac{1}{5}(\rho-1)\rho sen\theta\vec{e}_{\rho} + \frac{1}{5}(\rho-1)\rho cos\theta\vec{e}_{\theta}[/math]
[math]\frac{\partial \vec{u}}{\partial z}=0[/math]

Por tanto, la matriz [math]\nabla{\vec u(ρ,θ)}[/math] es:

[math]\triangledown \vec{u}(\rho,\theta) = \begin{pmatrix} 0 & - \frac{1}{5}(\rho-1)\rho sen\theta& 0 \\ \frac{1}{5}(3\rho^2 -2\rho)sen\theta & \frac{1}{5}(\rho-1)\rho cos\theta & 0 \\ 0 & 0 & 0 \\ \end{pmatrix} [/math]

Y su traspuesta [math](\nabla{\vec u(ρ,θ)})^t[/math]:

[math]\triangledown \vec{u}(\rho,\theta)^{t} = \begin{pmatrix} 0 & \frac{1}{5}(3\rho^2 -2\rho)sen\theta & 0 \\ - \frac{1}{5}(\rho-1)\rho sen\theta& \frac{1}{5}(\rho-1)\rho cos\theta & 0 \\ 0 & 0 & 0 \\ \end{pmatrix}[/math]


Por lo que el tensor deformaciones quedaría como:

[math]\epsilon (\vec{u}(\rho ,\theta ))=\frac{\triangledown \vec{u}(\rho, \theta )+ \triangledown \vec{u} (\rho ,\theta)^{T}}{2}=\begin{pmatrix} 0 & \frac{1}{10}(2\rho -1)\rho sen\theta & 0 \\ \frac{1}{10}(2\rho -1)\rho sen\theta & \frac{1}{5}(\rho -1)\rho cos\theta & 0 \\ 0 & 0 & 0 \\ \end{pmatrix}[/math]


8.2 Tensor de tensiones

Para hallar el tensor de tensiones, de fórmula [math]\sigma = λ \nabla · \vec u I + 2µ \epsilon [/math], usaremos los coeficientes de Lamé, el gradiente del campo de desplazamientos y el tensor de deformaciones calculado anteriormente.

[math]\sigma =λ\begin{pmatrix} \frac{1}{5}(\rho-1)\rho cos\theta & 0 & 0 \\ 0 & \frac{1}{5}(\rho-1)\rho cos\theta & 0 \\ 0 & 0 & \frac{1}{5}(\rho-1)\rho cos\theta \\ \end{pmatrix} + µ\begin{pmatrix} 0 & \frac{1}{5}(2\rho -1)\rho sen\theta & 0 \\ \frac{1}{5}(2\rho -1)\rho sen\theta & \frac{2}{5}(\rho -1)\rho cos\theta & 0 \\ 0 & 0 & 0 \\ \end{pmatrix} = [/math]


Tomando como valores de λ y de µ = 1, [math]\sigma[/math] es:

[math] \begin{pmatrix} \frac{1}{5}(\rho-1)\rho cos\theta & \frac{1}{5}(2\rho -1)\rho sen\theta & 0 \\ \frac{1}{5}(2\rho -1)\rho sen\theta & \frac{3}{5}(\rho-1)\rho cos\theta & 0 \\ 0 & 0 & \frac{1}{5}(\rho-1)\rho cos\theta \\ \end{pmatrix} [/math]


8.3 Tensiones normales

A continuación calcularemos las tensiones ortogonales al plano de la placa, definido por los parámetros [math]\rho[/math] y [math]\theta[/math].

Las tensiones normales en la dirección que marca el eje [math]\overrightarrow e_{\rho} [/math], es decir, [math]\overrightarrow e_{\rho} \cdot σ \cdot \overrightarrow e_{\rho}[/math] son:

[math]\overrightarrow e_{\rho} \cdot σ \cdot \overrightarrow e_{\rho}=\begin{pmatrix} 1\\0\\0 \end{pmatrix}\cdot\begin{pmatrix} \ \frac{1}{5}(\rho-1)\rho cos\theta & \frac{1}{5}(2\rho -1)\rho sen\theta & 0 \\ \frac{1}{5}(2\rho -1)\rho sen\theta & \frac{3}{5}(\rho-1)\rho cos\theta & 0 \\ 0 & 0 & \frac{1}{5}(\rho-1)\rho cos\theta \\\end{pmatrix}\cdot\begin{pmatrix} 1\\0\\0 \end{pmatrix}=\frac{1}{5}(\rho-1)\rho cos\theta[/math]

Las tensiones normales en la dirección que marca el eje eje[math]\overrightarrow e_{\theta} [/math], es decir [math]\overrightarrow e_{\theta} \cdot σ \cdot \overrightarrow e_{\theta}[/math] son:

[math]\overrightarrow e_{\theta} \cdot σ \cdot \overrightarrow e_{\theta}=\begin{pmatrix} 0\\1\\0 \end{pmatrix}\cdot\begin{pmatrix} \ \frac{1}{5}(\rho-1)\rho cos\theta & \frac{1}{5}(2\rho -1)\rho sen\theta & 0 \\ \frac{1}{5}(2\rho -1)\rho sen\theta & \frac{3}{5}(\rho-1)\rho cos\theta & 0 \\ 0 & 0 & \frac{1}{5}(\rho-1)\rho cos\theta \\\end{pmatrix}\cdot\begin{pmatrix} 0\\1\\0 \end{pmatrix}=\frac{3}{5}(\rho-1)\rho cos\theta[/math]

Las tensiones normales en la dirección que marca el eje eje[math]\overrightarrow e_{z} [/math], es decir [math]\overrightarrow e_{z} \cdot σ \cdot \overrightarrow e_{z}[/math] son:

[math]\overrightarrow e_{z} \cdot σ \cdot \overrightarrow e_{z}=\begin{pmatrix} 0\\0\\1 \end{pmatrix}\cdot\begin{pmatrix} \ \frac{1}{5}(\rho-1)\rho cos\theta & \frac{1}{5}(2\rho -1)\rho sen\theta & 0 \\ \frac{1}{5}(2\rho -1)\rho sen\theta & \frac{3}{5}(\rho-1)\rho cos\theta & 0 \\ 0 & 0 & \frac{1}{5}(\rho-1)\rho cos\theta \\\end{pmatrix}\cdot\begin{pmatrix} 0\\0\\1 \end{pmatrix}=\frac{1}{5}(\rho-1)\rho cos\theta [/math]

A continuación representaremos cada una de las direcciones que toman las tensiones normales según el eje.

%% Mallado del medio arco
r = 1:0.2:2;                 % radios
t = linspace(0,pi,8);        % ángulos de 0 a pi (medio arco)
[rr,tt] = meshgrid(r,t);

% Coordenadas cartesianas del medio arco
xx = rr.*cos(tt);
yy = rr.*sin(tt);

%% Tensiones normales (en base cilindrica)
sigma_rr = (1/5).*(rr-1).*rr.*cos(tt);    % e_r · σ · e_r
sigma_tt = (3/5).*(rr-1).*rr.*cos(tt);    % e_θ · σ · e_θ   (la que vamos a usar)
sigma_zz = (1/5).*(rr-1).*rr.*cos(tt);    % e_z · σ · e_z

%% Pasamos la tensión σ_{θθ} a componentes cartesianas
% Dirección e_theta = (-sinθ, cosθ)
Txx = -sin(tt).*sigma_tt;   % componente x del vector tensión
Tyy =  cos(tt).*sigma_tt;   % componente y del vector tensión

%% “Deformación” del arco debida a la tensión (solo visual)
escala = 0.2;               % factor para que se vea bien el desplazamiento
X = xx + escala*Txx;
Y = yy + escala*Tyy;

%% Gráficas
figure;

% ---------------- Tensiones normales ----------------
subplot(1,2,1);
mesh(xx,yy,0*xx,'EdgeColor',[0 0.7 0.7],'FaceColor','none');
view(2); hold on;
quiver(xx,yy,Txx,Tyy,'Color',[0 0.6 0.9]);   % vectores de tensión
hold off;
axis equal; axis([-3,3,-1,3]);
title('Tensiones normales \sigma_{\theta\theta}');
xlabel('Eje X'); ylabel('Eje Y');

% ---------------- Deformaciones asociadas ----------------
subplot(1,2,2);
mesh(X,Y,0*X,'EdgeColor',[0 0.7 0.7],'FaceColor','none');
view(2);
axis equal; axis([-3,3,0,5]);
title('Deformaciones por tensiones normales en dirección e_\theta');
xlabel('Eje X'); ylabel('Eje Y');


9 Tensiones tangenciales

Las tensiones tangenciales son las que actúan dentro del plano de la placa, es decir, paralelas a ella. Por tanto, son componentes ortogonales a las tensiones normales. Para poder calcularlas usamos el tensor tangencial: [math] T_t= (\vec σ·\vec n - \vec n\otimes\vec n [/math]·σ)[math]\vec t[/math]. Donde [math]\vec σ·\vec n[/math] es el vector total de tensión y [math]\vec n\otimes\vec n [/math]·σ es la parte normal del vector tracción [math]T_n [/math].

9.1 Respecto al plano ortogonal con eje [math]\vec e_ρ [/math]

En este caso, las tensiones tangenciales son las componentes en las direcciones [math]\vec e_\theta [/math] y [math]\vec e_z [/math], es decir:

|[math]σ·\vec e_ρ-(\vec e_ρ·(σ·\vec e_ρ))\vec e_ρ | = \left| \begin{pmatrix} (\frac{1}{5}(\rho-1)\rho cos\theta & \frac{1}{5}(2\rho -1)\rho sen\theta & 0 \\\frac{1}{5}(2\rho -1)\rho sen\theta & \frac{3}{5}(\rho-1)\rho cos\theta & 0 \\0 & 0 & \frac{1}{5}(\rho-1)\rho cos\theta) \\ \end{pmatrix} \cdot \begin{pmatrix} 1\\ 0 \\ 0 \end{pmatrix} - \frac{1}{5}(\rho-1)\rho cos\theta \cdot \begin{pmatrix} 1\\ 0 \\ 0 \end{pmatrix} \right| = [/math]

[math] \frac{1}{5}(2\rho -1)\rho sen\theta[/math]
%% Mallado del medio arco
r = 1:0.2:2;               % radios
t = linspace(0,pi,8);      % ángulos de 0 a pi (medio arco)
[rr,tt] = meshgrid(r,t);

% Coordenadas cartesianas del medio arco
xx = rr.*cos(tt);
yy = rr.*sin(tt);

%% TENSIONES TANGENCIALES en el plano normal a e_rho
% tau_theta = (1/5)*(2*rho - 1)*rho*sin(theta)
tau_theta = (1/5).*(2*rr - 1).*rr.*sin(tt);

% Dirección e_theta = (-sinθ, cosθ)
Ttx = -sin(tt).*tau_theta;   % componente x del vector tangencial
Tty =  cos(tt).*tau_theta;   % componente y del vector tangencial

%% "Deformación" del mallado (solo visual, proporcional a tau_theta)
escala = 0.2;                % factor para que se vea bien
X = xx + escala*Ttx;
Y = yy + escala*Tty;

%% GRÁFICAS
figure;

% ---- Tensiones tangenciales ----
subplot(1,2,1);
mesh(xx,yy,0*xx,'EdgeColor',[0 0.7 0.7],'FaceColor','none');
view(2); hold on;
quiver(xx,yy,Ttx,Tty,'Color',[0 0.6 0.9]);  % vectores de tensión tangencial
axis equal; axis([-3,3,-1,3]);
xlabel('Eje X'); ylabel('Eje Y');
title('Tensiones tangenciales (plano normal a e_\rho)');

% ---- Deformaciones asociadas ----
subplot(1,2,2);
mesh(X,Y,0*X,'EdgeColor',[0 0.7 0.7],'FaceColor','none');
view(2);
axis equal; axis([-3,3,0,5]);
xlabel('Eje X'); ylabel('Eje Y');
title('Deformaciones por tensiones tangenciales');

%% 9.2 ¿Dónde son mayores las tensiones tangenciales?

tau_abs = abs(tau_theta);                 % magnitud de la tensión tangencial
[maxTau, idxMaxTau] = max(tau_abs(:));   % máximo absoluto
xMaxTau = xx(idxMaxTau);
yMaxTau = yy(idxMaxTau);

fprintf('Máxima tensión tangencial


9.2 ¿Dónde son mayores?

9.3 Comparación con puntos de mayor deformación del mallado

10 Tensiones tangenciales respecto al plano ortogonal [math]\vec e_\theta [/math]



|[math]σ·\vec e_\theta-(\vec e_\theta·(σ·\vec e_\theta))\vec e_\theta | = \left| \begin{pmatrix} (\frac{1}{5}(\rho-1)\rho cos\theta & \frac{1}{5}(2\rho -1)\rho sen\theta & 0 \\\frac{1}{5}(2\rho -1)\rho sen\theta & \frac{3}{5}(\rho-1)\rho cos\theta & 0 \\0 & 0 & \frac{1}{5}(\rho-1)\rho cos\theta) \\ \end{pmatrix} \cdot \begin{pmatrix} 0\\ \frac{1}{\rho} \\ 0 \end{pmatrix} - \frac{3}{5}(\rho-1)\rho cos\theta \cdot \begin{pmatrix} 0\\ \frac{1}{\rho} \\ 0 \end{pmatrix} \right| = [/math]

[math] \frac{1}{5}(2\rho -1)\rho sen\theta[/math]

10.1 ¿Dónde son mayores?

10.2 Comparación con puntos de mayor deformación del mallado

%% Mallado del medio arco
r = 1:0.2:2;               % radios
t = linspace(0,pi,8);      % ángulos de 0 a pi (medio arco)
[rr,tt] = meshgrid(r,t);

% Coordenadas cartesianas del medio arco
xx = rr.*cos(tt);
yy = rr.*sin(tt);

%% TENSIONES TANGENCIALES respecto al plano ortogonal a e_theta
% tau_rho = (1/5)*(2*rho - 1)*rho*sin(theta)
tau_rho = (1/5).*(2*rr - 1).*rr.*sin(tt);

% Dirección e_rho = (cosθ, sinθ)
Ttx = cos(tt).*tau_rho;    % componente x del vector tangencial
Tty = sin(tt).*tau_rho;    % componente y del vector tangencial

%% "Deformación" del mallado (solo visual, proporcional a tau_rho)
escala = 0.2;              % factor para que se vea bien
X = xx + escala*Ttx;
Y = yy + escala*Tty;

%% GRÁFICAS
figure;

% ---- Tensiones tangenciales (plano normal a e_theta) ----
subplot(1,2,1);
mesh(xx,yy,0*xx,'EdgeColor',[0 0.7 0.7],'FaceColor','none');
view(2); hold on;
quiver(xx,yy,Ttx,Tty,'Color',[0 0.6 0.9]);  % vectores de tensión tangencial
axis equal; axis([-3,3,-1,3]);
xlabel('Eje X'); ylabel('Eje Y');
title('Tensiones tangenciales (plano normal a e_\theta)');

% ---- Deformaciones asociadas ----
subplot(1,2,2);
mesh(X,Y,0*X,'EdgeColor',[0 0.7 0.7],'FaceColor','none');
view(2);
axis equal; axis([-3,3,0,5]);
xlabel('Eje X'); ylabel('Eje Y');
title('Deformaciones por tensiones tangenciales (plano normal a e_\theta)');

%% ¿Dónde son mayores las tensiones tangenciales?

tau_abs = abs(tau_rho);                 % magnitud de la tensión tangencial
[maxTau, idxMaxTau] = max(tau_abs(:));  % máximo absoluto
xMaxTau = xx(idxMaxTau);
yMaxTau = yy(idxMaxTau);

fprintf('Máxima tensión tangencial


11 Masa de la placa

Teniendo en cuenta que la densidad del material viene dada por [math]d(\rho, \theta) = 1 + e^{\rho^2 \cos \theta}[/math], se calcula la masa del mismo aplicando la siguiente fórmula.

[math] Masa = \int_{u}^{u}\int_{v}^{v}f(\vec r(u,v)) * |(\vec r´_{u})\times(\vec r´_{v})|dudv [/math]

Parametrizamos la superficie r(u,v) que representa el arco longitudinal, expresamos las componentes [math]\vec r´_{u}[/math]; [math]\vec r´_{v}[/math] y calculamos el módulo del producto vectorial entre ambas.

[math] r(u,v)= (\rho=u , \theta=v , z=0)[/math]

[math] \vec r´_{u}= \frac{\partial ρ}{\partial u}\vec {e\rho} + \rho*\frac{\partial θ}{\partial u}\vec {e\theta}+\frac{\partial z}{\partial u}\vec {ez} = 1\vec {e\rho} + 0\rho\vec {e\theta} + 0\vec {ez} = (1,0,0) = \vec {e\rho} [/math]

[math] \vec r´_{v} = \frac{\partial ρ}{\partial v}\vec {e\rho} + \rho*\frac{\partial θ}{\partial v}\vec {e\theta}+\frac{\partial z}{\partial v}\vec {e_z} = 0\vec {e\rho} + \rho\vec {e\theta} + 0\vec {ez}=(0,0,u)=u\vec {ez} [/math]

[math] \vec r´_{u} × \vec r´_{v} = \begin{vmatrix} \vec e_ρ & \vec e_θ & \vec e_z \\ 1 & 0 & 0 \\ 0 & u & 0 \end{vmatrix} = 0\vec {e\rho} + 0\rho\vec {e\theta} + u\vec {ez} = u [/math]


[math] |\vec r´_{u} × \vec r´_{v}| = u [/math]

De manera que la masa del material es:

[math] Masa = \int_{0}^{π}\int_{1}^{2}(1 + e^{u^2 cos v}) * (u) dudv = \int_{0}^{π}\int_{1}^{2} (u) dudv + \int_{0}^{π}\int_{1}^{2} u*e^{u^2 cosv} dudv = \frac{3π}{2} + \int_{0}^{π}\int_{1}^{2} u*e^{u^2 cosv} dudv [/math]

La resolución de la integral resultante se ha aproximado a través del método del rectángulo con el siguiente código de Matlab.

% Límites
rho1 = 1;  rho2 = 2;
th1  = 0;  th2  = pi;

% Integrando: densidad * Jacobiano (rho)
integrand = @(rho,theta) (1 + exp(rho.^2.*cos(theta))).*rho;

% Masa de la placa
M = integral2(integrand, rho1, rho2, th1, th2);

fprintf('Masa de la placa = %.10f\n', M);


Por tanto, M= 24,64

12 Interpretación con ejemplo práctico

En este trabajo se ha estudiado la respuesta elástica de una sección longitudinal de un arco comprendido entre los radios 1 y 2, que ha estado sometido a un campo de desplazamientos [math] \vec u = \frac{1}{5}\vec (ρ-1)ρ^2 sen(θ)\vec e_θ [/math] y se ha analizado la distribución de la temperatura [math]T(x,y)=(x-y)^2 [/math].

Por otro lado, si interpretamos el trabajo desde un enfoque práctico, observamos que existe una aplicación real. Suponemos que el dominio es una parte de la corteza terrestre y que el desplazamiento es provocado por las ondas S en terremotos. Esto quiere decir, que se interpreta el campo de deslizamientos como una onda sísmica de tipo S, que se propaga en una parte de la corteza terrestre representada por el arco de radios 1 y 2.

Propagación de ondas sísmicas en el terreno (forma de nuestro arco longitudinal)

Las ondas S producen desplazamientos tangenciales, dando lugar a deformaciones de cizalla. Esto coincide con el comportamiento del campo de deslizamientos, que desplaza cada punto únicamente en su dirección tangencial, moviendo el material sin cambiar su volumen de manera uniforme. El desplazamiento está dirigido según 𝑒𝜃, luego describe un movimiento tangencial (de tipo cizalla) alrededor del origen. El factor (𝜌 − 1) anula el desplazamiento en la frontera interior (𝜌 = 1, por lo que la deformación es nula en el borde interno y aumenta hacia el exterior. La dependencia sin𝜃 introduce una variación angular: los desplazamientos son nulos en 𝜃=0,𝜋 y máximos en 𝜃=𝜋/2,3𝜋/2.

Comportamiento onda S en la superficie

La divergencia calculada muestra las zonas de la corteza terrestre donde el terreno se expande o comprime. En este caso, las ondas S no generan grandes cambios volumétricos, pues el modelo presenta pequeñas variaciones que pueden interpretarse como ajustes locales del terreno al propagarse la perturbación.

El rotacional representa las zonas donde el material experimenta giro debido al paso de la onda. Esta información permite ver en qué direcciones el terreno tiende a girar durante las vibraciones de estas ondas sísmicas.

Las tensiones normales y tangenciales obtenidas se pueden interpretar como las fuerzas internas que se desarrollan por debajo del terreno como respuesta al desplazamiento. Estas tensiones suelen ser las causantes de la formación de grietas o incluso fallas, cuando superan la resistencia del material. Las tensiones más elevadas se encuentran en la parte más alejada del dominio, donde los desplazamientos son mayores.

Finalmente, se puede observar que el modelo trabajado puede interpretarse como una versión simplificada del comportamiento de la corteza terrestre durante el paso de una onda sísmica de tipo S. Dentro de que está idealizado, nos permite entender cómo se distribuyen los desplazamientos, las tensiones y deformaciones en el terreno ante las vibraciones sísmicas.