Diferencia entre revisiones de «Presa triangular. Grupo 12.»

De MateWiki
Saltar a: navegación, buscar
(Masa total de la placa triangular)
(Tensor de tensiones)
 
(No se muestran 80 ediciones intermedias de 3 usuarios)
Línea 208: Línea 208:
 
[[Archivo:fourier11.png|450px|Resultado de ejecución]]
 
[[Archivo:fourier11.png|450px|Resultado de ejecución]]
 
[[Archivo:fourier112.png|450px|Resultado de ejecución]]
 
[[Archivo:fourier112.png|450px|Resultado de ejecución]]
 +
 +
= Variación de la Temperatura =
 +
En este apartado nos pide en qué punto y en qué dirección la variación de la temperatura es mayor.
 +
 +
Utilizamos el gradiente calculado en el apartado <math>2:</math>
 +
<center><math>\nabla T(x,y) = yx\vec i + \frac{x^2}{2}\vec j </math></center>
 +
 +
Con el código de MathLab se han obtenido los siguientes puntos, donde la variación de temperatura es máxima: <center><math>x = \frac{4}{3}</math> ; <math>y = 1</math></center>
 +
 +
Particularizando el gradiente nos queda: <center><math>\nabla T(x,y) = \frac{4}{3}\vec i + \frac{8}{9}\vec j </math></center>
 +
 +
 +
<center><math>|\nabla T(x,y) |= \frac{4\sqrt{13}}{9} </math></center>
 +
 +
Y la dirección donde se produce la variación máxima de temperatura queda:
 +
 +
 +
<center><math>\vec e_{max} = \frac{\nabla T(x,y)}{|\nabla T(x,y) |} =  \frac{9}{4\sqrt{13}} (\frac{4}{3}\vec i + \frac{8}{9}\vec j)</math></center>
 +
 +
 +
 +
[[Archivo:variaciont.png|500px|thumb|right|Resultado de ejecución]]
 +
{{matlab|codigo=
 +
h = 1/10;
 +
  x1 = 0:h:2;       
 +
  y1 = 0:h:3;     
 +
  [x2, y2] = meshgrid(x1, y1);
 +
  f = @(x) min(3, (3/2) * (2 - x));
 +
  region = (y2 <= f(x2));
 +
  T = (y2 .* x2.^2) / 2;
 +
  T(~region) = NaN;
 +
  [Tx, Ty] = gradient(T, h);%Gradiente de la Temperatura
 +
Tx(~region) = NaN;%Filtrar Gradiente fuera de la Región
 +
Ty(~region) = NaN;
 +
 +
%calcular el máximo del gradiente
 +
hold on;
 +
[maxgrad, idx] = max(T(:)); % Encuentra el valor máximo y su índice
 +
[x_max, y_max] = ind2sub(size(T), idx); % Convierte índice lineal a coordenadas
 +
x_coord = x2(x_max, y_max); % Coordenada X del máximo
 +
y_coord = y2(x_max, y_max); % Coordenada Y del máximo
 +
plot3(x_coord, y_coord, maxgrad, 'ro', 'MarkerSize', 8, 'LineWidth', 2); % Punto rojo para el máximo
 +
%Dibujamos el punto max
 +
z_surface = T;
 +
 +
contour3(x2, y2, z_surface, 20, 'LineWidth', 2);
 +
scale = 3;
 +
quiver3(x2, y2, z_surface, scale*Tx, scale*Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);
 +
axis equal;
 +
axis([0, 2, 0, 3, 0, 1]);
 +
xlabel('Eje X');
 +
ylabel('Eje Y');
 +
zlabel('Temperatura T(x, y)');
 +
title('Curvas de Nivel y Gradiente de la Temperatura');
 +
colorbar;
 +
grid on;
 +
hold off;}}
  
 
=Campo de vectores en el sólido=
 
=Campo de vectores en el sólido=
Línea 277: Línea 334:
 
<center><math>\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}</math></center>
 
<center><math>\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}</math></center>
  
 +
Obtenemos:
  
 +
<center><math>\ \nabla \cdot \vec u =\frac{\partial \vec u_1}{\partial x} (\frac{2(2 − x)y}{50}) + \frac{\partial \vec u_2}{\partial y} (-\frac{y}{50}) + \frac{\partial \vec u_3}{\partial z} (0) = -\frac{2y}{50} -\frac{1}{50} </math></center>
  
 
[[Archivo:diver.png|450px|thumb|right|Resultado de ejecución]]
 
[[Archivo:diver.png|450px|thumb|right|Resultado de ejecución]]
Línea 303: Línea 362:
 
Para calcular el rotacional usaremos la siguiente formula: <math>∇ × \vec{u}= \begin{vmatrix}\vec{i} & \vec{j}& \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y}& \frac{\partial }{\partial z}\\  u_{1}&  u_{2}& u_{3} \end{vmatrix}</math> Usada para calcular el rotacional en campos escalares.
 
Para calcular el rotacional usaremos la siguiente formula: <math>∇ × \vec{u}= \begin{vmatrix}\vec{i} & \vec{j}& \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y}& \frac{\partial }{\partial z}\\  u_{1}&  u_{2}& u_{3} \end{vmatrix}</math> Usada para calcular el rotacional en campos escalares.
  
Siendo en <math>t=0</math>:  
+
Siendo en <math>\vec{u}</math>:  
 
<center><math>\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}</math></center>
 
<center><math>\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}</math></center>
  
 +
Cálculo del rotacional:
  
<center><math>∇ × \vec{u}</math> = <math>\begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\  \frac{\partial }{\partial x} & \frac{\partial }{\partial y} &\frac{\partial }{\partial z} \\ \frac{2(2-x)y}{50}\ & - \frac{y}{50}\ & 0\end{vmatrix} = \frac{-2(2-x)}{50}\vec{k}; </math></center>   
+
<center><math>∇ × \vec{u}</math> = <math>\begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\  \frac{\partial }{\partial x} & \frac{\partial }{\partial y} &\frac{\partial }{\partial z} \\ \frac{2(2-x)y}{50}\ & - \frac{y}{50}\ & 0\end{vmatrix} = (\frac{\partial}{\partial y} (0) -\frac{\partial}{\partial z} (-\frac{y}{50})) \vec{i} - (\frac{\partial}{\partial x} (0) -\frac{\partial}{\partial z} (\frac{2(2-x)y}{50})) \vec{j} + (\frac{\partial}{\partial x} (-\frac{y}{50}) -\frac{\partial}{\partial y} (\frac{2(2-x)y}{50})) \vec{k} = \frac{-2(2-x)}{50} \vec{k} </math></center>   
  
  
  
 
Buscamos el modulo:
 
Buscamos el modulo:
<math>|∇ × \vec{u}|= \frac{-2(2-x)}{50}</math>
+
<center><math>|∇ × \vec{u}|= |\frac{-2(2-x)}{50}\vec{k}| = \frac{-2(2-x)}{50} </math></center>
  
  
Línea 346: Línea 406:
 
