Diferencia entre revisiones de «Grupo15»

De MateWiki
Saltar a: navegación, buscar
(Comparación de la placa antes y después del desplazamiento)
Línea 165: Línea 165:
  
 
{|width="800px" align="center" style="border: 1px solid transparent ;" cellpadding="0" cellspacing="0"
 
{|width="800px" align="center" style="border: 1px solid transparent ;" cellpadding="0" cellspacing="0"
 +
| fjlfjalf
 
|-
 
|-
 
|[[Archivo:Sección antes y déspues .png|Figura representativa de caso  general utilizando paint]]]
 
|[[Archivo:Sección antes y déspues .png|Figura representativa de caso  general utilizando paint]]]
Línea 170: Línea 171:
 
|-
 
|-
 
|}
 
|}
 +
 +
 +
 +
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
|+ Tabla con celdas fusionadas
 
|+ Tabla con celdas fusionadas
Línea 180: Línea 186:
 
| Fila 2, celda 1 || Fila 2, celda 2 || Fila 2, celda 3
 
| Fila 2, celda 1 || Fila 2, celda 2 || Fila 2, celda 3
 
|}
 
|}
 +
  
 
{{matlab|codigo=
 
{{matlab|codigo=

Revisión del 19:49 12 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]


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.

Figura 1
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:

[math] \nabla T=\frac{\partial{T}}{\partial{x}}\vec{i}+\frac{\partial{T}}{\partial{y}}\vec{j}[/math]
[math] \nabla T=\frac{6(x+1)}{1+(x+1)^2}\vec{i}+ \frac{2(y-2)}{1+(y-2)^2}\vec{j}[/math]
Figura 2

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

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,50);
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.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6 6.5 7 7.5 8 8.5 9 9.25],'ShowText','on') 
title('CURVAS DE NIVEL NUMERADAS')
xlabel('eje X')
ylabel('eje Y')
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

Figura 3
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].

Figura 4
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

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
para nuestro trabajo, y por ultimo se ha expresado el vector que define los puntos del mallado después de las deformación como rd(x,y).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.

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
para nuestro trabajo, y por ultimo se ha expresado el vector que define los puntos del mallado después de las deformación como rd(x,y).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.

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.

Figura representativa de caso  general utilizando paint] 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.
fjlfjalf
Figura representativa de caso  general utilizando paint]
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.



Tabla con celdas fusionadas
Encabezado 1 Encabezado 2
Subencabezado 1 Subencabezado 2
Fila 1, celda 1 Fila 1, celda 2 Fila 1, celda 3
Fila 2, celda 1 Fila 2, celda 2 Fila 2, celda 3


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);

%Gráfico de sólido antes del desplazamieto
subplot(1,2,1)
mesh(X,Y,0.*X)
%Título y nombre de los ejes
axis equal
title('Deformación inicial' )
xlabel('Eje X')
ylabel('Eje y')
view(2)

%Gráfico de sólido después del desplazamiento
subplot(1,2,2)
Ux=0.*X;
Uy=1/3.*sin(pi*1/3.*Y);
rdx=X;
rdy=Y+Uy;
mesh(rdx,rdy,0.*X,'EdgeColor','m')
%Título y nombre de los ejes
axis equal
title('Deformación final')
xlabel('Eje X')
ylabel('Eje y')
view(2)


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.

Figura 6
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

clear;clc; close all
% Definamos el contorno de la malla.%
h=1/5;
 x=-1:h:1; y=0:h:12;
 [X,Y]=meshgrid(x,y);
% Matriz de deformaciones de la malla %
  DI=1/9*cos(pi()/3.*Y);
  DJ=1/3*cos(pi()/3.*Y);
  DK=1/9*cos(pi()/3.*Y);
figure  
subplot(3,2,1)
 pcolor(X,Y,DI)
  colorbar
  shading flat 
   xlabel('X') ;ylabel('Y',rotation=pi()/2);
   title('Tensiones normales a i')
subplot(3,2,3)
 pcolor(X,Y,DJ)
  colorbar
  shading flat 
   xlabel('X') ;ylabel('Y',rotation=pi()/2);
   title('Tensiones normales a j')
subplot(3,2,5)
 pcolor(X,Y,DK)
  colorbar
  shading flat 
   xlabel('X') ;ylabel('Y',rotation=pi()/2);
   title('Tensiones normales a k')   
% Apartado 9
%  no hay tensiones tangentes en el planano ortogonal a i;
%  Pero si que las hay en j y tecnicamente es tanjente a i;

                                       % Apartado 10;
L=length(x);E=length(y);
  VM0= ones(E,L);
%Tens= zeros(3);
 for I= 1:E;
     for J = 1:L;
       a = DI(I,J);
       b = DJ(I,J);
       c=  DK(I,J);
        Tens=[a,0,0;0,b,0;0,0,c];
        [V,D] =eig(Tens);
         A1=D(1,1);
         A2=D(2,2);
         A3=D(3,3);
       VM=sqrt(((A1-A2)^2+(A2-A3)^2+(A3-A1)^2)/2);
       VM0(I,J)=VM; 
     end  
 end

subplot(3,2,4)
 surf(X,Y,VM0);
  colorbar
  shading flat 
   xlabel('X') ;ylabel('Y',rotation=pi()/2);
   title('Tensiones de Von Mises')

9 Cálculo de tensiones tangenciales

10 Tensión de Von Mises

La tensión de Von Mises viene definida por la expresion

L=length(x);E=length(y);
VM0= ones(E,L);
%Tens= zeros(3);
  for I= 1:E
      for J = 1:L
        a = DI(I,J);
        b = DJ(I,J);
        c=  DK(I,J);
         Tens=[a,0,0;0,b,0;0,0,c];
         [V,D] =eig(Tens);
          A1=D(1,1);
          A2=D(2,2);
          A3=D(3,3);
        VM=sqrt(((A1-A2)^2+(A2-A3)^2+(A3-A1)^2)/2);
        VM0(I,J)=VM; 
      end  
  end
 
 subplot(3,2,4)
  surf(X,Y,VM0);
   colorbar
   shading flat 
    xlabel('X') ;ylabel('Y',rotation=pi()/2);
    title('Tensiones de Von Mises')


11 Velocidad de propagación

12 Módulo de desplazamiento transversal