<?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=Rafael+M</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=Rafael+M"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Rafael_M"/>
		<updated>2026-04-29T22:27:27Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79364</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79364"/>
				<updated>2024-12-06T11:53:40Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
[[Archivo:sietesiete.png|300px|thumb|Divergencia 2D y 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:ochoocho1.png|300px|thumb|Rotacional 3D Y 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon, = \begin{pmatrix}-\frac{6y+1}{50} &amp;amp; \frac{2(2-x)}{25} &amp;amp; 0 \\\frac{2(2-x)}{25} &amp;amp; -\frac{2y+3}{50} &amp;amp; 0 \\0 &amp;amp; 0 &amp;amp; -\frac{2y+3}{50}\end{pmatrix}&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;&lt;br /&gt;
  &lt;br /&gt;
 %tensiones normales en las direcciones de los ejes coordenados.&lt;br /&gt;
TNi=-(6*Y+1)/50;&lt;br /&gt;
TNj=-(2*Y+3)/50;&lt;br /&gt;
TNk=-(2*Y+3)/50; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(X,Y,TNi)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje i')&lt;br /&gt;
 &lt;br /&gt;
figure(2)&lt;br /&gt;
surf(X,Y,TNj)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje j')&lt;br /&gt;
   &lt;br /&gt;
figure(3)&lt;br /&gt;
surf(X,Y,TNk)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje k')&lt;br /&gt;
}}&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir,&amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%tensión&lt;br /&gt;
tension=(2-X)/25&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
quiver(X,Y,tension,tension*0)&lt;br /&gt;
view(2)&lt;br /&gt;
axis equal&lt;br /&gt;
title(&amp;quot;Tensiones tangenciales respecto al plano ortogonal i&amp;quot;)&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
[[Archivo:nuevenueve1.png|400px|thumb|Tensión Von Mises y punto máximo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X, Y, F_x, F_y);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79360</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79360"/>
				<updated>2024-12-06T11:50:58Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
[[Archivo:sietesiete.png|300px|thumb|Divergencia 2D y 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:ochoocho1.png|300px|thumb|Rotacional 3D Y 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon, = \begin{pmatrix}-\frac{6y+1}{50} &amp;amp; \frac{2(2-x)}{25} &amp;amp; 0 \\\frac{2(2-x)}{25} &amp;amp; -\frac{2y+3}{50} &amp;amp; 0 \\0 &amp;amp; 0 &amp;amp; -\frac{2y+3}{50}\end{pmatrix}&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;&lt;br /&gt;
  &lt;br /&gt;
 %tensiones normales en las direcciones de los ejes coordenados.&lt;br /&gt;
TNi=-(6*Y+1)/50;&lt;br /&gt;
TNj=-(2*Y+3)/50;&lt;br /&gt;
TNk=-(2*Y+3)/50; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(X,Y,TNi)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje i')&lt;br /&gt;
 &lt;br /&gt;
figure(2)&lt;br /&gt;
surf(X,Y,TNj)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje j')&lt;br /&gt;
   &lt;br /&gt;
figure(3)&lt;br /&gt;
surf(X,Y,TNk)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje k')&lt;br /&gt;
}}&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir,&amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%tensión&lt;br /&gt;
tension=(2-X)/25&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
quiver(X,Y,tension,tension*0)&lt;br /&gt;
view(2)&lt;br /&gt;
axis equal&lt;br /&gt;
title(&amp;quot;Tensiones tangenciales respecto al plano ortogonal i&amp;quot;)&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
[[Archivo:nuevenueve1.png|400px|thumb|Tensión Von Mises y punto máximo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X, Y, F_x, F_y);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79345</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79345"/>
				<updated>2024-12-06T11:40:08Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
[[Archivo:sietesiete.png|300px|thumb|Divergencia 2D y 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:ochoocho1.png|300px|thumb|Rotacional 3D Y 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon, = \left|\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\\frac{\partial}{\partial x} &amp;amp;\frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right| &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;&lt;br /&gt;
  &lt;br /&gt;
 %tensiones normales en las direcciones de los ejes coordenados.&lt;br /&gt;
TNi=-(6*Y+1)/50;&lt;br /&gt;
TNj=-(2*Y+3)/50;&lt;br /&gt;
TNk=-(2*Y+3)/50; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(X,Y,TNi)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje i')&lt;br /&gt;
 &lt;br /&gt;
figure(2)&lt;br /&gt;
surf(X,Y,TNj)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje j')&lt;br /&gt;
   &lt;br /&gt;
figure(3)&lt;br /&gt;
surf(X,Y,TNk)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje k')&lt;br /&gt;
}}&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir,&amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%tensión&lt;br /&gt;
tension=(2-X)/25&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
quiver(X,Y,tension,tension*0)&lt;br /&gt;
view(2)&lt;br /&gt;
axis equal&lt;br /&gt;
title(&amp;quot;Tensiones tangenciales respecto al plano ortogonal i&amp;quot;)&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
[[Archivo:nuevenueve1.png|400px|thumb|Tensión Von Mises y punto máximo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X, Y, F_x, F_y);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79306</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79306"/>
				<updated>2024-12-06T11:04:57Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
[[Archivo:sietesiete.png|300px|thumb|Divergencia 2D y 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:ochoocho1.png|300px|thumb|Rotacional 3D Y 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;&lt;br /&gt;
  &lt;br /&gt;
 %tensiones normales en las direcciones de los ejes coordenados.&lt;br /&gt;
TNi=-(6*Y+1)/50;&lt;br /&gt;
TNj=-(2*Y+3)/50;&lt;br /&gt;
TNk=-(2*Y+3)/50; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure(1)&lt;br /&gt;
surf(X,Y,TNi)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje i')&lt;br /&gt;
 &lt;br /&gt;
figure(2)&lt;br /&gt;
surf(X,Y,TNj)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje j')&lt;br /&gt;
   &lt;br /&gt;
figure(3)&lt;br /&gt;
surf(X,Y,TNk)&lt;br /&gt;
axis image&lt;br /&gt;
view(2) &lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y') &lt;br /&gt;
zlabel('z')&lt;br /&gt;
title('Tensiones normales en la dirección del eje k')&lt;br /&gt;
}}&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir,&amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%tensión&lt;br /&gt;
tension=(2-X)/25&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
quiver(X,Y,tension,tension*0)&lt;br /&gt;
view(2)&lt;br /&gt;
axis equal&lt;br /&gt;
title(&amp;quot;Tensiones tangenciales respecto al plano ortogonal i&amp;quot;)&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
[[Archivo:nuevenueve1.png|400px|thumb|Tensión Von Mises y punto máximo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X, Y, F_x, F_y);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79300</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79300"/>
				<updated>2024-12-06T10:52:36Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
[[Archivo:sietesiete.png|300px|thumb|Divergencia 2D y 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:ochoocho1.png|300px|thumb|Rotacional 3D Y 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir,&amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%tensión&lt;br /&gt;
tension=(2-X)/25&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
quiver(X,Y,tension,tension*0)&lt;br /&gt;
view(2)&lt;br /&gt;
axis equal&lt;br /&gt;
title(&amp;quot;Tensiones tangenciales respecto al plano ortogonal i&amp;quot;)&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
[[Archivo:nuevenueve1.png|400px|thumb|Tensión Von Mises y punto máximo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X, Y, F_x, F_y);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79297</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79297"/>
				<updated>2024-12-06T10:45:10Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
[[Archivo:sietesiete.png|300px|thumb|Divergencia 2D y 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:ochoocho1.png|300px|thumb|Rotacional 3D Y 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir,&amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
[[Archivo:nuevenueve1.png|400px|thumb|Tensión Von Mises y punto máximo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X, Y, F_x, F_y);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79182</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=79182"/>
				<updated>2024-12-05T18:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
[[Archivo:sietesiete.png|300px|thumb|Divergencia 2D y 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:ochoocho1.png|300px|thumb|Rotacional 3D Y 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
[[Archivo:nuevenueve1.png|400px|thumb|Tensión Von Mises y punto máximo]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X, Y, F_x, F_y);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78215</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78215"/>
				<updated>2024-12-04T16:12:35Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\epsilon(\mathbf{u}) = \frac{\nabla \mathbf{u} + (\nabla \mathbf{u})^\top}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt;, conocido como el tensor de deformaciones. En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda (\nabla \cdot \mathbf{u}) \mathbf{1} + 2\mu \epsilon,&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;\mathbf{1}&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\mathbf{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa. Tomando &amp;lt;math&amp;gt;\lambda = 1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\mu = 1&amp;lt;/math&amp;gt;, dibujar: Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{i} \cdot \sigma \cdot \mathbf{i}&amp;lt;/math&amp;gt;. Las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\mathbf{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{j} \cdot \sigma \cdot \mathbf{j}&amp;lt;/math&amp;gt;. Las tensiones correspondientes al eje &amp;lt;math&amp;gt;\mathbf{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\mathbf{k} \cdot \sigma \cdot \mathbf{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X(mask), Y(mask), F_x(mask), F_y(mask));&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
Supongamos que la densidad de la placa es &amp;lt;math&amp;gt;d(x, y) = (2 - |x|)(4 - y)&amp;lt;/math&amp;gt;. Calcular la masa total aproximando la integral correspondiente numéricamente:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M = \iint_{\text{Región}} d(x, y) \, dx \, dy&amp;lt;/math&amp;gt;.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78167</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78167"/>
				<updated>2024-12-04T15:59:32Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
&lt;br /&gt;
La tensión de Von Mises se define por la fórmula &amp;lt;math&amp;gt;\sigma_{VM} = \sqrt{\frac{(\sigma_1 - \sigma_2)^2 + (\sigma_2 - \sigma_3)^2 + (\sigma_3 - \sigma_1)^2}{2}}&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\sigma_3&amp;lt;/math&amp;gt; son los autovalores de &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; (también conocidos como tensiones principales). Se trata de una magnitud escalar que se suele usar como indicador para saber cuándo un material sufre una mayor tensión y puede iniciar un comportamiento plástico (y no elástico puro). Pintar la tensión de Von Mises y señalar en qué punto se alcanza el mayor valor. (Para calcular autovalores con OCTAVE/MatLab usar el comando &amp;lt;code&amp;gt;eig.m&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
El campo de fuerzas &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; que actúa sobre la placa (y que son las causantes del desplazamiento observado) se aproxima usando la ecuación de la elasticidad lineal: &amp;lt;math&amp;gt;\mathbf{F} = -\nabla \cdot \sigma&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;\nabla \cdot \sigma&amp;lt;/math&amp;gt; es el campo vectorial que se obtiene al hacer la divergencia de los vectores cuyas componentes son las filas de la matriz &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\mathbf{F}&amp;lt;/math&amp;gt; y dibujarlo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X(mask), Y(mask), F_x(mask), F_y(mask));&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78146</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78146"/>
				<updated>2024-12-04T15:51:29Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
&lt;br /&gt;
Dibujar &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos:&lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
&lt;br /&gt;
Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X(mask), Y(mask), F_x(mask), F_y(mask));&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;, donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78086</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78086"/>
				<updated>2024-12-04T15:29:26Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
&lt;br /&gt;
Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos.&lt;br /&gt;
 &lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:   &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X(mask), Y(mask), F_x(mask), F_y(mask));&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de Masa por Integración==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Establecemos valores límite&lt;br /&gt;
x_min = 0;&lt;br /&gt;
x_max = 2;&lt;br /&gt;
y_min = 0;&lt;br /&gt;
y_max = 3;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de masa&lt;br /&gt;
d = @(x, y) (2 - abs(x - 1/2)) .* (4 - y);&lt;br /&gt;
masatotal = integral2(d, x_min, x_max, y_min, y_max);&lt;br /&gt;
disp(['La masa total es: ', num2str(masatotal)]);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El valor de la masa obtenido por integración 20,625 unidades de masa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78062</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=78062"/>
				<updated>2024-12-04T15:12:49Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
[[Archivo:ejer2_2.png|400px|thumb|Curvas de nivel 2D]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
[[Archivo:ejer2_1.png|400px|thumb|Gradiente]]&lt;br /&gt;
[[Archivo:ejer2_3.png|400px|thumb|Curvas de nivel y Gradiente]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
[[Archivo:flujo_energiaAP4.png|400px|thumb|Q y Curvas de nivel]]&lt;br /&gt;
[[Archivo:CN_Flujo_AP4.png|400px|thumb| Q ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
[[Archivo:maxGrad.png|400px|thumb|Máximo gradiente 2D]]&lt;br /&gt;
[[Archivo:maxGrad3D.png|400px|thumb|Máximo gradiente 3D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
[[Archivo:desplazamientosA.png|400px|thumb|Desplazamientos 3D ]]&lt;br /&gt;
[[Archivo:desplazamientos3D.png|400px|thumb|Desplazamientos 2D]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
[[Archivo:antesyD.png|400px|thumb|Desplazamientos de la placa ]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos.&lt;br /&gt;
 &lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:   &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Apartado 9==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tensión de Von Mises==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN; &lt;br /&gt;
&lt;br /&gt;
%Autovalores&lt;br /&gt;
AV_1 = zeros(length(y), length(x)); &lt;br /&gt;
AV_2 = zeros(length(y), length(x));&lt;br /&gt;
AV_3 = zeros(length(y), length(x));&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(x)&lt;br /&gt;
    for j = 1:length(y)&lt;br /&gt;
        T_ij = [(-3*Y(j,i))/25 - 1/25, (4*(2 - X(j,i)))/25, 0; &lt;br /&gt;
                (4*(2 - X(j,i)))/25, (-Y(j,i) - 2)/25, 0;&lt;br /&gt;
                0, 0, 0];&lt;br /&gt;
        AVs = eig(T_ij);&lt;br /&gt;
        AV_1(j, i) = AVs(1);&lt;br /&gt;
        AV_2(j, i) = AVs(2);&lt;br /&gt;
        AV_3(j, i) = AVs(3);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Tensión de Von Mises&lt;br /&gt;
VM = sqrt(((AV_1 - AV_2).^2 + (AV_2 - AV_3).^2 + (AV_3 - AV_1).^2) / 2);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, VM);&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('Von Mises');&lt;br /&gt;
title('Tensión de Von Mises');&lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor&lt;br /&gt;
[max_tension, idx] = max(VM(:)); &lt;br /&gt;
[row, col] = ind2sub(size(VM), idx);&lt;br /&gt;
max_x = X(row, col);&lt;br /&gt;
max_y = Y(row, col);&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
%Dibujar el punto de mayor valor&lt;br /&gt;
scatter3(max_x, max_y, max_tension, 100, 'r', 'filled');&lt;br /&gt;
disp(['Valor máximo de la tensión: ', num2str(max_tension)]);&lt;br /&gt;
disp(['Coordenadas del valor máximo: (x, y) = (', num2str(max_x), ', ', num2str(max_y), ')']);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
El punto de mayor valor, como podemos ver en la gráfica se encuentra en (x,y) = (0,3).&lt;br /&gt;
&lt;br /&gt;
==Campo de fuerzas &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
%Definición de F&lt;br /&gt;
F1 = (-3*Y)/25 - 1/25 + (4*(2 - X))/25;&lt;br /&gt;
F2 = (4*(2 - X))/25 + (-Y - 2)/25;&lt;br /&gt;
[div_x1, div_y_1] = gradient(F1, x, y);&lt;br /&gt;
[div_2x, div_2y] = gradient(F2, x, y);&lt;br /&gt;
divergencia = div_x1 + div_2y;&lt;br /&gt;
F_x = -divergencia;&lt;br /&gt;
F_y = -divergencia;&lt;br /&gt;
Fuerza = sqrt(F_x.^2 + F_y.^2);&lt;br /&gt;
max_F = max(Fuerza(:));&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
quiver(X(mask), Y(mask), F_x(mask), F_y(mask));&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
title('Fuerza en la región triangular');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=77159</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=77159"/>
				<updated>2024-12-03T15:39:19Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos.&lt;br /&gt;
 &lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:   &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Tensiones Perpendiculares==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=77133</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=77133"/>
				<updated>2024-12-03T15:21:43Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos.&lt;br /&gt;
 &lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:   &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Y que; por tanto:&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \times \vec u =\left| &lt;br /&gt;
\begin{matrix}\vec i &amp;amp; \vec j &amp;amp; \vec k\\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ u_1 &amp;amp; u_2 &amp;amp; u_3  \end{matrix}\right|&lt;br /&gt;
=\left|&lt;br /&gt;
\begin{matrix} \vec i &amp;amp; \vec j &amp;amp; \vec k  \\ &amp;amp; &amp;amp; \\&lt;br /&gt;
\frac{\partial}{\partial x} &amp;amp; \frac{\partial}{\partial y} &amp;amp; \frac{\partial}{\partial z}&lt;br /&gt;
\\ &amp;amp; &amp;amp; \\ \frac {1}{50}[(2(2-x)y)] &amp;amp; \frac {-y}{50} &amp;amp; 0  \end{matrix}\right|&lt;br /&gt;
=\left(&lt;br /&gt;
\frac{\partial 0}{\partial y} - \frac{ \partial \frac {-y}{50}}{\partial z}\right)\vec i +&lt;br /&gt;
\left(\frac{\partial \frac {1}{50}[(2(2-x)y)]}{\partial z} - \frac{\partial 0}{\partial x}\right)\vec j + &lt;br /&gt;
\left(\frac{ \partial \frac {-y}{50}}{\partial x} - \frac{ \partial \frac {1}{50}[(2(2-x)y)]}{\partial y}\right)\vec k&lt;br /&gt;
=0\vec i + 0\vec j + \left(\frac {2-x}{25}\right)\vec k&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt; \frac {2-x}{25} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 - X) / 25;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=77101</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=77101"/>
				<updated>2024-12-03T14:46:32Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
[[Archivo:SuperficieAP1.png|400px|thumb|mallado de la presa triangular]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos.&lt;br /&gt;
 &lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:   &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));  &lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
%Módulo del rotacional&lt;br /&gt;
ROT = (2 * (2 - X) / 50);&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure&lt;br /&gt;
surf(X,Y,ROT)&lt;br /&gt;
view(3)&lt;br /&gt;
title(&amp;quot;Rotacional 3-D en t=0&amp;quot;)&lt;br /&gt;
colorbar&lt;br /&gt;
xlabel('Eje X')&lt;br /&gt;
ylabel('Eje Y')&lt;br /&gt;
zlabel('Eje Z') &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76837</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76837"/>
				<updated>2024-12-03T09:55:11Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos.&lt;br /&gt;
 &lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:   &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos la divergencia calculada utilizamos Matlab para obtener su representación gráfica:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;   &lt;br /&gt;
&lt;br /&gt;
% Divergencia&lt;br /&gt;
div_u = (-2 .* Y - 1) ./ 50;&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, Y, div_u); &lt;br /&gt;
colorbar;&lt;br /&gt;
title('Divergencia del campo u(x, y)');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('y');&lt;br /&gt;
zlabel('z');&lt;br /&gt;
view(3); &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76818</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76818"/>
				<updated>2024-12-03T09:37:04Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
Para calcular la divergencia de un campo vectorial lo primero es definir los conceptos.&lt;br /&gt;
 &lt;br /&gt;
La divergencia de un campo vectorial queda definida por:   &amp;lt;math&amp;gt;\vec{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_y}{\partial y} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teniendo en cuenta que nuestro campo vectorial es:   &amp;lt;math&amp;gt; \vec u=\frac {1}{50}[(2(2-x)y)(\vec i) -y(\vec j)]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Podemos definir cada uno de los términos de la divergencia como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_x(x, y) = \frac {1}{50}[(2(2-x)y)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_y(x, y) = \frac {-y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez que tenemos los términos definidos tenemos que calcular las derivadas parciales para obtener la divergengia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_x}{\partial x} = \frac{\partial (xy)}{\partial x} = \frac {-2y}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial u_y}{\partial y} = \frac{\partial (-yx^2)}{\partial y} = \frac {-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tras calcular las derivadas parciales podemos definir la divergencia: &amp;lt;math&amp;gt;\nabla \cdot \vec{u}(x, y) = \frac {-2y-1}{50}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76351</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76351"/>
				<updated>2024-12-02T09:53:33Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Punto de Máximo Valor de &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y rango de puntos&lt;br /&gt;
h = 1/50;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite para definir la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Cálculo de la temperatura y gradiente&lt;br /&gt;
T = (Y .* X.^2) / 2; &lt;br /&gt;
gradX = Y .* X; &lt;br /&gt;
gradY = X.^2 / 2; &lt;br /&gt;
GRAD = sqrt(gradX.^2 + gradY.^2);  &lt;br /&gt;
&lt;br /&gt;
% Identificar el punto con el mayor valor de gradiente&lt;br /&gt;
[MAXgrad, MAXI] = max(GRAD(:)); &lt;br /&gt;
[MAXgradX, MAXgradY] = deal(X(MAXI), Y(MAXI));  &lt;br /&gt;
&lt;br /&gt;
% Submuestreo para las flechas&lt;br /&gt;
XGrid = X(1:5:end, 1:5:end); &lt;br /&gt;
YGrid = Y(1:5:end, 1:5:end); &lt;br /&gt;
GradientX = gradX(1:5:end, 1:5:end); &lt;br /&gt;
GradientY = gradY(1:5:end, 1:5:end); &lt;br /&gt;
&lt;br /&gt;
% Representación Campo de Temperaturas y Punto con Mayor Gradiente&lt;br /&gt;
figure; &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(XGrid, YGrid, zeros(size(XGrid)), GradientX, GradientY, zeros(size(GradientX)), 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
plot3(MAXgradX, MAXgradY, 0, 'ro', 'MarkerSize', 10, 'LineWidth', 3);  &lt;br /&gt;
text(MAXgradX, MAXgradY, 0, sprintf('Max Grad = %.2f', MAXgrad), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
axis([-1, 3, -1, 4, -1, 1]); &lt;br /&gt;
grid on;&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Eje Z');&lt;br /&gt;
title('Campo de Temperatura y Dirección de Máxima Variación');&lt;br /&gt;
view(3); &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76285</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76285"/>
				<updated>2024-12-02T09:14:28Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez &amp;lt;br/&amp;gt; Pablo Cortina Gomez}}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76284</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76284"/>
				<updated>2024-12-02T09:12:53Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Curvas de Nivel de la Temperatura y  &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt;== &lt;br /&gt;
===Curvas de Nivel de la Temperatura ===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; (Gradiente)===&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76269</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76269"/>
				<updated>2024-12-02T08:54:56Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gradiente de la Temperatura==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Campo de Desplazamientos==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
Z = zeros(size(X)); &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Superficie representada como malla&lt;br /&gt;
mesh(X, Y, Z, 'EdgeColor', 'b'); &lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, Z, ux, uy, zeros(size(ux)), 1.5, 'g');  &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([-0.5, 2.5, -0.5, 3.5, -0.5, 0.5]); &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Eje Z');  &lt;br /&gt;
title('Campo de Desplazamientos'); &lt;br /&gt;
view(3);  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Sólido Antes y Después del Desplazamiento==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos &lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3;&lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
Region = (Y &amp;lt;= f(X));  &lt;br /&gt;
X(~Region) = NaN; &lt;br /&gt;
Y(~Region) = NaN;    &lt;br /&gt;
&lt;br /&gt;
% Campo de Desplazamientos&lt;br /&gt;
ux = (2 * (2 - X) .* Y) / 50; &lt;br /&gt;
uy = -Y / 50; &lt;br /&gt;
&lt;br /&gt;
% Sólido antes del desplazamiento&lt;br /&gt;
subplot(1, 2, 1);&lt;br /&gt;
mesh(X, Y, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido antes del desplazamiento&amp;quot;);&lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
% Sólido después del desplazamiento&lt;br /&gt;
subplot(1, 2, 2);&lt;br /&gt;
mesh(X + ux, Y + uy, zeros(size(X)));&lt;br /&gt;
view(2);&lt;br /&gt;
title(&amp;quot;Sólido después del desplazamiento&amp;quot;); &lt;br /&gt;
axis([-1, 3, -1, 4]);&lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');&lt;br /&gt;
grid on;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76180</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76180"/>
				<updated>2024-12-01T19:59:07Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y) &lt;br /&gt;
[X, Y] = meshgrid(x, y);   &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Curvas de Nivel de la Temperatura ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10; &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);&lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20);  &lt;br /&gt;
colorbar; &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
axis equal; &lt;br /&gt;
xlabel('Eje X');  &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)');  &lt;br /&gt;
title('Curvas de Nivel de la Temperatura');  &lt;br /&gt;
grid on;  &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gradiente de la Temperatura==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y); &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN;  &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y, T, Tx, Ty, zeros(size(Tx)), 'r', 'LineWidth', 1.5);  &lt;br /&gt;
axis equal; &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]); &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y'); &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Gradiente de Temperatura'); &lt;br /&gt;
colorbar; &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Ley de Fourier==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
x = 0:h:2; &lt;br /&gt;
y = 0:h:3; &lt;br /&gt;
&lt;br /&gt;
% Malla de puntos (X, Y)&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
&lt;br /&gt;
% Función límite de la región válida&lt;br /&gt;
f = @(x) min(3, (3/2)*(2 - x));   &lt;br /&gt;
&lt;br /&gt;
% Temperatura en cada punto&lt;br /&gt;
T = (Y .* X.^2) / 2;  &lt;br /&gt;
T(~region) = NaN; &lt;br /&gt;
&lt;br /&gt;
% Gradiente de la temperatura&lt;br /&gt;
[Tx, Ty] = gradient(T, h);  &lt;br /&gt;
&lt;br /&gt;
% Flujo de energía calorífica&lt;br /&gt;
Qx = -Tx;  &lt;br /&gt;
Qy = -Ty;  &lt;br /&gt;
&lt;br /&gt;
% Curvas de nivel&lt;br /&gt;
contour3(X, Y, T, 20); &lt;br /&gt;
&lt;br /&gt;
% Configuración de la gráfica&lt;br /&gt;
hold on;&lt;br /&gt;
quiver3(X, Y,T,Qx,Qy, zeros(size(Qx)), 'r'); &lt;br /&gt;
axis equal;  &lt;br /&gt;
axis([0, 2, 0, 3, 0, 1]);  &lt;br /&gt;
xlabel('Eje X'); &lt;br /&gt;
ylabel('Eje Y');  &lt;br /&gt;
zlabel('Temperatura T(x, y)'); &lt;br /&gt;
title('Curvas de Nivel y Flujo de Energía');  &lt;br /&gt;
colorbar;  &lt;br /&gt;
grid on; &lt;br /&gt;
view(2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76052</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=76052"/>
				<updated>2024-12-01T18:29:06Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Representacion del mallado en 2D==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clc; clear all;&lt;br /&gt;
% Definimos la función f(x)&lt;br /&gt;
f = @(x) min(3, 3/2 * (2 - x));&lt;br /&gt;
&lt;br /&gt;
% Paso de discretización y número de puntos&lt;br /&gt;
h = 1/10;  &lt;br /&gt;
Nx = ((2 - 0) / h);  &lt;br /&gt;
Ny = ((3 - 0) / h);  &lt;br /&gt;
&lt;br /&gt;
% Discretizamos los rangos de x e y&lt;br /&gt;
x = linspace(0, 2, Nx);  &lt;br /&gt;
y = linspace(0, 3, Ny);  &lt;br /&gt;
&lt;br /&gt;
% Creamos la malla (X, Y) y inicializamos Z&lt;br /&gt;
[X, Y] = meshgrid(x, y);  &lt;br /&gt;
Z = NaN(size(Y));  &lt;br /&gt;
&lt;br /&gt;
% Definimos Z solo para los valores dentro de f(x)&lt;br /&gt;
for i = 1:Nx&lt;br /&gt;
    Z(Y &amp;lt;= f(x(i)) &amp;amp; X == x(i)) = 0; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Figura 1: Mallado de la figura&lt;br /&gt;
figure('Name', 'Mallado de la Figura');  &lt;br /&gt;
mesh(X, Y, Z);  &lt;br /&gt;
xlabel('Eje X'); ylabel('Eje Y'); &lt;br /&gt;
title('Superficie parametrizada: [0, 2] × [0, f(x)]');&lt;br /&gt;
grid on;&lt;br /&gt;
view(2);  &lt;br /&gt;
axis([-1 3 -1 4]);  &lt;br /&gt;
hold on;&lt;br /&gt;
plot([0, 2], [0, 0], 'k-', [0, 2], [f(0), f(2)], 'k-', [0, 0], [0, f(0)], 'k-', [2, 2], [0, f(2)], 'k-', 'LineWidth', 2);&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
1. Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
3. De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
4. Determinar analíticamente (o con el ordenador) en qué punto y en qué dirección la variación de temperatura es mayor y dibujarlo en la gráfica de la placa con un punto rojo.&lt;br /&gt;
&lt;br /&gt;
5. Dibujar el campo de desplazamientos en los puntos del mallado del sólido. ¿Hay algunos puntos que se encuentren fijos?&lt;br /&gt;
&lt;br /&gt;
6. Dibujar el sólido antes y después del desplazamiento dado por el campo de vectores &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt;. Dibujar ambos en la misma figura usando el comando subplot para poder compararlos.&lt;br /&gt;
&lt;br /&gt;
7. Dibujar &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en t = 0. Determinar analíticamente los puntos en los que la divergencia de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; es máxima, mínima y nula. La divergencia es una medida del cambio de volumen local debido al desplazamiento. ¿Se puede apreciar esto en la gráfica?&lt;br /&gt;
&lt;br /&gt;
8. Calcular &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; en todos los puntos del sólido y dibujarlo. ¿Qué puntos sufren un mayor rotacional?&lt;br /&gt;
&lt;br /&gt;
9. Definamos &amp;lt;math&amp;gt;\varepsilon(\vec{u}) = \frac{\nabla \vec{u} + \nabla \vec{u}^t}{2}&amp;lt;/math&amp;gt;, la parte simétrica del tensor gradiente de &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; conocido como tensor de deformaciones.  &lt;br /&gt;
&lt;br /&gt;
En un medio elástico lineal, isótropo y homogéneo, los desplazamientos permiten escribir el tensor de tensiones &amp;lt;math&amp;gt;\sigma_{ij}&amp;lt;/math&amp;gt; a través de la fórmula:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\sigma = \lambda \nabla \cdot \vec{u} \cdot I + 2\mu \varepsilon&amp;lt;/math&amp;gt;,  &lt;br /&gt;
# donde &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; es el tensor identidad en el conjunto de vectores libres del espacio &amp;lt;math&amp;gt;\mathbb{R}^3&amp;lt;/math&amp;gt; y  &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; son los conocidos como coeficientes de Lamé que dependen de las propiedades elásticas de cada material.  &lt;br /&gt;
&lt;br /&gt;
A pesar de que los desplazamientos son planos (es decir, &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; no tiene componente en la dirección de &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;), las tensiones no tienen por qué ser planas y puede haber tensiones en la dirección ortogonal al plano de la placa.  &lt;br /&gt;
&lt;br /&gt;
Tomando &amp;lt;math&amp;gt;\lambda = \mu = 1&amp;lt;/math&amp;gt;, dibujar las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{i} \cdot \sigma \cdot \vec{i}&amp;lt;/math&amp;gt;, las tensiones normales en la dirección que marca el eje &amp;lt;math&amp;gt;\vec{j}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{j} \cdot \sigma \cdot \vec{j}&amp;lt;/math&amp;gt;, y las correspondientes al eje &amp;lt;math&amp;gt;\vec{k}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;\vec{k} \cdot \sigma \cdot \vec{k}&amp;lt;/math&amp;gt; (dibujar las que no son nulas).  &lt;br /&gt;
&lt;br /&gt;
10. Calcular las tensiones tangenciales respecto al plano ortogonal a &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;, es decir, &amp;lt;math&amp;gt;|\sigma \cdot \vec{i} − (\vec{i} \cdot \sigma \cdot \vec{i}) \vec{i}|&amp;lt;/math&amp;gt;. Dibujar sólo las que no son nulas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=75871</id>
		<title>Presa Triangular (Grupo 27)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Presa_Triangular_(Grupo_27)&amp;diff=75871"/>
				<updated>2024-12-01T12:44:16Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: Página creada con «{{ TrabajoED | Presa Triangular . Grupo 27 | Teoría de Campos|2024-25 |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Presa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
# De acuerdo a la Ley de Fourier la energía calorífica &amp;lt;math&amp;gt;\vec{Q} = -\kappa \nabla T&amp;lt;/math&amp;gt; donde &amp;lt;math&amp;gt;\kappa&amp;lt;/math&amp;gt; es la constante de conductividad térmica de la placa que supondremos &amp;lt;math&amp;gt;\kappa = 1&amp;lt;/math&amp;gt;. Calcular &amp;lt;math&amp;gt;\vec{Q}&amp;lt;/math&amp;gt; y dibujarlo como campo vectorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75844</id>
		<title>Pesa Triángular</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75844"/>
				<updated>2024-12-01T12:11:46Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Placa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75842</id>
		<title>Pesa Triángular</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75842"/>
				<updated>2024-12-01T12:11:04Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Placa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar las curvas de nivel de la temperatura (comando contour) y decidir en qué punto la temperatura es máxima a partir de la gráfica. Calcular &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; y pintarlo como campo vectorial en la misma gráfica. Observar gráficamente que &amp;lt;math&amp;gt;\nabla T&amp;lt;/math&amp;gt; es ortogonal a dichas curvas. (Nota: es muy importante que la escala de los ejes sea la misma para apreciar el ángulo que forman las curvas de nivel y el gradiente).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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:TC24/25]]&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75841</id>
		<title>Pesa Triángular</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75841"/>
				<updated>2024-12-01T12:06:02Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Placa Triangular . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75840</id>
		<title>Pesa Triángular</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Pesa_Tri%C3%A1ngular&amp;diff=75840"/>
				<updated>2024-12-01T12:02:31Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael M: Página creada con «{{ TrabajoED | Deformaciones de una placa . Grupo 27 | Teoría de Campos|2024-25 |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Mig...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Deformaciones de una placa . Grupo 27 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] |Rafael Moreno Orellana &amp;lt;br/&amp;gt; Miguel Rubio Arraztio &amp;lt;br/&amp;gt; Victor Jesus Sepulveda Fernandez }}&lt;br /&gt;
# Consideramos la sección transversal de una presa triangular (ver figura 2).  &lt;br /&gt;
# Dibujar la estructura, que es el triángulo de la figura, manteniendo las líneas coordenadas tal y como están en la figura. &lt;br /&gt;
# Suponer lo siguiente:&lt;br /&gt;
&lt;br /&gt;
• Parametrizar la superficie &amp;lt;math&amp;gt;(x, y) ∈ [0, 2] × [0, f(x)]&amp;lt;/math&amp;gt; con:&amp;lt;math&amp;gt;f(x) = \min(3, \frac{3}{2}(2 − x))&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• La temperatura viene dada por la función: &amp;lt;math&amp;gt;T(x, y) = \frac{y \cdot x^2}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Los desplazamientos se corresponden con el campo: &amp;lt;math&amp;gt;\vec{u}(x, y) = \frac{2(2 − x)y \cdot \vec{i} − y \cdot \vec{j}}{50}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
• Tomar como densidad: &amp;lt;math&amp;gt;d(x, y) = (2 − |x − \frac{1}{2}|)(4 − y)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Dibujar un mallado que represente los puntos interiores del sólido. Para ello, parametrizar el sólido de manera que las líneas coordenadas sean las mismas que las dibujadas en 1. Tomar los ejes (comando axis) en el rectángulo &amp;lt;math&amp;gt;(x, y) ∈ [−2, 2] × [0, 3]&amp;lt;/math&amp;gt; y como paso de muestreo &amp;lt;math&amp;gt;h = \frac{1}{10}&amp;lt;/math&amp;gt; para las variables &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Rafael M</name></author>	</entry>

	</feed>