Mallado 2D de Arco I (Grupo 63)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Mallado 2D de Arco I. Grupo 63 |
| Asignatura | Teoría de Campos |
| Curso | 2025-26 |
| Autores | Nombres 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 | |
Contenido
- 1 Introducción
- 2 Mallado de la placa
- 3 Curvas de nivel de la temperatura (isotermas)
- 4 Campo de vectores en el mallado
- 5 Arco ates y después del desplazamiento
- 6 Divergencia del campo de vectores
- 7 Rotacional del campo de vectores |∇ × ⃗𝑢|
- 8 Tensor de deformaciones
- 9 Tensiones tangenciales respecto al plano ortogonal 𝑖
- 10 Tensiones tangenciales respecto al plano ortogonal 𝑗
- 11 Masa de la placa
- 12 Interpretación con ejemplo práctico
1 Introducción
Se considera una placa plana bidimensional en forma de sección longitudinal de un arco, comprendido entre los radios 1 y 2. En ella vamos a tener definidas dos cantidades físicas: la temperatura 𝑇(𝑥,𝑦) en coordenadas cartesianas, y el campo de desplazamientos 𝑢(𝜌, 𝜃) en coordenadas cilíndricas.
Definimos la función temperatura como: 𝑇(𝑥,𝑦) = (𝑥 − 𝑦)^2.
Y el campo de desplazamientos como: 𝑢(𝜌, 𝜃) = 1/5 (𝜌 − 1)𝜌^2 sin𝜃⃗𝑒𝜃
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] \frac{\pi}{2},\frac{3π}{2}[/math]].
Para el muestreo, que son las subdivisiones deseadas por unidad en función de ambos ejes, usaremos \(h = 1/10\).
%% CÓDIGO TRABAJO M (Estilo Visual Idéntico a la Foto)
clc; clear;
figure(1); clf; % Importante: Limpia la ventana de figuras antes de dibujar
% 1. Definición de variables (Estructura de tu profesor)
h = 0.1; % Paso de muestreo (Letra M/K)
r = 1:h:2; % Radio de 1 a 2
tt = pi/2:h:(3*pi)/2; % Angulo de 0 a pi (Semicírculo completo)
% 2. Generación del Mallado
[RR, TT] = meshgrid(r, tt);
x = RR .* cos(TT);
y = RR .* sin(TT);
% 3. Representación Gráfica (Con estilo forzado)
% 'EdgeColor': fuerza el color cian ([0 0.6 0.6]) similar a tu foto
% 'FaceColor', 'none': asegura que no rellene los huecos
mesh(x, y, 0*x, 'EdgeColor', [0 0.7 0.7], 'FaceColor', 'none');
view(2); % Vista superior 2D
axis equal; % Para que el semicírculo no parezca un óvalo
axis([-2.5 2.5 -0.5 2.5]); % Límites ajustados para centrarlo
grid on;
% Etiquetas
xlabel('Eje X');
ylabel('Eje Y');
title('Representación en 2D de la placa plana (Arco I)');
% 4. DIBUJAR EL BORDE NEGRO (Contorno)
hold on;
% Borde curvo exterior (Radio 2)
plot(2*cos(tt), 2*sin(tt), 'k', 'LineWidth', 2);
% Borde curvo interior (Radio 1)
plot(1*cos(tt), 1*sin(tt), 'k', 'LineWidth', 2);
% Cierre recto derecho (theta = 0)
plot([1 2], [0 0], 'k', 'LineWidth', 2);
% Cierre recto izquierdo (theta = pi) - Nota: cos(pi)=-1, sin(pi)=0
plot([-2 -1], [0 0], '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:
%% Gradiente de la temperatura (Adaptado al Trabajo M)
% Paso de muestreo
h = 0.1;
% Radio (de 1 a 2)
r = 1:h:2;
% Angulo (Semicírculo: de 0 a pi)
% Nota: En el antiguo usaban linspace, aquí usamos paso h para mantener proporción
t = 0:h:pi;
% Mallado y parametrización
[rr,tt] = meshgrid(r,t);
xx = rr.*cos(tt);
yy = rr.*sin(tt);
% Temperatura T(x,y) = (x-y)^2
Temperatura = (xx - yy).^2;
% Calculo del Gradiente (Derivadas parciales)
% dT/dx = 2*(x-y)
GradX = 2 .* (xx - yy);
% dT/dy = -2*(x-y)
GradY = -2 .* (xx - yy);
% --- DIBUJO DE LAS GRÁFICAS ---
figure(2); clf; % Limpiamos figura anterior
hold on
% GRÁFICA 3D (Derecha) - Superficie + Vectores
subplot(1,2,2)
% Dibujamos la superficie de temperatura
surf(xx,yy,Temperatura)
hold on
% Dibujamos los vectores del gradiente en 3D
% quiver3(x, y, z, u, v, w) -> w es 0 porque el vector 'vive' en el plano xy
quiver3(xx, yy, Temperatura, GradX, GradY, zeros(size(xx)), 'k');
% Ajustes visuales 3D
axis([-2.5, 2.5, 0, 3, 0, 10]); % Ajustamos Z hasta 10 porque T crece bastante
axis vis3d
view(3)
xlabel('Eje X')
ylabel('Eje Y')
zlabel('Eje Z')
title('Gradiente 3D')
colorbar;
% GRÁFICA 2D (Izquierda) - Malla plana + Vectores
subplot(1,2,1)
% Dibujamos la malla plana (Estilo del año pasado con borde)
mesh(xx,yy,0.*xx, 'EdgeColor', [0 0.7 0.7], 'FaceColor', 'none')
view(2)
% Ajustes visuales 2D
axis equal
axis([-3, 3, -1, 3])
xlabel('Eje X')
ylabel('Eje Y')
title('Gradiente 2D')
% Dibujamos los vectores del gradiente en plano
hold on
quiver(xx, yy, GradX, GradY, 'b') % 'b' para color azul
hold off
% Añadimos el contorno negro al 2D para que quede perfecto
hold on
plot(2*cos(t), 2*sin(t), 'k', 'LineWidth', 2);
plot(1*cos(t), 1*sin(t), 'k', 'LineWidth', 2);
plot([1 2], [0 0], 'k', 'LineWidth', 2);
plot([-2 -1], [0 0], 'k', 'LineWidth', 2);
hold off
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:
Por lo tanto, el gradiente será: