Diferencia entre revisiones de «Placa Plana (J52)»

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
(Campo de desplazamiento)
(Divergencia)
Línea 342: Línea 342:
  
 
==Divergencia==
 
==Divergencia==
Sea u el campo de desplazamientos inducido en la sección longitudinal de una viga voladiza.
+
La **divergencia** mide la variación de volumen local. Como el cálculo dio $\nabla \cdot \vec{u} = y/20$, indica que la placa sufre una **expansión** positiva que aumenta linealmente con la altura debido al estiramiento de las fibras superiores.
La fuerza aplicada genera un desplazamiento descrito en coordenadas polares por:
+
n u(ρ,θ)=-(ρ^2*cosθ*er)/20  
+
donde er es el vector unitario radial
+
  
Lo primero que debemos hacer es convertir el campo a coordenadas cartesianas
+
En la gráfica,se puede apreciar en las **franjas de color**:
er= (x/ρ,y/ρ)  ρ=(x^2+y^2) cosθ=x
+
En azul,esta la base ($y=0$, donde el volumen no cambia) degradándose progresivamente hacia el rojo intenso del borde superior ($y=2$, punto de máxima expansión), independientemente de la posición horizontal $x$.
  
 
==Rotacional==
 
==Rotacional==

Revisión del 12:13 27 nov 2025

Trabajo realizado por estudiantes
Título Placa plana. Grupo 52
Asignatura Teoría de Campos
Curso 2025-26
Autores Carlos gallego García
Arantxa Gonzales Mori
Diego Pérez Fernández
Diego Peña Ruiz
Marco Moreno González
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción

Consideramos la sección longitudinal de una viga voladiza rectangular (en dimensión 2) que ocupa la región (Figura 1.) y que está fija en la pared vertical izquierda.

[math] (𝑥, 𝑦) ∈ [0, 4] × [𝑓(𝑔), 𝑔(𝑥)],𝑓(𝑥) = \frac{x}{8},𝑔(𝑥) = 2 − \frac{x}{8} [/math]

En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura 𝑇(𝑥, 𝑦) dada por

[math] 𝑇(𝑥, 𝑦) = (1 + (𝑦 − 1)^2)(4 - x) [/math],

y los desplazamientos 𝑢⃗(𝑥, 𝑦) producidos por la acción de una fuerza determinada que no conocemos. De esta forma, si definimos[math] 𝑟⃗0 (𝑥, 𝑦) = 𝑥⃗𝑖 + 𝑦𝑗⃗ [/math] el vector de posición de los puntos de la placa antes de la deformación, la posición de cada punto (𝑥, 𝑦) de la placa después de la deformación viene dada por

[math]𝑑(𝑥, 𝑦) = 𝑟⃗0 (𝑥, 𝑦) + 𝑢⃗(𝑥, 𝑦)[/math].

Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento de los puntos de la misma dado por el vector

[math]𝑢⃗(𝜌, 𝜃) = −\frac{1}{20} 𝜌2cos 𝜃𝑒⃗𝜃[/math].

2 Mallado del Solido

Para dibujar el mallado,habrá que parametrizar el sólido y tomar los ejes del el rectángulo [math](x, y) ∈ [−1, 5] × [-1, 3][/math] ,además,como paso de muestreo: [math]h = \frac{1}{10}[/math] para las variables [math]x[/math] e [math]y[/math].

Figura 1
clc; clear; close all;
%Datos
h = 0.1;
u = 0:h:4;
% Para la coordenada vertical, la altura máxima de la placa es 2 por lo que 
% para mantener el paso h=0.1, necesitamos dividir esa altura en aprox 20 partes.
% y definimos un parámetro 's' que vaya de 0 a 1.
num_puntos_y=2/h; 
s=linspace(0,1,num_puntos_y + 1);
%rejilla de parámetros
[U,S]=meshgrid(u,s);

% fronteras (borde inferior y superior)
f_u=U./8;
g_u=2-U./8;

%Calcular las coordenadas físicas X e Y
% X es U
X=U;
% Y es una interpolación entre el borde inferior y superior
Y=f_u+S.*(g_u-f_u);

%Dibujar el mallado
figure(1);
clf; 
hold on;

%hacemos la rejilla y la configuramos
mesh(X,Y,zeros(size(X)),'EdgeColor',[0, 0.7, 0.7],'FaceColor','none');

%Dibujamos un contorno parecido a la imagen dada
plot(X(1,:),Y(1,:),'k','LineWidth',2)% Borde inferior
plot(X(end,:),Y(end,:),'k','LineWidth',2)% Borde superior
plot(X(:,1),Y(:,1),'k','LineWidth',2)% Borde izquierdo (pared)
plot(X(:,end),Y(:,end),'k','LineWidth',2)% Borde derecho

% Configuramos los ejes y el visionado
axis([-1 5 -1 3]);
xlabel('x');
ylabel('y');
title('Mallado de la placa plana');
view(2);
box on;
grid off;
axis equal

3 Curvas de nivel

