Campos de temperaturas y deformaciones en una placa 2-D (32)

De MateWiki
Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título Campos de temperaturas y deformaciones en una placa 2-d. Grupo 32
Asignatura Teoría de Campos
Curso 2023-24
Autores
  • Maleno Ayala, Rubén
  • Sánchez Gil, Miguel
  • González López, Mario
  • Ruiz López, Álvaro
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

Un Campo de Temperaturas es un Campo Escalar aplicado a un objeto físico con el objetivo de representar las temperaturas propias de los puntos del objeto.

La representación visual de un campo escalar puede hacerse mediante programas como Octave y MATLAB, los cuales utilizan operaciones escalares y elementos matriciales para realizar cálculos complejos.


1 Mallado de la placa (Rubén)

Para generar el mallado del cuarto de anillo circular usaremos el comando meshgrid en Matlab. El cuarto de anillo está centrado en \((0,0)\) y sus radios son \(R_{1} = 1\) y \(R_{2} = 2\). Además, se encuentra en el plano \(y ≥\frac{|x|}{2}\).

Su representación está encuadrado en la región \((x, y) ∈ [-3; 3] × [−1; 3]\). El paso de muestreo se refiere a las subdivisiones deseadas por unidad en ambos ejes, en este caso, \(h = 2/10\).

Ahora pasaremos estas características a coordenadas cilíndricas, donde \(ρ\) conservará el radio del anillo y \(θ\) dependerá del ángulo que forme las rectas \(y =\frac{x}{2}\) e \(y =\frac{-x}{2}\) con los ejes \(X\) e \(Y\), cuyo valor es \(α = tg(\frac{1}{2}) ≈ 26,6°\), por tanto:

[math](ρ,θ) ∈ [1; 2] × [α,π-α][/math]
Figura 1
clc
% Definición de variables
paso_muestreo = 2/10;
distancia = 1:paso_muestreo:2;
a = atan(1/2);
angulo = linspace(a,pi-a,pi/paso_muestreo);
[D,A] = meshgrid(distancia,angulo);
% Conversión a cilíndricas
x = D.*cos(A);
y = D.*sin(A);
mesh(x,y,0.*x)
view(2)
axis([-3,3,-1,3])
% Definición del título
title('CUARTO DE ANILLO CIRCULAR')


2 Curvas isotermas (Ruiz)

Una vez hemos representado el sólido, podemos dibujar las curvas de nivel de la temperatura. La distribución de la temperatura en el sólido viene dada por el campo escalar:
[math]T(x,y)=cos(x^2)+sin((y−1)^2)[/math]

A partir de este campo escalar, podemos definir el gradiente de T como [math]\nabla T[/math]. El gradiente de nuestro campo escalar indica la dirección en la que aumenta la temperatura, y su módulo indica cuánto aumenta.

Este gradiente se puede calcular mediante la siguiente fórmula:
[math]\nabla T = \frac{\partial T}{\partial x}\vec i+\frac{\partial T}{\partial y}\vec j+\frac{\partial T}{\partial z}\vec k[/math]
Con lo cual, obtenemos la siguiente expresión:
[math]\nabla T = -2xsin(x^2)\vec i+2cos((y-1)^2)(y-1)\vec j[/math]

Para visualizar las curvas isotermas, se ha empleado el siguiente código.

Curvas de Nivel
Curvas de nivel de la función temperatura T
clear
clc
% Definir la placa
h=0.2;
r=1:h:2;
a=atan(1/2);
t=linspace(a,pi-a,pi/h);
[R,Th]=meshgrid(r,t);
% Conversión a cilíndricas
X=R.*cos(Th);
Y=R.*sin(Th);
% Campo de temparatura
T=cos(X.^2)+sin((Y-1).^2);
% Representación de las curvas de nivel
figure
mesh(X,Y,0*X);
hold on
contour(X,Y,T,20)
colorbar
title('CURVAS DE NIVEL DE LA TEMPERATURA')
axis ([-3, 3, -1, 3,])
view(0,90);
hold off
Tmax=max(max(T));

A partir de la imagen superior derecha, se puede ver que las temperaturas más altas se encuentran en la parte superior del sólido. En concreto, la temperatura máxima es de 1.8150 grados en el punto (0,2), obtenido en la línea 24 del código superior.

A continuación, habiendo calculado previamente el gradiente de la temperatura, se puede comprobar como el gradiente es ortogonal a las curvas de nivel.

Gradiente de la temperatura
Gradiente y curvas de nivel de la función temperatura T
clear
clc
% Definir la placa
h=0.2;
r=1:h:2;
a=atan(1/2);
t=linspace(a,pi-a,pi/h);
[R,Th]=meshgrid(r,t);
% Conversión a cilíndricas
X=R.*cos(Th);
Y=R.*sin(Th);
% Campo de temparatura
T=cos(X.^2)+sin((Y-1).^2);
% Representación de las curvas de nivel
figure
mesh(X,Y,0*X);
hold on
% Cálculo del gradiente
Gx=-2.*X.*sin(X.^2);
Gy=2.*cos((Y-1).^2).*(Y-1);
contour(X,Y,T,20)
quiver(X,Y,Gx,Gy);
colorbar
title('CURVAS DE NIVEL Y GRADIENTE')
axis ([-3, 3, -1, 3,])
view(0,90);
hold off

