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

De MateWiki
Saltar a: navegación, buscar

Se considera una placa rectangular plana que ocupa la región [math] [-1/2,1/2] \times [0,2][/math]. En ella se tienen definidas dos magnitudes físicas: la temperatura [math]T(x,y,t)[/math] y los desplazamientos [math]\vec u(x,y,t)[/math], ambos dependientes de las variables espaciales [math](x,y)[/math] y del tiempo [math]t[/math]. Definimos el vector de posición en el instante inicial como [math]\vec r_0(x,y)[/math], la posición de cada punto [math](x,y)[/math] de la placa en cada tiempo t viene dada por: [math] \vec r (x,y,t)= \vec r_{0}(x,y)+\vec u(x,y,t). [/math] Sobre la placa se ha aplicado una fuerza que ha provocado una vibración de forma 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] es la amplitud, [math]\vec b[/math] la fase que indica la dirección de propagación y [math]c/|\vec b|[/math] la velocidad de propagación. En este caso: [math] \vec a=\frac{\vec j}{10}, \qquad \vec b= \pi \vec j, \qquad t=0. [/math] por tanto [math]\vec u(x,y)=\frac{\sin(\pi y)}{10}\vec j[/math].

Como función temperatura se toma [math]T(x,y)=e^{-y}[/math]

1 Placa

Para obtener el mallado de la placa rectangular se discretiza la placa según los ejes x e y (longitudinal y transversal)con los valores dados en el dominio y mediante la función meshgrid se obtiene la retícula.

x=-0.5:0.1:0.5;                   %Discretización de la placa en el sentido transversal
y=0:0.1:2;                        %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);              %Obtención de la retícula rectangular(rejilla) 
subplot(1,2,1)                    %Subventana 1
mesh(X,Y,0*X)                     %Representación superficial con líneas entrecruzadas
axis([-0.75,0.75,-0.75,2.75])     %Establecimiento de valores mínimos y máximos en los ejes representados
view(2)                           %Definición del punto de observación(azimut=0,elevación=90)
xlabel('EJE X(TRANSVERSAL)')      %Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')     %Rótulo del eje y
title('MALLADO DE LA PLACA RECTANGULAR PLANA')%Título del gráfico
subplot(1,2,2)                    %Subventana 2
mesh(X,Y,0*X)                     %Representación superficial con líneas entrecruzadas
view(2)                           %Definición del punto de observación(azimut=0,elevación=90)
axis image                        %Ejes proporcionados igualmente y ajustados al gráfico
xlabel('EJE X')                   %Rótulo del eje x
ylabel('EJE Y')                   %Rótulo del eje y


Representacionplaca.jpg

En el gráfico se observa la representación de la placa plana de forma rectangular sobre la que se aplican la temperatura y las deformaciones definidas anteriormente.


2 Temperatura

La temperatura de la placa no es la misma en todos los puntos, sino que depende de la función [math]T(x,y)=e^{-y}[/math]. Por ser una función que únicamente depende de la variable [math]y[/math], la temperatura será la misma para todos los puntos de igual componente longitudinal. El foco está situado en el origen de coordenadas, por lo que la temperatura será mayor en los puntos de más baja ordenada, e irá disminuyendo conforme aumente la ordenada de los puntos tomados.

x=-0.5:0.1:0.5;             %Discretización de la placa en el sentido longitudinal
y=0:0.1:2;                  %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);        %Obtención de la retícula rectangular(rejilla) 
T=exp(-Y);                  %Función temperatura
subplot(1,2,1)              %Subventana 1
surf(X,Y,T);                %Representación superficial con escala de colores
axis([-0.75,0.75,-0.5,2.5]) %Establecimiento de valores mínimos y máximos en los ejes representados
view(2)                     %Definición del punto de observación(azimut=0,elevación=90)
xlabel('EJE TRANSVERSAL')   %Rótulo del eje x
ylabel('EJE LONGITUDINAL')  %Rótulo del eje y
title('TEMPERATURA DE LA PLACA')%Título del gráfico
axis equal                  %Ejes proporcionados con la misma escala
subplot(1,2,2)              %Subventana 2
surf(X,Y,T);                %Representación superficial con escala de colores
xlabel('EJE X')             %Rótulo del eje x
ylabel('EJE Y')             %Rótulo del eje y
title('INTERPRETACIÓN ESPACIAL')%Título del gráfico
axis equal                  %Ejes proporcionados con la misma escala


