Mallado Arco 1 (grupo 59)

De MateWiki
Revisión del 13:50 1 dic 2025 de Francisco José Saiz Cebrián (Discusión | contribuciones) (Interpretación del trabajo)

Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título Arco1. Grupo 59
Asignatura Teoría de Campos
Curso 2025-26
Autores
  • Guillermo Pineros Quero
  • Ignacio Sueiras Oviedo
  • Francisco Yusep Saiz Cebrián
  • Álvaro Villar Rosado
  • Javier Ruiz Sáenz de Jubera
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

1 Mallado del arco

Archivo:Untitled4.png
Representación del mallado
% Mallado del arco alineado

% Elegimos divisiones que garanticen que:
% θ = 0, pi/2, pi están incluidos 
% r incluye exactamente 1 y 2    

theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi
r = linspace(1, 2, 15);        % radios exactos 1 y 2

[R, TH] = meshgrid(r, theta);

% Convertir a coordenadas cartesianas
X = R .* cos(TH);
Y = R .* sin(TH);

figure;
hold on;

col = [0.3 0.6 1];  % azul clarito

% Mallado tipo red (más grueso) 
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r

% Contornos superior interior y exterior 
theta_cont = linspace(0, pi, 400);

plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);

% Bases 
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha


% Ajustes
axis equal
grid on
title('Mallado del arco')
xlabel('x')
ylabel('y')
hold off;


2 Temperatura en el arco

% Mallado del arco
theta = linspace(0, pi, 200);   % más denso para curva suave
r = linspace(1, 2, 200);        % radio interior 1, exterior 2
[R, TH] = meshgrid(r, theta);

% Convertir a cartesianas
X = R .* cos(TH);
Y = R .* sin(TH);

% Funcion temperatura
T = (X - Y).^2;

% Representación 2D
figure;
pcolor(X, Y, T);     % representación 2D en colores
shading interp       % suavizado del color
colormap(jet)
colorbar;

title('Temperatura T(x,y) = (x - y)^2 sobre el arco')
xlabel('x')
ylabel('y')
axis equal            % mantiene proporciones reales
== desplazamiento ==
%% TRABAJO M (ARCO)
clc; clear; close all;

%% Pregunta 3
% Dominio 
rho_min = 1;  rho_max = 2;
th_min = 0;   th_max = pi;

[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...
                        linspace(th_min, th_max, 200));

% Convertimos a Cartesianas
X = Rho .* cos(Theta);
Y = Rho .* sin(Theta);

%% 2. Definición de Temperatura y Gradiente
% Temperatura T = (x - y)^2
T_val = (X - Y).^2;

% Cálculo del gradiente
Grad_X = 2 .* (X - Y);
Grad_Y = -2 .* (X - Y);

% Representación gráfica
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');
hold on;

contourf(X, Y, T_val, 50, 'LineStyle', 'none');

% Creamos la gráfica
N = 256;
r = linspace(0.2, 1, N)'; 
g = linspace(0.5, 1, N)';
b = linspace(1, 0, N)';   
mi_mapa = [r, g, b];      % Matriz de colores

colormap(mi_mapa);
c = colorbar;
c.Label.String = 'Temperatura T = (x-y)^2';

% Cantida de flechas
step_r = 8;  % Salta cada 8 puntos en el radio
step_t = 12; % Salta cada 12 puntos en el ángulo

idx_r = 1:step_r:size(X,1);
idx_t = 1:step_t:size(X,2);

% Dibujo flechas
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...
       'k', ...                 % Color negro flechas
       'LineWidth', 1.0, ...    % Grosor flechas
       'AutoScaleFactor', 0.8); % Tamaño flechas

axis equal;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes 
title('Gradiente sobre T');
xlabel('x'); ylabel('y');
box on; 

hold off;

3 Gradiente de temperatura

Gradiente de temperatura
%% GRADIANTE TEMPERATURA
clc; clear; close all;

% Dominio 
rho_min = 1;  rho_max = 2;
th_min = 0;   th_max = pi;

[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...
                        linspace(th_min, th_max, 200));

% Convertimos a Cartesianas
X = Rho .* cos(Theta);
Y = Rho .* sin(Theta);

%% 2. Definición de Temperatura y Gradiente
% Temperatura T = (x - y)^2
T_val = (X - Y).^2;

% Cálculo del gradiente
Grad_X = 2 .* (X - Y);
Grad_Y = -2 .* (X - Y);

% Representación gráfica
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');
hold on;

contourf(X, Y, T_val, 50, 'LineStyle', 'none');