3 Campo vectorial de la energía calorífica (Mario)

Según la Ley de Fourier, la energía calorífica [math]\vec Q[/math] viaja siguiendo la expresión: [math] \vec Q =-k▽T[/math], siendo k la constante de conductividad térmica del material. Para este ejemplo supondremos la constante de conductividad térmica de la placa como k=1, por lo que nuestra ecuación queda como: [math]\vec Q=-▽T[/math].

Tomando el gradiente del campo de temperaturas en coordenadas cartesianas: [math]▽T(x,y)=-2xsen(x^2)\vec i +2(y-1)cos((y-1)^2)\vec j [/math]:

[math]\vec Q =2xsen(x^2)\vec i -2(y-1)cos((y-1)^2)\vec j [/math]
Figura 4
clc
% Definición de variables
paso_muestreo = 2/10;
rho = 1:paso_muestreo:2;
ang = atan(1/2);
theta = linspace(ang,pi-ang,pi/paso_muestreo);
[D,A] = meshgrid(rho,theta);

% Conversión a cartesianas
X = D.*cos(A);
Y = D.*sin(A);
mesh(X,Y,0*X);

% Aplicación del campo vectorial a los puntos de la placa
Qx = 2.*X.*sin(X.^2);
Qy = 2.*(Y-1).*cos((Y-1).^2);
hold on
quiver(X,Y,Qx,Qy);
hold off

view(2)
axis([-3,3,-1,3])
% Definición del título
title('ENERGÍA CALORÍFICA DE LA PLACA')


4 Representación del campo de vectores en los puntos del sólido (Miguel)

Representamos el campo de vectores de deslizamiento en el cuarto de anillo, para eso nos ofrecen un campo que va a ser: [math] \vec u = \frac{1}{2}sen(θ) \vec e_ρ [/math]. Pasamos nuestro \vec u a cartesianas, sabiendo que [math] \vec e_ρ= cos(θ) \vec i + sin(θ)\vec j[/math]

CampoVectore.png
clc
paso_muestreo = 2/10;
  distancia = 1:paso_muestreo:2;
  a = atan(1/2);
  angulo = linspace(a,pi-a,pi/paso_muestreo);
  [D,A] = meshgrid(distancia,angulo);
  % Conversión a cilíndricas
  x = D.*cos(A);
 y = D.*sin(A);
 mesh(x,y,0.*x)
 view(2)
 axis([-3,3,-1,3])
 hold on
 mx=0.5.*sin(A).*cos(A);
 my=0.5.*sin(A).*sin(A);
 quiver(x,y,mx,my);
 % Definición del título
 title('CAMPO DE VECTORES')


5 Imagen del sólido antes y después del desplazamiento (Rubén)

A continuación, se representará el sólido antes y después de la deformación producida por el campo de presiones [math] \vec u [/math] en coordenadas cartesianas (calculado en el apartado anterior). Se puede observar además que la deformación solo irá en la dirección [math] \vec e_{\rho} [/math] al ser [math] \vec e_{\theta} [/math] nula.

right
clc
% PLACA SIN DEFORMAR
paso_muestreo = 2/10;                         
rho = 1:paso_muestreo:2;
alfa = atan(1/2);
theta = linspace(alfa,pi-alfa,pi/paso_muestreo);
[RHO,THETA] = meshgrid(rho,theta);
x = RHO.*cos(THETA);
y = RHO.*sin(THETA);
subplot(1,2,1)                  
Q = mesh(x,y,0*x);
view(2)
set(Q,'EdgeColor','b');
axis ([-3,3,-1,3])
title('PLACA SIN DEFORMAR');
% PLACA DEFORMADA
subplot(1,2,2)                     
A = (sin(THETA).*cos(THETA))./2;
B = (sin(THETA).^2)./2;
X = x+A;
Y = y+B;
S = mesh(X,Y,0*X);
view(2)
set(S,'EdgeColor','r');
axis ([-3,3,-1,3])
title('PLACA DEFORMADA');
% COMPARACIÓN AMBAS PLACAS
hold on
figure                                 
S = mesh(X,Y,0*X);
axis ([-3,3,-1,3])
view(2)
set(S,'EdgeColor','r');
title('COMPARACIÓN DE AMBAS PLACAS');
hold on
Q = mesh(x,y,0*x);
set(Q,'EdgeColor','b');
hold off
center

6 Divergencia y sus mínimos y máximos (Ruiz)

En primer lugar, hay que calcular [math]\nabla ·\vec u[/math], esto se puede hacer mediante la siguiente expresión:
[math]\nabla ·u = \frac{\partial u_x}{\partial x}+\frac{\partial u_y}{\partial y}+\frac{\partial u_z}{\partial z}[/math]

Una vez operado, obtenemos

