Campos escalares y vectoriales en elasticidad (Grupo 3B)

De MateWiki
Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título Campos escalares y vectoriales en elasticidad (Grupo 3B)
Asignatura Teoría de Campos
Curso 2023-24
Autores Eladio Rodríguez Rúa
Jorge Granadino Aranda
Mario Raya Sampere
Alejandro Villaverde Carrascosa
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


El trabajo consiste en la visualización de campos escalares y vectoriales en elasticidad. Para ello, se ha utilizado principalmente el programa informático MATLAB que permite ver los cálculos de manera más visual.

Se considera una placa rectangular (en dimensión 2) que ocupa la región [math](x, y)∈[-1, 1] × [0, 12][/math].

En ella se supone que hay dos cantidades físicas definidas: La temperatura [math]T(x,y) [/math] que viene dada por:
[math]T(x,y) = 3log(1+(x-1)^2) + log(1+(y-8)^2)[/math]
y los desplazamientos [math] \vec {u}(x,y) [/math] producidos por la acción de una fuerza determinada. De esta forma, si se define [math] \vec{r_{0}}(x,y) = x\vec {i} + y\vec {j}[/math] como el vector de posición de los puntos de la placa antes de la deformación, la posición de cada punto (x,y) de la placa después de la deformación viene dada por:
[math] \vec {r_{d}}(x,y) = \vec {r_{0}}(x,y) + \vec {u}(x,y)[/math]

La fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio de los puntos de la misma dado por el vector:

[math] \vec {u}(x,y,t)= \vec {a} sin(\pi k(\vec {d}· \vec {r_{0}}(x,y)-vt))[/math]

donde [math]\vec {a}[/math] se conoce como aplitud, [math] k\gt0 [/math] es el número de onda, [math]\vec {d}[/math] es un vector unitario que marca la dirección de propagación y [math] v [/math] es la velocidad de propagación.

La variable [math] t [/math] representa el tiempo que se detiene en [math] t = 0 [/math] en los primeros 10 apartados de este trabajo. De manera que, solo para los primeros apartados:

[math] \vec {u}(x,y)= \vec {a} sin(\pi k(\vec {d}· \vec {r_{0}}(x,y)))[/math]

Se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. En particular se toma:

[math]\vec {a}(x,y)=\frac{x}{3}\vec {i}[/math]  ; [math]\vec {d}=\frac{1}{12}\vec {j}[/math]  ; [math]\vec {k}= 1 [/math]



1 Dibujo del mallado

En primer lugar dibujamos el mallado de nuestra placa rectangular plana para representar los puntos interiores del sólido. Tomamos los ejes del rectángulo [math](x, y)∈[-1, 1] × [0, 12][/math] y como paso de muestreo h = 2/10 para las variables x e y. Se han utilizado los comandos axis() y meshgrid() en MATLAB.

REPRESENTACIÓN DEL MALLADO
% Mallado interior de la figura:
%definimos el paso de muestreo y las variables
h = 2/10;
x = -1:h:1;
y = 0:h:12;
%se realiza el mallado
[X,Y] = meshgrid(x,y);
mesh(X,Y,0*X);
%se define el rango de visión de la gráfica
axis([-10,10,-0.5,12.5]);
view(2)
%se pone título a la gráfica
title('Representación del mallado')
%se pone nombre a los ejes
xlabel('Eje x')
ylabel('Eje y')


2 Dibujo de las curvas de nivel de la temperatura y de [math] \nabla T[/math]

A continuación dibujamos mediante colores las curvas de nivel de la temperatura, que viene dada por el campo escalar [math]T(x,y) = 3log(1+(x-1)^2) + log(1+(y-8)^2)[/math].

Por otro lado calculamos el gradiente que nos queda de la siguiente forma [math] \nabla T(x,y)= \frac{6(x-1)}{x^2-2x+2}\vec{i}+\frac{2(y-8)}{y^2-16y+65}\vec{j}[/math]

Los colores azulados representan las zonas más frías, mientras que las zonas más cálidas tienen tonos más amarillentos y anaranjados. A partir de la gráfica podemos ver que el punto más próximo a la temperatura máxima es el (-1,0).