Para representar la distribución de la temperatura , se discretiza la placa y se obtiene su retícula. A continuación, se define la función temperatura y se calcula dicha función sobre la placa dada. La temperatura puede visualizarse en 2 y en 3 dimensiones.

Temperaturaplaca.jpg

En los gráficos se observa como los puntos de menos ordenada son los que mayor temperatura tienen, y como de forma progresiva esta va disminuyendo hasta alcanzar el extremo opuesto de la placa, que es donde se encuentra la menor temperatura.

A continuación, calculamos el gradiente de la temperatura para ver la dirección en la que se produce el mayor crecimiento de la función en cada punto de la placa.

[math] \vec u=\frac {d\vec u}{dx} \vec i+\frac {d\vec u}{dy} \vec j+\frac {d\vec u}{dt} \vec k = -e^{-y} [/math]

u=inline('0*x','x');              %Variación nula de la temperatura de la placa en el eje tranversal 
v=inline('-exp(-y)','y');         %Función que define la variación de la temperatura de la placa en el eje longitudinal
x=-0.5:0.1:0.5;                   %Discretización de la placa en el sentido transversal
y=0:0.1:2;                        %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);              %Obtención de la retícula rectangular(rejilla) 
U=u(X);                           %Componente transversal del grad(T)
V=v(Y);                           %Componente longitudinal del grad(T)
hold on
quiver(X,Y,U,V)                   %Visualización del campo vectorial grad(T)
plot3(0,0,0,'*r')                 %Representación del foco de calor

%Curvas de Nivel
T=exp(-Y);                        %Función temperatura
contour(X,Y,T,30,'r')             %Representación de las curvas de nivel
axis([-0.5,0.5,0,2])              %Establecimiento de valores mínimos y máximos en los ejes representados
xlabel('EJE X(TRANSVERSAL)')      %Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')     %Rótulo del eje y
title('GRADIENTE Y CURVAS DE NIVEL DE LA TEMPERATURA')%Título del gráfico
hold off


Para la representación en matlab se define la función temperatura en función de la variable x, que en este caso es nula, y en función de la variable y. A continuación de define el dominio al que pertenecen estas variables y se obtiene la retícula. Sobre estos datos se visualiza el campo vectorial constituido por el gradiente y las curvas de nivel.

Gradientetemperatura.jpg

El gradiente es perpendicular a las curvas de nivel de la temperatura.


3 Desplazamientos

u=inline('0*x','x');            %Variación nula del desplazamiento de la placa en 
                                %el eje tranversal 
v=inline('(sin(pi*y))/10','y'); %Función que define la variación del desplazamiento 
                                %de la placa en el eje longitudinal
x=-0.5:0.1:0.5;                 %Discretización de la placa en el sentido transversal
y=0:0.1:2;                      %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);            %Obtención de la retícula rectangular(rejilla) asociada 
                                %a los vectores x e y a partir de la discretización considerada 
U=u(X);                         %Componente transversal del desplazamiento
V=v(Y);                         %Componente longitudinal del desplazamiento
quiver(X,Y,U,V)                 %Visualización del campo vectorial desplazamiento(u)
axis([-0.5,0.5,0,2])            %Establecimiento de valores mínimos y máximos
                                %en los ejes representados
xlabel('EJE X(TRANSVERSAL)')    %Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')   %Rótulo del eje y
title('CAMPO VECTORIAL u (DESPLAZAMIENTOS)')%Título del gráfico


Sobre la placa se producen desplazamientos definidos por el campo vectorial [math]\vec u[/math]. Para representarlo se definen las funciones de este campo en las direcciones transversal (nula) y longitudinal. Se hace el mallado y se observa como el campo de desplazamiento afecta a los puntos de la placa.

centro

A continuación se puede ver la diferencia entre la posición de la placa en el instante inicial y tras el desplazamiento.


x=-0.5:0.1:0.5;         %Discretización de la placa en el sentido transversal
y=0:0.1:2;              %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);    %Obtención de la retícula rectangular(rejilla) asociada 
                         %a los vectores x e y a partir de la discretización considerada   