donde <b>Ԑ</b> será la parte simétrica del tensor <math>∇·\vec{u}</math>; <b>1</b> es el tensor identidad en <math>R^3</math>, y (<math>λ</math>, <math>µ</math>) son los llamados <i>coeficientes de Lamé</i>, que determinan las características elásticas de cada material. Para este caso tomaremos que <math>λ=µ=1</math>. Se hallaran las tensiones normales en la dirección de los ejes cartesianos, y se graficarán en caso de ser no nulas.
 
donde <b>Ԑ</b> será la parte simétrica del tensor <math>∇·\vec{u}</math>; <b>1</b> es el tensor identidad en <math>R^3</math>, y (<math>λ</math>, <math>µ</math>) son los llamados <i>coeficientes de Lamé</i>, que determinan las características elásticas de cada material. Para este caso tomaremos que <math>λ=µ=1</math>. Se hallaran las tensiones normales en la dirección de los ejes cartesianos, y se graficarán en caso de ser no nulas.
  
Recordando el vector  
+
Recordando el vector <math>\vec{u}:</math>
  
 
<center><math>\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}</math></center>
 
<center><math>\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}</math></center>
Línea 353: Línea 413:
  
 
<center><math> ∇\vec{u}=\begin{pmatrix}\frac{\partial u_{1}}{\partial x} & \frac{\partial u_{1}}{\partial y} & \frac{\partial u_{1}}{\partial t} \\ \frac{\partial u_{2}}{\partial x} & \frac{\partial u_{2}}{\partial y} & \frac{\partial u_{2}}{\partial t}\\ \frac{\partial u_{3}}{\partial x} & \frac{\partial u_{3}}{\partial y} & \frac{\partial u_{3}}{\partial t}\end{pmatrix} = \begin{pmatrix} - \frac{y}{25}\ &  \frac{2-x}{25}\ & 0\\0 & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix}</math>; <math> ∇\vec{u}^t=\begin{pmatrix} - \frac{y}{25}\ & 0 & 0\\\frac{2-x}{25}\ & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix} </math></center><br>
 
<center><math> ∇\vec{u}=\begin{pmatrix}\frac{\partial u_{1}}{\partial x} & \frac{\partial u_{1}}{\partial y} & \frac{\partial u_{1}}{\partial t} \\ \frac{\partial u_{2}}{\partial x} & \frac{\partial u_{2}}{\partial y} & \frac{\partial u_{2}}{\partial t}\\ \frac{\partial u_{3}}{\partial x} & \frac{\partial u_{3}}{\partial y} & \frac{\partial u_{3}}{\partial t}\end{pmatrix} = \begin{pmatrix} - \frac{y}{25}\ &  \frac{2-x}{25}\ & 0\\0 & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix}</math>; <math> ∇\vec{u}^t=\begin{pmatrix} - \frac{y}{25}\ & 0 & 0\\\frac{2-x}{25}\ & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix} </math></center><br>
 +
 +
Recordamos que <math>\ \nabla \cdot \vec u  = -\frac{2y}{50} -\frac{1}{50} </math>
 +
  
 
Con estos resultados, calculamos el <i>tensor de deformaciones</i>:<br><br><center><math>Ԑ(\vec{u}) = \frac{∇\vec{u} + ∇\vec{u}t}{2}=\begin{pmatrix}- \frac{2y}{50}\ & \frac{2-x}{50}\ & 0\\\frac{2-x}{50} & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix}</math></center><br>
 
Con estos resultados, calculamos el <i>tensor de deformaciones</i>:<br><br><center><math>Ԑ(\vec{u}) = \frac{∇\vec{u} + ∇\vec{u}t}{2}=\begin{pmatrix}- \frac{2y}{50}\ & \frac{2-x}{50}\ & 0\\\frac{2-x}{50} & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix}</math></center><br>
  
Con la divergencia del campo hallada previamente definimos el <i>tensor de tensores</i>, para luego calcular las tensiones normales a los ejes.
+
Con la divergencia del campo hallada previamente definimos el <i>tensor de tensiones</i>, para luego calcular las tensiones normales a los ejes.
  
<center><math>σ=λ∇·\vec{u}1 + 2μԐ</math>=\begin{pmatrix}  - \frac{3y}{25}-\frac{1}{50} &  \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix}
+
<center><math>σ=λ∇·\vec{u}1 + 2μԐ</math>= <math> 1 · (-\frac{2y}{50} -\frac{1}{50})</math> \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} + <math> 2 · 1 </math> \begin{pmatrix}- \frac{2y}{50}\ & \frac{2-x}{50}\ & 0\\\frac{2-x}{50} & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix} = \begin{pmatrix}  - \frac{3y}{25}-\frac{1}{50} &  \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix}
  
 
<math>\vec{i}·σ·\vec{i}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix}  - \frac{3y}{25}-\frac{1}{50} &  \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} \\ \frac{2-x}{25} \\ 0 \end{pmatrix}= -\frac{3y}{25}-\frac{1}{50}</math><br>
 
<math>\vec{i}·σ·\vec{i}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix}  - \frac{3y}{25}-\frac{1}{50} &  \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} \\ \frac{2-x}{25} \\ 0 \end{pmatrix}= -\frac{3y}{25}-\frac{1}{50}</math><br>
Línea 409: Línea 472:
 
colorbar
 
colorbar
 
title('Tensión normal en k')}}
 
title('Tensión normal en k')}}
[[Archivo:tensionnormal1.png|700px|Resultado de ejecución]]
+
[[Archivo:tensionnormal1.png|700px|centre|Resultado de ejecución]]
  
 
=Tensiones tangenciales al plano ortogonal a <math>\vec{i}</math>=
 
=Tensiones tangenciales al plano ortogonal a <math>\vec{i}</math>=
Buscaremos analizar las tensiones que sufre la placa con respecto a la dirección especificada, en <i>t = 0</i>. Para ello, definiremos esta tensión como <math> |σ·\vec{i}−(\vec{i}·σ·\vec{i})\vec{i}|</math>. Recordando el resultado obtenido anteriormente, <math>\vec{i}·σ·\vec{i}=0</math>, concluimos que la tensión buscada es igual a <math>σ·\vec{i}</math>. Continuando el desarrollo,<br>
+
Buscaremos analizar las tensiones que sufre la placa con respecto a la dirección especificada, en <i>t = 0</i>. Para ello, definiremos esta tensión como <math> |σ·\vec{i}−(\vec{i}·σ·\vec{i})\vec{i}|</math>. Recordando el resultado obtenido anteriormente, <math>\vec{i}·σ·\vec{i}=-\frac{3y}{25}-\frac{1}{50}</math>, concluimos que la tensión buscada es igual a <math>σ·\vec{i}</math>. Continuando el desarrollo,<br>
  
<math>σ·\vec{i}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix} \begin{pmatrix}  - \frac{3y}{25}-\frac{1}{50} &  \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} - \frac{6y}{50}-\frac{1}{50} & \frac{2-x}{25} & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}= -\frac{6y}{50}-\frac{1}{50} = -\frac{3y}{25}-\frac{1}{50} </math>
 
  
 +
<center><math>σ·\vec{i}=\begin{pmatrix}  - \frac{3y}{25}-\frac{1}{50} &  \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} \\ \frac{2-x}{25} \\ 0 \end{pmatrix} </math></center>
 +
 +
 +
<center><math> (\vec{i}·σ·\vec{i})\vec{i}= -\frac{3y}{25}-\frac{1}{50} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} \\ 0 \\ 0 \end{pmatrix} </math></center>
 +
 +
 +
<center><math> |σ·\vec{i}−(\vec{i}·σ·\vec{i})\vec{i}| = \begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} \\ \frac{2-x}{25} \\ 0 \end{pmatrix} - \begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} \\ 0 \\ 0 \end{pmatrix} = |\frac{2-x}{25} \vec{j}| = \frac{2-x}{25} </math></center>
  
  
Línea 478: Línea 547:
 
   T2=Lamb(2,1);
 
   T2=Lamb(2,1);
 
   T3=Lamb(3,1);
 
   T3=Lamb(3,1);
  %¿Sustituye el diagonal por autovalores de Matriz tensión?
 
 
   M_VonMises(i,j)=VonMises(T1,T2,T3);
 
   M_VonMises(i,j)=VonMises(T1,T2,T3);
 
   end
 
   end
Línea 502: Línea 570:
  
 
=Campo de fuerzas que actúa sobre la placa=
 
=Campo de fuerzas que actúa sobre la placa=
[[Archivo:campofuerza.png|450px|thumb|right|Resultado de ejecución]]
+
En este apartado nos pide el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz <math>σ</math>
 +
 
 +
<center><math>\vec{F}=-∇·σ</math></center>
 +
 
 +
Recordamos <math>σ</math> calculado en el apartado <math>9:</math>
 +
<center><math>σ = \begin{pmatrix}  - \frac{3y}{25}-\frac{1}{50} &  \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} </math></center>
 +
 
 +
Hacemos la divergencia y obtenemos:
 +
 
 +
<center><math>∇· [\begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0 \end{pmatrix}·μ]= 0·\vec{i} </math>
 +
 
 +
<math>∇· [\begin{pmatrix} \frac{2-x}{25} & -\frac{y}{25}-\frac{3}{50} & 0 \end{pmatrix}·μ]= (-\frac{1}{25}-\frac{1}{25}) \vec{j} = -\frac{2}{25} \vec{j} </math>
 +
 
 +
<math>∇· [\begin{pmatrix} 0 & 0 & -\frac{y}{25}-\frac{1}{50} \end{pmatrix}·μ]=0·\vec{k} </math></center>
 +
 
 +
Entonces:
 +
 
 +
<center><math>-∇·σ= \begin{pmatrix} 0 \\ \frac{2}{25} \\ 0 \end{pmatrix}</math></center>
 +
 
 +
[[Archivo:campf.png|450px|thumb|right|Resultado de ejecución]]
 
{{matlab|codigo=
 
{{matlab|codigo=
 
h = 1/10; % Paso de muestreo
 
h = 1/10; % Paso de muestreo
Línea 514: Línea 601:
 
Fj=Mx.*0;
 
Fj=Mx.*0;
 
% Cálculo de F
 
% Cálculo de F
Fi=1/25+Fi;
+
Fj=(2/25+Fj);
Fj=1/25+Fj;
+
 
%graficar
 
%graficar
 
figure
 
figure
Línea 527: Línea 613:
 
title('campo de fuerzas');
 
title('campo de fuerzas');
 
hold off}}
 
hold off}}
 
=Módulo del desplazamiento transversal=
 
  
 
=Masa total de la placa triangular=
 
=Masa total de la placa triangular=
Para calcular la masa de una sección de la presa se procede a realizar la integración de la función de densidad a través de dicha superficie.
+
Para calcular la masa de una sección de la presa se procede a realizar la integración de la función de densidad dada en el enunciado a través de dicha superficie.
  
 
Se recuerda la parametrización de la superficie:
 
Se recuerda la parametrización de la superficie:
  
  
<center><math>(x, y) ∈ [0, 2] × [0, f(x)]</math> con:<math>f(x) = \min(3, \frac{3}{2}(2 − x))</math></center>.
+
<center><math>(x, y) ∈ [0, 2] × [0, f(x)]</math> con:<math>f(x) = \min(3, \frac{3}{2}(2 − x))</math></center>
 +
<center><math>\vec{r} (u,v)=u\vec{i}+v\vec{j}</math></center>
 +
 
 +
 
 +
Se realizan las siguientes operaciones intermedias:
 +
 
 +
<math>\vec{r'_u}=\vec{j}</math>
 +
 
 +
<math>\vec{r'_v}=\vec{i}</math>
 +
<center><math>\vec{r'_u} × \vec{r'_v}</math> = <math>\begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\  1 & 0 & 0 \\ 0 & 1 & 0\end{vmatrix} = \vec{k}; </math></center> 
 +
 
 +
 
 +
<center><math>|\vec{r'_u} × \vec{r'_v}|=1</math></center>
  
  
Línea 543: Línea 639:
  
 
<center><math>d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)</math></center>
 
<center><math>d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)</math></center>
 +
 +
Y tomando las variables <math>u</math> y <math>v</math> nos queda:
 +
 +
<center><math>d( \vec{r} (u,v) = (2 − |u − \frac{1}{2}|)(4 − v)</math></center>
  
  
 
Se calcula la siguiente integral:  
 
Se calcula la siguiente integral:  
  
<center><math>\int_{A} d( \vec{r} (u,v) |\vec{r}| dA=\int_{0}^{10}\int_{-1}^{1} d(x,y) dydx=\int_{0}^{10}\int_{-1}^{1} d(x, y) = 1 + xy log(1 + x + y^2) </math></center>
+
<center><math>\int_{A} d( \vec{r} (u,v) |\vec{r'_u} × \vec{r'_v}| dudv=\int_{0}^{2}\int_{0}^{f(x)} d( \vec{r} (u,v) |\vec{r'_u} × \vec{r'_v}| dudv=\int_{0}^{2}\int_{0}^{f(x)} (2 − |u − \frac{1}{2}|)(4 − v) dudv= 3·6 = 18 </math></center>
  
  
El resultado de la integral, y por tanto la masa de la placa es de 20 unidades
+
El resultado de la integral, y por tanto la masa de la placa, es de 18 unidades
  
  
 
[[Categoría:Teoría de Campos]]
 
[[Categoría:Teoría de Campos]]
[[Categoría:TC20/21]]
+
[[Categoría:TC24/25]]

Revisión actual del 21:54 10 dic 2024

Trabajo realizado por estudiantes
Título Representación de campos de temperatura y deformaciones en una presa triangular (Grupo 12)
Asignatura Teoría de Campos
Curso 2024-25
Autores
  • Jaime Durá Garrido
  • Fátima Mougedimy Alosman
  • Xinkai Hu
  • Paula Monterde Garcia
  • Angela Ilagan Martinez
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

Visualización de campos escalares y vectoriales en elasticidad. Consideramos presa representada por una placa triangular plana (en dimensión 2) que ocupa la región [math](x, y) ∈ [-1, 1]×[0, f(x)][/math], donde [math]f(x)=min(3,3/2(2-x))[/math]


• Parametrizar la superficie

[math](x, y) ∈ [0, 2] × [0, f(x)][/math] con:[math]f(x) = \min(3, \frac{3}{2}(2 − x))[/math]
.

• La temperatura viene dada por la función:

[math]T(x, y) = \frac{y \cdot x^2}{2}[/math]
.

• Los desplazamientos se corresponden con el campo:

[math]\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}[/math]
.

• Tomar como densidad:

[math]d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)[/math]
.


1 Dibujo del mallado que representa los puntos interiores del sólido.

Esta grafica muestra el mallado de la placa triangular y el código utilizado en MatLab para obtenerlo. Un breve resumen del funcionamiento del codigo seria:

  • En las primeras dos lineas de codigo discretizamos las variables x1 e y1.
  • En la tercera y en la cuarta línea escribimos los comandos para crear el mallado.
  • Finalmente las dos penúltimas lineas servirán para nombrar a los ejes x e y respectivamente, mientras que las últimos dos sirven para añadirle un título a nuestra gráfica y visualizar en planta nuestra placa.
Resultado de ejecución
h = 1/10; % Paso de muestreo
x1 = 0:h:2;
y1 = 0:h:3;
[x2, y2] = meshgrid(x1, y1); % Crea una malla 2D para las coordenadas x e y
f = @(x) min(3, (3/2) * (2 - x)); % Función límite
Region = (y2 <= f(x2)); % Condición para estar dentro de la región
z2 = zeros(size(x2)); % Altura (en este caso, z es plano en 0)
x2(~Region) = NaN; % Puntos fuera de la región se descartan
y2(~Region) = NaN;
mesh(x2, y2, z2); % Gráfico de la región plana
hold on;
x_borde = x1; % Bordes de la región
y_borde = arrayfun(f, x_borde); % Límite superior según f(x)
plot3(x_borde, y_borde, zeros(size(x_borde)), 'Color', [0.2, 0.4, 0.6], 'LineWidth', 2);
plot3([0 0], [0 f(0)], [0 0], 'Color', [0.2, 0.4, 0.6], 'LineWidth', 2); 
plot3([2 2], [0 f(2)], [0 0], 'Color', [0.2, 0.4, 0.6], 'LineWidth', 2); 
plot3([0 2], [0 0], [0 0], 'Color', [0.2, 0.4, 0.6], 'LineWidth', 2);  
axis equal;
axis([-1, 3, -1, 4]); % Límite de los ejes
xlabel('Eje X');
ylabel('Eje Y');
title('Mallado de la Presa');
view(2); % Vista en 2D
grid on;
hold off;


2 Gradiente y curvas de nivel de la temperatura

La temperatura viene dada por la siguiente función:
[math]T(x, y) = \frac{y \cdot x^2}{2}[/math]
El gradiente de un campo vectorial es el siguiente:
[math]\nabla T(x,y) =\frac{d∂}{dx} +\frac{d∂}{dy}[/math]

Y particularizado a este caso queda de la siguiente forma:
[math]\nabla T(x,y) = yx\vec i + \frac{x^2}{2}\vec j [/math]

2.1 Representación curvas de nivel de temperatura

La siguiente gráfica representa las curvas de nivel de temperatura de nuestra presa calculadas a partir del código expuesto.

Resultado de ejecución
%Definir la figura
h = 1/10; % Paso de muestreo
x1 = 0:h:2;
y1 = 0:h:3;
[x2, y2] = meshgrid(x1, y1); % Crea una malla 2D para las coordenadas x e y
f = @(x) min(3, (3/2) * (2 - x)); % Función límite
Region = (y2 <= f(x2)); % Condición para estar dentro de la región
z2 = zeros(size(x2)); % Altura (en este caso, z es plano en 0)
x2(~Region) = NaN; % Puntos fuera de la región se descartan
y2(~Region) = NaN;
%Campo temperatura
T = (y2 .* x2.^2) / 2; % Función de temperatura
T(~Region) = NaN; % Filtra puntos fuera de la región
%Definir curvas de nivel
contour3(x2, y2, T, 20, 'LineWidth', 2); % Gráfico de curvas de nivel en 3D
colorbar; % Muestra la barra de colores asociada a los valores de temperatura


2.2 Representación de temperatura y punto máximo

El siguiente código de Mathlab define el campo de temperaturas del modelo simplificado de la presa. Además, devuelve el valor máximo y localiza donde se produce. La temperatura máxima alcanzada es de 0.88.

Resultado de ejecución
%Definir la figura
h = 1/10; % Paso de muestreo
x1 = 0:h:2;
y1 = 0:h:3;
[x2, y2] = meshgrid(x1, y1); % Crea una malla 2D para las coordenadas x e y
f = @(x) min(3, (3/2) * (2 - x)); % Función límite
Region = (y2 <= f(x2)); % Condición para estar dentro de la región
z2 = zeros(size(x2)); % Altura (en este caso, z es plano en 0)
x2(~Region) = NaN; % Puntos fuera de la región se descartan
y2(~Region) = NaN;
%Campo temperatura
Temp = (y2 .* x2.^2) / 2; % Función de temperatura
Temp(~Region) = NaN; % Filtra puntos fuera de la región
surf(x2, y2, Temp, 'EdgeColor', 'none'); % Superficie en 3D
hold on;
%Calcular los puntos máximos
[maxTemp, idx] = max(Temp(:)); % Encuentra el valor máximo y su índice
[x_max, y_max] = ind2sub(size(Temp), idx); % Convierte índice lineal a coordenadas
x_coord = x2(x_max, y_max); % Coordenada X del máximo
y_coord = y2(x_max, y_max); % Coordenada Y del máximo
plot3(x_coord, y_coord, maxTemp, 'ro', 'MarkerSize', 8, 'LineWidth', 2); % Punto rojo para el máximo
text(x_coord, y_coord, maxTemp, sprintf('  Maximo: %.2f', maxTemp), 'Color', 'r', 'FontSize', 10); % Texto del valor máximo


2.3 Gradiente de T

Se ha diseñado un código de Mathlab para calcular el gradiente de la función de temperatura y dibujarlo junto a sus curvas de nivel.

En este problema en concreto, el gradiente es sencillo de calcular y se resuelve de manera inmediata analíticamente.

%Definir la figura
h = 1/10; % Paso de muestreo
x1 = 0:h:2;
y1 = 0:h:3;
[x2, y2] = meshgrid(x1, y1); % Crea una malla 2D para las coordenadas x e y
f = @(x) min(3, (3/2) * (2 - x)); % Función límite
Region = (y2 <= f(x2)); % Condición para estar dentro de la región
z2 = zeros(size(x2)); % Altura (en este caso, z es plano en 0)
x2(~Region) = NaN; % Puntos fuera de la región se descartan
y2(~Region) = NaN;
%Campo temperatura
T = (y2 .* x2.^2) / 2; % Función de temperatura
T(~Region) = NaN; % Filtra puntos fuera de la región
%Campo de Gradiente
[Tx, Ty] = gradient(T, h); % Calcula el gradiente de T(x, y)
Tx(~Region) = NaN; % Filtra los componentes del gradiente fuera de la región
Ty(~Region) = NaN;
%Dibujar el campo de Curvas de nivel y dibujar curvas de nivel
z_surface = T; % Superficie para representar las curvas de nivel
contour3(x2, y2, z_surface, 20, 'LineWidth', 2); % Curvas de nivel en 3D
hold on;
scale = 2; 
%gradiente
quiver3(x2, y2, z_surface, scale*Tx, scale*Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5); % Vectores del gradiente
axis equal;
axis([0, 2, 0, 3, 0, 1]); % Límites de los ejes
xlabel('Eje X');
ylabel('Eje Y');
zlabel('Temperatura T(x, y)');
title('Curvas de Nivel y Gradiente de la Temperatura');
colorbar; % Barra de colores para la escala de temperatura
grid on;
hold off;


Resultado de ejecución Resultado de ejecución

3 Cálculo de energía calorífica con la Ley de Fourier

De acuerdo a la Ley de Fourier la energía calorífica [math] \vec{Q} [/math] viaja de acuerdo a la fórmula [math] \vec{Q}=−κ∇T [/math], donde [math] κ [/math] es la constante de conductividad térmica de la placa que supondremos [math] κ=1 [/math]. Para poder calcular la energía calorífica, primero debemos de calcular el gradiente de la temperatura, que viene dada por:
[math]T(x, y) = \frac{y \cdot x^2}{2}[/math]

El gradiente un campo escalar se obtiene derivando parcialmente respecto de cada coordenada, por lo que el gradiente del campo es:

[math] ∇T(x,y)= xy \vec{i} + \frac{x^2}{y} \vec{j}[/math]

y por lo tanto, la energía calorífica [math] \vec{Q} [/math] es:

[math] \vec{Q}= -xy \vec{i} - \frac{x^2}{y} \vec{j}[/math]

Una vez calculado, se procede a dibujarlo utilizando Matlab:

clear all
%Definir la figura
h = 1/10; % Paso de muestreo
x1 = 0:h:2;
y1 = 0:h:3;
[x2, y2] = meshgrid(x1, y1); % Crea una malla 2D para las coordenadas x e y
f = @(x) min(3, (3/2) * (2 - x)); % Función límite
Region = (y2 <= f(x2)); % Condición para estar dentro de la región
z2 = zeros(size(x2)); % Altura (en este caso, z es plano en 0)
x2(~Region) = NaN; % Puntos fuera de la región se descartan
y2(~Region) = NaN;
%Campo temperatura
T = (y2 .* x2.^2) / 2; % Función de temperatura
T(~Region) = NaN; % Filtra puntos fuera de la región
%Campo de Gradiente
[Tx, Ty] = gradient(T, h); % Calcula el gradiente de T(x, y)
Tx(~Region) = NaN; % Filtra los componentes del gradiente fuera de la región
Ty(~Region) = NaN;
%Campo de energía
[Tx, Ty] = gradient(T, h); % Gradiente de T(x, y)
Qx = -Tx; % Componente x del flujo de energía calorífica
Qy = -Ty; % Componente y del flujo de energía calorífica
Qx(~Region) = NaN; % Filtra los valores fuera de la región
Qy(~Region) = NaN;
%Dibuja curva de nivel
z_surface = T; % Superficie para representar las curvas de nivel
contour3(x2, y2, z_surface, 20, 'LineWidth', 2); % Curvas de nivel en 3D
hold on
%Vector de flujo de energía
scale = 1.5; 
quiver3(x2, y2, z_surface, scale*Qx, scale*Qy, zeros(size(Qx)), 'r', 'LineWidth', 1.5);
%Dibujar la grfica de calor
axis equal;
axis([0, 2, 0, 3, 0, 1]); % Límites de los ejes
xlabel('Eje X');
ylabel('Eje Y');
zlabel('Temperatura T(x, y)');
title('Curvas de Nivel y Flujo de Energía Calorífica en 3D');
colorbar; % Muestra una barra de colores asociada a la temperatura
grid on;
hold off;


Resultado de ejecución Resultado de ejecución

4 Variación de la Temperatura

En este apartado nos pide en qué punto y en qué dirección la variación de la temperatura es mayor.

Utilizamos el gradiente calculado en el apartado [math]2:[/math]

[math]\nabla T(x,y) = yx\vec i + \frac{x^2}{2}\vec j [/math]
Con el código de MathLab se han obtenido los siguientes puntos, donde la variación de temperatura es máxima:
[math]x = \frac{4}{3}[/math] ; [math]y = 1[/math]
Particularizando el gradiente nos queda:
[math]\nabla T(x,y) = \frac{4}{3}\vec i + \frac{8}{9}\vec j [/math]


[math]|\nabla T(x,y) |= \frac{4\sqrt{13}}{9} [/math]

Y la dirección donde se produce la variación máxima de temperatura queda:


[math]\vec e_{max} = \frac{\nabla T(x,y)}{|\nabla T(x,y) |} = \frac{9}{4\sqrt{13}} (\frac{4}{3}\vec i + \frac{8}{9}\vec j)[/math]


Resultado de ejecución
h = 1/10;
  x1 = 0:h:2;        
  y1 = 0:h:3;       
  [x2, y2] = meshgrid(x1, y1);
  f = @(x) min(3, (3/2) * (2 - x));
  region = (y2 <= f(x2)); 
  T = (y2 .* x2.^2) / 2;
  T(~region) = NaN;
  [Tx, Ty] = gradient(T, h);%Gradiente de la Temperatura
 Tx(~region) = NaN;%Filtrar Gradiente fuera de la Región
 Ty(~region) = NaN;

 %calcular el máximo del gradiente
 hold on;
[maxgrad, idx] = max(T(:)); % Encuentra el valor máximo y su índice
[x_max, y_max] = ind2sub(size(T), idx); % Convierte índice lineal a coordenadas
x_coord = x2(x_max, y_max); % Coordenada X del máximo
y_coord = y2(x_max, y_max); % Coordenada Y del máximo
plot3(x_coord, y_coord, maxgrad, 'ro', 'MarkerSize', 8, 'LineWidth', 2); % Punto rojo para el máximo
 %Dibujamos el punto max
 z_surface = T;
 
 contour3(x2, y2, z_surface, 20, 'LineWidth', 2);
 scale = 3; 
 quiver3(x2, y2, z_surface, scale*Tx, scale*Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);
 axis equal;
 axis([0, 2, 0, 3, 0, 1]); 
 xlabel('Eje X');
 ylabel('Eje Y');
 zlabel('Temperatura T(x, y)');
 title('Curvas de Nivel y Gradiente de la Temperatura');
 colorbar;
 grid on;
 hold off;


5 Campo de vectores en el sólido

Se tiene que:

[math]\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}[/math]

A continuación se adjunta el resultado gráfico, así como el código utilizado en Matlab:

Resultado de ejecución
h = 1/10; % Paso de muestreo
x1 = 0:h:2; % Eje x
f = @(x1) min(3, 3/2 * (2 - x1)); 
y1 = 0:h:max(f(x1));
% Crear el mallado
[Mx, My] = meshgrid(x1, y1); 
My(My > f(Mx)) = NaN; % sive para que no se dibujen los puntos de fuera del triangulo ya que meshgrid lo pone al ser un mallado
% Campo vectorial 
uy= ((-My./ 25).*Mx);  
ux = ((1/25.*(2-Mx)).* My);
hold on
axis([-0.5, 2.5, -0.5, 3.5]);
mesh(Mx, My, 0*Mx);
quiver(Mx, My, ux, uy, 1.5, 'b'); % Campo vectorial
hold off;
%El único pto fijo es (0,0) por que se anulan los despazamientos.


6 Representación gráfica del desplazamiento del sólido

A continuación se incluye la representación del sólido previa al movimiento y después del movimiento, así como una figura que contiene la representación del sólido previa y tras el desplazamiento, para lo que se ha utilizado el comando subplot. Se han utilizado datos definidos en el apartado anterior. También se adjunta el programa de Matlab utilizado para la representación.

Resultado de ejecución
subplot(1,2,1)
h = 1/10; % Paso de muestreo
x1 = 0:h:2; % Eje x
f = @(x1) min(3, 3/2 * (2 - x1)); 
y1 = 0:h:max(f(x1));
% Crear el mallado
[Mx, My] = meshgrid(x1, y1); 
My(My > f(Mx)) = NaN; % Sive para que no se dibujen los puntos de fuera del triángulo
figure(2)
subplot(1,2,1)
hold on
grid on
axis([-0.5, 2.5, -0.5, 3.5]);
mesh(Mx, My, 0*Mx); 
view(2)
axis equal
title('Antes del desplazamiento')
xlabel('Eje x')
ylabel('Eje y')
% Cálculo del desplazamiento
uy= ((-My./ 25).*Mx);  
ux = ((1/25.*(2-Mx)).* My);
Mx_desplazado = Mx + ux; % Nuevo mallado desplazado en x
My_desplazado = My + uy; % Nuevo mallado desplazado en y
subplot(1,2,2)
mesh(Mx_desplazado, My_desplazado,0.*Mx); % Mallado desplazado
axis([-0.5, 2.5, -0.5, 3.5]);
view(2)
axis equal
xlabel('Eje x')
ylabel('Eje y')
title('Después del desplazamiento')


7 Divergencia [math]∇·\vec{u}[/math]

Para calcular la divergencia usaremos la siguiente formula: [math]\ \nabla \cdot \vec u =\frac{\partial \vec u_1}{\partial x} + \frac{\partial \vec u_2}{\partial y} + \frac{\partial \vec u_3}{\partial z} [/math] usada para calcular la divergencia en campos escalares.

Siendo en [math]t=0[/math]:

[math]\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}[/math]

Obtenemos:

[math]\ \nabla \cdot \vec u =\frac{\partial \vec u_1}{\partial x} (\frac{2(2 − x)y}{50}) + \frac{\partial \vec u_2}{\partial y} (-\frac{y}{50}) + \frac{\partial \vec u_3}{\partial z} (0) = -\frac{2y}{50} -\frac{1}{50} [/math]
Resultado de ejecución
h = 1/10; % Paso de muestreo
x1 = 0:h:2; % Eje x
f = @(x1) min(3, 3/2 * (2 - x1)); 
y1 = 0:h:max(f(x1));
% Crear el mallado
[Mx, My] = meshgrid(x1, y1); 
My(My > f(Mx)) = NaN; % sive para que no se dibujen los puntos de fuera del triangulo ya que meshgrid lo pone al ser un mallado
% Cálculo de la divergencia
D=(-2.*My/50)-(1/50);
surf(Mx,My,D);
view(0,90);
axis equal
axis([-0.5, 2.5, -0.5, 3.5]);
colorbar
title('DIVERGENCIA')
% Obtención de máximos y mínimos
Dmax=max(max(D));
Dmin=min(min(D));


8 Rotacional [math]\left | ∇ \times \vec{u} \right |[/math]

Para calcular el rotacional usaremos la siguiente formula: [math]∇ × \vec{u}= \begin{vmatrix}\vec{i} & \vec{j}& \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y}& \frac{\partial }{\partial z}\\ u_{1}& u_{2}& u_{3} \end{vmatrix}[/math] Usada para calcular el rotacional en campos escalares.

