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

De MateWiki
Saltar a: navegación, buscar

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/mat/public_html/w/includes/diff/DairikiDiff.php on line 434
(Curvas de nivel y gradiente de temperatura)
(Cálculo de energía calorífica con la Ley de Fourier)
Línea 91: Línea 91:
 
=Cálculo de energía calorífica con la Ley de Fourier=
 
=Cálculo de energía calorífica con la Ley de Fourier=
 
De acuerdo a la Ley de Fourier la energía calorífica <math> \vec{Q} </math> viaja de acuerdo a la fórmula <math> \vec{Q}=−κ∇T </math>, donde  <math> κ </math> es la constante de conductividad térmica de la placa que supondremos <math> κ=1 </math>. Para poder calcular la energía calorífica, primero debemos de calcular el gradiente de la temperatura, que viene dada por: <center><math>T(x, y) = \frac{y \cdot x^2}{2}</math></center>.
 
De acuerdo a la Ley de Fourier la energía calorífica <math> \vec{Q} </math> viaja de acuerdo a la fórmula <math> \vec{Q}=−κ∇T </math>, donde  <math> κ </math> es la constante de conductividad térmica de la placa que supondremos <math> κ=1 </math>. Para poder calcular la energía calorífica, primero debemos de calcular el gradiente de la temperatura, que viene dada por: <center><math>T(x, y) = \frac{y \cdot x^2}{2}</math></center>.
El gradiente un campo escalar se obtiene derivando parcialmente respecto de cada coordenada, por lo que el gradiente del campo es: <center> <math> ∇T(x,y)= \frac{2x}{ln10(1+x^2)} \vec{i} + \frac{2(y-4)}{ln10 ((1+(y-4)^2))} \vec{j}</math> </center>, y por lo tanto, la energía calorífica <math> \vec{Q} </math> es:
+
El gradiente un campo escalar se obtiene derivando parcialmente respecto de cada coordenada, por lo que el gradiente del campo es: <center> <math> ∇T(x,y)= xy \vec{i} + \frac{x^2}{y} \vec{j}</math> </center>, y por lo tanto, la energía calorífica <math> \vec{Q} </math> es:
<center> <math> \vec{Q}= \frac{-2x}{ln10(1+x^2)} \vec{i} - \frac{2(y-4)}{ln10 ((1+(y-4)^2))} \vec{j}</math> </center>
+
<center> <math> \vec{Q}= -xy \vec{i} - \frac{x^2}{y} \vec{j}</math> </center>
 
Una vez calculado, se procede a dibujarlo utilizando Matlab:
 
Una vez calculado, se procede a dibujarlo utilizando Matlab:
 
{{matlab|codigo=
 
{{matlab|codigo=

Revisión del 11:36 2 dic 2024

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

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


• Parametrizar la superficie

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

• La temperatura viene dada por la función:

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

• Los desplazamientos se corresponden con el campo:

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

• Tomar como densidad:

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


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

Resultado de ejecución

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

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


2 Curvas de nivel de la temperatura

2.1 Representación de la temperatura

La siguiente grafica representa las curvas de nivel de la temperatura.

El gradiente de un campo vectorial es el siguiente:
[math]\nabla T(x,y) =\frac{d∂}{dx} +\frac{d∂}{dy}[/math]

en este caso sería:
[math]T(x, y) = \frac{y \cdot x^2}{2}[/math]
.

La temperatura máxima alcanzada es de 0.88 y se alcanza en los puntos (61,1) y (61,61)

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


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

De acuerdo a la Ley de Fourier la energía calorífica [math] \vec{Q} [/math] viaja de acuerdo a la fórmula [math] \vec{Q}=−κ∇T [/math], donde [math] κ [/math] es la constante de conductividad térmica de la placa que supondremos [math] κ=1 [/math]. Para poder calcular la energía calorífica, primero debemos de calcular el gradiente de la temperatura, que viene dada por:
[math]T(x, y) = \frac{y \cdot x^2}{2}[/math]
. El gradiente un campo escalar se obtiene derivando parcialmente respecto de cada coordenada, por lo que el gradiente del campo es:
[math] ∇T(x,y)= xy \vec{i} + \frac{x^2}{y} \vec{j}[/math]
, y por lo tanto, la energía calorífica [math] \vec{Q} [/math] es:
[math] \vec{Q}= -xy \vec{i} - \frac{x^2}{y} \vec{j}[/math]

Una vez calculado, se procede a dibujarlo utilizando Matlab:

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


4 Campo de vectores en el sólido

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

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

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

8 Tensor de tensiones

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

10 Tensión de Von Mises

11 Campo de fuerzas que actúa sobre la placa

12 Módulo del desplazamiento transversal