Figure 1
clc; clear; close all;
% Definición del Mallado y Dominio
h=0.1;  %Muestreo                  
x=0:h:4;                  
y=0:h:2;           
[X,Y] = meshgrid(x, y);

% Funciones que definen la placa 
f=@(x)x./8;  % Límite inferior
g=@(x)2-x./8;  % Límite superior

% Máscara para puntos dentro de la placa
EnPlaca=Y>=f(X)&Y< g(X);

% Definición de la Temperatura y el Gradiente
% Función T(x,y) 
T=(1+(Y-1).^2).*(4-X);

% Aplicar máscara
T_plot=T;
T_plot(~EnPlaca)=NaN;

% Cálculo numérico del gradiente para los vectores (o usar fórmula exacta)
% Usamos la fórmula exacta derivada arriba para mayor precisión
U=-(1+(Y-1).^2);          % Componente x del gradiente
V=2.*(Y-1).*(4-X);    % Componente y del gradiente

% Solo mostramos vectores dentro de la placa
U(~EnPlaca)=NaN;
V(~EnPlaca)=NaN;

% Generación de la Gráfica
figure(1);
clf; % Limpiar figura
hold on;
axis equal; 
axis([-0.5 4.5 -0.5 2.5]);
grid on;
title({'Isotermas y Gradiente \nabla T', 'T(x,y) = (1+(y-1)^2)(4-x)'});
xlabel('x'); ylabel('y');

% Mapa de calor de fondo
[C_fill, h_fill] = contourf(X, Y, T_plot, 20, 'LineStyle', 'none');
colormap(jet); % Mapa de colores tipo jet
cb=colorbar;
ylabel(cb,'Temperatura T');

% Curvas de nivel
[C, h_cont]=contour(X,Y,T_plot,10,'k','LineWidth',1.5);
clabel(C,h_cont,'FontSize',9,'Color','k','FontWeight','bold');

% Campo Vectorial (Gradiente)
% Submuestreamos cada 3 puntos para que no se vea una mancha de flechas
step=3; 
quiver(X(1:step:end,1:step:end),Y(1:step:end, 1:step:end), ...
U(1:step:end,1:step:end),V(1:step:end,1:step:end), ...
1.2,'k','LineWidth',1); % '1.2' es el factor de escala de las flechas

% Dibujar bordes de la placa
plot(x,f(x),'k-','LineWidth',2); % Borde inferior
plot(x,g(x),'k-','LineWidth',2); % Borde superior
plot([0 0],[f(0) g(0)],'k-','LineWidth',2); % Pared izquierda
plot([4 4],[f(4) g(4)],'k-','LineWidth',2); % Pared derecha

% Señalar Máximo
plot(0,0,'rp','MarkerSize',12,'MarkerFaceColor','r');
plot(0,2,'rp','MarkerSize',12,'MarkerFaceColor','r');
text(0.1,0,'Max T','Color','white','FontWeight','bold');

hold off;

4 Energía calorífica(LEY DE FOURIER)

5 Gradiente Térmico

6 Campo de desplazamiento

Figure 1: Campo de Desplazamientos
clc; clear; close all;

% Definición del Dominio y Mallado ---
h = 0.1; % Muestreo
x = 0:h:4; 
y= 0:h:2;
[X,Y]=meshgrid(x,y);

% Definición de la Placa
f=@(x)x./8;     % Límite inferior
g=@(x)2-x./8;   % Límite superior

% Máscara lógica
EnPlaca=Y>=f(X)&Y<=g(X); 

% Cálculo del Campo de Desplazamientos u
U=(1/20).*X.*Y;   % Componente horizontal
V=-(1/20).*X.^2;  % Componente vertical

% Filtrar
U(~EnPlaca)=NaN;
V(~EnPlaca)=NaN;

% Gráfica y ajuste
figure('Name', 'Campo de Desplazamientos'); 
set(gcf,'Position',[100 100 800 500]); 
hold on;
axis equal;
axis([-0.5 4.5 -1 2.5]);
grid on;
title('Campo de Desplazamientos');
xlabel('x'); ylabel('y');

% Dibujar el campo vectorial u 
quiver(X,Y,U,V,0,'r', 'LineWidth',1,'MaxHeadSize', 0.5);

% Dibujar contorno de la placa como referencia
x_borde = linspace(0,4,200);
plot(x_borde,f(x_borde),'k','LineWidth',1);
plot(x_borde,g(x_borde),'k','LineWidth',1);
plot([0 0],[f(0) g(0)],'k','LineWidth',1); % Pared izquierda
plot([4 4],[f(4) g(4)],'k','LineWidth',1); % Pared derecha

% Puntos fijos
% Buscamos puntos donde el desplazamiento sea (0,0)
% Si x=0, entonces U=0 y V=0.Por lo que toda la pared izquierda (x=0) está fija.

plot(zeros(size(y)),y,'b.','MarkerSize',15); % Puntos azules
text(0.1,1,'\leftarrow Puntos Fijos (x=0)','Color','b','FontWeight','bold');

hold off;

7 Desplazamientos

clc; clear; close all

%% GEOMETRÍA Nx = 30;  % divisiones en x Ny = 20;  % divisiones en y