Se puede comprobar en la gráfica del gradiente que existe ortogonalidad entre el gradiente y las curvas de nivel del campo de temperatura.

CURVAS DE NIVEL Y GRADIENTE DE LA PLACA
% Curvas de nivel:
subplot(2,1,1)
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%se realiza el mallado
[X,Y]=meshgrid(x,y);
%se define la temperatura
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
%dibujamos las curvas de nivel
contour(X,Y,T,40)
%barra de indicación de colores
colorbar
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
%titulamos la gráfica y los ejes
title('Curvas de nivel')
xlabel('Eje x')
ylabel('Eje y')

% Gradiente de la placa:
subplot(2,1,2)
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%se realiza el mallado
[X,Y]=meshgrid(x,y);
%se define la temperatura
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
%dibujamos las curvas de nivel
contour(X,Y,T)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%barra de indicación de colores
colorbar
%se calcula el gradiente en la misma gráfica
hold on
[Px,Py]=gradient(T)
quiver(X,Y,Px,Py)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%titulamos la gráfica y los ejes
title('Gradiente de la placa')
xlabel('Eje x')
ylabel('Eje y')


3 Ley de Fourier

De acuerdo con la Ley de Fourier, la energía calorífica [math] \vec{Q} [/math] viaja de acuerdo con la formula [math]\vec Q [/math] [math] = −k \nabla T[/math]. Donde [math] k [/math] es la constante de conductividad térmica de la placa, que supondremos que es [math] k = 1 [/math].

Para la resolución de este apartado se reutilizará el código del apartado anterior y se hará uso de la función gradiente propia del programa MATLAB. Una vez calculado el gradiente, lo multiplicamos por la constante de conductividad térmica [math] k [/math] y representamos en una gráfica la energía calorífica [math] \vec{Q} [/math] como campo vectorial.

LEY DE FOURIER
% Cálculo de la energía calorífica:
%definimos el paso de muestreo y las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
%se define la temperatura
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);
hold on
%cálculo del gradiente
[Px,Py]=gradient(T);
%ley de Fourier
Qx=-k.*Px;
Qy=-k.*Py;
%campo de vectores
quiver(X,Y,Qx,Qy)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%se pone título a la gráfica
title('Energía calorífica')
%se pone nombre a los ejes
xlabel('Eje x')
ylabel('Eje y')


4 Dibujo del campo de vectores

Se pide dibujar el campo de vectores en los puntos del mallado del sólido, en [math] t = 0 [/math].

Esta función nos va a representar las deformaciones producidas en la placa para [math] t = 0 [/math] en forma de vectores. Comenzamos definiendo todas las variables de nuestro enunciado. A continuación, calculamos el vector de deformaciones [math]\vec{u}(x,y)=\frac{x}{3}sen(\frac{π}{12}y-πνt)·\vec{i}[/math] y mediante el comando quiver() se crea el campo de vectores. Finalmente, se define el rango de visión de la gráfica usando el comando axis() y se titula la gráfica y los ejes.

CAMPO DE VECTORES
% Campo de vectores:
%definimos el paso de muestreo y las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
hold on
%vector de deformaciones
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
%campo de vectores
quiver(X,Y,Ux,Uy)
%se define el rango de visión de la gráfica
axis([-5,5,-0.5,12.5])
view(2)
%titulamos la gráfica y los ejes
title('Campo de vectores en t=0')
xlabel('Eje x')
ylabel('Eje y')


5 Dibujo del sólido antes y después del desplazamiento

En el siguiente apartado representamos el sólido antes y después del desplazamiento dado por el campo de vectores [math] \vec u [/math] en [math] t = 0 [/math].

Para representarlo sumaremos a la posición de la placa el respectivo campo vectorial de deformaciones [math]\vec{u}(x,y)=\frac{x}{3}sen(\frac{π}{12}y-πνt)·\vec{i}[/math].

