<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nadir.ahnihan</id>
		<title>MateWiki - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nadir.ahnihan"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Nadir.ahnihan"/>
		<updated>2026-04-24T01:15:13Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66604</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66604"/>
				<updated>2023-12-15T21:21:47Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Desplazamiento transversal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan}}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La redacción de este artículo tiene por objetivo el estudio del desplazamiento que adquiere un sólido al someterse a la acción de un campo de fuerzas externas. Para ello, se tienen dos cantidades físicas dependientes de las variables x e y:&lt;br /&gt;
&lt;br /&gt;
La temperatura T(x,y)=&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; T(x,y)=3log(1+(x-1)^2)+log(1+(y-8)^2)&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El campo de desplazamientos ũ(x,y)=.&lt;br /&gt;
&lt;br /&gt;
Emplearemos el software de programación y cálculo numérico Matlab/Octave, que nos simplifica las operaciones complejas y además nos periten generar figuras en 2D y 3D que ilustran a la perfección las cálculos analíticos.&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomando los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representaciones asociadas la temperatura=&lt;br /&gt;
Asociada a la ecuación de la temperatura &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; T(x,y)=3log(1+(x-1)^2)+log(1+(y-8)^2)&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
 empelada para este estudio, vamos a visualizar dos representaciones asociadas:&lt;br /&gt;
== Curva de nivel ==&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel asociadas a la temperatura, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; T(x,y)=3log(1+(x-1)^2)+log(1+(y-8)^2)&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alcanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
== Gradiente ==&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla T(x,y,z) =\frac{d∂}{dx} +\frac{d∂}{dy} + \frac{d∂}{dz}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;Si lo aplicamos a nuestro estudio, obtenemos que:&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;\nabla T(x,y) =\frac{d∂}{dx} +\frac{d∂}{dy}=&amp;gt;3 \cdot \frac{2(x-1)}{1+(x-1)^2} \vec i + \frac{2(y-8)}{1+(y-8)^2} \vec j &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tensiones tangenciales en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).En la figura adjunta, se puede diferenciar la distribución de la Tensión de Von Mises tanto en 3D como en 2D, ambas figuras coloreadas cada parte con el color correspondiente asociado a la tensión en ese punto, siendo los colores mas cálidos los que indican una mayor tensión de Von Mises y los mas fríos una menor Tensión de Von Mises, como indica la barra de color adjunta.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 14: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
En la placa, actúa un campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt;, que se aproxima por la ecuación de la elasticidad lineal&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;∇ · σ&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia del tensor de tensores, &amp;lt;math&amp;gt;σ&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Siendo el vector &amp;lt;math&amp;gt;\vec{u}=\vec{a}·sin(π\cdot k(d·\vec{r0}(x, y)−vt))&amp;lt;/math&amp;gt; y los desplazamientos: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=x/3 \vec{i} &amp;lt;/math&amp;gt; ,  &amp;lt;math&amp;gt;\vec{d}=1/12 \vec{j}&amp;lt;/math&amp;gt;  y  &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt;;&lt;br /&gt;
Sustituyendo en el vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{x}{3}sin (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado, el tensor deformaciones es: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{\frac{2}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por lo tanto el tensor de tensiones y su divergencia son: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18} \cdot cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se calcula la derivada de segundo grado del vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; en función de t:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}= \frac{-vx}{3}cos (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}= \frac{-v^2x}{3} (sin(\frac{π \cdot y}{12}-vt))\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se sustituyen los términos calculados en la ecuación de elasticidad lineal con la condición que &amp;lt;math&amp;gt;\vec F&amp;lt;/math&amp;gt;=0;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2x}{3} (sin(\frac{πy}{12}-vt))\vec{i}. - \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} =0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt; =0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sí y solo sí &amp;lt;math&amp;gt;cos(\frac{πy}{12}-vt) &amp;lt;/math&amp;gt;= 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado da que la velocidad de propagación es &amp;lt;math&amp;gt;V= \frac{π}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tomamos la onda longitudinal en lugar de transversal, es decir, con &amp;lt;math&amp;gt;\vec{a}=1/3 \vec{j} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El vector &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es igual a: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{1}{3}sin (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo, por lo tanto, sus derivadas de primer y segundo orden: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}=\frac{-v}{3}cos (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}=\frac{-v^2}{3}(sin(\frac{π \cdot y}{12}-vt))\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo el nuevo tensor deformación: &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{π}{18}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo, en este caso, el tensor de tensiones: &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt; \mathbb = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{\frac{π}{36}sin(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{5π}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{π}{36}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y su divergencia: &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último al usar la ecuación de la elasticidad lineal de nuevo: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2}{3}(sin(\frac{\pi \cdot y}{12}-vt))\vec{j}. - \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se llega a que el resultado de la velocidad de propagación no varía: &amp;lt;math&amp;gt;V= \frac{π}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el módulo del desplazamiento transversal (dirección ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la función que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66597</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66597"/>
				<updated>2023-12-15T21:16:33Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Campo de fuerzas que actúa sobre la placa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan}}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La redacción de este artículo tiene por objetivo el estudio del desplazamiento que adquiere un sólido al someterse a la acción de un campo de fuerzas externas. Para ello, se tienen dos cantidades físicas dependientes de las variables x e y:&lt;br /&gt;
&lt;br /&gt;
La temperatura T(x,y)=&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; T(x,y)=3log(1+(x-1)^2)+log(1+(y-8)^2)&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El campo de desplazamientos ũ(x,y)=.&lt;br /&gt;
&lt;br /&gt;
Emplearemos el software de programación y cálculo numérico Matlab/Octave, que nos simplifica las operaciones complejas y además nos periten generar figuras en 2D y 3D que ilustran a la perfección las cálculos analíticos.&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomando los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representaciones asociadas la temperatura=&lt;br /&gt;
Asociada a la ecuación de la temperatura &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; T(x,y)=3log(1+(x-1)^2)+log(1+(y-8)^2)&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
 empelada para este estudio, vamos a visualizar dos representaciones asociadas a esta:&lt;br /&gt;
== Curva de nivel ==&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel asociadas a la temperatura, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; T(x,y)=3log(1+(x-1)^2)+log(1+(y-8)^2)&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alcanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tensiones tangenciales en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).En la figura adjunta, se puede diferenciar la distribución de la Tensión de Von Mises tanto en 3D como en 2D, ambas figuras coloreadas cada parte con el color correspondiente asociado a la tensión en ese punto, siendo los colores mas cálidos los que indican una mayor tensión de Von Mises y los mas fríos una menor Tensión de Von Mises, como indica la barra de color adjunta.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 14: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
En la placa, actúa un campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt;, que se aproxima por la ecuación de la elasticidad lineal&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;∇ · σ&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia del tensor de tensores, &amp;lt;math&amp;gt;σ&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Siendo el vector &amp;lt;math&amp;gt;\vec{u}=\vec{a}·sin(π\cdot k(d·\vec{r0}(x, y)−vt))&amp;lt;/math&amp;gt; y los desplazamientos: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=x/3 \vec{i} &amp;lt;/math&amp;gt; ,  &amp;lt;math&amp;gt;\vec{d}=1/12 \vec{j}&amp;lt;/math&amp;gt;  y  &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt;;&lt;br /&gt;
Sustituyendo en el vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{x}{3}sin (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado, el tensor deformaciones es: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{\frac{2}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por lo tanto el tensor de tensiones y su divergencia son: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18} \cdot cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se calcula la derivada de segundo grado del vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; en función de t:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}= \frac{-vx}{3}cos (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}= \frac{-v^2x}{3} (sin(\frac{π \cdot y}{12}-vt))\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se sustituyen los términos calculados en la ecuación de elasticidad lineal con la condición que &amp;lt;math&amp;gt;\vec F&amp;lt;/math&amp;gt;=0;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2x}{3} (sin(\frac{πy}{12}-vt))\vec{i}. - \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} =0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt; =0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sí y solo sí &amp;lt;math&amp;gt;cos(\frac{πy}{12}-vt) &amp;lt;/math&amp;gt;= 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado da que la velocidad de propagación es &amp;lt;math&amp;gt;V= \frac{π}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tomamos la onda longitudinal en lugar de transversal, es decir, con &amp;lt;math&amp;gt;\vec{a}=1/3 \vec{j} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El vector &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es igual a: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{1}{3}sin (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo, por lo tanto, sus derivadas de primer y segundo orden: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}=\frac{-v}{3}cos (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}=\frac{-v^2}{3}(sin(\frac{π \cdot y}{12}-vt))\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo el nuevo tensor deformación: &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{π}{18}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo, en este caso, el tensor de tensiones: &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt; \mathbb = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{\frac{π}{36}sin(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{5π}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{π}{36}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y su divergencia: &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último al usar la ecuación de la elasticidad lineal de nuevo: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2}{3}(sin(\frac{\pi \cdot y}{12}-vt))\vec{j}. - \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se llega a que el resultado de la velocidad de propagación no varía: &amp;lt;math&amp;gt;V= \frac{π}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66579</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66579"/>
				<updated>2023-12-15T21:06:22Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Campo de fuerzas que actúa sobre la placa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan}}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La redacción de este artículo tiene por objetivo el estudio del desplazamiento que adquiere un sólido al someterse a la acción de un campo de fuerzas externas. Para ello, se tienen dos cantidades físicas dependientes de las variables x e y:&lt;br /&gt;