x = linspace(0,4,Nx);

f = @(x) x/8; g = @(x) 2 - x/8;

%% MALLA ESTRUCTURADA figure(1) hold on

% Líneas verticales for i = 1:Nx

   y = linspace(f(x(i)), g(x(i)), Ny);
   xi = x(i)*ones(size(y));
   plot(xi, y, 'c')

end

% Líneas horizontales for j = 1:Ny

   s = (j-1)/(Ny-1);
   y = (1-s).*f(x) + s.*g(x);
   plot(x, y, 'c')

end

% Contorno xp = linspace(0,4,200); plot(xp, f(xp), 'k', 'LineWidth', 2) plot(xp, g(xp), 'k', 'LineWidth', 2) plot([0 0], [f(0) g(0)], 'k', 'LineWidth', 2) plot([4 4], [f(4) g(4)], 'k', 'LineWidth', 2)

axis equal grid on xlabel('x'), ylabel('y') title('Mallado Placa Plana') hold off


%% NODOS DE LA MALLA [X,Y] = meshgrid(x, linspace(0,1,Ny));

for j = 1:Ny

   Y(j,:) = (1-Y(j,:)).*f(X(j,:)) + Y(j,:).*g(X(j,:));

end


%% CAMPO DE TEMPERATURA T = (1 + (Y - 1).^2) .* (4 - X);

figure(2) surf(X, Y, T) shading interp view(2) colorbar axis equal title('Distribución de temperatura') xlabel('x'), ylabel('y')


%% DESPLAZAMIENTO POLAR rho = sqrt(X.^2 + Y.^2); theta = atan2(Y, X);

% Vector e_theta e_tx = -sin(theta); e_ty = cos(theta);

% Desplazamiento u_mag = -(1/20) * rho.^2 .* cos(theta);

% Componentes cartesianas Ux = u_mag .* e_tx; Uy = u_mag .* e_ty;


%% PLACA DEFORMADA Xd = X + Ux; Yd = Y + Uy;

figure(3) hold on

% Malla deformada for i = 1:Nx

   plot(Xd(:,i), Yd(:,i), 'r')

end for j = 1:Ny

   plot(Xd(j,:), Yd(j,:), 'r')

end

axis equal grid on title('Placa deformada') xlabel('x'), ylabel('y') hold off


%% COMPARACIÓN ORIGINAL VS DEFORMADA figure(4) hold on

% Original for i = 1:Nx

   plot(X(:,i), Y(:,i), 'k')

end for j = 1:Ny

   plot(X(j,:), Y(j,:), 'k')

end

% Deformada for i = 1:Nx

   plot(Xd(:,i), Yd(:,i), 'r')

end for j = 1:Ny

   plot(Xd(j,:), Yd(j,:), 'r')

end

legend('Original','Deformada') axis equal grid on title('Comparación malla original vs deformada') hold off


%% CAMPO DE DESPLAZAMIENTO figure(5) quiver(X, Y, Ux, Uy) axis equal grid on title('Campo vectorial de desplazamientos') xlabel('x'), ylabel('y')

8 Divergencia

La **divergencia** mide la variación de volumen local. Como el cálculo dio $\nabla \cdot \vec{u} = y/20$, indica que la placa sufre una **expansión** positiva que aumenta linealmente con la altura debido al estiramiento de las fibras superiores.

En la gráfica,se puede apreciar en las **franjas de color**: En azul,esta la base ($y=0$, donde el volumen no cambia) degradándose progresivamente hacia el rojo intenso del borde superior ($y=2$, punto de máxima expansión), independientemente de la posición horizontal $x$.

9 Rotacional

10 Tensor deformaciones

11 Tensiones tangenciales

12 Tensión de Von Mises

13 Campo de Fuerzas

14 Densidad

15 Ejemplos de uso en la ingeniería

TEMPORAL CORREGIR LO QUE QUERAIS -CARLOS

Una viga en voladizo tiene grandes uso debido a su forma, además de ser muy útil por su funcionalidad. Estas vigas tienen un gran abanico de usos. Para usos arquitectónicos son usadas para balcones y terrazas, cubiertas de entradas y marquesinas, ya que se necesitan vigas que no tengan ningún apoyo vertical por debajo de esta., lo que permite hacer construcciones en el exterior sin la necesidad de columnas que puedan interferir en el diseño. Por otro lado es muy usada en maquinarias como en los brazos de grúas(tanto grúa de torre como grúas pórtico) o en palas de aerogeneradores. Para los brazos de grúa estas vigas son necesarias ya que por uno de sus extremos estará anclado a una carga y por el otro estará libre. De la misma forma se usara para las palas de un aerogenerador ya que estas estarán unidas a el buje por un extremo ( donde trasmite momentos y fuerzas al eje) y libre por el otro (donde actúa el viento y ejerce máxima deflexión). Estas vigas también tienen usos mas específicos para la ingeniería civil. La ingeniería civil ha usado en numerosas ocasiones estas vigas para puentes en voladizo donde no que no tendrán pilas de puente ni tampoco algún apoyo vertical durante el puente mas allá de los estribos y las vigas de voladura