Visualización de campos escalares y vectoriales en elasticidad (Grupo 4C)
Consideramos una placa circular comprendida entre las circunferencias de radio 1 y radio 2, centradas en el origen. En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura [math]T(\rho,\theta,t)[/math] y el tiempo [math]t[/math], y los desplazamientos [math]\vec u(\rho,\theta,t)[/math].De esta forma, si definimos [math]r_0(\rho,\theta)[/math] el vector de posición de los puntos de la placa en reposo, la posición de cada punto [math](\rho,\theta)[/math] de la placa en un instante de tiempo [math]t[/math] viene dada por: [math] \vec r (\rho,\theta,t)= \vec r_{0}(\rho,\theta)+\vec u(\rho,\theta,t). [/math] Vamos a suponer que sobre la placa se ha aplicado una fuerza que ha provocado una vibración de manera que los desplazamientos en un instante [math]t_0[/math] vienen dados por: [math]\vec u(\rho,\theta)=\frac{\sin(\pi \theta)}{20\rho^2}\vec g_{\theta}. [/math]
Contenido
1 Mallado del sólido
Nuestro mallado consiste en la representación de los puntos interiores de una placa solida, en forma de corona circular. Tomando como paso de muestreo h=1/10, los comandos en Matlab de la visualizacion de nuestra placa es la siguiente:
h=0.1 % Paso de muestreo
u=1:h:2; % Intervalo [1,2]
v=0:h:2*pi+h; % Intervalo [0,2*pi]
[uu,vv]=meshgrid(u,v); % Matrices de las coordenadas u y v
figure(1)
xx=uu.*cos(vv); % parametrizacion
yy=uu.*sin(vv);
mesh(xx,yy,0*xx) % dibuja la malla
axis([-3,3,-3,3]) % selecciona la región
view(2)
2 Temperatura del sólido
La temperatura es un campo escalar representado por [math]T(x,y)=e^{-y}[/math],vamos a tratar de ver como varía la temperatura en la placa que estamos estudiando . Nuestra función depende únicamente de la variable Y, esto quiere decir que la temperatura se mantendrá constante para todo valor de X. Observamos que cuanto mayor es el valor de la Y ,menor es la temperatura , luego los puntos de máxima temperatura son los más alejados del foco( el origen) y con menor valor de la variable Y, como podemos observar en la figura de la derecha.
h=0.1 % paso de muestreo
u=1:h:2; % Intervalo[1,2]
v=0:h:2*pi+h; % Intervalo [0,2*pi]
[uu,vv]=meshgrid(u,v); % matrices
figure(1)
xx=uu.*cos(vv); % parametrización
yy=uu.*sin(vv);
f=exp(-yy); % Campo escalar
surf(xx,yy,f) % visualización
axis([-3,3,-3,3]) % región de visualización
view(2)
2.1 Cálculo y representación del [math]∇T [/math]
Para estudiar como varía la temperatura al movernos por el plano calculamos el gradiente de T. [math]∇T= -e^{-y} j [/math] En la figura de la derecha podemos observar la representación del campo vectorial [math]∇T [/math] y que este es perpendicular a las curvas de nivel del campo escalar T.
g=-exp(-yy); % Gradiente
subplot(1,2,1); % Muestra varias imágenes
hold on
contour(xx,yy,f,20)
surf(xx,yy,f);
quiver3(xx,yy,f,0*xx,g,0*f);
hold off
subplot(1,2,2)
hold on
quiver(xx,yy,0*xx,Gradiente); colorbar;
contour(xx,yy,f,20)
hold off
3 Deformaciones
3.1 Visualización del campo de deformaciones en la placa
Nuestra placa sufre deformaciones debido a una percusión dada en un t0. Esta percusión viene dada en forma de campo vectorial, el cual es el siguiente: [math] \vec u(\rho,\theta)=\frac{\sin(\pi \theta)}{20\rho^2}\vec g_{\theta}. [/math]
fx=(-sin(pi.*vv).*sin(vv))./(20.*uu); % Componente X del campo vectorial
fy=(sin(pi.*vv).*cos(vv))./(20.*uu) ; % Componente Y del campo vectorial
quiver(xx,yy,fx,fy) % Dibuja el campo vectorial
axis([-3,3,-3,3])
view(2)
3.2 Comparación de la placa antes y después de la deformación
Debido a la deformación que sufre la placa , la visualización de la placa sufre una serie de variaciones como podemos ver en la figura de la derecha. Debido a que el módulo del campo vectorial es muy pequeño (en su valor máximo es de [math]1/20[/math] las variaciones producidas son apenas apreciables.
tt=uu.*cos(vv)+(-sin(pi.*vv).*sin(vv))./(20.*uu); % parametrizacion
rr=uu.*sin(vv)+(sin(pi.*vv).*cos(vv))./(20.*uu);
subplot(1,2,2)
mesh(tt,rr,0*tt)
axis([-3,3,-3,3])
view(3)
3.3 Variación del volumen local debido al desplazamiento
La variación del volumen local la calculamos gracias a la divergencia del campo vectorial [math]\vec u[/math]:
[math]\nabla \cdot \vec u =\frac{\pi\cos(\pi \theta)}{20\rho^2}\ [/math]
La divergencia es un campo escalar que depende de las variables [math]\rho[/math] y [math]\theta[/math] luego los puntos de mayor divergencia son los que tienen [math]\rho=1 [/math] y en los que el coseno sea máximo, es decir +1 .
f=(cos(pi.*vv).*pi)./(20.*(uu.^2)); % Campo escalar Divergencia
surf(xx,yy,f)
axis([-3,3,-3,3]) % selecciona la región
view(2)
3.4 Cálculo del rotacional del campo vectorial
El rotacional es un operador vectorial que muestra la tendencia de un campo vectorial a inducir rotación alrededor de un punto.En nuestro campo de desplazamiento [math]\vec u[/math], [math]\nabla \times \vec u =0 [/math] Si el rotacional de un campo vectorial es 0 y las derivadas parciales del campo son continuas, que en este caso lo son, podemos decir que el campo [math]\vec u[/math] es un campo conservativo.
4 Tensiones procudidas en la placa
4.1 Tensiones normales producidas por el campo vectorial
Obtenemos la parte simétrica del tensor gradiente de [math]\vec u[/math] y calculamos el tensor de tensiones [math]\sigma_{ij}[/math] a través de la fórmula: [math] \sigma_{ij}=\lambda \nabla \cdot \vec u \delta_{ij} + 2\mu \epsilon_{ij}, [/math] Tomamos [math]\lambda=\mu=1[/math]. El resultado de la parte simetrica del gradiente de [math]\vec u[/math]
\begin{bmatrix} 0 & \frac{-sin(\pi \theta)}{20\rho}(1+\frac{1}{\rho^2}) & 0 \\ \frac{-sin(\pi \theta)}{20\rho}(1+\frac{1}{\rho^2}) & \frac{\pi\cos(\pi \theta)}{10\rho^2} & 0 \\ 0 & 0 & 0 \end{bmatrix}
Calculamos [math]\sigma_{ij}[/math] utilizando la formula, dando como resultado la siguiente matriz: [math]\sigma_{ij}=\begin{bmatrix} \frac{\pi\cos(\pi \theta)}{20\rho^2} &\frac{-sin(\pi \theta)}{20\rho}(1+\frac{1}{\rho^2}) & 0 \\ \frac{-sin(\pi \theta)}{20\rho}(1+\frac{1}{\rho^2}) & \frac{3\pi\cos(\pi \theta)}{20\rho^2} & 0 \\ 0 & 0 & \frac{\pi\cos(\pi \theta)}{20\rho^2} \end{bmatrix}[/math] Calculamos las tensiones normales en la dirección [math]\vec g_{\rho}[/math], es decir [math]\vec g_{\rho} \cdot \sigma \cdot \vec g_\rho[/math] y las tensiones normales en la dirección [math]\vec g_\theta/\rho[/math], es decir [math]\vec g_\theta/\rho \cdot \sigma \cdot \vec g_\theta/\rho[/math] dandonos como resultado de tales operaciones:
[math]\vec g_{\rho} \cdot \sigma \cdot \vec g_\rho = \frac{\pi\cos(\pi\theta)}{20\rho^2}\\ \vec g_\theta/\rho \cdot \sigma \cdot \vec g_\theta/\rho =\frac{3\pi\cos(\pi\theta)}{20\rho^2}[/math] En la figura de la derecha podemos observar como varía el módulo de las tensiones en la direccion de [math]\vec g_{\rho}[/math]
xx=uu.*cos(vv);
yy=uu.*sin(vv);
mesh(xx,yy,0*xx)
f=cos(pi.*vv).*pi./(20.*uu.^2);% Módulo de las tensiones en la dirección radial
surf(xx,yy,f)
axis([-3,3,-3,3])
view(2)
Debido a que las tensiones en la dirección de [math]\vec g_{\rho}[/math] depende de [math]{\rho}[/math] y [math]{\theta}[/math] podemos observar que los puntos de la placa circular donde el valor de estas tensiones es mayor son aquellos que tienen radio menor y en los que el coseno sea máximo, es decir +1 o -1.
En la figura de la derecha podemos observar como varía el módulo de las tensiones en la direccion de [math]\vec g_\theta/\rho[/math]:
xx=uu.*cos(vv);
yy=uu.*sin(vv);
mesh(xx,yy,0*xx)
f=3.*cos(pi.*vv).*pi./(20.*uu.^2);Módulo de las tensiones en la dirección tangencial
surf(xx,yy,f)
axis([-3,3,-3,3])
view(2)Debido a que las tensiones en la dirección de [math]\vec g_\theta/\rho[/math] depende de [math]{\rho}[/math] y [math]{\theta}[/math] podemos observar que los puntos de la placa circular donde el valor de estas tensiones es mayor son aquellos que tienen radio menor y en los que el coseno sea máximo, es decir +1 o -1.
4.2 Tensiones tangenciales respecto a los planos ortogonales
Vamos a representar gráficamente las tensiones tangenciales que se producen en la placa respecto al plano ortogonal a [math]\vec g_{\rho}[/math] , debido al campo vectorial. Como las tensiones dependen de [math]\rho[/math] y de [math]\theta[/math] observamos en la figura de la derecha que los puntos donde hay mayor tensión tangencial son aquellos que tienen menor radio, es decir menor [math]\rho[/math], y en los que el seno es máximo, es decir 1 o -1.
xx=uu.*cos(vv); % parametrización
yy=uu.*sin(vv);
mesh(xx,yy,0*xx) % dibuja la malla
axis([-3,3,-3,3])
view(2)
f=(-sin(pi.*vv)).*(1./(20.*uu)+1./(20.*uu.^3)); % Módulo de las tensiones.
surf(xx,yy,f)
axis([-3,3,-3,3])
view(2)
Vamos a representar gráficamente las tensiones tangenciales que se producen en la placa respecto al plano ortogonal a [math]\vec g_\theta/\rho[/math] , debido al campo vectorial. Como las tensiones dependen de [math]\rho[/math] y de [math]\theta[/math] observamos en la figura de la derecha que los puntos donde hay mayor tensión tangencial son aquellos que tienen menor radio, es decir menor [math]\rho[/math], y en los que el seno es máximo, es decir 1 o -1. En este caso y en el anterior los puntos de mayor deformación coinciden con aquellos que sufren una mayor tensión tangencial.
xx=uu.*cos(vv); % parametrización
yy=uu.*sin(vv);
mesh(xx,yy,0*xx) % Dibuja la malla
axis([-3,3,-3,3])
view(2)
f=(-sin(pi.*vv)).*(1./(20.*(uu.^2))+1./(20.*uu.^4)); % Módulo de las tensiones tangenciales
surf(xx,yy,f)
axis([-3,3,-3,3])
view(2)