%Sin desplazamiento
subplot(1,2,1)          %Subventana 1
mesh(X,Y,0*X)           %Representación superficial con líneas entrecruzadas
view(2)                 %Definición del punto de observación(azimut=0,elevación=90)
xlabel('EJE X(TRANSVERSAL)')%Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')%Rótulo del eje y
title('SIN DESPLAZAMIENTO')%Título del gráfico
axis image              %Ejes proporcionados igualmente y ajustados al gráfico

%Con desplazamiento
UX=0*X;                 %Desplazamiento nulo de la placa en sentido transversal
UY=0.1.*sin(pi*Y);      %Desplazamiento de la placa en sentido longitudinal
subplot(1,2,2)          %Subventana 1
mesh(X+UX,Y+UY,0*X);    %Representación superficial con líneas entrecruzadas
                        %de los desplazamientos producidos en la placa
view(2)                 %Definición del punto de observación(azimut=0,elevación=90)
xlabel('EJE X(TRANSVERSAL)')%Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')%Rótulo del eje y
title('CON DESPLAZAMIENTO')%Título del gráfico
axis image              %Ejes proporcionados igualmente y ajustados al gráfico


Para ello se discretiza la placa y se observa cómo queda antes del desplazamiento y cómo una vez que se ha dejado actuar el campo sobre ella.

Desp Etapas 5.jpg


En el gráfico obtenido se puede observar cómo ha afectado el desplazamiento a cada uno de los puntos de la placa. Los puntos de la parte central han sufrido la máxima compresión, mientras que los del extremo son los que más estiramiento han tenido. Entre el centro y los extremos hay puntos cuya deformación ha sido intermedia o incluso nula.

En este caso cuesta apreciar la deformación de la placa porque la función que define el campo de desplazamientos implica una deformación muy pequeña, pero si esta se multiplicara por un número mayor los resultados de la deformación serían mucho más visibles.

Al calcular la divergencia del campo [math]u[/math] en cada punto de la placa, ésta nos indica el nivel de compresion o expansión que dicho punto ha experimentado.

[math] \vec u=\frac {d u_1}{dx}+\frac {d u_2}{dy}+\frac {d u_2}{dt} [/math]

x=-0.5:0.1:0.5;     %Discretización de la placa en el sentido transversal
y=0:0.1:2;          %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);%Obtención de la retícula rectangular(rejilla) asociada 
                     %a los vectores x e y a partir de la discretización considerada   

figure(1)           %Primer gráfico
subplot(1,2,1)      %Subventana 1
fy=(pi*cos(pi*Y))/10;%Divergencia del campo vectorial u de desplazamientos
surf(X,Y,fy)        %Representación superficial con escala de colores
axis([-0.75,0.75,-0.5,2.5])%Establecimiento de valores mínimos y máximos
                    %en los ejes representados
view(2)             %Definición del punto de observación(azimut=0,elevación=90)
xlabel('EJE TRANSVERSAL')%Rótulo del eje x
ylabel('EJE LONGITUDINAL')%Rótulo del eje y
title('DIVERGENCIA DESPLAZAMIENTOS')%Título del gráfico
axis equal          %Ejes proporcionados con la misma escala
subplot(1,2,2)      %Subventana 2
surf(X,Y,fy);       %Representación superficial con escala de colores
xlabel('EJE X')     %Rótulo del eje x
ylabel('EJE Y')     %Rótulo del eje y
title('INTERPRETACIÓN ESPACIAL')%Título del gráfico
axis equal          %Ejes proporcionados con la misma escala

%Considerando el valor absoluto
figure(2)           %Segundo gráfico
subplot(1,2,1)      %Subventana 1
fy1=abs((pi*cos(pi*Y))/10);%Valor absoluto de la divergencia del campo 
                    %vectorial u de desplazamientos
surf(X,Y,fy1)       %Representación superficial con escala de colores
axis([-0.75,0.75,-0.5,2.5])%Establecimiento de valores mínimos y máximos
                    %en los ejes representados
view(2)             %Definición del punto de observación(azimut=0,elevación=90)
xlabel('EJE TRANSVERSAL')%Rótulo del eje x
ylabel('EJE LONGITUDINAL')%Rótulo del eje y
title('DIVERGENCIA u (VALOR ABSOLUTO)')%Título del gráfico
axis equal          %Ejes proporcionados con la misma escala
subplot(1,2,2)      %Subventana 2
surf(X,Y,fy1);      %Representación superficial con escala de colores
xlabel('EJE X')     %Rótulo del eje x
ylabel('EJE Y')     %Rótulo del eje y
title('INTERPRETACIÓN ESPACIAL')%Título del gráfico
axis equal          %Ejes proporcionados con la misma escala