Usando el comando subplot(), hemos realizado una representación de ambas situaciones; tanto la inicial donde la placa no sufre ninguna deformación, como la final con el campo actuando, y finalmente una representación y comparación de ambas.


DESPLAZAMIENTO Y COMPARACIÓN
% Desplazamiento y comparación:
%antes del desplazamiento
h=2/10;
x=-1:h:1;
y=0:h:12;
subplot(2,2,1)
[X,Y] = meshgrid(x,y);
mesh(X,Y,0*X);
axis([-5,5,-0.5,12.5])
view(2)
title('Situación inicial')
xlabel('Eje x')
ylabel('Eje y')
axis equal
%después del desplazamiento
subplot(2,2,2)
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
mesh(X+Ux,Y+Uy,0.*X)
axis([-5,5,-0.5,12.5])
view(2)
title('Situación final')
xlabel('Eje x')
ylabel('Eje y')
axis equal
%comparación
subplot(2,2,3)
plot3(X,Y,0.*X,X+Ux,Y+Uy,0.*X)
axis([-5,5,-0.5,12.5])
view(2)
title('Comparación')
xlabel('Eje x')
ylabel('Eje y')
axis equal
%campo de vectores
subplot(2,2,4)
quiver(X,Y,Ux,Uy)
axis([-5,5,-0.5,12.5])
view(2)
title('Campo de Vectores')
xlabel('Eje x')
ylabel('Eje y')
axis equal


6 Cálculo y dibujo de la divergencia

Dibujar [math]∇·\vec{u}[/math] en t=0. Determinar analíticamente los puntos en los que la divergencia de [math]\vec{u}[/math] es máxima, mínima y nula. ¿Se puede apreciar esto en la gráfica?


A continuación calcularemos la divergencia del campo vectorial ū, que es una medida del cambio de volumen local debido al desplazamiento. La podemos calcular gracias a la siguiente expresión:
[math]\nabla \cdot \vec u(x,y) = \frac{\partial u_1}{\partial x}+\frac{\partial u_2}{\partial y}[/math]


Tras realizar los cálculos pertinentes nos queda la siguiente expresión: [math]\nabla \cdot \vec u(x,y) = \frac{1}{3}sen(\frac{π}{12}y)[/math]


La divergencia mide el cambio en la densidad de un fluido moviéndose de acuerdo con un campo vectorial dado. Es decir, si un objeto se mueve en un medio elástico y la divergencia en ese campo es cero, significa que el volumen local del campo no ha cambiado. Como en nuestro caso obtenemos una divergencia distinta de cero, el volumen del sólido está relacionado con el movimiento de sus moléculas y se puede apreciar en la gráfica.

  • Los puntos en los que la divergencia es máxima son los que pertenecen al siguiente recinto: [math]D_1=\{(x,y,z):-1≤x≤1 , y=6 , z=0,333\}[/math]
  • Los puntos en los que la divergencia es mínima o nula son los que pertenecen al siguiente recinto: [math]D_2=\{(x,y,z):-1≤x≤1 , y=0 , y=12 , z=0\}[/math]


DIVERGENCIA.
% Cálculo y dibujo de la divergencia
%definimos las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
%cálculo de la divergencia
div=divergence(X,Y,Ux,Uy);
%punto con mayor divergencia
MaxD=max(max(div));
%punto con menor divergencia
MinD=min(min(div));
surf(X,Y,div)
%barra de indicación de colores
colorbar
%se define el rango de visión de la gráfica
axis([-2.5,2.5,-0.5,12.5,0,0.5])
%titulamos la gráfica y los ejes
title('Divergencia')
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')


7 Cálculo y dibujo del rotacional

En este apartado buscamos calcular y dibujar el rotacional del campo [math]\vec u[/math] de los puntos del sólido en t=0. Para el calculo del rotacional utilizamos los siguientes cálculos:

[math] \nabla \times \vec u(x,y,z) = \begin{vmatrix}\vec{i} & \vec{j}& \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y}& \frac{\partial }{\partial z}\\ u_{1}& u_{2}& u_{3} \end{vmatrix}[/math]

En nuestro caso tenemos:

[math] \nabla \times \vec u(x,y,z) = \begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y} &\frac{\partial }{\partial z} \\ \frac{x}{3}sen(\frac{\pi}{12}y) & 0 & 0\end{vmatrix} =\frac{-1}{36}xπcos(\frac{π}{12}y) \vec{k}[/math]

Siendo el módulo del rotacional el siguiente campo escalar:

[math]|\nabla \times \vec u(x,y,z)|= \frac{-1}{36}xπcos(\frac{π}{12}y)[/math]

El rotacional muestra la tendencia de un campo a inducir rotación alrededor de un punto determinado. Podemos observar en la gráfica que los puntos más amarillentos son los que sufren un mayor rotacional. Es decir, los siguientes puntos:

  • [math]P_1(x;y;z)=(1;12;0,0872266)[/math]
  • [math]P_2(x;y;z)=(-1;0;0,0872266)[/math]


ROTACIONAL
% Cálculo y dibujo del rotacional:
%definimos el paso de muestreo y las variables
h=2/10;
k=1;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
%vector de deformaciones
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
[Rz,V]=curl(X,Y,Ux,Uy);
%punto con mayor rotacional
MaxR=max(max(Rz));
%representar la gráfica
surf(X,Y,Rz);
%barra de indicación de colores
colorbar
%titulamos la gráfica
title('Rotacional')
%titulamos los ejes
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')


8 Dibujo de las tensiones normales

Definimos [math]\epsilon (\vec u)=(\nabla\vec u+ \nabla \vec u^{t})/2 [/math] como la parte simétrica del tensor gradiente de [math]\vec u[/math] conocido como tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos permiten escribir el tensor de tensiones [math]σ_i[/math][math]_j[/math] a través de la fórmula:

[math]σ=λ∇ \cdot (\vec u)[/math]1 [math]+ 2μ\epsilon \,[/math]

donde:

  • 1 es el tensor identidad en el conjunto de vectores libres del espacio [math] \mathbb{R}^{3}[/math].
  • [math]λ[/math], [math]µ[/math] son los conocidos como coeficientes de Lamé, que dependen de las propiedades elásticas de cada material.

Tomando [math]λ=μ=1[/math] , dibujar las tensiones normales en la dirección que marca el eje [math]\vec {i}[/math] , es decir [math]\vec{i}\cdot \sigma \cdot \vec{i}[/math] , las tensiones normales en la dirección que marca el eje [math]\vec {j}[/math] , es decir [math]\vec{j}\cdot \sigma \cdot \vec{i}[/math] y las correspondientes al eje [math]\vec {k}[/math] , es decir [math]\vec{k}\cdot \sigma \cdot \vec{i}[/math]

Primero a calculamos el gradiente de T [math] \mathbb (∇\vec u) = \; \begin{pmatrix} {\partial u_1 \over \partial x} & {\partial u_1 \over \partial y} & {\partial u_1 \over \partial z}\\ {\partial u_2 \over \partial x} & {\partial u_2 \over \partial y} & {\partial u_2 \over \partial z}\\ {\partial u_3 \over \partial x} & {\partial u_3 \over \partial y} & {\partial u_3 \over \partial z}\\ \end{pmatrix} [/math]


La matriz resultante es [math]\vec u [/math] : [math] \mathbb (∇\vec u) = \; \begin{pmatrix} {\frac{1}{3}sen(\frac{π}{12}y)} & {\frac{Πx}{36}cos(\frac{Π}{12}y)} & {0}\\ {0} & {0} & {0}\\ {0} & {0} & {0}\\ \end{pmatrix} [/math] que puede representarse con la matriz traspuesta [math]\vec ∇u^t [/math] : [math] \mathbb (∇\vec u^t) = \; \begin{pmatrix} {\frac{1}{3}sen(\frac{π}{12}y)} & {0} & {0}\\ {\frac{Πx}{36}cos(\frac{Π}{12}y)} & {0} & {0}\\ {0} & {0} & {0}\\ \end{pmatrix} [/math]

