Placa Plana (Grupo 26)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Placa plana. Grupo 26 |
| Asignatura | Teoría de Campos |
| Curso | 2024-25 |
| Autores | Jorge Muñoz Jimenez Eva Aragon Peña Armando de Tomas Fernandez Antonio Gurría Casas Daniel Galarza Polo |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Una placa rectangular plana en la región [math](x, y) ∈ [-1 , 1] × [0,f(x)][/math] viene definida en dimension 2. La función [math]f(x)[/math] es la siguiente: [math]f(x) = 2 + x^2 [/math] Supondremos que están definidas dos cantidades físicas.
- La Temperatura
- Los Desplazamientos
La temperatura [math]T(x, y)[/math] viene dada por la ecuación:
Los desplazamientos [math]u(x, y)[/math] producidos por la acción de una fuerza determinada.
Al definir el vector de posición de los puntos de la placa antes de que se produzca cualquier deformación [math]\vec{r_{0}}(x, y)=x\vec{i}+y\vec{j}[/math] , la posición de cada punto [math](x, y)[/math] de la placa después de la deformación vendrá dada mediante la ecuaciónHaciendo uso del programa Matlab podremos determinar las gráficas de las operaciones calculadas en los siguientes apartados.
Contenido
- 1 Mallado
- 2 Temperatura
- 3 Ley de Fourier
- 4 Variación de Temperatura
- 5 Campo de desplazamientos
- 6 Desplazamiento de los vectores
- 7 Divergencia
- 8 Rotacional
- 9 Tension Deformación
- 10 Tensiones tangenciales
- 11 Tensión de Von Mises
- 12 Elasticidad Lineal
- 13 Masa a partir de la densidad
- 14 Densidad y masa total
1 Mallado
Visualizámos la placa rectangular dada, en la que dibujaremos los distintos tipos de campos. Para poder representar esta placa hacemos uso del programa Matlab, dibujaremos el mallado determinado por la región [-2;2] x [0;3].
Para poder representar el mallado utilizamos el siguiente código:
% configuración de los ejes
axis equal
axis([-2,2,0,3])
view(2)
% APARTADO 1- Malla
h=0.1; %paso de muestreo
%definicion de las variables
x=(-1:h:1);
y=(0:h:1);
[mx,my]=meshgrid(x,y);
%Deformacion parabolica de la malla
yy=my.*(mx.^2+2);
%mallado
hold on
mesh(mx,yy,0.*mx);
2 Temperatura
Calculamos el gradiente de la temperatura T ([math]\nabla T[/math]), del campo escalar T, siendo este un campo vectorial, obteniendo como resultado un vector.
La temperatura viene dada por la siguiente expresión [math] T = (1 - x^4) (\frac {1}{2}- y)[/math], este campo escalar dependerá de las variables x e y. La representación del campo vectorial gradiente indica, que en cada punto del solido, la dirección en la cual la temperatura aumenta mas rápido, y su módulo indicara la rapidez con la que la temperatura aumenta en esa dirección.
%Configuracion de los ejes
axis equal
axis([-2,2,0,3])
view(2)
%Apartado 1 - Malla
h=0.1; %Paso de muestreo
%Definición de variables
x=(-1:h:1);
y=(0:h:1);
[mx,my]=meshgrid(x,y);
%Deformacion parabólica de la malla
yy=my.*(mx.^2+2);
hold on
%Apartado 2 - Temperatura y Gradiente
%Dibujamos las curvas de nivel de la temperatura
T=(1-mx.^4).*(0.5-yy);
contour(mx,yy,T,50,´b´);
%Dibujamos el gradiente
[gx,gy]=gradient(T,h,h);
quiver(mx,yy,gx,gy);
hold off
3 Ley de Fourier
La Ley de Fourier determina que tras estudiar el flujo de calor entre dos cuerpos se determina que la diferencia de temperatura entre ambos es directamente proporcional, solo podrá ir del cuerpo mas caliente al cuerpo mas frio, lo que significa que ira en una sola dirección. Para el cumplimiento de esta ley se deben cumplir tres condiciones.
- Sistema isotropo
- Gradiente de temperatura pequeño
- No hay transferencia de calor por convección ni radiación
La fórmula de la Ley de Fourier es la siguiente:
%Dibujamos las curvas de nivel de la temperatura
T= (1-mx.^4).*(0.5-yy);
%Dibujamos el gradiente
[gx,gy]=gradient(T,h,h);
%Calculamos y representamos Q
k=-1;
qx=k.*gx;
qy=k.*gy;
quiver(mx,yy,qx,qy);
hold off
FORMULAS ARMANDO
d(x,y)=(2-|x|)(4-y)
4 Variación de Temperatura
Para poder estuadiar el punto donde la temperatura es mayor, haremos uso del programa Matlab para la representación de este. El objetivo sera encontrar el punto dentro de el mallado de la placa plana donde la temperatura es mayor, esto se obtiene calculando el gradiente.
El código Matlab es el siguiente:
%Hay que dibujarlo como un solido
mod=sqrt(gx.^2+gy.^2);
%Configuración de los ejes
axis equal
axis([-2,2,0,3])
view(2)
%Dibujamos la Malla
h=0.1;
%Definicion de variables
x=(-1:h:1);
y=(0:h:1);
[mx,my]=meshgrid(x,y);
%Deformacion parabolica de la malla
yy=my.*(mx.^2+2);
%Calculo del gradiente de la deformación
[gy,gx]=gradient(yy,h,h); %Gradiente en x,y (orden invertido)
%Calculo de la magnitud del gradiente
mod_grad=sqrt(gx.^2+gy.^2);
%Encontrar el indice dle punto de mayor magnitud del gradiente
[max_grad_value, idx] = max(mod_grad(:)); %Mayor valor del gradiente
[row,col] = inds2sub(size(mod_grad),idx); %Indices del punto
%Coordenadas del punto con mayor gradiente
x_max = mx(row, col);
y_max = my(row,col);
%Direccion del gradiente en el punto de mayor magnitud
gx_max = gx(row, col);
gy_max = gy(row, col);
%Normalizacion del vector de dirección
magnitude = sqrt(gx_max^2 + gy_max^2);
direction_vector = [gx_max / magnitude, gy_max / magnitude];
%Graficar la malla
hold on
mesh(mx, yy, zeros(size(mx))); %Malla
%Dibujar el punto rojo en el lugar donde la magnitud del gradiente es maxima
plot3(x_max, y_max, 0, 'ro', 'MarkerSize', 10, 'Linewidth', 2);5 Campo de desplazamientos
Estudiaremos si alguno de los puntos del mallado del campo de desplazamientos se quedan fijos. Para poder comprobar esto, dibujamos un mallado que indique el movimiento de cada uno de los puntos que componen a este. El desplazamiento estará indicado por las flechas.
%Campo de desplazamiento
Ux=(mx.*yy)./10;
Uy=(-yy.*mx.^2)/10);
quiver(mx,yy,Ux,Uy,'r');6 Desplazamiento de los vectores
%Configuracion de los ejes
h=0.1; %paso de muestreo
%Definicion de variables
x=(-1:h:1);
y=(0:h:1);
[mx,my]=meshgrid(x,y);
%Deformacion parabolica de la malla
yy=my.*(mx.^2+2);
%Campo de desplazamiento
Ux=(mx.*yy)./10;
Uy=(-yy.*mx.^2)/10;
%Placa pre-desplazamiento
subplot(1,3,1);
surf(mx,yy,0.*mx);
axis equal
axis([-2,2,0,3])
view(2)
title('Original')
%Placa post-desplazamiento
subplot(1,3,2);
surf(mx,yy,Ux,Uy);
axis equal
axis([-2,2,0,3])
view(2)
title('Desplazado')
%Comparacion
subplot(1,3,3);
hold on
surf(mx,yy,0.*mx);
surf(mx,yy,Ux,Uy);
axis equal
axis([-2,2,0,3])
view(2)
title('Comparativa')
hold off7 Divergencia
Se representa la gráfica en un mapa de colores (barra de color a la derecha). En base a ello, interpretamos el cambio de volumen local debido al desplazamiento:
- Colores positivos (amarillos/verde claro): Indican las regiones en las que la divergencia es positiva, lo que implica que el volumen local está aumentando debido al desplazamiento.
- Colores negativos (azules): En estos colores se indican las regiones donde la divergencia es negativa, y por tanto el volumen está disminuyendo en consecuencia del desplazamiento.
- Zonas de transición (cerca de 0): Indican los puntos donde el cambio de volumen es mínimo o nulo debido al desplazamiento.
METER LOS CALCULOS DE LA PREGUNTA 7, ESTAN EN EL GRUPO FOTO DEL IPAD. EXPLICAR POR QUE SON ASI LOS COLORES Y QUE ES LO QUE SIGNIFICAN, FOTO DE TOÑO. LAS EXPLICACIONES LAS HAGO ESTA NOCHE, SI ME FALTA ALGUNA TE LO DIGO
%Paso de muestreo
h=0.1;
%Definicion de variables
x=(-1:h:1);
y=(0:h:1);
[mx,my]=meshgrid(x,y);
%Deformacion parabolica de la malla
yy=my.*(mx.^2+2);
mesh(mx,yy,0.*mx);
%Definimos variable U
Ux=(mx.*yy)./10);
Uy=(-yy.*mx.^2)/10;
%Divergencia de U
div=divergence(mx,yy,Ux,Uy);
maxdiv=max(max(div));
mindiv=min(min(div));
surf(mx,yy,div);
%Configuración de los ejes
axis equal
axis([-2,2,0,3])
8 Rotacional
%Paso de muestreo
h=0.1;
%Defenicion de variables
x=(-1:h:1);
y=(0:h:1);
[mx,my]=meshgrid(x,y);
%Deformacion parabolica de la malla
yy=my.*(mx.^2+2);
mesh(mx,yy,0.*mx);
%Definimos variable U
Ux=(mx.*yy)./10;
Uy=(-yy.*mx.^2)/10;
%Rotacional de U
[rot,ang]=curl(mx,yy,Ux,Uy);
surf(mx,yy,rot);
maxrot=max(max(rot));
%Configuracion de los ejes
axis equal
axis([-2,2,0,3])
[math] \vec u (x,y) = \frac{xy{\vec i} - yx^2{\vec j}}{10} = (\frac {xy}{10} , \frac{-yx^2}{10})[/math]
[math] |∇ × \vec{u}| = |\begin{matrix} \vec i & \vec j \\ \frac{\partial}{\partial x} & \frac{\partial}{\partial y} \\ U {_1} & U {_2} |[/math]
[math]
|∇ × \vec{u}| =\frac{1}{\sqrt{ρ|
\begin{matrix}
\ g_ρ & \ g_θ & \ g_z \\
& & \\
\frac{\partial}{\partial ρ} & \frac{\partial}{\partial θ} & \frac{\partial}{\partial z}
\\ & & \\
u_1 & u_2 & u_3
\end{matrix}\right| =\frac{1}{ρ}[-\frac{\partial{\vec u_2·\vec g_ρ}}{\partial(z)}]=\frac{1}{ρ}[0+0+((-senθ)(1-\frac{1}{ρ^2})+(1-\frac{1}{ρ^2})\vec g_z)]=0
[/math]
9 Tension Deformación
%Paso de muestreo
h=0.1;
%Defenicion de variables
x=(-1:h:1);
y=(0:h:1);
[mx,my]=meshgrid(x,y);
%Deformacion parabolica de la malla
yy=my.*(mx.^2+2);
mesh(mx,yy,0.*mx);
%Definimos variable U
Ux=(mx.*yy)./10;
Uy=(-yy.*mx.^2)/10;
%Trazado i*tension*i.
t1=(1/10).*(3.*yy-mx.^2);
subplot(1,3,1);
surf(mx,yy,t1);
title('I*tension*i);
%Trazado j*tension*j
t2=(1/10).*(yy-3.*mx.^2)
subplot(1,3,2);
surf(mx,yy,t2);
title('j*tension*j');
%Trazado k*tension*k
t3=(1/10).*(yy-mx.^2);
subplot(1,3,3);
surf(mx,yy,t3);
title('k*tension*k);
calculos:
10 Tensiones tangenciales
[math] |σ·\vec{i} - ( \vec{i}·σ·\vec{i})\vec{i}|= | \begin{pmatrix} \frac{1}{10}( 3y-x^2 ) & (\frac{x}{10} - \frac{2xy}{10}) & 0 \\ \frac{x}{10}- \frac{2xy}{10} & - \frac{1}{10} (y - 3x^2) & 0 \\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} - (\frac {1}{10} (3y - x^2)) \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} | =[/math]
[math] |\begin{pmatrix} \frac{1}{10}(3y - x^2) \\ (\frac{x}{10} - \frac{2xy}{10}) \\ 0 \end{pmatrix} - \begin{pmatrix} \frac{1}{10}(3y - x^2) \\ 0 \\ 0 \end{pmatrix}| = | \begin{pmatrix} 0 \\ (\frac{x}{10} - \frac{2xy}{10}) \\ 0 \end{pmatrix} | = (\frac {x}{10}) - (\frac{2xy}{10})[/math]
11 Tensión de Von Mises
La tensión de Von Mises es un campo escalar que se emplea para analizar cómo reacciona un material específico frente a un esfuerzo, permitiendo diferenciar entre un comportamiento plástico y elástico, así como identificar el origen de un posible fallo. Se calcula a partir de los autovalores de la matriz de tensiones:
Para calcularlo, primero tendremos que calcular los autovalores de dicha matriz y luego calcular los valores de Von Mises para cada punto:
12 Elasticidad Lineal
El desplazamiento es el siguiente: [math] \vec{u}(x,y) = (\frac{xy}{2} - yx^2) \vec{i} + (-\frac{y^2}{2})\vec{j}[/math]
La matriz de tensiones es la siguiente: [math]σ (x,y) = \begin{pmatrix} σ{_x}{_x} & σ{_x}{_y}\\ σ{_y}{_x} & σ{_y}{_y}\end{pmatrix}[/math]
[math]∇·σ = \begin{pmatrix} \frac{dσ{_1}{_1}}{dx} & \frac{dσ{_1}{_2}}{dy} & \frac{dσ{_1}{_3}}{dz} \\\frac{dσ{_2}{_1}}{dx} & \frac{dσ{_2}{_2}}{dy} & \frac{dσ{_2}{_3}}{dz} \\\frac{dσ{_3}{_1}}{dx} & \frac{dσ{_3}{_2}}{dy} & \frac{dσ{_3}{_3}}{dz} \end{pmatrix} = \begin{pmatrix} \frac{-2x}{10} + (\frac{-2x}{10}) + 0 \\ (\frac{1}{10}) - (\frac{2y}{10}) + (\frac{1}{10}) + 0 \\ 0 + 0 + 0 \end{pmatrix} = \begin{pmatrix} \frac{-4x}{10} \\ \frac{2}{10} - \frac{2y}{10} \\ 0 \end{pmatrix} [/math]
El resultado final teniendo en cuenta los signos:
[math] \vec{F} = -∇·σ = \begin{pmatrix} \frac{4x}{10} \\ \frac{2}{10} (y - 1) \\ 0 \end{pmatrix} [/math]
13 Masa a partir de la densidad
Para poder calcular la masa total, deberemos realizar la integral correspondiente. La densidad de la placa viene determinada por la función
14 Densidad y masa total
Una vez llegados a este punto, nos piden calcular la masa total aproximando la integral correspondiente numéricamente. Suponemos que la densidad viene dada de la siguiente forma: