Visualización de campos escalares y vectoriales en elasticidad (Grupo 22,C)

De MateWiki
Saltar a: navegación, buscar

1 Introducción

En este trabajo vamos a someter a una placa plana (contenida en el plano Z=0) a varios campos con el fin de interpretar el comportamiento de la placa cuando dichos campos actúan sobre ella. Para poder realizar una mejor interpretación, nos ayudaremos constantemente de códigos MatLAB y de gráficas obtenidas en MatLAB.

2 Placa plana

Para definir la placa plana sobre la que vamos a realizar el estudio, empleamos un código MatLAB, con el que podremos visualizar la placa a estudiar.

Placa sobre la que se realiza el estudio
h=0.1    
% paso de muestreo
u=1:h:2;   
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;     
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);    
yy=rho.*sin(theta);
% parametrización
mesh(xx,yy,0*xx)  
% representación del mallado
axis([-3,3,-3,3]) 
view

3 Campo de las temperaturas

Una vez representada la placa plana, definimos ahora el campo escalar de temperaturas sobre la placa, representado en este caso por el campo escalar [math]T(x,y)=e^{-y}[/math]. Pero antes de ver como actúa dicha temperatura sobre la placa, vamos a analizar como varía dicha temperatura.

3.1 Variación de la temperatura

Para poder analizar correctamente la variación de la temperatura, calculamos [math]\nabla T[/math]: [math]\nabla T(x,y) = -e^{-y}\vec j [/math] Una vez calculado, para poder interpretarlo mejor representamos el [math]\nabla T[/math] y las curvas de nivel del campo escalar de la temperatura en MatLAB. Como la temperatura es función únicamente de "y" se puede observar en la gráfica del vector gradiente que siempre tiene la dirección del eje "y" pues es donde se produce la variación de temperatura, después el módulo de los vectores representarán cuanto varía la función, que al ser exponencial, irá aumentando cuanto más se aleje del origen en dirección "-y". Como se puede observar el gradiente es perpendicular a las curvas de nivel.

Representación del gradiente junto con las curvas de nivel de la temperatura
h=0.1    
% paso de muestreo
x=-3:0.1:3; y=-3:0.1:3;
[xx,yy]=meshgrid(x,y);
f=exp(-yy);
% campo escalar de temperaturas
mesh(xx,yy,f)
[px,py]=gradient(f,0.5,0.5);
%gradiente del campo escalar de temperaturas
contour(xx,yy,f);
hold on;
quiver(xx,yy,px,py);
hold off;
% representación de las curvas de nivel y gradiente



3.2 Temperatura sobre la placa

Ahora que conocemos mejor el campo escalar de temperaturas, vamos a analizar sus efectos en la placa plana. Como la temperatura solo depende de la coordenada y, para cualquier punto con la misma coordenada x de la placa, la temperatura actuará de la misma forma en dichos puntos, y al ser una exponencial negativa, a medida que va descendiendo la coordenada y va a aumentar la temperatura de manera exponencial. La representación de la temperatura la obtenemos usando el siguiente código MatLAB.

Representación de la temperatura a lo largo de la placa
h=0.1                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);        
yy=rho.*sin(theta);
% parametrización
f=exp(-yy);            
% campo escalar de la temperatura
surf(xx,yy,f)          
% representación del campo escalar sobre la placa
axis([-3,3,-3,3])      
view



4 Campo de los desplazamientos

Representación de los campos vectoriales

El desplazamiento de la placa plana originado por una vibración en un instante [math]t_0[/math] de tiempo, está definido según el siguiente campo vectorial: [math]\vec u(\rho,\theta)=\frac{\sin(\pi \theta)}{20\rho^2}\vec g_{\theta}.[/math] Al aplicar dicho campo vectorial de desplazamientos sobre cada punto de la placa ,ésta sufrirá un desplazamiento, el cual vamos a analizar en los siguientes apartados

4.1 Desplazamiento de la placa

Con la ayuda de MatLAB, vamos a representar el campo vectorial de desplazamientos sobre la placa para poder observar el desplazamiento de cada punto de la placa originado por la vibración. En la gráfica adjunta, se representa los desplazamientos que sufren cada elemento en la placa estudiada. Para poder representar el campo vectorial en MatLAB, hay que representarlo según la base ortonormal cartesiana: [math] \vec u(\rho,\theta)=-\frac{\sin(\theta)\sin(\pi \theta)}{20\rho}\vec i+\frac{\cos(\theta)\sin(\pi \theta)}{20\rho}\vec j[/math]