Conocido el tensor de deformaciones, calculamos:

[math]\epsilon (\vec u)=(\nabla\vec u+ \nabla \vec u^{t})/2 =[/math] [math]\frac{1}{2}[/math]\begin{pmatrix} {\frac{1}{3}sen(\frac{π}{12}y)} & {\frac{Πx}{36}cos(\frac{Π}{12}y)} & {0}\\ {0} & {0} & {0}\\ {0} & {0} & {0}\\ \end{pmatrix} + [math]\frac{1}{2}\begin{pmatrix} {\frac{1}{3}sen(\frac{π}{12}y)} & {0} & {0}\\ {\frac{Πx}{36}cos(\frac{Π}{12}y)} & {0} & {0}\\ {0} & {0} & {0}\\ \end{pmatrix} = [/math]\begin{pmatrix} {\frac{1}{3}sen(\frac{π}{12}y)} & {\frac{Πx}{72}cos(\frac{Π}{12}y)} & {0}\\ {\frac{Πx}{72}cos(\frac{Π}{12}y)} & {0} & {0}\\ {0} & {0} & {0}\\ \end{pmatrix}


Calculamos el tensor de tensiones [math]σ=λ∇ \cdot (\vec u)[/math]1 [math]+ 2μ\epsilon \,=[/math]\begin{pmatrix} {sen(\frac{π}{12}y)} & {\frac{Πx}{36}cos(\frac{Π}{12}y)} & {0}\\ {\frac{Πx}{36}cos(\frac{Π}{12}y)} & {\frac{1}{3}sen(\frac{π}{12}y)} & {0}\\ {0} & {0} & {\frac{1}{3}sen(\frac{π}{12}y)}\\ \end{pmatrix}

8.1 Tensiones normales en la dirección que marca el eje [math]\vec {i}[/math]

DIRECCIÓN DEL EJE [math]\vec {i}[/math]
% Tensiones normales en la dirección del eje i:
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
%vector de deformaciones
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
%elemento (1,1) de la matriz sigma
sigma1=(sin((pi/12).*Y));
%representar la gráfica
surf(Ux,Uy,sigma1);
view(3)
%barra de indicación de colores
colorbar
%titulamos la gráfica y los ejes
title('Tensiones normales en la dirección del eje i')
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')


8.2 Tensiones normales en la dirección que marca el eje [math]\vec {j}[/math]

DIRECCIÓN DEL EJE [math]\vec {j}[/math]
% Tensiones normales en la dirección del eje j:
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
%vector de deformaciones
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
%elemento (2,2) de la matriz sigma
sigma2=(((pi/12).*Y)./3);
%representar la gráfica
surf(Ux,Uy,sigma2);
view(3)
%barra de indicación de colores
colorbar
%titulamos la gráfica y los ejes
title('Tensiones normales en la dirección del eje j')
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')


8.3 Tensiones normales en la dirección que marca el eje [math]\vec {k}[/math]

DIRECCIÓN DEL EJE [math]\vec {k}[/math]
% Tensiones normales en  la dirección del eje k:
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
%vector de deformaciones
Ux=(X./3).*sin((pi/12).*Y);
Uy=0.*Y;
%elemento (3,3) de la matriz sigma
sigma3=sin(((pi/12).*Y)./3);
%representar la gráfica
surf(Ux,Uy,sigma3);
view(3)
%barra de indicación de colores
colorbar
%titulamos la gráfica y los ejes
title('Tensiones normales en la dirección del eje k')
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')


9 Cálculo de las tensiones tangenciales

En este apartado, calcularemos las tensiones tangenciales respecto al plano ortogonal a [math]\vec {i}[/math], es decir, [math]|\sigma\cdot \vec{i} - (\vec{i}\cdot \sigma \cdot \vec{i}) \cdot \vec{i}|[/math] en [math] t = 0 [/math]. Para ello, se reutilizarán los cálculos del apartado anterior y se representa en MATLAB la gráfica de las tensiones respecto a los diferentes puntos de la placa como se muestra a continuación.