Para obtener su visualización definimos la placa y se representa la divergencia sobre ella. En este caso se ha obtenido la gráfica de la divergencia y de su valor absoluto.

centro


En el gráfico de los valores normales se observa como los puntos del centro, que son los de mayor compresión, son también los que menor divergencia tienen, y los puntos de los extremos, que son los más expandidos, coinciden con los mayores valores de la divergencia. En el resto de puntos se obtienen valores intermedios, siendo la divergencia nula en los puntos que no han sufrido deformación.

centro

En la gráfica de los valores absolutos la divergencia coincide para los extremos y el centro, ya que el nivel de deformación ha sido el mismo, aunque en un caso ha sido positivo y en el otro negativo.

Sin embargo, si calculásemos el rotacional del campo de desplazamientos obtendríamos que éste es nulo. Esto se debe a que los desplazamientos que tienen lugar sobre la placa no implican torsiones ni rotaciones, sino que se trata de una deformación longitudinal.

[math]\nabla \times \vec u=\begin{bmatrix} i & j & k \\ \frac{d}{dx} & \frac{d}{dy} & \frac{d}{dz} \\ 0 & \vec u (y) & 0 \end{bmatrix}=0[/math]

4 Tensiones sobre la placa

En un medio lineal, isótropo y homogéneo como es nuestra placa, la ecuación de Lamé permite identificar la tensión para cada punto en función de su deformación.

La ecuación de Lamé relaciona la deformación y la tensión sobre un sólido utilizando dos variables [math]λ[/math] y [math]μ[/math] que son los coeficientes de Lamé y que en este caso ambos son iguales a 1.

De esta forma, la tensión sobre los puntos de la placa se define como:

[math]\sigma_{ij}=λ \cdot \nabla \vec u δ_{ij} + 2\cdotμ\cdotΕ_{ij}[/math]

Donde [math]Ε_{ij}[/math] es la parte simétrica del campo [math]\vec u[/math], [math]Ε_{ij}=\frac {(\nabla \vec u + \nabla \vec u ^t)}{2}[/math]

Conociendo esta ecuación y sus coeficientes se puede determinar el valor de la tensión en la dirección longitudinal, transversal y la acción conjunta de ambas.

[math]\nabla \vec u=Ε_{ij}=\begin{bmatrix} 0 & 0 & 0 \\ 0 & \frac{\pi}{10}\cdot cos(\pi y) & 0 \\ 0 & 0) & 0 \end{bmatrix}[/math]


[math]\sigma=\begin{bmatrix} \frac{\pi}{5}\cdot cos(\pi y) & 0 & 0 \\ 0 & \frac{\pi}{10}\cdot cos(\pi y) & 0 \\ 0 & 0 & \frac{\pi}{5}\cdot cos(\pi y) \end{bmatrix}[/math]


Tensión transversal:

[math]i \cdot \sigma \cdot i=(1, 0, 0) \cdot \begin{bmatrix} \frac{\pi}{5}\cdot cos(\pi y) & 0 & 0 \\ 0 & \frac{\pi}{10}\cdot cos(\pi y) & 0 \\ 0 & 0 & \frac{\pi}{5}\cdot cos(\pi y) \end{bmatrix} \cdot i=\frac{\pi}{10}\cdot cos(\pi y) i[/math]


%Componente en x de las Tensiones Normales

u=inline('0.1*pi*cos(pi*x)','x');   %Componente de las tensiones normales en 
                                    %el eje transversal
v=inline('0*y','y');                %Componente de las tensiones normales en 
                                    %el eje longitudinal
x=-0.5:0.1:0.5;                     %Discretización de la placa en el sentido transversal
y=0:0.1:2;                          %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);                %Obtención de la retícula rectangular(rejilla) asociada 
                                    %a los vectores x e y a partir de la discretización 
                                    %considerada 
U=u(X);                             %Componente transversal de las tensiones normales
V=v(Y);                             %Componente longitudinal de las tensiones normales
hold on
mesh(X,Y,0*X)                       %Representación superficial con líneas entrecruzadas
axis([-0.5,0.5,0,2])                %Establecimiento de valores mínimos y máximos en los 
                                    %ejes representados
