Visualización de campos escalares y vectoriales en elasticidad(A18)

De MateWiki
Saltar a: navegación, buscar
Warning.png Este artículo está en versión beta. El autor de este artículo no lo ha terminado todavía, por favor no lo edites hasta que elimine este mensaje.


1 Introducción

Deseamos visualizar e interpretar campos escalares y vectoriales, para ello nos vamos a servir del estudio de una placa rectangular, basándonos en herramientas como el programa informático Matlab. Dicho programa nos proporcionará las imágenes que se mostrarán como ejemplo.

Consideramos una placa rectangular plana (en dimensión 2) que ocupa la región [math] [-1/2,1/2] \times [0,2][/math]. En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura [math]T(x,y,t)[/math], que depende de las dos variables espaciales [math](x,y)[/math] y el tiempo [math]t[/math], y los desplazamientos [math]\vec u(x,y,t)[/math]. De esta forma, si definimos [math]r_0(x,y)[/math] el vector de posición de los puntos de la placa en reposo, la posición de cada punto [math](x,y)[/math] de la placa en un instante de tiempo [math]t[/math] viene dada por: [math] \vec r (x,y,t)= \vec r_{0}(x,y)+\vec u(x,y,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 vienen dados por la onda: [math] \vec u(x,y,t) = \vec a \sin(\vec b \cdot \vec r_0-ct), [/math] donde [math]\vec a[/math] se conoce como amplitud, [math]\vec b[/math] es la fase que indica la dirección de propagación y [math]c/|\vec b|[/math] es la velocidad de propagación.

Si [math]\vec a [/math] es paralelo a [math]\vec b[/math] diremos que la onda es longitudinal mientras que si es perpendicular hablaremos de onda transversal.

En este trabajo vamos a centrarnos en las ondas transversales. Supondremos lo siguiente: [math] \vec a=\frac{\vec i}{10}, \qquad \vec b= \pi \vec j, \qquad t=0. [/math] En este caso, [math]\vec u(x,y)=\frac{\sin(\pi y)}{10}\vec i[/math].

(Figura 1) Ejemplo visual del mallado de los puntos interiores del sólido

2 Realización del Mallado

Comenzaremos dibujando el mallado de los puntos interiores del sólido. Mostramos el código matlab a continuación:

h=0.1;
x=-0.5:h:0.5;       % Vector x con valores entre -0,5 y 0,5 con saltos de h
y=0:h:2;            % Vector y con valores entre 0 y 2 con saltos de h
[xx,yy]=meshgrid(x,y); % Matrices de coordenadas
figure(1)        % Preparamos la plantilla
mesh(xx,yy,0*xx) % Dibujo de la malla
axis([-2,2,-1,3]) %Se fijan y centran los ejes
view(2)          % Nos permite verlo en 2 dimensiones



(Figura 2) Imagen del campo escalar de temperaturas

3 Obtención del gradiente de temperaturas

Continuamos obteniendo el campo escalar de temperaturas [math]T(\rho,\theta)=-\log(\rho+0.1)[/math]

h=0.1;
x=-0.5:h:0.5;       % Vector x con valores entre -0,5 y 0,5 con saltos de h
y=0:h:2;            % Vector y con valores entre 0 y 2 con saltos de h
[xx,yy]=meshgrid(x,y); % Matrices de coordenadas
figure(1)        % Preparamos la plantilla
T=-log(0.1+sqrt(xx.^2+yy.^2)); % Campo escalar
surf(xx,yy,T)          % Dibujo de la malla
axis([-2,2,-1,3])      % Región de dibujo
view(2)                % Visualizado en 2 dimensiones


Se observa la variación de temperaturas en función de [math]\rho[/math] y [math]\theta[/math] como expresa el campo [math]T(\rho,\theta)=-\log(\rho+0.1)[/math] .



Procedemos a calcular el gradiente de temperaturas en cada punto, que expresará la dirección de máxima variación en cada punto. con la siguiente fórmula:

[math]\nabla T = \frac{ \partial T }{ \partial x } \vec i + \frac{ \partial T }{ \partial y } \vec j[/math] Como se observa en la figura 3 (representamos el gradiente en forma de vectores) el gradiente es perpendicular a las líneas de nivel del campo en todos los puntos.

(Figura 3) Representación de los vectores del gradiente sobre el campo
h=0.1;
x=-0.5:h:0.5;       % Vector x con valores entre -0,5 y 0,5 con saltos de h
y=0:h:2;            % Vector y con valores entre 0 y 2 con saltos de h
[xx,yy]=meshgrid(x,y); % Matrices de coordenadas
figure(1)        % Preparamos la plantilla
T=-log(0.1+sqrt(xx.^2+yy.^2)); % Campo escalar
Tx=-xx./(sqrt(xx.^2+yy.^2).*(sqrt(xx.^2+yy.^2)+0.1)); % Campo vectorial
Ty=-yy./(sqrt(xx.^2+yy.^2).*(sqrt(xx.^2+yy.^2)+0.1)); % Campo vectorial
quiver(xx,yy,Tx,Ty)   % Ahora superponemos el gradiente y las líneas de nivel
hold on
contour(xx,yy,T)   % Delimitamos la gráfica
plot(x,x-x,'k','linewidth',1); %Límites
plot(x,2+x-x,'k','linewidth',1);
plot(-0.5+y-y,y,'k','linewidth',1);
plot(0.5+y-y,y,'k','linewidth',1);  
axis([-2,2,-1,3]) % Delimitamos una región sobre los ejes
view(2)


(Figura 4) Campo de vectores u(x,y)

4 Campo de vectores aplicado sobre la placa [math] \vec u(x,y)=\frac{\sin(\pi y)}{10} \vec i[/math]

Definimos el campo de vectores u(x,y) y estudiamos el efecto que genera al ser aplicado sobre nuestra placa de estudio.

h=0.1;
x=-0.5:h:0.5;       % Vector x con valores entre -0,5 y 0,5 con saltos de h
y=0:h:2;            % Vector y con valores entre 0 y 2 con saltos de h
[xx,yy]=meshgrid(x,y);  % Matrices de coordenadas
U=0.1*sin(pi*y)i    %Definimos el campo de vectores U y sus componentes
Ux=0.1*sin(pi*yy);
Uy=0*xx;
quiver(xx,yy,Ux,Uy) %Dibujamos el campo vectorial
view(2)


derecha


Para visualizar mejor la aplicación del campo de vectores sobre los puntos de nuestra placa de estudio adjuntamos la figura 5 con el estado inicial y el final tras el desplazamiento:


h=0.1;
x=-0.5:h:0.5;       % Vector x con valores entre -0,5 y 0,5 con saltos de h
y=0:h:2;            % Vector y con valores entre 0 y 2 con saltos de h
[xx,yy]=meshgrid(x,y);  % Matrices de coordenadas
subplot(1,2,1) %Dibujamos el sólido antes del desplazamiento
mesh(xx,yy,0*xx)
axis([-0.9,0.9,-1,3])
subplot(1,2,2) %Dibujamos el sólido después de desplazarse
Ux=0.1*sin(pi*yy);
Uy=0*xx;
mesh(xx+Ux,yy+Uy,0*xx)
axis([-0.9,0.9,-1,3])


Continuamos nuestro estudio calculando la divergencia del campo u(x,y) que viene expresada por [math]\nabla· \vec u [/math], en el caso de nuestro estudio la divergencia es nula, puesto que el campo no depende de la variable x:

[math]\nabla· \vec u = 0 [/math]