TENSIONES TANGENCIALES
% Cálculo de las tensiones tangenciales respecto al plano ortogonal a i:
%definimos el paso de muestreo y las variables
h=2/10;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
%se calculan las tensiones tangenciales
i=zeros(size(x));
z=i+abs((pi/36).*cos((pi/12).*y))';
%representar la gráfica
surf(X,Y,z);
axis equal
%barra de indicación de colores
colorbar
%titulamos la gráfica y los ejes
title('Tensiones tangenciales respecto al plano ortogonal a i')
xlabel('Eje x')
ylabel('Eje y')


10 Dibujo de la tensión de Von Mises

En este apartado vamos a trabajar con la fórmula de Von Mises, la tensión viene dada por la siguiente expresión:

[math] \sigma_{VM} =\sqrt{\frac{(\sigma_1-\sigma_2)^2+(\sigma_2-\sigma_3)^2+(\sigma_3-\sigma_1)^2}{2}} \,, [/math]

donde [math] \sigma_1 [/math], [math] \sigma_2 [/math] y [math] \sigma_3 [/math] son los autovalores de [math] \sigma [/math], también conocidos como tensiones principales. La tensión de Von Mises es una magnitud escalar que se suele usar como indicador para saber cuándo un material inicia un comportamiento plástico. La matriz [math]\sigma[/math] es igual a:


[math] \sigma = \begin{pmatrix} sen(\frac{\pi}{12}y) & \frac{\pi}{36}x cos(\frac{\pi}{12}y) & 0 \\ \frac{\pi}{36}x cos(\frac{\pi}{12}y) & \frac{1}{3}sen(\frac{\pi}{12}y) & 0 \\ 0 & 0 & \frac{1}{3}sen(\frac{\pi}{12}) \end{pmatrix} [/math]


Finalmente, el valor máximo de la gráfica se encuentra en el siguiente recinto: [math]D=\{(x,y,z):-1≤x≤1 , y=6 , z=0,6667\}[/math] , valor que hemos calculado a través del siguiente código de MATLAB.

TENSIÓN DE VON MISES
% Dibujo de la tensión de Von Mises:
%definimos el paso de muestreo y las variables
clear
clc
h=2/10;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
Ms=zeros(3,3);
%hallamos los autovalores
for i=1:length(y)
  for j=1:length(x)
    u=X(i,j);
    v=Y(i,j);
    Ms(1,1)=(sin(pi/12.*v));
    Ms(1,2)=(pi.*u/36.*cos(pi/12.*v));
    Ms(2,1)=(pi.*u/36.*cos(pi/12.*v));
    Ms(2,2)=(1/3.*sin(pi/12.*v));
    Ms(3,3)=(1/3.*sin(pi/12.*v));
    autovalores=eig(Ms);
    VM=sqrt(((autovalores(1)-autovalores(2)).^2+((autovalores(2)-autovalores(3)).^2+((autovalores(3)-autovalores(1)).^2)).*1/2));
    G(i,j)=VM;
  end
end
%representar la gráfica
surf(X,Y,G);
%titulamos la gráfica y los ejes
title('Tensión de Von Mises')
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
%barra de indicación de colores
colorbar
%punto con mayor valor
max=max(max(G));


11 Cálculo de la velocidad de propagación

Para calcular la velocidad de propagación de las ondas vamos a necesitar usar varias funciones. Para comenzar, definimos nuestra primera función:

[math]\vec{u}(x,y)=\frac{x}{3}sen(\frac{π}{12}y-πνt)·\vec{i}[/math]

Para continuar, definimos la función sigma que viene dada de la siguiente forma:

[math]σ=λ∇·\vec{u}1+2μє [/math]

Por último debemos definir algunas de las funciones que forman la función de tensiones sigma, que las utilizaremos para a continuación calcular la función.


[math]∇·\vec{u}=\frac{1}{3}sen(\frac{π}{12}y-πνt)[/math]

