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