Ondas y campos vectoriales en un arco (Grupo 32)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Ondas y campos vectoriales en un arco. Grupo 32 |
| Asignatura | Teoría de Campos |
| Curso | 2025-26 |
| Autores | Isabella Eugenia Acosta Montoya Macarena Gil Andrés Guillermo Polo Toledo Marta de la Quintana Zubiría Liam O'Hea Kith |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
- 1 Dibujo del Mallado
- 2 Dibujo de la temperatura
- 3 Cálculo y dibujo del gradiente de la Temperatura
- 4 Dibujo del campo de vectores en los puntos del mallado del sólido
- 5 Dibujo del sólido antes y después del desplazamiento
- 6 . Divergencia de u
- 7 . Rotacional de u
- 8 . Tensor deformaciones
- 9 Tensiones tangenciales respecto al plano ortogonal a [math]\vec e_\rho[/math]
- 10 Tensiones tangenciales respecto al plano ortogonal a [math]\frac{1}{\rho}[/math][math]\vec e_\theta[/math]
- 11 Masa aproximando la integral numéricamente
- 12 apartado 12
1 Dibujo del Mallado
Mallado del arco realizado a través de Matlab:
% Paso de muestreo
h = 0.1;
% Valor de u (radios)
u = 1:h:2;
% Calculo de lo puntos que caben aproximadamente
puntos = round(pi/h) + 1;
% Vector v (ángulos) de 0 a pi
v = linspace(0, pi, puntos);
% Matrices de coordenadas polares
[rho, theta] = meshgrid(u, v);
% Conversión a Cartesianas
xx = rho .* cos(theta);
yy = rho .* sin(theta);
plot(xx, yy, 'r');
hold on %Se mantiene el gráfico para añadir las líneas radiales
plot(xx', yy', 'r');
hold off
% Ajustes finales visuales
axis equal
axis([-3, 3, -0.5, 2.5]);
title('Arco II');
2 Dibujo de la temperatura
La temperatura del arco se distribuye siguiendo la función [math] T(x,y)=(x-y)^{2} [/math]. A continuación se muestra dicha distribución de temperatura, utilizando curvas de nivel que muestran los puntos que se encuentran a la misma temperatura.
% Paso de muestreo
h = 0.1;
% Valor de u (radios)
u = 1:h:2;
% Cálculo de cuántos puntos caben aproximadamente
puntos = round(pi/h) + 1;
% Vector v (ángulos) de 0 a pi
v = linspace(0, pi, puntos);
% Matrices de coordenadas polares
[rho, theta] = meshgrid(u, v);
% Conversión a Cartesianas
xx = rho .* cos(theta);
yy = rho .* sin(theta);
% Expresión de la temperatura
T = (xx-yy).^2;
% Representación de la temperatura
figure
contourf(xx,yy,T,10)
colorbar
title('Temperatura')
xlabel('x'); ylabel('y')
axis equal
axis([-3,3,-3,3])
3 Cálculo y dibujo del gradiente de la Temperatura
El gradiente térmico es un vector que muestra cómo cambia la temperatura en el por unidad de distancia, indicando la dirección en que aumenta más rápidamente. Se calcula el gradiente de la temperatura, obteniendo [math]\nabla T(x,y)=(2(x-y),-2(x-y))[/math]. Al representarlo gráficamente, se observa que el gradiente [math]\nabla T[/math] es ortogonal a las curvas de nivel.
% Paso de muestreo
h = 0.1;
% Valor de u (radios)
u = 1:h:2;
% Cálculo de cuántos puntos caben aproximadamente
puntos = round(pi/h) + 1;
% Vector v (ángulos) de 0 a pi
v = linspace(0, pi, puntos);
% Matrices de coordenadas polares
[rho, theta] = meshgrid(u, v);
% Conversión a Cartesianas
xx = rho .* cos(theta);
yy = rho .* sin(theta);
% Expresión de la temperatura
T = (xx - yy).^2;
% Gradiente
Tx = 2.*(xx-yy);
Ty = -2.*(xx-yy);
% Representación del gradiente
figure
contourf(xx,yy,T,20)
hold on
% Curvas de nivel
contour(xx, yy, T, 20, 'k', 'LineWidth', 1.0)
quiver(xx,yy,Tx,Ty,'k')
hold off
axis equal
colorbar
title('Gradiente térmico del arco')
xlabel('x')
ylabel('y')
4 Dibujo del campo de vectores en los puntos del mallado del sólido
Texto en negrita
5 Dibujo del sólido antes y después del desplazamiento
6 . Divergencia de u
La divergencia de un campo vectorial[math]\overrightarrow{u}[/math] definido en coordenadas cilíndricas se obtiene a partir de la siguiente expresión:
- [math]\nabla \cdot \overrightarrow{u}=\frac{1}{\rho}\left( \frac{\partial (\rho u_{\rho})}{\partial \rho}+\frac{\partial (u_{\theta})}{\partial \theta}+\frac{\partial(\rho u_{z}) }{\partial z} \right)[/math]
El campo vectorial con el que se va a operar es:[math]\;\overrightarrow{u}=\frac{1}{5}(\rho-1)\rho\;\overrightarrow{e}_{\rho}[/math]
Primeramente se van a determinar las componentes conocidas, es decir,[math]\;u_{\rho}=\frac{1}{5}(\rho^{2}-\rho)\;;\; u_{\theta}=0\;;\;u_{z}=0[/math] para así poder sustituir los valores en [math]\nabla \cdot \overrightarrow{u}[/math]
- [math]\nabla \cdot \overrightarrow{u}=\frac{1}{\rho}\left( \frac{\partial (\rho u_{\rho})}{\partial \rho}+0+0 \right)=\frac{1}{\rho}\frac{\partial }{\partial \rho}\left( \rho\cdot \frac{1}{5}\cdot (\rho^{2}-\rho) \right)[/math]
Se multiplica[math]\;\;\overrightarrow{u}_{\rho}\;\;[/math] por[math]\;\;\rho\;\;[/math]y se deriva el término respecto de[math]\;\;\rho\;\;[/math], obteniendo:
- [math]\frac{\partial }{\partial \rho}\left( \frac{1}{5}(\rho^{3}-\rho^{2}) \right)=\frac{1}{5}(3\rho^{2}-2\rho)[/math]
Finalmente, se obtiene la divergencia:
- [math]\nabla \cdot \overrightarrow{u}=\frac{1}{\rho}\cdot\frac{1}{5}(3\rho^{2}-2\rho)=\frac{1}{5}(3\rho-2)[/math]
A continuación se adjunta el código desarrollado en Matlab para la resolución de la divergencia de manera numérica. Además,con ayuda del programa, se ha dibujado la divergencia calculada.
Cálculo y dibujo de la divergencia de [math]\overrightarrow{u}[/math] a través de matlab:
%Intervalos de las variables
w=10;
p=80;
u=linspace(1,2,w);
v=linspace(0,pi,p);
%mallado
[U,V] = meshgrid(u,v);
X = U.*cos(V);
Y = U.*sin(V);
%divergencia
DIVu = (3.*U - 2)./5;
%gráfica
surf(X,Y,DIVu)
view(2)
axis equal;
colorbar;
title('Divergencia en el arco');
axis([-3, 3, -0.5, 2.5]);
7 . Rotacional de u
El rotacional de un campo vectorial [math]\overrightarrow{u}[/math] definido en coordenadas cilíndricas se calcula de manera genérica a partir de la siguiente expresión:
- [math] \nabla \times \overrightarrow{u}=\frac{1}{\rho} \begin{vmatrix} \overrightarrow{e_{\rho}} & \overrightarrow{e_{\theta}} & \overrightarrow{e_{z}}\\ \frac{\partial }{\partial \rho}& \frac{\partial }{\partial \theta}& \frac{\partial }{\partial z} \\ u_{\rho}& \rho u_{\theta} & u_{z} \end{vmatrix}[/math]
Realizando el cálculo para el campo vectorial [math]\overrightarrow{u}=\frac{1}{5}(\rho-1)\rho\overrightarrow{e}_{\rho}[/math]
- [math]\nabla \times \overrightarrow{u}=\frac{1}{\rho}·\begin{vmatrix} \overrightarrow{e_{\rho}} &\overrightarrow{e_{\theta}} & \overrightarrow{e_{z}}\\ \frac{2\rho-1}{5}& 0& 0 \\ \frac{\rho^{2}-\rho}{5} & 0 & 0 \end{vmatrix}=0\overrightarrow{e_{\rho}}+0\overrightarrow{e_{\theta}}+0\overrightarrow{e_{z}} [/math]
Como se puede observar el vector rotacional es el vector nulo, por lo que el campo es conservativo.
8 . Tensor deformaciones
La parte simétrica del tensor gradiente es el tensor deformaciones, que viene descrito por la siguiente expresión:
- [math]\epsilon (\vec u) = \frac{\nabla \vec u + \nabla \vec u ^ t}{2}[/math]
En un medio elástico lineal, isótropo y homogéneo los desplazamientos permiten describir el tensor de tensiones [math] \sigma [/math] a través de la fórmula:
- [math]\sigma[/math]=[math]\lambda\nabla \cdot \overrightarrow{u}\;\mathbf{I}+2\mu\epsilon[/math]
Donde [math] \mathbf{I} [/math] es el tensor identidad en el conjunto de vectores libres del espacio [math] R^{3} [/math], y [math] \lambda [/math], [math] \mu [/math] son conocidos como coeficientes de Lamé, que dependen de las propiedades elásticas de cada material. Tomando [math] \lambda [/math][math]\;[/math]=[math]\;[/math][math] \mu [/math][math]\;[/math]=[math]\;[/math]1 se van a calcular y representar las tensiones normales que marcan el eje [math] \overrightarrow{e_{\rho}}[/math] y el eje [math]\frac{1}{\rho}\overrightarrow{e_{\theta}}[/math]
Para obtener dichas tensiones normales hay que realizar, anteriormente, unas operaciones. Se calculará el gradiente del campo vectorial [math]\overrightarrow{u}[/math] y su traspuesto, obteniendo así el tensor identidad:[math]\;[/math][math]\epsilon (\vec u) = \frac{\nabla \vec u + \nabla \vec u ^ t}{2}[/math].
Gradiente del campo [math]\overrightarrow{u}[/math]
- [math]\overrightarrow{u}=\frac{1}{5}(\rho-1)\rho\overrightarrow{e_{\rho}}[/math]
Se va a calcular dicho gradiente de manera matricial: [math]\left[ \nabla\overrightarrow{u}(\rho,\theta,z) \right]=\left( \frac{\partial \overrightarrow{u}}{\partial \rho}\left| \frac{1}{\rho}\frac{\partial \overrightarrow{u}}{\partial \theta} \right| \frac{\partial \overrightarrow{u}}{\partial z}\right)[/math]
- [math]\frac{\partial \overrightarrow{u}}{\partial \rho}=\frac{1}{5}(2\rho-1)\overrightarrow{e_{\rho}}+\frac{1}{5}(\rho-1)\rho\frac{\partial \overrightarrow{e_{\rho}}}{\partial \rho}=\frac{1}{5}(2\rho-1)\overrightarrow{e_{\rho}}[/math]
[math]\frac{\partial \overrightarrow{e_{\rho}}}{\partial \rho}=\Gamma^{k}_{11}\overrightarrow{e_{k}}=\Gamma^{1}_{11}\overrightarrow{e_{\rho}}+\Gamma^{2}_{11}\overrightarrow{e_{\theta}}+\Gamma^{3}_{11}\overrightarrow{e_{z}}=\overrightarrow{0}[/math]
- [math]\frac{\partial \overrightarrow{u}}{\partial \theta}=\frac{1}{5}(\rho-1)\rho\frac{\partial \overrightarrow{e_{\rho}}}{\partial \theta}=\frac{1}{5}(\rho-1)\rho\overrightarrow{e_{\theta}}[/math]
[math]\Gamma^{k}_{12}\overrightarrow{e_{k}}=\Gamma^{1}_{12}\overrightarrow{e_{\rho}}+\Gamma^{2}_{12}\overrightarrow{e_{\theta}}+\Gamma^{3}_{12}\overrightarrow{e_{z}}=1\cdot \overrightarrow{e_{\theta}}[/math]
- [math]\frac{\partial \overrightarrow{u}}{\partial z}=\frac{1}{5}(\rho-1)\rho\frac{\partial \overrightarrow{e_{\rho}}}{\partial z}=\overrightarrow{0}[/math]
[math]\frac{\partial \overrightarrow{e_{\rho}}}{\partial z}=\Gamma^{k}_{13}\overrightarrow{e_{k}}=\Gamma^{1}_{13}\overrightarrow{e_{\rho}}+\Gamma^{2}_{13}\overrightarrow{e_{\theta}}+\Gamma^{3}_{13}\overrightarrow{e_{z}}=\overrightarrow{0}[/math]
Por tanto:
[math]\left[ \nabla\overrightarrow{u}(\rho,\theta,z) \right]=\begin{pmatrix}
\frac{1}{5}(2\rho-1)& 0&0 \\
0 &\frac{1}{\rho}(\frac{1}{5}(\rho-1)\rho)&0 \\
0 &0&0
\end{pmatrix}[/math][math]\quad[/math]=[math]\quad[/math][math]\frac{1}{5}\begin{pmatrix}
2\rho-1& 0&0 \\
0 &\rho-1&0 \\
0 &0&0
\end{pmatrix}[/math]
Cálculo de la matriz gradiente traspuesta
[math]\left[ \nabla\overrightarrow{u}(\rho,\theta,z) \right]^{t}=\frac{1}{5}\begin{pmatrix}
2\rho-1& 0&0 \\
0 &\rho-1&0 \\
0 &0&0
\end{pmatrix}[/math]
Como se puede observar[math]\quad[/math][math]\nabla \overrightarrow{u}=\nabla \vec u ^ t[/math]. Por lo tanto, el tensor deformaciones queda definido como:[math]\quad[/math][math]\epsilon (\vec u) = \frac{\nabla \vec u + \nabla \vec u }{2}[/math]
Se va a calcular el tensor deformaciones matricialmente
- [math]\epsilon (\vec u)=\frac{1}{2}\left( \frac{1}{5}\begin{pmatrix} 2\rho-1&0 &0 \\ 0& \rho-1&0 \\ 0& 0&0 \end{pmatrix}+\frac{1}{5}\begin{pmatrix} 2\rho-1 &0 &0 \\ 0& \rho-1&0 \\ 0&0 &0 \end{pmatrix} \right)=\frac{1}{5}\begin{pmatrix} 2\rho-1&0 &0 \\ 0& \rho-1&0 \\ 0& 0&0 \end{pmatrix}[/math]
Conociendo [math]\epsilon (\vec u)[/math], se obtiene [math]\sigma[/math]
- [math]\sigma=1\cdot \nabla \overrightarrow{u}\;\mathbf{I}+2\cdot 1\cdot \epsilon[/math]
- [math]\sigma= 1\cdot\frac{1}{5}\begin{pmatrix} 2\rho-1& 0&0 \\ 0 &\rho-1&0 \\ 0 &0&0 \end{pmatrix}\cdot \begin{pmatrix} 1 &0 &0 \\ 0& 1&0 \\ 0& 0&1 \end{pmatrix}+2\cdot 1\cdot\frac{1}{5} \begin{pmatrix} 2\rho-1& 0&0 \\ 0 &\rho-1&0 \\ 0 &0&0 \end{pmatrix}[/math]=[math]\;[/math][math]\frac{3}{5}\begin{pmatrix} 2\rho-1&0 &0 \\ 0& \rho-1&0 \\ 0& 0&0 \end{pmatrix}[/math]
Finalmente, con esta información, se puede proceder al cálculo de las tensiones normales, que son los valores de la diagonal principal de la matriz tensor de tensiones o [math]\sigma[/math]
- Tensión normal en la dirección del eje[math]\;\overrightarrow{e}_{\rho}:\overrightarrow{e}_{\rho}\cdot \sigma\cdot \overrightarrow{e}_{\rho}=\frac{3}{5}(2\rho-1)[/math]
- Tensión normal en la dirección del eje[math]\;\frac{1}{\rho}\;\overrightarrow{e}_{\theta}:\frac{1}{\rho}\;\overrightarrow{e}_{\theta}\cdot \sigma\cdot \frac{1}{\rho}\overrightarrow{e}_{\theta}=\frac{3}{5}(\rho-1)[/math]
9 Tensiones tangenciales respecto al plano ortogonal a [math]\vec e_\rho[/math]
En este apartado se calcularán las tensiones tangenciales, especificamente con [math]\left | \sigma\cdot \vec e_{\rho}-(\vec e_{\rho}\cdot \sigma \cdot\vec e_{\rho}) \vec e_{\rho} \right |[/math].
Haciendo referencia a los datos adquiridos en el apartado anterior, comenzamos:
[math]|σ·\vec e_ρ-(\vec e_ρ·σ·\vec e_ρ)·\vec e_ρ| = \left | ·\begin{pmatrix} 1\\0\\0 \end{pmatrix} - ·\begin{pmatrix} 1\\0\\0 \end{pmatrix}\right | = [/math]
10 Tensiones tangenciales respecto al plano ortogonal a [math]\frac{1}{\rho}[/math][math]\vec e_\theta[/math]
11 Masa aproximando la integral numéricamente
La densidad de la placa viene dada por la función [math] d(\rho,\theta)=1 + e^{\rho^2 \cos\theta} [/math].
A partir de este dato se va a calcular la masa del arco. La coordenada [math] \rho [/math] conservará el radio del arco y [math] \theta [/math] es un ángulo que queda comprendido entre 0 y [math] \pi [/math], por tanto: [math] (\rho,\theta)=\left[ 1;2 \right]\times \left[ 0,\pi \right] [/math]
La integral quedaría expresada de la siguiente manera:
M = [math] \int_{0}^{\pi} \int_{1}^{2} \left(1 + e^{\rho^2 \cos \theta}\right) \rho \, d\rho \, d\theta [/math]
Sin embargo, se va proceder a su resolución numérica.
Masa del arco utilizando métodos numéricos (Método Trapecio):
% MATLAB Code para calcular la masa
% Densidad: d(rho, theta) = 1 + exp(rho^2 * cos(theta))
% Región: 1 <= rho <= 2, 0 <= theta <= pi
% Parámetros y Límites de integración
rho_min = 1;
rho_max = 2;
theta_min = 0;
theta_max = pi;
% Subintervalos
N_rho = 50;
N_theta = 100;
% Tamaño del paso (h) para cada variable
h_rho = (rho_max - rho_min) / N_rho;
h_theta = (theta_max - theta_min) / N_theta;
% Mallado de la superficie
rho_vec = linspace(rho_min, rho_max, N_rho + 1);
theta_vec = linspace(theta_min, theta_max, N_theta + 1);
[RHO, THETA] = meshgrid(rho_vec, theta_vec);
% Función densidad
D = RHO .* (1 + exp(RHO.^2 .* cos(THETA)));
% Cálculo de los Pesos de la Regla del Trapecio
% Pesos para la dirección rho
w_rho = ones(N_rho + 1, 1);
w_rho(1) = 0.5;
% Pesos para la dirección theta
w_theta = ones(N_theta + 1, 1);
w_theta(1) = 0.5;
w_theta(end) = 0.5;
% Fórmula Matricial de la Integral Doble (Método del Trapecio)
M = h_rho * h_theta * (w_theta') * F * w_rho;
% Resultado de la masa
fprintf('Masa (M) aproximada: %.5f\n', M)