Siendo en [math]\vec{u}[/math]:

[math]\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}[/math]

Cálculo del rotacional:

[math]∇ × \vec{u}[/math] = [math]\begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\ \frac{\partial }{\partial x} & \frac{\partial }{\partial y} &\frac{\partial }{\partial z} \\ \frac{2(2-x)y}{50}\ & - \frac{y}{50}\ & 0\end{vmatrix} = (\frac{\partial}{\partial y} (0) -\frac{\partial}{\partial z} (-\frac{y}{50})) \vec{i} - (\frac{\partial}{\partial x} (0) -\frac{\partial}{\partial z} (\frac{2(2-x)y}{50})) \vec{j} + (\frac{\partial}{\partial x} (-\frac{y}{50}) -\frac{\partial}{\partial y} (\frac{2(2-x)y}{50})) \vec{k} = \frac{-2(2-x)}{50} \vec{k} [/math]


Buscamos el modulo:

[math]|∇ × \vec{u}|= |\frac{-2(2-x)}{50}\vec{k}| = \frac{-2(2-x)}{50} [/math]


Resultado de ejecución
h = 1/10; % Paso de muestreo 
x1 = 0:h:2; % Eje x 
f = @(x1) min(3, 3/2 * (2 - x1));
y1 = 0:h:max(f(x1)); 
%Mallado 
[Mx,My]=meshgrid(x1,y1); 
My(My > f(Mx)) = NaN; % Sive para que no se dibujen los puntos de fuera del triángulo 
%Rotational 
Rui=0*My; 
Ruj=0*My; 
Ruk= (-(2 - Mx))./25; 
%Graficar 
quiver3(Mx,My,My*0,Rui,Ruj,Ruk); 
hold on 
mesh(Mx, My, 0*Mx); 
hold off
axis equal 
axis([-0.5, 2.5, -0.5, 3.5]); 
title('Rotacional'); 
xlabel ('Eje de las X');
 ylabel('Eje de las Y'); 