h=0.1                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);        
yy=rho.*sin(theta);
% parametrización
fx=-sin(theta)*sin(pi*theta)./(20*rho); 
% componente x(rho,theta) del campo vectorial
fy=cos(theta)*sin(pi*theta)./(20*rho);  
% componente y(rho,theta) del campo vectorial
quiver(xx,yy,fx,fy)     
% representación del campo vectorial sobre la placa
axis([-3,3,-3,3])     
view

La placa desplazada vendrá definida por el campo vectorial de desplazamientos sobre la placa, ya que al representar la placa desplazada en MatLAB, no observamos diferencias, ya que el módulo del vector es muy pequeño. Si tomamos el vector [math]\vec u =\frac{\sin(\pi \theta)}{2\rho^2}[/math] podemos observar mejor el desplazamiento.

h=0.1                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);        
yy=rho.*sin(theta);
% parametrización
fx=rho.*cos(theta)-sin(theta).*sin(pi*theta)./(2*rho);
% componente x(rho,theta) del campo vectorial
fy=rho.*sin(theta)+cos(theta).*sin(pi*theta)./(2*rho); 
% componente y(rho,theta) del campo vectorial
quiver(xx,yy,fx,fy)     
% representación del campo vectorial sobre la placa
axis([-3,3,-3,3])     
view


4.2 Variación del volumen

Una de las consecuencias del desplazamiento de la placa es la variación del volumen de la placa. Para estudiar dicha variación del volumen tenemos que calcular la divergencia del campo vectorial de desplazamientos: [math]\nabla \cdot \vec u =\frac{\pi\cos(\pi \theta)}{20\rho^2}\ [/math].

Una vez calculado, representamos el campo escalar [math]\nabla \cdot \vec u[/math] sobre el mallado para poder observar como varía el volumen de la placa en los puntos que la definen. Como en esta figura solo estamos trabajando en dos dimensiones, deberíamos decir que la gráfica de la divergencia nos representaría la variación del área de la placa, en donde las zonas rojas se representa una dilatación y en las zonas azules una contracción.

Representación de la divergencia
h=0.1                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);        
yy=rho.*sin(theta);
% parametrización
f=pi*cos(pi*theta)./(20*(rho.^2)); 
% campo escalar de la divergencia
surf(xx,yy,f)          
% representación del campo escalar sobre la placa
axis([-3,3,-3,3])      
view



4.3 Tendencia a la rotación

Otro factor a tener en cuenta a la hora de estudiar el campo vectorial sobre la placa, es la tendencia del campo vectorial a inducir rotación alrededor de los puntos de la placa. Para poder estudiar dicha rotación, tenemos que calcular el rotacional del campo vectorial: [math]\nabla \times \vec u = \vec 0[/math]

Como el rotacional del campo vectorial [math]\vec u[/math] es 0, decimos que el campo vectorial es irrotacional, es decir, la tendencia del campo vectorial a inducir rotación alrededor de los puntos es nula. Sin embargo, como la placa plana sobre la que estamos trabajando no es un dominio simplemente conexo, ya que al estar definida en un plano y presentar un agujero, no todas las curvas contenidas en el dominio pueden reducirse a un punto. Lo que nos conduce a que respecto al dominio de la placa, no podemos asegurar al campo vectorial [math]\vec u[/math] como un campo conservativo.

4.4 Tensiones originadas

En un medio elástico lineal, isótropo y homogéneo los desplazamientos permiten escribir 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] donde [math]\lambda[/math] y [math]\mu[/math] son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material. En nuestro caso, dichos coeficientes tendrán el mismo valor [math]\lambda=\mu=1[/math] y consideramos [math]\epsilon(\vec u)=(\nabla \vec u + \nabla \vec u^t)/2[/math], la parte simétrica del tensor gradiente de [math]\vec u[/math], que se denomina tensor de deformaciones:

[math]\sigma_{ij}=\begin{bmatrix} \frac{\pi\cos(\pi \theta)}{20\rho^2} & \frac{-sin(\pi \theta)}{10\rho} & 0 \\ \frac{-sin(\pi \theta)}{10\rho} & \frac{\pi\cos(\pi \theta)}{10} (\frac{1}{2\rho^2}+1) & 0 \\ 0 & 0 & \frac{\pi\cos(\pi \theta)}{20\rho^2} \end{bmatrix}[/math]

También 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]:

[math]\vec g_{\rho} \cdot \sigma \cdot \vec g_\rho = \frac{\pi\cos(\pi\theta)}{20\rho^2}\\[/math]

Representación de las tensiones normales de [math]\vec g_\rho[/math]
h=0.1;                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);        
yy=rho.*sin(theta);
% parametrización
sigmaunouno=pi*cos(pi.*theta)./(20*rho.^2); 
%tensiones normales al vector
subplot(1,2,1); mesh(xx,yy,sigmaunouno); 
%gráfica de las tensiones en 3D
subplot(1,2,2); mesh(xx,yy,sigmaunouno); colorbar 
%gráfica de las tensiones en 2D
axis([-2.5,2.5,-2.5,2.5]) 
view