% Creamos la gráfica
N = 256;
r = linspace(0.2, 1, N)'; 
g = linspace(0.5, 1, N)';
b = linspace(1, 0, N)';   
mi_mapa = [r, g, b];      % Matriz de colores

colormap(mi_mapa);
c = colorbar;
c.Label.String = 'Temperatura T = (x-y)^2';

% Cantida de flechas
step_r = 8;  % Salta cada 8 puntos en el radio
step_t = 12; % Salta cada 12 puntos en el ángulo

idx_r = 1:step_r:size(X,1);
idx_t = 1:step_t:size(X,2);

% Dibujo flechas
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...
       'k', ...                 % Color negro flechas
       'LineWidth', 1.0, ...    % Grosor flechas
       'AutoScaleFactor', 0.8); % Tamaño flechas

axis equal;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes 
title('Gradiente sobre T');
xlabel('x'); ylabel('y');

box on; 
hold off;

4 Dibujo del sólido antes y después del desplazamiento

4.1 Código

%% Visualización de Deformación (Azul vs Rojo)
clear; clc; close all;
% --- 1. DATOS Y CÁLCULOS  ---
rho_vec = 1:0.1:2;

% EL CAMBIO ESTÁ AQUÍ:

theta_vec = [0:0.1:pi, pi]; 

[R, Th] = meshgrid(rho_vec, theta_vec);

% Posición Inicial
X_ini = R .* cos(Th);
Y_ini = R .* sin(Th);

% Desplazamiento u (Trabajo M)
u_rho   = zeros(size(R));
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);

UX = u_rho .* cos(Th) - u_theta .* sin(Th);
UY = u_rho .* sin(Th) + u_theta .* cos(Th);

% Posición Final
X_fin = X_ini + UX;
Y_fin = Y_ini + UY;

% ---  GENERACIÓN DE LAS GRÁFICAS ---

% GRÁFICA 1: Posición Inicial
figure(1); clf; hold on; axis equal;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');
xlabel('x'); ylabel('y');
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);
plot_borde(rho_vec, theta_vec, 'k', 2); 
axis([-2.5 2.5 0 2.5]); grid on;

% GRÁFICA 2: Posición Final
figure(2); clf; hold on; axis equal;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');
xlabel('x'); ylabel('y');
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);
axis([-2.5 2.5 0 2.5]); grid on;

% GRÁFICA 3: Superposición (AZUL vs ROJO)
figure(3); clf; hold on; axis equal;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');
xlabel('x'); ylabel('y');

% A) Inicial: AZUL
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);

% B) Final: ROJO
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);


% --- Función para bordes ---
function plot_borde(r_v, t_v, col, ancho)
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);
end


5 Tensiones tangenciales

Tensiones tangenciales
%% TENSIONES TANGENCIALES
clear; clc; close all;

% --- 1. GEOMETRÍA ---
rho_vec = 1:0.01:2;
theta_vec = 0:0.01:pi;
[R, Th] = meshgrid(rho_vec, theta_vec);

X = R .* cos(Th);
Y = R .* sin(Th);

% --- 2. CÁLCULO DE LA TENSIÓN ---
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);
Tau_Mag = abs(Tau);

% --- 3. VISUALIZACIÓN ---
figure(9); clf; hold on; axis equal;
set(gcf, 'Color', 'w');
title('Tensión tangencial');
xlabel('x'); ylabel('y');

contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');
c = colorbar;
ylabel(c,'Esfuerzo de Corte (Pa)');

% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---
n = 256;
azul = [0 0 1];       % azul puro
rojo = [1 0 0];       % rojo puro
cmap = [linspace(azul(1), rojo(1), n)', ...
        linspace(azul(2), rojo(2), n)', ...
        linspace(azul(3), rojo(3), n)'];
colormap(cmap);

% --- 5. Bordes exteriores en negro ---
t_border = 0:0.001:pi;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);
plot([-2,-1],[0,0],'k','LineWidth',2);
plot([1,2],[0,0],'k','LineWidth',2);

% --- 6. Punto de máxima tensión ---
max_val = max(Tau_Mag(:));
[fr, fc] = find(Tau_Mag == max_val, 1);
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');

axis([-2.2 2.2 0 2.2]);
grid off;
hold off;

6 apartado 11

La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA


El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:

Límete de rho: 1 ≤ ρ ≤ 2

Límite de theta: 0 ≤ θ ≤ π


El diferencia de área (Jacobiano) es: dA = ρ dρ dθ

La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)


Por último la masa se calculará de la siguiente manera:

M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ

7 Interpretación del trabajo

En el Trabajo M se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:

vec{u}(x, y, t) = a⃗ · cos(b⃗ · r⃗₀ − c·t),

con

a⃗ = 1/10 i⃗, b⃗ = π j⃗, t = 0.

Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.

Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.

En este caso, la dirección de propagación es la del vector b⃗ = π j⃗ (eje y), y la vibración es en la dirección i⃗ (eje x), lo cual es típico de ondas S con polarización horizontal (onda SH).

Aplicación al Trabajo M (arco entre radios 1 y 2)

En el Trabajo M, el dominio es un sector de arco en coordenadas polares (ρ,θ), con ρ ∈ [1,2], y el campo de desplazamientos es:

u⃗(ρ,θ) = 1/5 (ρ−1) ρ² sinθ e⃗θ.

Este campo representa un desplazamiento puramente tangencial (e⃗θ), que también corresponde a una onda de corte pero en geometría curvilínea.

En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.

El factor (ρ−1) ρ² sinθ indica que el desplazamiento es máximo en la parte exterior del arco (ρ = 2) y varía sinusoidalmente con θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.

Relación con la temperatura

En ambos trabajos se incluye un campo de temperatura:

T(x,y) = (x − y)²,

que en el Trabajo M debe expresarse en coordenadas polares:

x = ρ cosθ, y = ρ sinθ,

T(ρ,θ) = ρ² (cosθ − sinθ)².

Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.

Conclusión de la aplicación

El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.

En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:

𝑢 ⃗ ( 𝑥 , 𝑦 , 𝑡 ) = 𝑎 ⃗   cos ⁡ ( 𝑏 ⃗ ⋅ 𝑟 ⃗ 0 − 𝑐 𝑡 ) , u (x,y,t)= a cos( b ⋅ r 0 ​

−ct),

con:

𝑎 ⃗ = 1 10   𝑖 ⃗ , 𝑏 ⃗ = 𝜋   𝑗 ⃗ , 𝑡 = 0. a = 10 1 ​

i , b =π j ​

,t=0.

Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.

Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.

En este caso, la dirección de propagación es la del vector:

𝑏 ⃗ = 𝜋 𝑗 ⃗ , b =π j ​

,

(eje 𝑦 y), y la vibración es en la dirección:

𝑖 ⃗ , i ,

(eje 𝑥 x), lo cual es típico de ondas S con polarización horizontal (onda SH).

Aplicación al Trabajo M (arco entre radios 1 y 2)

En el Trabajo M, el dominio es un sector de arco en coordenadas polares ( 𝜌 , 𝜃 ) (ρ,θ), con:

𝜌 ∈ [ 1 , 2 ] , ρ∈[1,2],

y el campo de desplazamientos es:

𝑢 ⃗ ( 𝜌 , 𝜃 ) = 1 5 ( 𝜌 − 1 )   𝜌 2   sin ⁡ 𝜃   𝑒 ⃗ 𝜃 . u (ρ,θ)= 5 1 ​

(ρ−1)ρ 2 sinθ e θ ​

.

Este campo representa un desplazamiento puramente tangencial ( 𝑒 ⃗ 𝜃 ) ( e θ ​

), que también corresponde a una onda de corte pero en geometría curvilínea.

En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.

El factor:

( 𝜌 − 1 )   𝜌 2 sin ⁡ 𝜃 (ρ−1)ρ 2 sinθ

indica que el desplazamiento es máximo en la parte exterior del arco ( 𝜌 = 2 ) (ρ=2) y varía sinusoidalmente con 𝜃 θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.

Relación con la temperatura

En ambos trabajos se incluye un campo de temperatura:

𝑇 ( 𝑥 , 𝑦 ) = ( 𝑥 − 𝑦 ) 2 , T(x,y)=(x−y) 2 ,

que en el Trabajo M debe expresarse en coordenadas polares:

𝑥 = 𝜌 cos ⁡ 𝜃 , 𝑦 = 𝜌 sin ⁡ 𝜃 . x=ρcosθ,y=ρsinθ.

Sustituyendo:

𝑇 ( 𝜌 , 𝜃 ) = 𝜌 2   ( cos ⁡ 𝜃 − sin ⁡ 𝜃 ) 2 . T(ρ,θ)=ρ 2 (cosθ−sinθ) 2 .

Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.

Conclusión

El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.

La inclusión del campo de temperatura:

𝑇 ( 𝜌 , 𝜃 ) = 𝜌 2 ( cos ⁡ 𝜃 − sin ⁡ 𝜃 ) 2 , T(ρ,θ)=ρ 2 (cosθ−sinθ) 2 ,

permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.