zlabel('Eje de las Z');


9 Tensor de tensiones

Para la realización de este apartado introduciremos dos nuevos conceptos: el tensor de deformaciones, Ԑ, y el tensor de tensiones, σ, definidos a continuación,
[math]Ԑ(\vec{u}) = (∇\vec{u} + ∇\vec{u}^t)/2[/math]
[math]σ=λ∇·\vec{u}1 + 2μԐ[/math],

donde Ԑ será la parte simétrica del tensor [math]∇·\vec{u}[/math]; 1 es el tensor identidad en [math]R^3[/math], y ([math]λ[/math], [math]µ[/math]) son los llamados coeficientes de Lamé, que determinan las características elásticas de cada material. Para este caso tomaremos que [math]λ=µ=1[/math]. Se hallaran las tensiones normales en la dirección de los ejes cartesianos, y se graficarán en caso de ser no nulas.

Recordando el vector [math]\vec{u}:[/math]

[math]\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}[/math]

previamente definido, el primer paso será calcular su gradiente:

[math] ∇\vec{u}=\begin{pmatrix}\frac{\partial u_{1}}{\partial x} & \frac{\partial u_{1}}{\partial y} & \frac{\partial u_{1}}{\partial t} \\ \frac{\partial u_{2}}{\partial x} & \frac{\partial u_{2}}{\partial y} & \frac{\partial u_{2}}{\partial t}\\ \frac{\partial u_{3}}{\partial x} & \frac{\partial u_{3}}{\partial y} & \frac{\partial u_{3}}{\partial t}\end{pmatrix} = \begin{pmatrix} - \frac{y}{25}\ & \frac{2-x}{25}\ & 0\\0 & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix}[/math]; [math] ∇\vec{u}^t=\begin{pmatrix} - \frac{y}{25}\ & 0 & 0\\\frac{2-x}{25}\ & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix} [/math]

Recordamos que [math]\ \nabla \cdot \vec u = -\frac{2y}{50} -\frac{1}{50} [/math]


Con estos resultados, calculamos el tensor de deformaciones:

[math]Ԑ(\vec{u}) = \frac{∇\vec{u} + ∇\vec{u}t}{2}=\begin{pmatrix}- \frac{2y}{50}\ & \frac{2-x}{50}\ & 0\\\frac{2-x}{50} & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix}[/math]

Con la divergencia del campo hallada previamente definimos el tensor de tensiones, para luego calcular las tensiones normales a los ejes.

[math]σ=λ∇·\vec{u}1 + 2μԐ[/math]= [math] 1 · (-\frac{2y}{50} -\frac{1}{50})[/math] \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} + [math] 2 · 1 [/math] \begin{pmatrix}- \frac{2y}{50}\ & \frac{2-x}{50}\ & 0\\\frac{2-x}{50} & - \frac{1}{50}\ & 0\\ 0 & 0 & 0\end{pmatrix} = \begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix}

[math]\vec{i}·σ·\vec{i}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} \\ \frac{2-x}{25} \\ 0 \end{pmatrix}= -\frac{3y}{25}-\frac{1}{50}[/math]

[math]\vec{j}·σ·\vec{j}=\begin{pmatrix} 0 & 1 & 0 \end{pmatrix}\begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}=\begin{pmatrix} 0 & 1 & 0 \end{pmatrix}\begin{pmatrix} \frac{2-x}{25} \\ -\frac{y}{25}-\frac{3}{50} \\ 0 \end{pmatrix}=-\frac{y}{25}-\frac{3}{50}[/math]

[math]\vec{k}·σ·\vec{k}=\begin{pmatrix} 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix}=\begin{pmatrix} 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} 0 \\ 0 \\ -\frac{y}{25}-\frac{1}{50}\end{pmatrix}= -\frac{y}{25}-\frac{1}{50}[/math]


h = 1/10; % Paso de muestreo
x1 = 0:h:2; % Eje x
f = @(x1) min(3, 3/2 * (2 - x1)); 
y1 = 0:h:max(f(x1));
%Mallado
[Mx,My]=meshgrid(x1,y1);
My(My > f(Mx)) = NaN; % Sive para que no se dibujen los puntos de fuera del triángulo
T_normal_i=(-3.*My)./25-1/50;%tensión normal dirección i
T_normal_j=-My./25-3/50;%tensión normal dirección j
T_normal_k=-My./25-1/50;%tensión normal dirección k
 %Representación en 2D
subplot(1,3,1) %Tensión normal en i 
surf(Mx,My,T_normal_i)
shading interp
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
view(2)
colorbar
title('Tensión normal en i')
subplot(1,3,2)  %Tensión normal en j 
surf(Mx,My,T_normal_j)
shading interp
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
view(2)
colorbar
title('Tensión normal en j')
subplot(1,3,3)  %Tensión normal en k
surf(Mx,My,T_normal_k)
shading interp
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
view(2)
colorbar
title('Tensión normal en k')

Resultado de ejecución

10 Tensiones tangenciales al plano ortogonal a [math]\vec{i}[/math]

Buscaremos analizar las tensiones que sufre la placa con respecto a la dirección especificada, en t = 0. Para ello, definiremos esta tensión como [math] |σ·\vec{i}−(\vec{i}·σ·\vec{i})\vec{i}|[/math]. Recordando el resultado obtenido anteriormente, [math]\vec{i}·σ·\vec{i}=-\frac{3y}{25}-\frac{1}{50}[/math], concluimos que la tensión buscada es igual a [math]σ·\vec{i}[/math]. Continuando el desarrollo,


[math]σ·\vec{i}=\begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} \\ \frac{2-x}{25} \\ 0 \end{pmatrix} [/math]


[math] (\vec{i}·σ·\vec{i})\vec{i}= -\frac{3y}{25}-\frac{1}{50} \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}=\begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} \\ 0 \\ 0 \end{pmatrix} [/math]


[math] |σ·\vec{i}−(\vec{i}·σ·\vec{i})\vec{i}| = \begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} \\ \frac{2-x}{25} \\ 0 \end{pmatrix} - \begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} \\ 0 \\ 0 \end{pmatrix} = |\frac{2-x}{25} \vec{j}| = \frac{2-x}{25} [/math]


A continuación presentamos una representación gráfica del resultado hallado.

Resultado de ejecución
h = 1/10; % Paso de muestreo
x1 = 0:h:2; % Eje x
f = @(x1) min(3, 3/2 * (2 - x1)); 
y1 = 0:h:max(f(x1));
% Crear el mallado
[Mx, My] = meshgrid(x1, y1); 
My(My > f(Mx)) = NaN; % sive para que no se dibujen los puntos de fuera del triangulo ya que meshgrid lo pone al ser un mallado
T_tan=(2-Mx)./25;%Función de la tensión tangencial
 %Representación en 2D
surf(Mx,My,T_tan)
shading interp
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
view(2)
colorbar
title('Tensión tangencial a la dirección de i')


11 Tensión de Von Mises

La Tensión de Von Mises es una magnitud física escalar usada en campos como la ingeniería estructural, calculada a partir de los valores de las tensiones principales de cada punto del espacio, la cual indica la tensión a aplicar a cada punto de un material para que éste inicie su comportamiento plástico.


Sea la Tensión de Von Mises [math] \sigma_{VM} [/math], calculada para un punto P de un sólido deformable, y sean las tensiones principales del tensor tensión para dicho punto [math]\sigma_1, \sigma_2, \sigma_3[/math], correspondientes a los autovalores de [math] \sigma_{ij} [/math], entonces se comprueba que la Tensión de Von Mises viene dada por la siguiente expresión:


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


Repetimos el código como en anteriores apartados, añadiendo esta vez la función de Von Mises ([math]VonMises[/math]). Asimismo añadimos un bucle donde asignamos los valores de la tensión en cada punto, y finalmente representamos la gráfica.

Resultado de ejecución
clear all
h = 1/10; % Paso de muestreo
x1 = 0:h:2; % Eje x
f = @(x1) min(3, 3/2 * (2 - x1)); 
y1 = 0:h:max(f(x1));
% Crear el mallado
[Mx, My] = meshgrid(x1, y1); 
% sive para que no se dibujen los puntos de fuera del triangulo ya que meshgrid lo pone al ser un mallado 
M_VonMises=0.*My;
% Definimos la función de Von Mises siendo
% T1,T2 y T3 las tensiones elementales.
VonMises=inline('(((T1-T2)^2+(T2-T3)^2+(T3-T1)^2)/2)^(1/2)','T1','T2','T3');
[a,b]=size(Mx);
% Se ha de asignar a la matriz "M_VonMises" los valores
% de la tensión de Von Mises en cada punto de la presa triangular.
for i=1:a
  for j=1:b
  %Introducimos la Matriz Tensión
  MTension=[[((-6.*My(i,j)-1)./50);(2-Mx(i,j)./25);0],[(2-Mx(i,j)./25);((-2.*My(i,j)-6)./50);0],[0;0;((-2.*My(i,j)-1)./50)]];
  %Calculamos los autovalores de la Matriz Tensión
  Lamb=eig(MTension);
  T1=Lamb(1,1);
  T2=Lamb(2,1);
  T3=Lamb(3,1);
  M_VonMises(i,j)=VonMises(T1,T2,T3);
  end
end
My(My > f(Mx)) = NaN;
axis equal
% Von Mises.
surf(Mx,My,M_VonMises);
shading flat
% Se pone título a la gráfica.
title('Von Mises');
% Se da nombre  a los ejes.
xlabel('Eje de las X');
ylabel('Eje de las Y');
% Se da equidistancia a los ejes.
axis equal;
% Se define el rango de visión de la gráfica.
axis([-0.5, 2.5, -0.5, 3.5]);
% Se le aplica una barra con colores en función
% de la tension de Von Mises en cada punto.
colorbar;
view(2)


12 Campo de fuerzas que actúa sobre la placa

En este apartado nos pide el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz [math]σ[/math]

[math]\vec{F}=-∇·σ[/math]

Recordamos [math]σ[/math] calculado en el apartado [math]9:[/math]

[math]σ = \begin{pmatrix} - \frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0\\ \frac{2-x}{25} & - \frac{y}{25}-\frac{3}{50} & 0\\ 0 & 0 & - \frac{y}{25}-\frac{1}{50}\end{pmatrix} [/math]

Hacemos la divergencia y obtenemos:

[math]∇· [\begin{pmatrix} -\frac{3y}{25}-\frac{1}{50} & \frac{2-x}{25} & 0 \end{pmatrix}·μ]= 0·\vec{i} [/math]

[math]∇· [\begin{pmatrix} \frac{2-x}{25} & -\frac{y}{25}-\frac{3}{50} & 0 \end{pmatrix}·μ]= (-\frac{1}{25}-\frac{1}{25}) \vec{j} = -\frac{2}{25} \vec{j} [/math]

[math]∇· [\begin{pmatrix} 0 & 0 & -\frac{y}{25}-\frac{1}{50} \end{pmatrix}·μ]=0·\vec{k} [/math]

Entonces:

[math]-∇·σ= \begin{pmatrix} 0 \\ \frac{2}{25} \\ 0 \end{pmatrix}[/math]
Resultado de ejecución
h = 1/10; % Paso de muestreo
x1 = 0:h:2; % Eje x
f = @(x1) min(3, 3/2 * (2 - x1)); 
y1 = 0:h:max(f(x1));
%Mallado
[Mx,My]=meshgrid(x1,y1);
My(My > f(Mx)) = NaN; % Sive para que no se dibujen los puntos de fuera del triángulo
Fi=Mx.*0;
Fj=Mx.*0;
% Cálculo de F
Fj=(2/25+Fj);
%graficar
figure
hold on
mesh(Mx,My,0.*Mx)
quiver(Mx,My,Fi,Fj)
view (2)
xlabel('Eje x')
ylabel('Eje y')
axis([-0.5, 2.5, -0.5, 3.5]);
title('campo de fuerzas');
hold off


13 Masa total de la placa triangular

Para calcular la masa de una sección de la presa se procede a realizar la integración de la función de densidad dada en el enunciado a través de dicha superficie.

Se recuerda la parametrización de la superficie:


[math](x, y) ∈ [0, 2] × [0, f(x)][/math] con:[math]f(x) = \min(3, \frac{3}{2}(2 − x))[/math]
[math]\vec{r} (u,v)=u\vec{i}+v\vec{j}[/math]


Se realizan las siguientes operaciones intermedias:

[math]\vec{r'_u}=\vec{j}[/math]

[math]\vec{r'_v}=\vec{i}[/math]

[math]\vec{r'_u} × \vec{r'_v}[/math] = [math]\begin{vmatrix} \vec{i} & \vec{j} & \vec{k}\\ 1 & 0 & 0 \\ 0 & 1 & 0\end{vmatrix} = \vec{k}; [/math]


[math]|\vec{r'_u} × \vec{r'_v}|=1[/math]


Se ha tomado como densidad:


[math]d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)[/math]

Y tomando las variables [math]u[/math] y [math]v[/math] nos queda:

[math]d( \vec{r} (u,v) = (2 − |u − \frac{1}{2}|)(4 − v)[/math]


Se calcula la siguiente integral:

[math]\int_{A} d( \vec{r} (u,v) |\vec{r'_u} × \vec{r'_v}| dudv=\int_{0}^{2}\int_{0}^{f(x)} d( \vec{r} (u,v) |\vec{r'_u} × \vec{r'_v}| dudv=\int_{0}^{2}\int_{0}^{f(x)} (2 − |u − \frac{1}{2}|)(4 − v) dudv= 3·6 = 18 [/math]


El resultado de la integral, y por tanto la masa de la placa, es de 18 unidades