[math]є(\vec{u})=\begin{pmatrix} \frac{1}{3}sen(\frac{π}{12}y-πνt) & \frac{1}{72}πxcos(\frac{π}{12}y-πνt) & 0\\ \frac{1}{72}πxcos(\frac{π}{12}y-πνt) & 0 & 0\\ 0 & 0 & 0 \end{pmatrix} [/math]


Una vez tenemos estas dos funciones podemos hallar ya la función sigma, que nos da la siguiente matriz


[math] σ= \begin{pmatrix} [λ+2μ]\frac{1}{3}sen(\frac{π}{12}y-πνt) & \frac{πx}{36}μcos(\frac{π}{12}y-πνt) & 0 \\ \frac{πx}{36}μcos(\frac{π}{12}y-πνt) & \frac{λ}{3}sen(\frac{π}{12}y-πνt) & 0 \\ 0 & 0 & \frac{λ}{3}sen(\frac{π}{12}y-πνt) \end{pmatrix} [/math]

Una vez definidas tanto la función sigma como la función vectorial de desplazamientos, podemos calcular nuestro campo de fuerzas dado por la siguiente fórmula:

[math]\vec{F}=\frac{\partial^2\vec{u}}{\partial t^2}-∇·σ[/math]

Calculamos por un lado: [math]\frac{\partial^2\vec{u}}{\partial t^2}=\frac{-x}{3}π^2ν^2sen(\frac{π}{12}y-πνt)·\vec{i} [/math]

Por otro lado tenemos: [math]∇·σ=\frac{-x}{432}π^2μsen(\frac{π}{12}y-πνt)·\vec{i}+[μ+λ]\frac{π}{36}cos(\frac{π}{12}y-πνt)·\vec{j} [/math]

Calculando el campo de fuerzas una vez tenemos ambas funciones llegamos a la conclusión de que: [math]\vec{F}=(\frac{μ}{432}-\frac{ν^2}{3})xπ^2sen(\frac{π}{12}y-πνt)·\vec{i}+[μ+λ]\frac{π}{36}cos(\frac{π}{12}y-πνt)·\vec{j}[/math]

Igualando el campo de fuerzas a 0 nos salen las siguientes ecuaciones:


[math] \;\left\{\begin{matrix}(\frac{μ}{432}-\frac{ν^2}{3})xπ^2sen(\frac{π}{12}y-πνt)=0 \\ [μ+λ]\frac{π}{36}cos(\frac{π}{12}y-πνt)=0\end{matrix}\right.[/math]

estas ecuaciones podemos simplificarlas en la siguiente ecuación: [math](\frac{μ}{432}-\frac{ν^2}{3})=0[/math]

Tras unos calculos llegamos a la conclusión de que: [math]ν=\frac{\sqrtμ}{12}[/math]

12 Dibujo de la función

En el último aparatado calcularemos el módulo del desplazamiento transversal (dada por la dirección [math] \vec i [/math]) a lo largo del tiempo en el intervalo [math]t∈[0, 10][/math].

Vamos a usar la fórmula obtenida en el apartado anterior para definir la velocidad de propagación y en este caso vamos a determinar [math]μ=1[/math] por lo que el resultado que obtenemos es [math]ν=\frac{1}{12}[/math]

Finalmente la fórmula con la que nos quedamos es [math]\vec{u}(x,y)=\frac{x}{3}sen(\frac{π}{12}(y-t))·\vec{i}[/math]

FUNCIÓN [math]\vec{u}[/math] EN FUNCIÓN DEL TIEMPO
% Función u en función del tiempo:
%definimos el paso de muestreo y las variables
h=2/10;
mu=1;
lambda=-mu;
v=sqrt(mu/144);
t=0:h:10;
x=-1:h:1;
y=0:h:12;
%creación del mallado
[X,Y]=meshgrid(x,y);
x0=1/2;
y0=1;
u=x0/3*sin((pi*y0/12)-pi.*t.*v);
%creamos la gráfica
figure
%tazamos la función en función del tiempo
plot(t,u);
%titulamos la gráfica y sus ejes
title('Función u en función del tiempo');
xlabel('Tiempo (s)');
ylabel('Valor de la función');
%mostrar la cuadrícula
grid on;