[math]\nabla ·T = -2xsin(x^2)\vec i+2cos((y-1)^2)(y-1)\vec j[/math]

7 Rotacional en t = 0 (Mario)

Sea [math] ∇ × \vec u [/math] el rotacional de un campo de desplazamientos [math] \vec u = (ux, uy, uz)[/math] expresado en un sistema de coordenadas de vectores unitarios ortogonales [math]\vec{a}, \vec{b}, \vec{c}[/math], aplicado a una superficie bidimensional expresado en dicho sistema de coordenadas, se cumple que:

[math]\ \bigtriangledown \times \vec{u} = \begin{vmatrix}\vec{u} & \vec{v} &\vec{w} \\ d/da & d/db & d/dc\\ ux & uy & uz \end{vmatrix}[/math]

Continuando con nuestro ejemplo, calcularemos el rotacional del campo vectorial [math] \vec u (ρ,θ,z) = \frac{1}{2}sen(θ)·{\vec e_ρ} [/math] como:

[math] \mathbb{\nabla \times \vec u} = {1 \over ρ} \; \begin{vmatrix} {\vec e_ρ} & {ρ· \vec e_θ} & {\vec e_z}\\ {\partial \over \partial ρ} & {\partial \over \partial θ} & {\partial \over \partial z}\\ {\frac{1}{2}sen(θ)} & {0} & {0}\\ \end{vmatrix} [/math] = [math] -{1 \over ρ}·{\partial \over \partial θ}[{\frac{1}{2}sen(θ)}]·{\vec e_z} = [\frac{-1}{2} \frac{cos(θ)}{ρ}]·{\vec e_z}[/math]

Por lo tanto, [math] |∇ × \vec u |= \frac{1}{2} \frac{cos(θ)}{ρ} [/math]

Figura 9
clc
% Definición de variables
paso_muestreo = 2/10;
rho = 1:paso_muestreo:2;
ang = atan(1/2);
theta = linspace(ang,pi-ang,pi/paso_muestreo);
[D,A] = meshgrid(rho,theta);

% Conversión a cartesianas
X = D.*cos(A);
Y = D.*sin(A);
mesh(X,Y,0*X);

% Definición del rotacional del campo
ROTu = 1/2.*cos(A)./D;

% Representación gráfica del rotacional
surf(X,Y,ROTu);
view(2)
axis([-3,3,-1,3])
colorbar
% Definición del título
title('REPRESENTACIÓN DEL ROTACIONAL DEL CAMPO')


Como podemos observar en la gráfica, los puntos con un mayor rotacinal son aquellos con menor ángulo θ, que darán un mayor valor al coseno; y con menor ρ.

8 Tensiones normales (Miguel)

Sea [math]\sigma=λ\bigtriangledown \cdot \vec{u}Ι + 2µε[/math] el campo de tensiones en un medio elástico, isótropo y homogéneo donde [math]ε=\frac{\bigtriangledown\vec{u}+\bigtriangledown\vec{u}^t}{2}[/math] la parte simétrica del gradiente del campo vectorial [math]\vec u[/math], los coeficientes de Lamé [math]λ,µ =1[/math] y [math]\bigtriangledown \cdot \vec{u}[/math] la divergencia del campo vectorial [math]\vec u[/math] se puede proceder a los cálculos de las deformacciones en las direcciones de los vectores de la base ortonormal orientada positivamente [math]\vec e_ρ,\vec e_θ,\vec e_z[/math]. Para ello, se hacen unos cálculos intermedios que facilitan la operación:

Calculamos el gradiente del campo y su traspuesto:

[math]\bigtriangledown\vec{u}=\begin{pmatrix} \ 0 & \frac{cos(θ)}{2\rho} & 0 \\ 0 & \frac{sen(θ)}{2\rho} & 0 \\ 0 & 0 & 0 \end{pmatrix}[/math]

[math]\bigtriangledown\vec{u^t}=\begin{pmatrix} \ 0 & 0 & 0 \\ \frac{cos(θ)}{2\rho} & \frac{sen(θ)}{2\rho} & 0 \\ 0 & 0 & 0 \end{pmatrix}[/math]

[math]ε=\begin{pmatrix} \ 0 & \frac{cos(θ)}{4\rho} & 0 \\ \frac{cos(θ)}{4\rho} & \frac{sen(θ)}{2\rho} & 0 \\ 0 & 0 & 0 \end{pmatrix}[/math] ––––––––––>[math]2ε=\begin{pmatrix} \ 0 & \frac{cos(θ)}{2\rho} & 0 \\ \frac{cos(θ)}{2\rho} & \frac{sen(θ)}{\rho} & 0 \\ 0 & 0 & 0 \end{pmatrix}[/math]

A continuación calculamos la divergencia que resulta igual a: [math]\nabla\cdot\vec u=\frac{sen(θ)}{\rho}.[/math]

Por tanto ya podemos calcular

9 Tensiones tangenciales (Rubén)

10 Tensión de Von Mises (Ruiz)

11 Velocidad de propagación de las ondas (Mario)

12 Módulo del desplazamiento transversal (Miguel)