Diferencia entre revisiones de «Grupo15»
(→Comparación de la placa antes y después del desplazamiento) |
(→Comparación de la placa antes y después del desplazamiento) |
||
| Línea 178: | Línea 178: | ||
| − | {|width="800px" align="center" style="border: 1px | + | {|width="800px" align="center" style="border: 1px grey ;" |
|cellpadding="80"|<div style="text-align: justify;">En la entrada del articulo se han definido tanto la sección del solido, definida por r0(x,y), el campo de deformaciones u(x,y,t), el cual hemos supuesto 0 <br> para nuestro trabajo, y por ultimo se ha expresado el vector rd(x,y),define los puntos del mallado después de las deformación. Este ultimo lo define la suma de r0(x,y) y u(x,y,t).<br>Para una mejor comprensión del ejercicio se ha optado por realizar una representación de un caso genérico previa exposición del trabajo que nos corresponde exponer </div> | |cellpadding="80"|<div style="text-align: justify;">En la entrada del articulo se han definido tanto la sección del solido, definida por r0(x,y), el campo de deformaciones u(x,y,t), el cual hemos supuesto 0 <br> para nuestro trabajo, y por ultimo se ha expresado el vector rd(x,y),define los puntos del mallado después de las deformación. Este ultimo lo define la suma de r0(x,y) y u(x,y,t).<br>Para una mejor comprensión del ejercicio se ha optado por realizar una representación de un caso genérico previa exposición del trabajo que nos corresponde exponer </div> | ||
Revisión del 16:40 13 dic 2023
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Visualización de campos escalares y vectoriales en elasticidad |
| Asignatura | Teoría de Campos |
| Curso | 2023-24 |
| Autores | Alisson Estefania Simbaña Coray
Alba Xiyi Montoro Poveda Daniel Sanz Lavera Victor Zornoza Llanos Jaime San Vicente Lara |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
\justify
Para el siguiente articulo, consideraremos una placa rectangular plana ocupando la región en el espacio plano [math](x, y) ∈ [-1, 1]×[0, 12][/math]. A continuación definimos dos cantidades físicas; por un lado la temperatura dada como [math]T(x, y) = 3log(1+(1+x^2) + log(1+(y-2)^2)[/math] y por otro, los desplazamientos [math]\vec{u}(x, y)[/math] producidos por la acción de una fuerza determinada. Definiendo [math]\vec{r_{0}}(x, y)= x\vec{i}+y\vec{j}[/math] como vector posición de los puntos de la placa antes de la deformación, la posición de cada punto 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].
Suponemos también que la fuerza aplicada sobre la placa a provocado un desplazamiento ondulatorio 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 la amplitud [math]k \gt 0[/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.
Supondremos que se trata de una onda longitudinal en la que la dirección de propagación es la misma que la amplitud.
Sabemos que [math]\vec{a}=\vec{d}=1/3\vec{j}, k=1, [/math]
Contenido
- 1 Definición de la placa
- 2 Gradiente de la temperatura
- 3 Ley de Fourier
- 4 Campo de deformaciones en el instante inicial
- 5 Comparación de la placa antes y después del desplazamiento
- 6 Visualización de la divergencia del campo de deformaciones
- 7 Cálculo del rotacional del campo de deformaciones
- 8 Cálculo de las tensiones normales
- 9 Cálculo de tensiones tangenciales
- 10 Tensión de Von Mises
- 11 Velocidad de propagación
- 12 Módulo de desplazamiento transversal
1 Definición de la placa
Dibujo del mallado que representa el interior del sólido. Tomamos los ejes en el rectángulo [math](x, y) ∈ [−1; 1] × [0; 12] [/math]y como paso de muestreo h = 2/10 para las variables x e y.
clear
clc
%Definimos el contorno de la malla
%Definimos las variables x e y usando como paso de muestreo h
h=2/10;
x=[-1:h:1];
y=[0:h:12];
%Creación del mallado
[X,Y]= meshgrid(x,y);
%Mallado
mesh(X,Y,0*X);
%Representación gráfica del mallado
axis([-6,6,-0.5,12.5]);
%Título y nombre de los ejes
title('Mallado del sólido');
xlabel('Eje X');
ylabel('Eje Y');
%Visualización del gráfico en dos dimensiones
view(2);
%Contorno de la placa rectagular
hold on
x1=[-1,1,1,-1,-1];
y1=[0,0,12,12,0];
plot(x1,y1,'k','LineWidth',1.5);
hold off
2 Gradiente de la temperatura
El cálculo del gradiente de un campo escalar se expresa como la derivada parcial respecto de cada coordenada de dicho campo en función de la base ortonormal orientada positiva [math]\vec{i},\vec{j},\vec{k}[/math] (COORDENADAS CARTESIANAS). Es decir:
A continuación se muestra el código completo de matlab, del cual resultan las siguientes imágenes en las que podemos ver las curvas de nivel y donde se encuentra su máximo y mínimo, a partir de los colores de las gráficas y a partir de el propio matlab. Este nos índica al ejecutar el programa que el máximo es: 9.4434
clc
clear
h = 0.2; %MUESTREO
x =-1.0:h:1.0; %DOMINIO DE X
y =0.0:h:12.0; %DOMINIO DE Y
[X,Y]= meshgrid(x,y); % CREACIÓN DEL MALLADO
T=3*log(1+(X+1).^2)+log(1+(Y-2).^2); %TEMP EN CADA PUNTO DEL MALLADO
mesh(X,Y,0*X) %CREACIÓN DE LA MALLA
subplot(1,3,1) %GRÁFICO SUPERIOR
surf(X,Y,T); %DEGRADACIÓN DE COLORES
axis ([-1,1,-0.5,12.5])
view(2)
colorbar
title('CAMPO DE TEMPERATURAS')
xlabel('eje X')
ylabel('eje Y')
subplot(1,3,2) %GRÁFICO INFERIOR
contour(X,Y,T,11);
axis ([-1.0,1.0,-0.5,12.5]);
title('CURVAS DE NIVEL')
xlabel('eje X')
ylabel('eje Y')
colorbar %BARRA DE COLORES
Tmax=max(max(T))
subplot(1,3,3)
axis ([-1.25,1.25,-0.5,12.5])
view(2)
[M,c]=contour(X,Y,T,[0.0 0.75 1.5 2.25 3 3.75 4.5 5.25 6.0 6.75 7.5 8.25 9 9.75],'ShowText','on')
title('CURVAS DE NIVEL NUMERADAS')
xlabel('eje X')
ylabel('eje Y')
colorbar
A continuación, se va a demostrar como el gradiente, previamente calculado, es perpendicular a las líneas de nivel anteriores. Al no verse claro, con la cantidad de líneas de flujo, se opta por aplicar un zoom para una correcta visualización.
clc
clear
h = 2/10;
x = [-1:h:1];
y = [0:h:12];
[X,Y]= meshgrid(x,y);
T=3*log(1+(X+1).^2)+log(1+(Y-2).^2);
contour(X,Y,T,11);
dx=(6.*(X+1))./(1+(X+1).^2);
dy=(2.*(Y-2))./(1+(Y-2).^2);
title('Gradiente de temperatura');
xlabel('Eje X');
ylabel('Eje Y');
% Representación de la temperatura y las curvas de nivel
hold on
quiver(x,y,dx,dy);
axis ([-1.25,1.25,-0.5,12.5])
colorbar
3 Ley de Fourier
Gracias al segundo principio de la termodinámica conocemos el calor emitido por dos focos, uno cálido y otro frío, solo puede ir en un sentido, de mayor a menor calor. Y la ley expresada por el matemático y físico Jean-Baptiste Joseph Fourier trata de establecer una relación entre la distancia, tiempo y el flujo de calor entre focos. Dicha ley viene expresada [math]\vec{Q}=−K∇T[/math], donde K es la constante de conductividad térmica que dependera del material a estudio. En nuestro caso, la sección del solido tiene por K el valor asociado 1
clear;close all;clc;
%Definimos las variables x e y usando como paso de muestreo h
h=2/10;
x=[-1:h:1];
y=[0:h:12];
%Creación del mallado
[X,Y]=meshgrid(x,y);
mesh(X,Y,0.*X);
%Definimos la función T
T=3.*log(1+(X+1).^2)+log(1+(Y-2).^2);
%Curvas de nivel
contour(X,Y,T,11);
hold on
%Calculo del gradiente de T
dx=(6.*(X+1))./(1+(X+1).^2);
dy=(2.*(Y-2))./(1+(Y-2).^2);
%Constante de conductividad térmica y ley de Fourier
k=1;
Q1=-k.*(dx);
Q2=-k.*(dy);
%Representación del campo vectorial
quiver(x,y,Q1,Q2,'r');
axis equal;
hold off
%Título y nombre de los ejes
title('Energía calorífica');
xlabel('Eje X');
ylabel('Eje Y');
4 Campo de deformaciones en el instante inicial
Dibujo del campo de vectores en los puntos del mallado del sólido en t=0. La fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio de los puntos dado por el vector [math]\vec{u}(x, y, t)=\vec{a}sin(\pi k(\vec{d}·\vec{r_{0}}(x,y)-vt))[/math]. Al ser el tiempo t=0 el vector [math]\vec{u}[/math] nos queda [math]\vec{u}(x, y, t)=\vec{a}sin(\pi k(\vec{d}·\vec{r_{0}}))[/math].
clc
clear
%Definimos las variables x e y usando como paso de muestreo h
h=2/10;
x=[-1:h:1];
y=[0:h:12];
%Creación del mallado
[X,Y]=meshgrid(x,y);
%Función T
T=3*log(1+(X+1).^2)+log(1+(Y-2).^2);
%Campo de vectores en t=0
ux= 0.*X;
uy= 1/3.*sin(pi()*1/3.*Y);
%Título y nombre a los ejes
title('Campo de vectores');
xlabel('Eje X');
ylabel('Eje Y');
%Dibujo de los vectores como flechas
quiver(X,Y,ux,uy);
axis([-2,2,-0.5,12.5]);
5 Comparación de la placa antes y después del desplazamiento
6 Visualización de la divergencia del campo de deformaciones
La divergencia de un campo vectorial es la suma de sus derivadas parciales, matemáticamente hablando. Dado que en nuestro caso los vectores son ambos 1/3j por lo que al hacer las derivadas parciales de [math] \vec{u} [/math] queda un único sumando que es el correspondiente a y. Es decir, queda reducido a calcular los valores máximos, mínimos y nulos la derivada parcial de uy.
clc
clear
%Definimos las variables x e y usando como paso de muestreo h
h=2/10;
x=[-1:h:1];
y=[0:h:12];
%Creación del mallado
[X,Y]=meshgrid(x,y);
%Cálculo de la divergencia
Diver= pi/9*cos((pi/3).*Y);
Dmax= max(Diver)
NDmax=find(Diver==Dmax)
Dmin= min(Diver);
NDmin=find(Diver==Dmin)
D0=find(Diver==0)
shading flat
%Gráfico de la superficie
surf(X,Y,Diver)
colorbar
view(2)
axis([-2,2,-0.5,12.5]);
%Título y nombre a los ejes
title('Divergencia del campo')
xlabel('Eje X');
ylabel('Eje Y');
7 Cálculo del rotacional del campo de deformaciones
Sea |∇ × [math]\vec{u}[/math]| el rotacional de un campo de desplazamientos [math] \vec u = (ux, uy, uz)[/math] expresado en un sistema de coordenadas de vectores unitarios ortogonales [math]\vec{i}, \vec{j}, \vec{k}[/math], aplicado a una superficie bidimensional expresado en dicho sistema de coordenadas, se cumple que:
[math]\ \bigtriangledown \times \vec{u} = \begin{vmatrix}\vec{u} & \vec{v} &\vec{w} \\ ∂/∂x & ∂/∂y & ∂/∂z\\ ux & uy & uz \end{vmatrix}[/math]
Por ello, para calcular el rotacional de un campo de desplazamientos, se aplica la fórmula del producto vectorial en los ejes del sistema de coordenadas.
Para el caso del sistema de coordenadas cartesiano, con ejes [math][ x, y, z ][/math], y vectores respectivos [math]\vec{i}, \vec{j}, \vec{k}[/math], se procede a calcular el rotacional.
Usando el campo [math]\vec{u} = (\vec{ux}, \vec{uy}, \vec{uz}) = (0,1/3sin((\pi*y)/3), 0)[/math] previo, procedemos a hacer los cálculos:
[math]\ \bigtriangledown \times \vec{u} = \begin{vmatrix}\vec{i} & \vec{j} &\vec{k} \\ ∂/∂x & ∂/∂y & ∂/∂z\\ ux & uy & uz\end{vmatrix}= \begin{vmatrix}\vec{i} & \vec{j} & \vec{k} \\ ∂/∂x & ∂/∂y & ∂/∂z \\ 0 & 1/3sin((\pi*y)/3) & 0\end{vmatrix}=(0-0)\vec{i}+(0-0)\vec{j}+(0-0)\vec{k}=0 [/math]
Por lo tanto, se trata de un campo conservativo es decir, el rotacional en todos los puntos de la placa es nulo, lo que implica:
[math]\ \left | \bigtriangledown \times \vec{u} \right | = 0 [/math]
8 Cálculo de las tensiones normales
El tensor de tensiones [math]\sigma=λ\bigtriangledown \cdot \vec{u}1 + 2µЄ[/math] describe un medio elástico, isótropo y homogéneo de los desplazamientos. Donde: [math]Є(\vec{u})=\frac{\bigtriangledown\vec{u}+\bigtriangledown\vec{u}^t}{2}[/math] parte simétrica del tensor gradiente de [math]\vec{u}[/math]
[math]\bigtriangledown \cdot \vec{u}[/math] la divergencia de [math]\vec{u}[/math]
[math]I[/math] es el tensor identidad.
[math]λ,µ =1[/math] son los conocidos como coeficientes de Lamé.
[math]∇\vec{u} = \begin{pmatrix} \frac{\partial u_{1} }{\partial ρ} & \frac{\partial u_{1} }{\partial θ} & \frac{\partial u_{1} }{\partial z} \\ \frac{\partial u_{2} }{\partial ρ} & \frac{\partial u_{2} }{\partial θ} & \frac{\partial u_{2} }{\partial z} \\ \frac{\partial u_{3} }{\partial ρ} & \frac{\partial u_{3} }{\partial θ} & \frac{\partial u_{3} }{\partial z} \end{pmatrix}=\begin{pmatrix} 0 & 0 & 0\\0 & \frac{1}{9}sin(\frac{πy}{3}) & 0\\ 0 & 0 & 0\end{pmatrix}=\frac{1}{9}cos(\frac{πy}{3})\frac{1}{9}cos(\frac{πy}{3})\vec{j}⨂\vec{j}[/math]
[math]Є(\vec{u})=\frac{\frac{1}{9}cos(\frac{πy}{3})+\frac{1}{9}cos(\frac{πy}{3})}{2}=\frac{2}{9}cos(πy)=\frac{1}{9}cos(\frac{πy}{3})[/math]
[math]\sigma=\frac{1}{9}cos(\frac{πy}{3})\begin{pmatrix} 1 & 0 & 0\\0 & 1 & 0\\ 0 & 0 & 1\end{pmatrix}+2\begin{pmatrix} 0 & 0 & 0\\0 & \frac{1}{9}cos(\frac{πy}{3}) & 0\\ 0 & 0 & 0\end{pmatrix}=\frac{1}{9}cos(\frac{πy}{3})(\vec{i}⨂\vec{i}+\vec{j}⨂\vec{j}+\vec{k}⨂\vec{k})+2\frac{1}{9}cos(\frac{πy}{3})\vec{j}⨂\vec{j}[/math]
[math]σij=\begin{pmatrix} \frac{1}{9}cos(\frac{πy}{3}) & 0 & 0\\0 & \frac{1}{3}cos(\frac{πy}{3}) & 0\\ 0 & 0 & \frac{1}{9}cos(\frac{πy}{3})\end{pmatrix}[/math]
clc
clear
%Definimos las variables x e y usando como paso de muestreo h
h=2/10;
x=[-1:h:1];
y=[0:h:12];
[X,Y]=meshgrid(x,y);
%Tensiones
Ti=pi/9.*cos(pi/3.*Y);
Tj=pi/3.*cos(pi/3.*Y);
Tk=pi/9.*cos(pi/3.*Y);
figure
%Gráfico de las tensiones en i
subplot(1,3,1)
pcolor(X,Y,Ti)
colorbar
shading flat
%Título y nombre de los ejes
title('Tensiones normales en i')
xlabel('Eje X')
ylabel('Eje Y')
axis ([-1,1,0,12])
view(2)
%Gráfico de las tensiones en j
subplot(1,3,2)
pcolor(X,Y,Tj)
colorbar
shading flat
%Título y nombre de los ejes
title('Tensiones normales en j')
xlabel('Eje X')
ylabel('Eje Y')
axis ([-1,1,0,12])
view(2)
%Gráfico de las tensiones en k
subplot(1,3,3)
pcolor(X,Y,Tk)
colorbar
shading flat
%Título y nombre de los ejes
title('Tensiones normales en k')
xlabel('Eje X')
ylabel('Eje Y')
axis ([-1,1,0,12])
view(2)
9 Cálculo de tensiones tangenciales
Cálculo de las tensiones tangenciales respecto al plano ortogonal a [math]\vec{i}[/math], es decir [math]|σ ·\vec{i} − (\vec{i} · σ ·\vec{i})\vec{i}|[/math], en t=0.
Lo calculamos por separado [math]|σ ·\vec{i}|-|(\vec{i} · σ ·\vec{i})\vec{i}|[/math]
[math]|σ·\vec{i}|=\begin{pmatrix} \frac{π}{9}cos(\frac{π}{3}y)& 0 & 0\\0 & \frac{π}{3}cos(\frac{π}{3}y) & 0\\ 0 & 0 & \frac{π}{9}cos(\frac{π}{3}y)\end{pmatrix}\begin{pmatrix}1\\0\\0\end{pmatrix} = \begin{pmatrix} \frac{π}{9}cos(\frac{π}{3}y)\\0 \\0 \end{pmatrix} = |\frac{π}{9}cos(\frac{π}{3}y)\vec{i}|=\frac{π}{9}cos(\frac{π}{3}y)[/math]
[math]|(\vec{i} · σ ·\vec{i})\vec{i}|= |\frac{π}{9}cos(\frac{π}{3}y)\vec{i}|=\frac{π}{9}cos(\frac{π}{3}y)[/math]
Por lo tanto:
[math]|σ ·\vec{i}|-|(\vec{i} · σ ·\vec{i})\vec{i}|=\frac{π}{9}cos(\frac{π}{3}y)-\frac{π}{9}cos(\frac{π}{3}y)=0[/math]
10 Tensión de Von Mises
La tensión de Von Mises viene dada por la expresión:
[math]σ_{VM}=\sqrt{\frac{(σ_{1}-σ_{2})^2+(σ_{2}-σ_{3})^2+(σ_{3}-σ_{1})^2}{2}}[/math]
donde [math]σ_{1}[/math], [math]σ_{2}[/math] y [math]σ_{3}[/math] son los autovalores de [math]σ[/math] también conocidos como tensiones principales. Se trata de una magnitud escalar que se suele usar como indicador para saber cuando un material inicia un comportamiento plástico y no elástico puro.
clc; clear all
%Definición de regiones
h=1/5;
x=[-1:h:1];
y=[0:h:12];
%Matriz de X e Y
[X,Y]=meshgrid(x,y);
MVonM=0.*Y;
%Definimos la funcion de Von mises donde tp1,2,3 son las tensiones principales
VonMises=inline('(((tp1-tp2)^2+(tp2-tp3)^2+(tp3-tp1)^2)/2)^(1/2)','tp1','tp2','tp3');
[M,N]=size(Y);
%Le asignamos a la matriz MVonM los valores de la tension de Von Mises en cada punto
for i=1:M
for j=1:N
sigma=[(pi/9)*cos(pi/3*Y(i,j)) 0 0; 0 pi/3*cos(pi/3*Y(i,j)) 0; 0 0 pi/9*cos(pi/3*Y(i,j))];
Autovalores=eig(sigma);
A1=Autovalores(1);
A2=Autovalores(2);
A3=Autovalores(3);
MVonM(i,j)=VonMises(A1,A2,A3);
end
end
%Graficamos
surf(X,Y,MVonM)
shading flat
axis([-0.5,10.5,-1.5,1.5]);
axis equal
title('Tension de Von Mises');
xlabel('Eje X');
ylabel('Eje Y');
view(2);
colorbar
max(max(MVonM))