[math]\vec g_\theta/\rho \cdot \sigma \cdot \vec g_\theta/\rho =\frac{\pi\cos(\pi \theta)}{10} (\frac{1}{2\rho^4}+\frac{1}{\rho^2})[/math]

Representación de las tensiones normales del [math]\vec g_\theta/\rho[/math]
h=0.1;                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);        
yy=rho.*sin(theta);
sigmadosdos=pi*cos(pi.*theta).*((1./(2*rho.^4))+(1./(rho.^2)))/10; 
% tensiones normales al vector
subplot(1,2,1); mesh(xx,yy,sigmadosdos); colorbar 
% gráfica de las tensiones en 3D
subplot(1,2,2); mesh(xx,yy,sigmadosdos); 
%gráfica de las tensiones en 2D
axis([-2.5,2.5,-2.5,2.5]) 
view


Como las tensiones normales al vector [math]\vec g_\rho[/math] coinciden con el campo escalar de la divergencia, la gráfica que representa el campo escalar de las tensiones ortogonales al vector [math]\vec g_\rho[/math] es el mismo que el que representa la divergencia. A su vez, las tensiones normales al vector [math]\vec g_\theta/\rho[/math] prácticamente coinciden en planta con las del vector [math]\vec g_\rho[/math], sin embargo, como se puede apreciar en la gráfica de 3D, los valores obtenidos son mayores en la gráfica del vector [math]\vec g_\rho[/math]. En ambas gráficas, los valores más altos indican las zonas de la placa sometida a los esfuerzos de tracción máxima, y por el contrario, los valores más bajos indican las zonas de la placa sometida a compresión máxima.

4.4.1 Tensiones tangenciales respecto del plano ortogonal al vector [math]\vec g_\rho[/math]

Las tensiones tangenciales originadas respecto del plano ortogonal a [math]\vec g_\rho[/math] están definidas según la siguiente expresión: [math]|\sigma \cdot \vec g_\rho-(\vec g_\rho \cdot \sigma \cdot \vec g_\rho) \vec g_\rho|[/math]

Representación de las tensiones tangenciales
h=0.1;                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);        
yy=rho.*sin(theta);
% parametrización
tangencialrho=abs(sin(pi*theta)./(10*rho)); 
%tensiones tangenciales
subplot(1,2,1);mesh(xx,yy,tangencialrho) 
% gráfica de las tensiones en 3D
subplot(1,2,2);mesh(xx,yy,tangencialrho); colorbar 
%gráfica de las tensiones en 2D
axis([-2.5,2.5,-2.5,2.5])
view



4.4.2 Tensiones tangenciales respecto del plano ortogonal al vector [math]\vec g_\theta/\rho[/math]

Las tensiones tangenciales originadas respecto del plano ortognal a [math]\vec g_\theta/\rho[/math] están definidas según la siguiente expresión: [math]|\sigma \cdot \vec g_\theta/\rho-(\vec g_\theta/\rho \cdot \sigma \cdot \vec g_\theta/\rho) \vec g_\theta/\rho|[/math]

Representación de las tensiones tangenciales
h=0.1;                  
% paso de muestreo
u=1:h:2;               
% valor u según el muestreo en el intervalo [1,2]
v=0:h:2*pi+h;            
% valor v según el muestreo en el intervalo [0,2*pi]
[rho,theta]=meshgrid(u,v); 
% matrices de las componentes polares de la placa 
xx=rho.*cos(theta);       
yy=rho.*sin(theta);
% parametrización
tangencialtheta=abs(sin(pi*theta)./(10*rho.^2)); 
%tensiones tangenciales
subplot(1,2,1);mesh(xx,yy,tangencialtheta) 
% gráfica de las tensiones en 3D
subplot(1,2,2);mesh(xx,yy,tangencialtheta); colorbar 
%gráfica de las tensiones en 2D
axis([-2.5,2.5,-2.5,2.5])
view


En definitiva, como el estudio se realiza en un medio elástico lineal, isótropo y homogéneo, las tensiones representadas anteriormente en las secciones 4.4.1 y 4.4.2 representan las zonas de la placa que presentan una mayor tensión tangencial respecto a los vectores de cada gráfica. Podemos observar en esas gráficas que donde las tensiones tangenciales son máximas, representan las zonas donde las tensiones normales son nulas, por ello, las zonas donde la compresión y la tracción son mayores, presentan una tensión normal máxima, y una tensión tangencial prácticamente nula. Por ello, podemos interpretar que las tensiones tangenciales y normales respecto de un mismo vector son ortogonales.