&lt;br /&gt;
La temperatura T(x,y)=&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; T(x,y)=3log(1+(x-1)^2)+log(1+(y-8)^2)&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El campo de desplazamientos ũ(x,y)=.&lt;br /&gt;
&lt;br /&gt;
Emplearemos el software de programación y cálculo numérico Matlab/Octave, que nos simplifica las operaciones complejas y además nos periten generar figuras en 2D y 3D que ilustran a la perfección las cálculos analíticos.&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomando los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tensiones tangenciales en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).En la figura adjunta, se puede diferenciar la distribución de la Tensión de Von Mises tanto en 3D como en 2D, ambas figuras coloreadas cada parte con el color correspondiente asociado a la tensión en ese punto, siendo los colores mas cálidos los que indican una mayor tensión de Von Mises y los mas fríos una menor Tensión de Von Mises, como indica la barra de color adjunta.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 14: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
En la placa, actúa un campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt;, que se aproxima por la ecuación de la elasticidad lineal&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;∇ · σ&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia del tensor de tensores, &amp;lt;math&amp;gt;σ&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Siendo el vector &amp;lt;math&amp;gt;\vec{u}=\vec{a}·sin(π\cdot k(d·\vec{r0}(x, y)−vt))&amp;lt;/math&amp;gt; y los desplazamientos: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=x/3 \vec{i} &amp;lt;/math&amp;gt; ,  &amp;lt;math&amp;gt;\vec{d}=1/12 \vec{j}&amp;lt;/math&amp;gt;  y  &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt;;&lt;br /&gt;
Sustituyendo en el vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{x}{3}sin (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado, el tensor deformaciones es: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{\frac{2}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por lo tanto el tensor de tensiones y su divergencia son: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18} \cdot cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se calcula la derivada de segundo grado del vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; en función de t:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}= \frac{-vx}{3}cos (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}= \frac{-v^2x}{3} (sin(\frac{π \cdot y}{12}-vt))\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se sustituyen los términos calculados en la ecuación de elasticidad lineal con la condición que &amp;lt;math&amp;gt;\vec F&amp;lt;/math&amp;gt;=0;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2x}{3} (sin(\frac{πy}{12}-vt))\vec{i}. - \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} =0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt; =0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sí y solo sí &amp;lt;math&amp;gt;cos(\frac{πy}{12}-vt) &amp;lt;/math&amp;gt;= 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado da que la velocidad de propagación es &amp;lt;math&amp;gt;V= \frac{π}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tomamos la onda longitudinal en lugar de transversal, es decir, con &amp;lt;math&amp;gt;\vec{a}=1/3 \vec{j} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El vector &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es igual a: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{1}{3}sin (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo, por lo tanto, sus derivadas de primer y segundo orden: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}=\frac{-v}{3}cos (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}=\frac{-v^2}{3}(sin(\frac{π \cdot y}{12}-vt))\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo el nuevo tensor deformación: &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{π}{18}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo, en este caso, el tensor de tensiones: &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt; \mathbb = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{\frac{π}{36}sin(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{5π}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{π}{36}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y su divergencia: &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último al usar la ecuación de la elasticidad lineal de nuevo: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2}{3}(sin(\frac{\pi \cdot y}{12}-vt))\vec{j}. - \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se llega a que el resultado de la velocidad de propagación no varía: &amp;lt;math&amp;gt;V= \frac{π√5}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66568</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66568"/>
				<updated>2023-12-15T21:00:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan}}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La redacción de este artículo tiene por objetivo el estudio del desplazamiento que adquiere un sólido al someterse a la acción de un campo de fuerzas externas. Para ello, se tienen dos cantidades físicas dependientes de las variables x e y:&lt;br /&gt;
&lt;br /&gt;
La temperatura T(x,y)=&lt;br /&gt;
&lt;br /&gt;
El campo de desplazamientos ũ(x,y)=.&lt;br /&gt;
&lt;br /&gt;
Emplearemos el software de programación y cálculo numérico Matlab/Octave, que nos simplifica las operaciones complejas y además nos periten generar figuras en 2D y 3D que ilustran a la perfección las cálculos analíticos.&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tensiones tangenciales en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).En la figura adjunta, se puede diferenciar la distribución de la Tensión de Von Mises tanto en 3D como en 2D, ambas figuras coloreadas cada parte con el color correspondiente asociado a la tensión en ese punto, siendo los colores mas cálidos los que indican una mayor tensión de Von Mises y los mas fríos una menor Tensión de Von Mises, como indica la barra de color adjunta.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 14: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
En la placa, actúa un campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt;, que se aproxima por la ecuación de la elasticidad lineal&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;∇ · σ&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia del tensor de tensores, &amp;lt;math&amp;gt;σ&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Siendo el vector &amp;lt;math&amp;gt;\vec{u}=\vec{a}·sin(π\cdot k(d·\vec{r0}(x, y)−vt))&amp;lt;/math&amp;gt; y los desplazamientos: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=x/3 \vec{i} &amp;lt;/math&amp;gt; ,  &amp;lt;math&amp;gt;\vec{d}=1/12 \vec{j}&amp;lt;/math&amp;gt;  y  &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt;;&lt;br /&gt;
Sustituyendo en el vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{x}{3}sin (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado, el tensor deformaciones es: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{\frac{2}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por lo tanto el tensor de tensiones y su divergencia son: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18} \cdot cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se calcula la derivada de segundo grado del vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; en función de t:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}= \frac{-vx}{3}cos (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}= \frac{-v^2x}{3} (sin(\frac{π \cdot y}{12}-vt))\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se sustituyen los términos calculados en la ecuación de elasticidad lineal con la condición que &amp;lt;math&amp;gt;\vec F&amp;lt;/math&amp;gt;=0;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2x}{3} (sin(\frac{πy}{12}-vt))\vec{i}. - \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} =0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt; =0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sí y solo sí &amp;lt;math&amp;gt;cos(\frac{πy}{12}-vt) &amp;lt;/math&amp;gt;= 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado da que la velocidad de propagación es &amp;lt;math&amp;gt;V= \frac{π}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tomamos la onda longitudinal en lugar de transversal, es decir, con &amp;lt;math&amp;gt;\vec{a}=1/3 \vec{j} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El vector &amp;lt;math&amp;gt;\vec{u}&amp;lt;math&amp;gt; es igual a: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{1}{3}sin (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo, por lo tanto, sus derivadas de primer y segundo orden: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}=\frac{-v}{3}cos (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}=\frac{-v^2}{3}(sin(\frac{π \cdot y}{12}-vt))\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo el nuevo tensor deformación: &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{π}{18}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo, en este caso, el tensor de tensiones: &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt; \mathbb = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{\frac{π}{36}sin(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{5π}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{π}{36}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y su divergencia: &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último al usar la ecuación de la elasticidad lineal de nuevo: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2}{3}(sin(\frac{\pi \cdot y}{12}-vt))\vec{j}. - \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se llega a que el resultado de la velocidad de propagación no varía: &amp;lt;math&amp;gt;V= \frac{π√5}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66553</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66553"/>
				<updated>2023-12-15T20:54:27Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Campo de fuerzas que actúa sobre la placa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan}}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La redacción de este artículo tiene por objetivo el estudio del desplazamiento que adquiere un sólido al someterse a la acción de un campo de fuerzas externas.Para ello, se tienen dos cantidades físicas dependientes de las variables x e y:&lt;br /&gt;
&lt;br /&gt;
La temperatura T(x,y)=&lt;br /&gt;
&lt;br /&gt;
El campo de desplazamientos ũ(x,y)=.&lt;br /&gt;
&lt;br /&gt;
Emplearemos el software de programación y cálculo numérico Matlab/Octave, que nos simplifica las operaciones complejas y además nos periten generar figuras en 2D y 3D que ilustran a la perfección las cálculos analíticos.&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tensiones tangenciales en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 14: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
En la placa, actúa un campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt;, que se aproxima por la ecuación de la elasticidad lineal&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;∇ · σ&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia del tensor de tensores, &amp;lt;math&amp;gt;σ&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Siendo el vector &amp;lt;math&amp;gt;\vec{u}=\vec{a}·sin(π\cdot k(d·\vec{r0}(x, y)−vt))&amp;lt;/math&amp;gt; y los desplazamientos: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=x/3 \vec{i} &amp;lt;/math&amp;gt; ,  &amp;lt;math&amp;gt;\vec{d}=1/12 \vec{j}&amp;lt;/math&amp;gt;  y  &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt;;&lt;br /&gt;
Sustituyendo en el vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{x}{3}sin (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado, el tensor deformaciones es: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{\frac{2}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por lo tanto el tensor de tensiones y su divergencia son: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{sin(\frac{πy}{12}-vt)} &amp;amp; {\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{\frac{πx}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{1}{3}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18} \cdot cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se calcula la derivada de segundo grado del vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; en función de t:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}= \frac{-vx}{3}cos (\frac{π \cdot y}{12}-vt)\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}= \frac{-v^2x}{3} (sin(\frac{π \cdot y}{12}-vt))\vec{i}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se sustituyen los términos calculados en la ecuación de elasticidad lineal con la condición que &amp;lt;math&amp;gt;\vec F&amp;lt;/math&amp;gt;=0;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2x}{3} (sin(\frac{πy}{12}-vt))\vec{i}. - \begin{pmatrix} \ \frac{-xπ^2}{432}sin(\frac{πy}{12}-vt)\vec{i} &amp;amp; \frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} =0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{π}{18}cos(\frac{πy}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt; =0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sí y solo sí &amp;lt;math&amp;gt;cos(\frac{πy}{12}-vt) &amp;lt;/math&amp;gt;= 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como resultado da que la velocidad de propagación es &amp;lt;math&amp;gt;V= \frac{π}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si tomamos la onda longitudinal en lugar de transversal, es decir, con &amp;lt;math&amp;gt;\vec{a}=1/3 \vec{j} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El vector &amp;lt;math&amp;gt;\vec{u}&amp;lt;math&amp;gt; es igual a: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}=\frac{1}{3}sin (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo, por lo tanto, sus derivadas de primer y segundo orden: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂\vec{u}}{∂t}=\frac{-v}{3}cos (\frac{π \cdot y}{12}-vt)\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{∂^2\vec{u}}{∂t^2}=\frac{-v^2}{3}(sin(\frac{π \cdot y}{12}-vt))\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo el nuevo tensor deformación: &amp;lt;math&amp;gt; Ԑ  = \; \begin{pmatrix} &lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{π}{18}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siendo, en este caso, el tensor de tensiones: &amp;lt;math&amp;gt;σ=λ∇·\vec{u}1 + 2μԐ&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt; \mathbb = \; &lt;br /&gt;
\begin{pmatrix}  &lt;br /&gt;
{\frac{π}{36}sin(\frac{πy}{12}-vt)} &amp;amp; {0} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {\frac{5π}{36}cos(\frac{πy}{12}-vt)} &amp;amp; {0}\\&lt;br /&gt;
{0} &amp;amp; {0} &amp;amp; {\frac{π}{36}sin(\frac{πy}{12}-vt)}\\&lt;br /&gt;
\end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y su divergencia: &amp;lt;math&amp;gt; ∇· σ= \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último al usar la ecuación de la elasticidad lineal de nuevo: &lt;br /&gt;
&amp;lt;math&amp;gt;\vec{F}=\frac{∂^2\vec{u}}{∂t^2}-∇· σ = \frac{-v^2}{3}(sin(\frac{\pi \cdot y}{12}-vt))\vec{j}. - \begin{pmatrix} \ 0\vec{i} &amp;amp; \frac{-5π^2}{432}sen(\frac{π*y}{12}-vt)\vec{j} &amp;amp; 0\vec{k} \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se llega a que el resultado de la velocidad de propagación no varía: &amp;lt;math&amp;gt;V= \frac{π√5}{12}\vec{j}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66351</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66351"/>
				<updated>2023-12-15T19:17:20Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensión de Von Mises */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tensiones tangenciales en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 14: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66350</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66350"/>
				<updated>2023-12-15T19:17:02Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las tensiones normales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tensiones tangenciales en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 13: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66347</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66347"/>
				<updated>2023-12-15T19:16:32Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las tensiones normales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen| Figura 13: tension en la dirección i en t=0, no nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 13: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66342</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66342"/>
				<updated>2023-12-15T19:15:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las tensiones normales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
[[Archivo:Figuraej9.png|miniaturadeimagen|izquierda| Figura 13: tensiones en la dirección i con t=0 que no son nulas]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 13: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej9.png&amp;diff=66336</id>
		<title>Archivo:Figuraej9.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej9.png&amp;diff=66336"/>
				<updated>2023-12-15T19:14:06Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66300</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66300"/>
				<updated>2023-12-15T18:56:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensión de Von Mises */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|Figura 13: Tensión de Von Mises]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66297</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66297"/>
				<updated>2023-12-15T18:55:57Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensiones tangenciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension normal en la dirección i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension normal en la dirección j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension normal en la dirección k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66293</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66293"/>
				<updated>2023-12-15T18:54:16Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensiones tangenciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|Figura 10: tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|Figura 11: tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|Figura 12: tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66292</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66292"/>
				<updated>2023-12-15T18:53:23Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Estudio de la divergencia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|Figura 8: Divergencia]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66291</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66291"/>
				<updated>2023-12-15T18:52:36Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Rotacional de u */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Figura 9: Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66285</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66285"/>
				<updated>2023-12-15T18:51:01Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Desplazamiento del sólido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|Figura 7: Comparación del sólido antes y después del desplazamiento]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66274</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66274"/>
				<updated>2023-12-15T18:48:51Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Campo de vectores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 6: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66273</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66273"/>
				<updated>2023-12-15T18:48:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Ley de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 5: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 5: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66272</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66272"/>
				<updated>2023-12-15T18:48:24Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Campo de vectores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 4: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|Figura 5: Campo de vectores en t=0]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66269</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66269"/>
				<updated>2023-12-15T18:47:19Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|derecha| Figura 4: Gradiente de la temperatura aumentado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 4: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66262</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66262"/>
				<updated>2023-12-15T18:45:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|derecha| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 4: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66256</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66256"/>
				<updated>2023-12-15T18:42:22Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
[[Archivo:Figura1Apartado2b.png|miniaturadeimagen|derecha| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 4: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66252</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66252"/>
				<updated>2023-12-15T18:40:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Ley de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|Figura 4: Campo vectorial de la energía calorífica]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66251</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66251"/>
				<updated>2023-12-15T18:39:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|Figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| Figura 3: Gradiente de la temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66249</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66249"/>
				<updated>2023-12-15T18:39:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|figura 2: Campo de temperaturas y sus curvas de nivel]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda| figura 3: Gradiente de la temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66243</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66243"/>
				<updated>2023-12-15T18:36:54Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej2a.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej2a.png&amp;diff=66240</id>
		<title>Archivo:Figuraej2a.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej2a.png&amp;diff=66240"/>
				<updated>2023-12-15T18:36:05Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66233</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66233"/>
				<updated>2023-12-15T18:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Rotacional de u */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|Módulo del rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66228</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66228"/>
				<updated>2023-12-15T18:27:52Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensión de Von Mises */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej10.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej10.png&amp;diff=66222</id>
		<title>Archivo:Figuraej10.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej10.png&amp;diff=66222"/>
				<updated>2023-12-15T18:25:59Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66219</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66219"/>
				<updated>2023-12-15T18:24:30Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|izquierda]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66216</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66216"/>
				<updated>2023-12-15T18:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Rotacional de u */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figure7campos.jpg|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66215</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66215"/>
				<updated>2023-12-15T18:22:50Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Rotacional de u */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura7campos.jpg|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66212</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66212"/>
				<updated>2023-12-15T18:22:34Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Rotacional de u */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura7campos.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66209</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66209"/>
				<updated>2023-12-15T18:21:48Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Estudio de la divergencia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej6.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66208</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66208"/>
				<updated>2023-12-15T18:21:09Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Desplazamiento del sólido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figuraej5.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej6.png&amp;diff=66204</id>
		<title>Archivo:Figuraej6.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej6.png&amp;diff=66204"/>
				<updated>2023-12-15T18:20:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej5.png&amp;diff=66203</id>
		<title>Archivo:Figuraej5.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej5.png&amp;diff=66203"/>
				<updated>2023-12-15T18:19:54Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66201</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66201"/>
				<updated>2023-12-15T18:18:55Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura1ej2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figura1ej2b.png&amp;diff=66195</id>
		<title>Archivo:Figura1ej2b.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figura1ej2b.png&amp;diff=66195"/>
				<updated>2023-12-15T18:17:22Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66191</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66191"/>
				<updated>2023-12-15T18:14:27Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Campo de vectores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej4.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej4.png&amp;diff=66188</id>
		<title>Archivo:Figuraej4.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej4.png&amp;diff=66188"/>
				<updated>2023-12-15T18:13:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66177</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66177"/>
				<updated>2023-12-15T18:10:56Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Ley de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figuraej3.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej3.png&amp;diff=66174</id>
		<title>Archivo:Figuraej3.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figuraej3.png&amp;diff=66174"/>
				<updated>2023-12-15T18:10:12Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66167</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66167"/>
				<updated>2023-12-15T18:08:33Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Representación de las curvas de temperatura. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Figura2Apartado2b.png|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Figura2Apartado2b.png&amp;diff=66161</id>
		<title>Archivo:Figura2Apartado2b.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Figura2Apartado2b.png&amp;diff=66161"/>
				<updated>2023-12-15T18:05:57Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66138</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66138"/>
				<updated>2023-12-15T18:00:07Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensiones tangenciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension en i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension en j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension en k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66136</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66136"/>
				<updated>2023-12-15T17:59:26Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensiones tangenciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|tension i]]    [[Archivo:figure82.jpg|miniaturadeimagen|tension j]]  [[Archivo:figure83.jpg|miniaturadeimagen|tension k]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66114</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66114"/>
				<updated>2023-12-15T17:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Rotacional de u */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|]]    [[Archivo:figure82.jpg|miniaturadeimagen|]]  [[Archivo:figure83.jpg|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66109</id>
		<title>Visualización de campos escalares y vectoriales en elasticidad. (Grupo 42)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_elasticidad._(Grupo_42)&amp;diff=66109"/>
				<updated>2023-12-15T17:54:44Z</updated>
		
		<summary type="html">&lt;p&gt;Nadir.ahnihan: /* Tensiones tangenciales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Visualización de Campos Escalares y Vectoriales en elasticidad, Grupo(42)| [[:Categoría: Teoría de Campos| Teoría de Campos]]|[[:Categoría:TC23/24|2023-24]] | Andrés Ruiz, Jorge Martin, Nadir Ahnihan, Marco Iglesias}}&lt;br /&gt;
&lt;br /&gt;
Visualización de campos escalares y vectoriales en elasticidad. Consideramos una placa&lt;br /&gt;
rectangular plana (en dimensión 2) que ocupa la región (x, y) ∈ [−1, 1] × [0, 12] (ver figura 1)&lt;br /&gt;
(físicamente también puede representar la sección transversal de un sólido para el cual se desprecian las variaciones en la dirección ortogonal a la sección considerada).&lt;br /&gt;
En ella vamos a suponer que tenemos definidas dos cantidades físicas: la temperatura T(x, y), que&lt;br /&gt;
viene dada por,&lt;br /&gt;
T(x, y) = 3 log(1 + (x − 1)2&lt;br /&gt;
) + log(1 + (y − 8)2&lt;br /&gt;
).&lt;br /&gt;
y los desplazamientos ~u(x, y) producidos por la acción de una fuerza determinada. De esta forma, si&lt;br /&gt;
definimos ~r0(x, y) = x~i + y~j el vector de posición de los puntos de la placa antes de la deformación, la&lt;br /&gt;
posición de cada punto (x, y) de la placa después de la deformación viene dada por&lt;br /&gt;
~rd(x, y) = ~r0(x, y) + ~u(x, y).&lt;br /&gt;
Vamos a suponer que la fuerza aplicada sobre la placa ha provocado un desplazamiento ondulatorio&lt;br /&gt;
de los puntos de la misma dado por el vector&lt;br /&gt;
ũ(x, y, t) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y) − vt)),&lt;br /&gt;
donde ~a se conoce como amplitud, k &amp;gt; 0 es el número de onda, ~d es un vector unitario que marca la&lt;br /&gt;
dirección de propagación y v es la velocidad de propagación.&lt;br /&gt;
La variable t representa el tiempo que congelaremos en t = 0 en los primeros 10 apartados de este&lt;br /&gt;
trabajo de manera que supondremos, para los primeros apartados,&lt;br /&gt;
ũ(x, y) = ā sin(πk(&lt;br /&gt;
đ · ŕ0(x, y))).&lt;br /&gt;
Supondremos que se trata de una onda transversal en la que la dirección de propagación es ortogonal a la amplitud. Tomaremos en particular&lt;br /&gt;
ā = 1/3~i, k = 1&lt;br /&gt;
đ = 1/3~j&lt;br /&gt;
&lt;br /&gt;
= Representación de la placa rectangular plana.=&lt;br /&gt;
En primer lugar, vamos a dibujar un mallado que represente los puntos interiores del sólido. Tomar los ejes en el rectángulo (x, y) ∈ [−1; 1] × [0; 12] y como paso de muestreo h = 2/10 para las variables x e y.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Mallado16a.png|miniaturadeimagen|derecha|Figura 1. Representación del mallado]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Se define el paso de muestreo para las variables x e y&lt;br /&gt;
h=2/10;&lt;br /&gt;
%Se definen los parámetros que representan la superficie de la placa&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
%Se crea el mallado&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Dibujo de la malla, al ser mesh() un comando que requiere tres elementos&lt;br /&gt;
%de entrada, se toma una de las creadas y se multiplica por 0&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
%Se definen los ejes, el título y el visualizado en dos dimensiones&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Mallado de la placa')&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
view(2);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las curvas de temperatura.=&lt;br /&gt;
A continuación, vamos a dibujar las curvas de nivel de la temperatura, distinguiendo con una escala de colores los diferentes valores que toma, siendo los mas cálidos los puntos en los que mayor temperatura alacanza, y los mas fríos donde es menor la temperatura. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la función temperatura, T&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se representan las curvas de nivel de la temperatura&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,T)&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Curvas de nivel')&lt;br /&gt;
%Tmax, valor máximo de la temperatura&lt;br /&gt;
Tmax=max(max(T))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Luego, calculamos ∇T y y lo representamos como un campo vectorial en&lt;br /&gt;
la misma gráfica. Observamos gráficamente que ∇T es ortogonal a dichas curvas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
%Se calcula el gradiente de la temperatura&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se representa el gradiente sobre las curvas de nivel de la temperatura&lt;br /&gt;
hold on&lt;br /&gt;
quiver(X,Y,TX,TY)&lt;br /&gt;
contour(X,Y,T,30)&lt;br /&gt;
title('Gradiente de la temperatura')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Ley de Fourier=&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica Q viaja de acuerdo a la fórmula&lt;br /&gt;
Q = −κ∇T,&lt;br /&gt;
donde κ es la constante de conductividad térmica de la placa que supondremos κ = 1. Calculamos&lt;br /&gt;
Q y lo dibujamos como campo vectorial.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
T=3*log(1+(X-1).^2)+log(1+(Y-8).^2);&lt;br /&gt;
[TX,TY]=gradient(T);&lt;br /&gt;
%Se calcula la energía calorífica, Q, por la Ley de Fourier&lt;br /&gt;
k=-1;&lt;br /&gt;
QX=k*TX;&lt;br /&gt;
QY=k*TY;&lt;br /&gt;
%Se dibuja Q como campo vectorial&lt;br /&gt;
quiver(X,Y,QX,QY)&lt;br /&gt;
title('Campo vectorial de la energía calorífica')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de vectores=&lt;br /&gt;
A continuación, dibujamos el campo de vectores en los puntos del mallado del sólido, en t = 0.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen la variable a y las constantes d y k&lt;br /&gt;
a=X/3;&lt;br /&gt;
d=1/12;&lt;br /&gt;
k=1;&lt;br /&gt;
%Se definen los desplazamientos, u, para t=0;&lt;br /&gt;
ui=X/3.*sin(k*(pi*d).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%Se dibuja el campo de vectores en los puntos del mallado del sólido&lt;br /&gt;
hold on&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Campo de vectores en los puntos del mallado, en t=0')&lt;br /&gt;
view(2);&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
quiver(X,Y,ui,uj,'Linewidth',1.5)&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento del sólido =&lt;br /&gt;
Representación del sólido antes y después del desplazamiento dado por el campo de vectores ū (en t = 0), poniendo en comparación la situación inicial y final.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
ui=X/3.*sin((pi/12).*Y);&lt;br /&gt;
uj=0.*Y;&lt;br /&gt;
%El vector posición en el instante inical, r0, es igual a Xi+Yj&lt;br /&gt;
%Se define el vector posición después del desplazamiento, rd&lt;br /&gt;
Xd=X+ui;&lt;br /&gt;
Yd=Y+uj;&lt;br /&gt;
%Se dibuja el mallado antes del desplazamiento&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
mesh(X,Y,Y*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Antes del desplazamiento')&lt;br /&gt;
%Se dibuja el mallado después del desplazamiento&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
mesh(Xd,Yd,Yd*0)&lt;br /&gt;
view(2);&lt;br /&gt;
axis([-5,5,0,14]);&lt;br /&gt;
title('Después del desplazamiento')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Estudio de la divergencia =&lt;br /&gt;
Para ver la divergencia, vamos a dibujar ∇ · ū en t = 0.Previamente determinando analíticamente los puntos en los que la divergencia de ū es&lt;br /&gt;
máxima, mínima y nula. Pudiendo apreciar en la grafica como la divergencia es una medida del cambio de volumen local debido al desplazamiento, que adopta la forma de una parábola con vértice en Y=6.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la divergencia del vector u en t=0&lt;br /&gt;
div=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la divergencia&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Divergencia')&lt;br /&gt;
%Se dibuja la divergencia en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,div)&lt;br /&gt;
view(2)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calculan los valores máximos y mínimos y los puntos nulos de la divergencia&lt;br /&gt;
DivMax=max(max(div))&lt;br /&gt;
DivMin=min(min(div))&lt;br /&gt;
%La divergencia es nula en los puntos mínimos&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Rotacional de u =&lt;br /&gt;
&lt;br /&gt;
Calculamos |∇ × ū| en todos los puntos del sólido en t = 0 y lo representamos. Obteniendo el rotacional máximo igual a 0,0873, en los puntos (-1,12) y (1,0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure7campos.jpg|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define el rotacional de u en t=0&lt;br /&gt;
rot=((pi/36)*X).*cos((pi/12)*Y);&lt;br /&gt;
%Se dibuja el rotacional&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
%Se dibuja el rotacional en 2D&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,rot)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
title('Rotacional')&lt;br /&gt;
%Se calcula el valor máximo del rotacional&lt;br /&gt;
Rotmax=max(max(rot))&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensiones tangenciales=&lt;br /&gt;
Definamos є(ū) = (∇ū + ∇ūt&lt;br /&gt;
)/2, la parte simétrica del tensor gradiente de ū conocido como&lt;br /&gt;
tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo los desplazamientos&lt;br /&gt;
permiten escribir el tensor de tensiones σij a través de la fórmula&lt;br /&gt;
σ = λ∇ · ū 1 + 2µє,&lt;br /&gt;
donde 1 es el tensor identidad en el conjunto de vectores libres del espacio R&lt;br /&gt;
3 y λ, µ son los&lt;br /&gt;
conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir ū no tiene componente en la dirección de&lt;br /&gt;
k)las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal&lt;br /&gt;
al plano de la placa. Tomando λ = µ = 1, dibujar las tensiones normales en la dirección que&lt;br /&gt;
marca el eje ~i, es decir ~i · σ ·~i, las tensiones normales en la dirección que marca el eje ~j, es decir&lt;br /&gt;
~j · σ · ~j y las correspondientes al eje ~k, es decir ~k · σ ·&lt;br /&gt;
~k (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:figure81.jpg|miniaturadeimagen|]]    [[Archivo:figure82.jpg|miniaturadeimagen|]]  [[Archivo:figure83.jpg|miniaturadeimagen|]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se definen las tensiones normales en la dirección que marcan los ejes i, j&lt;br /&gt;
%y k&lt;br /&gt;
Ti=sin((pi/12)*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12)*Y);&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje i&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección i')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Ti)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje j&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección j')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tj)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
%Se dibuja la tensión normal en la dirección que marca el eje k&lt;br /&gt;
figure&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
title('Tensiones normales dirección k')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tk)&lt;br /&gt;
shading flat&lt;br /&gt;
colorbar&lt;br /&gt;
view(2)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Representación de las tensiones normales =&lt;br /&gt;
 &lt;br /&gt;
En primer lugar calculamos las tensiones tangenciales respecto al plano ortogonal a ~i, es decir |σ ·~i − (~i · σ ·~i)~i|, en&lt;br /&gt;
t = 0. Después dibujamos sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
%Se define la tensión tangencial respecto al plano ortogonal a i en t=0&lt;br /&gt;
Tti=(pi/36)*X.*cos((pi/12)*Y);&lt;br /&gt;
%Se dibujan las tensiones tangeciales no nulas&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
shading flat&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,Tti)&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión tangencial dirección i')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tensión de Von Mises=&lt;br /&gt;
La tensión de Von Mises se define por la fórmula&lt;br /&gt;
σV M =&lt;br /&gt;
r&lt;br /&gt;
(σ1 − σ2)&lt;br /&gt;
2 + (σ2 − σ3)&lt;br /&gt;
2 + (σ3 − σ1)&lt;br /&gt;
2&lt;br /&gt;
2&lt;br /&gt;
,&lt;br /&gt;
donde σ1, σ2 y σ3 son los autovalores de σ (también conocidos como tensiones principales). Se&lt;br /&gt;
trata de una magnitud escalar que se suele usar como indicador para saber cuando un material&lt;br /&gt;
inicia un comportamiento plástico (y no elástico puro).Para este apartado, hemos pintado la tensión de Von Mises y pudiendo ver donde se da su máximo valor. &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
h=2/10;&lt;br /&gt;
x=[-1:h:1];&lt;br /&gt;
y=[0:h:12];&lt;br /&gt;
[X,Y]=meshgrid(x,y);&lt;br /&gt;
Ti=sin((pi/12).*Y);&lt;br /&gt;
Tj=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
Tk=(1/3)*sin((pi/12).*Y);&lt;br /&gt;
%Se crean matrices de unos y ceros&lt;br /&gt;
TVM=ones(size(y,2),size(x,2));&lt;br /&gt;
M=zeros(3);&lt;br /&gt;
%Se nombran los valores de cada componente de la tensión de Von Mises&lt;br /&gt;
for i=1:length(y)&lt;br /&gt;
for j=1:length(x)&lt;br /&gt;
u=Ti(i,j);&lt;br /&gt;
v=Tj(i,j);&lt;br /&gt;
w=Tk(i,j);&lt;br /&gt;
M=[u 0 0; 0 v 0; 0 0 w];&lt;br /&gt;
%Se obtienen los autovalores&lt;br /&gt;
[p,e]=eig(M);&lt;br /&gt;
a1=e(1,1);&lt;br /&gt;
a2=e(2,2);&lt;br /&gt;
a3=e(3,3);&lt;br /&gt;
%Se calcula la tensión de Von Mises&lt;br /&gt;
VonMises=sqrt( ((a1-a2)^2+(a2-a3)^2+(a3-a1)^2) * 1/2 );&lt;br /&gt;
TVM(i,j)=VonMises;&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
%Se dibuja la tensión de Von Mises&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
title('Tensión de Von Mises')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
surf(X,Y,TVM)&lt;br /&gt;
shading flat&lt;br /&gt;
view(2)&lt;br /&gt;
colorbar&lt;br /&gt;
%Se calcula la tensión de Von Mises máxima&lt;br /&gt;
TVMmax=max(max(TVM))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Campo de fuerzas que actúa sobre la placa=&lt;br /&gt;
El campo de fuerzas que actúa sobre la placa (y que son las causantes del desplazamiento&lt;br /&gt;
observado) se aproxima usando la ecuación de la elasticidad lineal&lt;br /&gt;
F~ =&lt;br /&gt;
∂&lt;br /&gt;
2~u&lt;br /&gt;
∂t2&lt;br /&gt;
− ∇ · σ,&lt;br /&gt;
donde ∇ · σ es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas&lt;br /&gt;
componentes son las filas de la matriz σ. Calcular la velocidad de propagación de las ondas v&lt;br /&gt;
en términos de las constantes de Lam´e, suponiendo que F~ = 0.&lt;br /&gt;
Si la onda fuera longitudinal, es decir, tomando ~a = 1/3~j, ¿cuál sería la velocidad de propagación?&lt;br /&gt;
Comprobar que sobre un mismo medio las ondas transversales y longitudinales no viajan a la&lt;br /&gt;
misma velocidad, tal y como se observa en la transmisión de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Desplazamiento transversal= &lt;br /&gt;
Fijado ahora el punto (1/2, 1), calcular el m´odulo del desplazamiento transversal (direcci´on ~i)&lt;br /&gt;
a lo largo del tiempo en el intervalo t ∈ [0, 10]. Dibujar la funci´on que a cada t le asocia dicho&lt;br /&gt;
desplazamiento.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC23/24]]&lt;/div&gt;</summary>
		<author><name>Nadir.ahnihan</name></author>	</entry>

	</feed>