view(2)                             %Definición del punto de observación(azimut=0,elevación=90)
quiver(X,Y,U,V,'k')                 %Visualización del campo vectorial generado por las 
                                    %tensiones normales
hold off
xlabel('EJE X(TRANSVERSAL)')        %Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')       %Rótulo del eje y
title('TENSIONES NORMALES DIRECCIÓN EJE X')%Título del gráfico


centro


Tensión longitudinal:

[math]i \cdot \sigma \cdot i=(0, 1, 0) \cdot \begin{bmatrix} \frac{\pi}{5}\cdot cos(\pi y) & 0 & 0 \\ 0 & \frac{\pi}{10}\cdot cos(\pi y) & 0 \\ 0 & 0 & \frac{\pi}{5}\cdot cos(\pi y) \end{bmatrix} \cdot j=\frac{\pi}{10}\cdot cos(\pi y) j[/math]

%Componente en x de las Tensiones Normales

u=inline('0.*x','x');               %Componente de las tensiones normales en el eje 
                                    %transversal
v=inline('0.2*pi*cos(pi*y)','y');   %Componente de las tensiones normales en 
                                    %el eje longitudinal
x=-0.5:0.1:0.5;                     %Discretización de la placa en el sentido transversal
y=0:0.1:2;                          %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);                %Obtención de la retícula rectangular(rejilla) asociada 
                                    %a los vectores x e y a partir de la discretización 
                                    %considerada 
U=u(X);                             %Componente transversal de las tensiones normales
V=v(Y);                             %Componente longitudinal de las tensiones normales
hold on
mesh(X,Y,0*X)                       %Representación superficial con líneas entrecruzadas
axis([-0.5,0.5,0,2])                %Establecimiento de valores mínimos y máximos en los 
                                    %ejes representados
view(2)                             %Definición del punto de observación(azimut=0,elevación=90)
quiver(X,Y,U,V,'k')                 %Visualización del campo vectorial generado por las 
                                    %tensiones normales
hold off
xlabel('EJE X(TRANSVERSAL)')        %Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')       %Rótulo del eje y
title('TENSIONES NORMALES DIRECCIÓN EJE Y')%Título del gráfico


centro

Y a continuación se muestra la suma de las tensiones normales:


u=inline('0.1*pi*cos(pi*x)','x');   %Componente de las tensiones normales en 
                                    %el eje transversal
v=inline('0.2*pi*cos(pi*y)','y');   %Componente de las tensiones normales en 
                                    %el eje longitudinal
x=-0.5:0.1:0.5;                     %Discretización de la placa en el sentido transversal
y=0:0.1:2;                          %Discretización de la placa en el sentido longitudinal
[X,Y]=meshgrid(x,y);                %Obtención de la retícula rectangular(rejilla) asociada 
                                    %a los vectores x e y a partir de la discretización 
                                    %considerada 
U=u(X);                             %Componente transversal de las tensiones normales
V=v(Y);                             %Componente longitudinal de las tensiones normales
hold on
mesh(X,Y,0*X)                       %Representación superficial con líneas entrecruzadas
axis([-0.5,0.5,0,2])                %Establecimiento de valores mínimos y máximos en los 
                                    %ejes representados
view(2)                             %Definición del punto de observación(azimut=0,elevación=90)
quiver(X,Y,U,V,'k')                 %Visualización del campo vectorial generado por las 
                                    %tensiones normales
hold off
xlabel('EJE X(TRANSVERSAL)')        %Rótulo del eje x
ylabel('EJE Y(LONGITUDINAL)')       %Rótulo del eje y
title('SUMA DE TENSIONES NORMALES') %Título del gráfico


centro


Si se calculan las tensiones tangenciales a los planos ortogonales a [math]\vec i[/math] y [math]\vec j[/math] se obtiene que ambas son nulas. Esto es consecuencia de la deformación longitudinal a la que está sometida la placa. Las tensiones en las direcciones de los ejes [math]\vec i[/math] y [math]\vec j[/math] se compensan de forma que no se producen esfuerzos de corte.

[math] \sigma \cdot i - (i \cdot \sigma \cdot i)i=0 [/math]

[math] \sigma \cdot j - (j \cdot \sigma \cdot j)j=0 [/math]