Diferencia entre revisiones de «Torres de enfriamiento hiperbólicas (grupo 33)»

De MateWiki
Saltar a: navegación, buscar
(Representación del campo del gradiente de temperatura en los puntos de un plano que corta la torre verticalmente pasando por el eje de simetría y los puntos de un plano que corta la torre horizontalmente en correspondencia con el radio mínimo)
 
(No se muestran 96 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
{{ TrabajoED | Torres de enfriamiento Hiperbólicas. Grupo 33 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | Marcos Sanchez Martínez  Guillermo Garrido Torres  Carlos Aguado Esparrells    Hector Perucho Conde}}
+
{{ TrabajoED | Torres de enfriamiento Hiperbólicas. Grupo 33 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC24/25|2024-25]] | Marcos Sanchez Martínez  Guillermo Garrido Torres  Carlos Aguado Esparrells    Hector Perucho Conde}}
  
 
Las torres de enfriamiento hiperbólicas son estructuras fundamentales en la industria energética, ampliamente utilizadas desde mediados del siglo XX debido a su alta eficiencia en la transferencia de calor. Estas torres, con su distintiva forma hiperbólica, combinan propiedades geométricas y mecánicas que las hacen tanto resistentes como funcionales para optimizar los procesos de enfriamiento en plantas termoeléctricas y nucleares.
 
Las torres de enfriamiento hiperbólicas son estructuras fundamentales en la industria energética, ampliamente utilizadas desde mediados del siglo XX debido a su alta eficiencia en la transferencia de calor. Estas torres, con su distintiva forma hiperbólica, combinan propiedades geométricas y mecánicas que las hacen tanto resistentes como funcionales para optimizar los procesos de enfriamiento en plantas termoeléctricas y nucleares.
  
 
En este trabajo, se analiza el diseño y comportamiento de una torre de enfriamiento hiperbólica típica, considerando su geometría, las fuerzas inducidas por el viento en su superficie, y el campo de temperatura dentro de la estructura.
 
En este trabajo, se analiza el diseño y comportamiento de una torre de enfriamiento hiperbólica típica, considerando su geometría, las fuerzas inducidas por el viento en su superficie, y el campo de temperatura dentro de la estructura.
 +
 +
[[Archivo:Torrehip.jpg|miniaturadeimagen|derecha]]
  
 
Consideremos una torre de enfriamiento hiperbólica, caracterizada por su altura total H, su radio
 
Consideremos una torre de enfriamiento hiperbólica, caracterizada por su altura total H, su radio
Línea 61: Línea 63:
 
<center><math> \rho=50, \qquad z=0, \qquad z_0=80</math></center>
 
<center><math> \rho=50, \qquad z=0, \qquad z_0=80</math></center>
  
<math>\dfrac{50^2}{a^2}  - \dfrac{(0-80)^2}{c^2} = 1
+
<math>\dfrac{50^2}{a^2}  - \dfrac{(0-80)^2}{c^2} = 1</math>
  
 +
Por último se sustituye el valor de a en (2) y se consigue el valor de c
 +
 +
<math>c≈34,91</math>
 +
 +
Así que la ecuación de la torre en cilíndricas con los valores ya sustituidos de a,c y <Math>z_0</Math> es:
 +
 +
<math>\dfrac{\rho^2}{20^2}  - \dfrac{(z-80)^2}{34,91^2} = 1 → \qquad \dfrac{\rho^2}{400}  - \dfrac{(z-80)^2}{1219} = 1</math>
  
 
==  Representación de la superficie parametrizada ==
 
==  Representación de la superficie parametrizada ==
 +
Lo primero, es parametrizar la superficie conseguida en la tarea 1 qué es:
 +
<math>\dfrac{\rho^2}{20^2}  - \dfrac{(z-80)^2}{34,91^2} = 1 → \qquad \dfrac{\rho^2}{400}  - \dfrac{(z-80)^2}{1219} = 1</math>
 +
 +
La parametrización que le damos nosotros para la representación es:
 +
 +
r(u,v)=(p(v)<math>\cdot</math>cos(u) , p(v)<math>\cdot</math>sen(u) , v)
 +
 +
Donde <math>p(v)=\sqrt{400 \cdot (1+ \dfrac{(v-80)^2}{1219})}</math>
 +
 +
Y u pertenece a [0,2pi] y v pertenece a [0,120]
 +
 +
Por lo que es la representación en matlab es:
 +
 +
<syntaxhighlight lang="matlab">
 +
% Parámetros de la torre
 +
Rm=50% Parámetro a (radio max)
 +
a = 20; % Parámetro a (radio mínimo)
 +
z0 = 80; % Centro del hiperboloide
 +
H = 120; % Altura total de la torre
 +
c = sqrt(((6400*a^2)/(Rm^2-a^2))); % Parámetro c
 +
 +
 +
% Dominio de los parámetros
 +
theta = linspace(0, 2*pi, 100); % Ángulo theta [0, 2pi]
 +
z = linspace(0, H, 100); % Altura z [0, H]
 +
% Crear mallas para theta y z
 +
[Theta, Z] = meshgrid(theta, z);
 +
% Radio \rho en función de z
 +
Rho = sqrt(a^2 * (1 + ((Z - z0).^2) / c^2));
 +
 +
% Coordenadas cartesianas
 +
X = Rho .* cos(Theta); % Coordenada x
 +
Y = Rho .* sin(Theta); % Coordenada y
 +
 +
% Graficar la superficie
 +
figure;
 +
surf(X, Y, Z, 'EdgeColor', 'none'); % Representar superficie sin bordes
 +
colormap([0.5, 0.5, 0.5]); % Color único (gris)
 +
xlabel('X (m)');
 +
ylabel('Y (m)');
 +
zlabel('Z (m)');
 +
title('Superficie de la Torre de Enfriamiento');
 +
axis equal; % Ejes proporcionales
 +
view(3); % Vista 3D
 +
</syntaxhighlight>
 +
 +
[[Archivo:Superficietorreparamet.jpg|450px|centro]]
 +
 +
En esta representación se puede observar la torre de enfriamiento hiperbólica cuya altura es 120 metros, cuyo Radio máximo es alcanzado en la base(z=0) como se puede observar y cuyo radio mínimo es alcanzado a 2/3H (z=80)
 +
 
==  Ecuación de la torre como una superficie rigada ==
 
==  Ecuación de la torre como una superficie rigada ==
 +
Una superficie rigada es una superficie generada al mover una recta a lo largo de una trayectoria.
 +
El hiperboloide de una hoja es una superficie reglada, y su representación puede expresarse como:
 +
 +
[[Archivo:Apartado3torrehip.jpg|100px|derecha]]
 +
 +
<math>r(u,v)=r_0(u)+v \cdot d(u)</math>
 +
 +
donde <math>r_0(u)</math>  es una curva generadora, en cambio d(u) es una dirección de la recta generadora.
 +
 +
Para el hiperboloide:
 +
 +
1. Podemos parametrizar una curva generadora en <math>z_0</math>=cte como:
 +
<math>r_0(u)= (a \cdot cos(u) , a \cdot sen(u) , z_0)</math>
 +
 +
2. Una dirección de la recta generadora es:
 +
<math>d(u)= (sinh(v) \cdot cos(u) , sinh(v) \cdot sin(u) , cosh(v))</math>
 +
 +
Por lo que la parametrización rigada es:
 +
<math>r(u,v)= (a \cdot cos(u)+v \cdot sinh(v) \cdot cos(u) , a \cdot sen(u)+v \cdot sinh(v) \cdot sin(u) , z_o+v \cdot cosh(v))</math>
 +
 
==  Representación del campo escalar de presión como un mapa de colores sobre la superficie parametrizada de la torre ==
 
==  Representación del campo escalar de presión como un mapa de colores sobre la superficie parametrizada de la torre ==
 +
Esta pregunta se centra en representar gráficamente el campo escalar de presión inducido por el viento en la superficie de la torre. Esto permite comprender cómo varía la presión a lo largo de la estructura en función de la altura, un factor crucial en el diseño y la estabilidad estructural.
 +
 +
<syntaxhighlight lang="matlab">
 +
% Parámetros de la torre
 +
radio_max_base = 50; % Radio máximo de la base
 +
radio_min_torre = 20; % Radio mínimo de la torre
 +
centro_hiperboloide = 80; % Centro del hiperboloide
 +
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
 +
altura_torre = 120; % Altura total de la torre
 +
densidad_aire = 1.225; % Densidad del aire (kg/m^3)
 +
vel_viento_ref = 15; % Velocidad del viento a altura de referencia (m/s)
 +
altura_ref_viento = 10; % Altura de referencia para el viento (m)
 +
exponente_viento = 0.14; % Exponente del perfil del viento
 +
% Crear la malla para parametrizar la superficie
 +
angulo = linspace(0, 2*pi, 100); % Ángulo alrededor del eje z
 +
altura = linspace(0, altura_torre, 200); % Altura
 +
[angulo_malla, altura_malla] = meshgrid(angulo, altura); % Crear mallas 2D para ángulo y altura
 +
% Parametrización del hiperboloide
 +
coord_x = radio_min_torre * cos(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
 +
coord_y = radio_min_torre * sin(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
 +
coord_z = altura_malla;
 +
% Perfil del viento
 +
vel_viento = vel_viento_ref * (altura_malla / altura_ref_viento).^exponente_viento;
 +
% Presión del viento
 +
presion_viento = 0.5 * densidad_aire * vel_viento.^2;
 +
% Máscara para dividir la torre: seleccionar puntos donde coord_x + coord_y < 0
 +
mascara_division = (coord_x + coord_y < 0);
 +
coord_x(~mascara_division) = NaN; % Asignar NaN para ocultar la otra mitad
 +
coord_y(~mascara_division) = NaN;
 +
coord_z(~mascara_division) = NaN;
 +
presion_viento(~mascara_division) = NaN;
 +
% Representar la torre y el campo de presión
 +
figure;
 +
surf(coord_x, coord_y, coord_z, presion_viento, 'EdgeColor', 'none'); % Campo de presión
 +
xlabel('X (m)');
 +
ylabel('Y (m)');
 +
zlabel('Z (m)');
 +
title('Presión del viento en la mitad expuesta de la torre');
 +
axis equal;
 +
grid on;
 +
view(3);
 +
colormap(jet); % Representación del campo de presiones
 +
colorbar; % Leyenda de colores
 +
</syntaxhighlight>
 +
 +
[[Archivo:Apartado4campos.jpg|450px|centro]]
 +
 +
El gráfico muestra un modelo tridimensional de la distribución de presión del viento en la mitad expuesta de una torre de enfriamiento hiperboloidal. La escala de colores indica los valores de presión, desde el azul (baja presión) hasta el rojo y el negro (alta presión). En el eje vertical (Z) se representa la altura (en metros), mientras que los ejes X y Y muestran las dimensiones horizontales (también en metros). La forma hiperboloidal característica de la torre se refleja en la distribución de presión, siendo más alta en la base y disminuyendo hacia la parte superior.
 +
 
==  Representación del campo vectorial de la fuerza generada por la presión del viento en la superficie de la mitad de la torre expuesta. ==
 
==  Representación del campo vectorial de la fuerza generada por la presión del viento en la superficie de la mitad de la torre expuesta. ==
 +
En la quinta pregunta, se busca visualizar el campo vectorial de las fuerzas generadas por la presión del viento sobre la superficie de la torre. Este análisis es esencial para estudiar las cargas mecánicas que la estructura debe soportar bajo condiciones de viento.
 +
 +
<syntaxhighlight lang="matlab">
 +
% Parámetros de la torre
 +
radio_max_base = 50; % Radio máximo
 +
radio_min_torre = 20; % Radio mínimo
 +
centro_hiperboloide = 80; % Centro del hiperboloide
 +
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
 +
altura_torre = 120; % Altura total
 +
densidad_aire = 1.225; % Densidad del aire (kg/m^3)
 +
vel_viento_ref = 15; % Velocidad del viento a altura de referencia (m/s)
 +
altura_ref_viento = 10; % Altura de referencia para el viento (m)
 +
exponente_viento = 0.14; % Exponente del perfil del viento
 +
% Crear la malla para parametrizar la superficie
 +
angulo = linspace(0, 2*pi, 100); % Ángulo alrededor del eje z
 +
altura = linspace(0, altura_torre, 200); % Altura
 +
[angulo_malla, altura_malla] = meshgrid(angulo, altura); % Mallas 2D para ángulo y altura
 +
% Parametrización del hiperboloide
 +
coord_x = radio_min_torre * cos(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
 +
coord_y = radio_min_torre * sin(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
 +
coord_z = altura_malla;
 +
% Crear una máscara para cortar la torre según el eje -i-j (X + Y <= 0)
 +
mascara_corte = (coord_x + coord_y) <= 0;
 +
coord_x_corte = coord_x .* mascara_corte;
 +
coord_y_corte = coord_y .* mascara_corte;
 +
coord_z_corte = coord_z .* mascara_corte;
 +
% Crear flechas apuntando al centro (eje Z)
 +
fuerza_x_centro = -coord_x_corte; % Componente en X hacia el centro
 +
fuerza_y_centro = -coord_y_corte; % Componente en Y hacia el centro
 +
fuerza_z_centro = 0 * coord_z_corte; % Sin componente en Z (paralelas al eje Z)
 +
% Escalar las flechas según la presión del viento
 +
factor_escala = coord_z_corte / max(coord_z_corte(:));
 +
factor_escala(isnan(factor_escala)) = 0; % Manejar valores NaN en la base
 +
fuerza_x_centro = fuerza_x_centro .* factor_escala;
 +
fuerza_y_centro = fuerza_y_centro .* factor_escala;
 +
% Filtrar las flechas para evitar puntos nulos
 +
puntos_validos = mascara_corte & (coord_x_corte ~= 0 | coord_y_corte ~= 0);
 +
% --------- Gráfico de las flechas ---------
 +
figure;
 +
hold on;
 +
% Dibujar las flechas
 +
quiver3(coord_x_corte(puntos_validos), coord_y_corte(puntos_validos), coord_z_corte(puntos_validos), ...
 +
      fuerza_x_centro(puntos_validos), fuerza_y_centro(puntos_validos), fuerza_z_centro(puntos_validos), ...
 +
      2, 'Color', [0.5 0.7 1]); % Azul claro (RGB: 50% rojo, 70% verde, 100% azul)
 +
xlabel('X (m)');
 +
ylabel('Y (m)');
 +
zlabel('Z (m)');
 +
title('Campo vectorial de la presión del viento sobre la parte expuesta de la torre');
 +
axis equal; % Mantener proporciones
 +
grid on;
 +
view(3); % Vista en 3D
 +
hold off;
 +
</syntaxhighlight>
 +
 +
[[Archivo:Apartado5campos.jpg|450px|centro]]
 +
 +
El gráfico presenta un campo vectorial de la presión del viento en la mitad expuesta de una torre de enfriamiento hiperboloidal. Cada flecha representa la dirección y magnitud del gradiente de presión en diferentes puntos de la torre. Los ejes ZZZ (altura en metros) y XXX-YYY (dimensiones horizontales en metros) describen el espacio tridimensional. La distribución de flechas ilustra cómo la presión varía a lo largo de la superficie de la torre, mostrando patrones característicos debido a la forma hiperboloidal y las condiciones de viento.
 +
 
==  Representación el campo de temperatura utilizando un mapa de colores en un plano vertical que corta la torre pasando por el eje de simetría. ==
 
==  Representación el campo de temperatura utilizando un mapa de colores en un plano vertical que corta la torre pasando por el eje de simetría. ==
==  Representación del campo del gradiente de temperatura en los puntos de un plano que corta la torre verticalmente pasando por el eje de simetría ==
+
En el apartado 6, se analiza y representa el campo de temperatura en la torre. Por un lado, se estudia cómo varía la temperatura en un plano vertical que corta la torre por el eje de simetría. Por otro lado, se examinan planos paralelos al suelo mediante una animación que permite visualizar la distribución de temperatura en diferentes niveles de la torre.
 +
 
 +
La animación en matlab es:
 +
 
 +
<syntaxhighlight lang="matlab">
 +
% Parámetros
 +
radio_max_base = 50; % Radio máximo (m)
 +
radio_min_torre = 20; % Radio mínimo
 +
centro_hiperboloide = 80; % Centro del hiperboloide
 +
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
 +
altura_torre = 120; % Altura total
 +
temp_base = 70; % Temperatura en la base (°C)
 +
temp_tope = 25; % Temperatura en la parte superior (°C)
 +
delta_temp_vertical = temp_base - temp_tope; % Diferencia de temperatura vertical
 +
delta_temp_radial = 5; % Variación máxima radial (°C)
 +
exponente_conveccion = 1.5; % Exponente de convección
 +
% Malla para el hiperboloide
 +
angulo_theta = linspace(0, 2*pi, 100); % Ángulo alrededor del eje z
 +
altura_malla = linspace(0, altura_torre, 50); % Coordenada vertical
 +
alturas_lineas = 0:20:altura_torre; % Alturas de las líneas discontinuas
 +
% Iniciar figura
 +
figure;
 +
for i = 1:length(altura_malla)
 +
  % Altura de la capa actual
 +
  altura_actual = altura_malla(i);
 +
  % Radio en esta altura
 +
  radio_capa = sqrt((1 + (altura_actual - centro_hiperboloide)^2 / parametro_c^2) * radio_min_torre^2);
 +
  % Coordenadas de la capa
 +
  coord_x_capa = radio_capa * cos(angulo_theta);
 +
  coord_y_capa = radio_capa * sin(angulo_theta);
 +
  coord_z_capa = altura_actual * ones(size(coord_x_capa));
 +
  % Temperatura en esta capa
 +
  temp_capa = temp_base - delta_temp_vertical * (altura_actual / altura_torre)^exponente_conveccion - ...
 +
              delta_temp_radial * (1 - exp(-radio_capa^2 / (radio_max_base^2 - radio_capa^2)));
 +
  % Dibujar la capa
 +
  fill3(coord_x_capa, coord_y_capa, coord_z_capa, temp_capa, 'EdgeColor', 'none');
 +
  hold on;
 +
  % Dibujar las líneas discontinuas en las alturas predefinidas
 +
  for altura_linea = alturas_lineas
 +
      radio_linea = sqrt((1 + (altura_linea - centro_hiperboloide)^2 / parametro_c^2) * radio_min_torre^2); % Radio en esta altura
 +
      coord_x_linea = radio_linea * cos(angulo_theta);
 +
      coord_y_linea = radio_linea * sin(angulo_theta);
 +
      plot3(coord_x_linea, coord_y_linea, altura_linea * ones(size(coord_x_linea)), 'm--', 'LineWidth', 1.5); % Línea discontinua magenta
 +
  end
 +
  % Mostrar el contador de la altura actual en el título
 +
  title(sprintf('Campo de temperatura a z = %.2f m', altura_actual));
 +
  % Configuración gráfica
 +
  colormap('jet');
 +
  colorbar;
 +
  caxis([temp_tope, temp_base]); % Escala de colores
 +
  xlabel('x (m)');
 +
  ylabel('y (m)');
 +
  zlabel('z (m)');
 +
  xlim([-radio_max_base, radio_max_base]);
 +
  ylim([-radio_max_base, radio_max_base]);
 +
  zlim([0, altura_torre]);
 +
  view(3);
 +
  % Pausar para animación
 +
  pause(0.1);
 +
  hold off;
 +
end
 +
</syntaxhighlight>
 +
 
 +
Por otro lado, el plano vertical en matlab es:
 +
<syntaxhighlight lang="matlab">
 +
%% 2. Campo de temperatura en el plano vertical
 +
% Parámetros
 +
radio_max_base = 50; % Radio máximo (m)
 +
radio_min_torre = 20; % Radio mínimo
 +
centro_hiperboloide = 80; % Centro del hiperboloide
 +
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
 +
altura_torre = 120; % Altura total
 +
temp_base = 70; % Temperatura en la base (°C)
 +
temp_tope = 25; % Temperatura en la parte superior (°C)
 +
delta_temp_vertical = temp_base - temp_tope; % Diferencia de temperatura vertical
 +
delta_temp_radial = 5; % Variación máxima radial (°C)
 +
exponente_conveccion = 1.5; % Exponente de convección
 +
figure('Name', 'Plano Vertical del Campo de Temperatura');
 +
z = linspace(0, altura_torre, 300); % Coordenada vertical
 +
x = linspace(-radio_max_base - 10, radio_max_base + 10, 300); % Coordenada horizontal
 +
[X, Z] = meshgrid(x, z); % Crear malla
 +
R = sqrt((1 + ((Z - centro_hiperboloide) / parametro_c).^2) * radio_min_torre^2); % Radio según el hiperboloide
 +
r = abs(X); % Distancia radial
 +
T = temp_base - delta_temp_vertical * (Z / altura_torre).^exponente_conveccion - delta_temp_radial * (1 - exp(-r.^2 ./ (radio_max_base^2 - r.^2))); % Campo de temperatura
 +
mask = abs(X) <= R; % Máscara para limitar al hiperboloide
 +
T(~mask) = NaN; % Fuera de la silueta, no mostrar
 +
% Dibujar el campo de temperatura
 +
contourf(X, Z, T, 50, 'LineColor', 'none');
 +
colormap('jet');
 +
colorbar;
 +
caxis([temp_tope, temp_base]); % Escala de colores
 +
hold on;
 +
% Dibujar la silueta de la torre
 +
x_sil_left = -R; % Lado izquierdo de la silueta
 +
x_sil_right = R; % Lado derecho de la silueta
 +
z_sil = z; % Coordenadas verticales
 +
plot(x_sil_left, z_sil, 'k-', 'LineWidth', 2); % Silueta izquierda
 +
plot(x_sil_right, z_sil, 'k-', 'LineWidth', 2); % Silueta derecha
 +
% Configuración gráfica
 +
xlabel('x (m)');
 +
ylabel('z (m)');
 +
title('Campo de temperatura (°C) dentro de la silueta de la torre');
 +
xlim([-radio_max_base - 10, radio_max_base + 10]);
 +
ylim([0, altura_torre]);
 +
grid on;
 +
view(2); % Vista 2D
 +
hold off;
 +
</syntaxhighlight>
 +
 
 +
[[Archivo:Apartado6gif.gif|450px|centroizquierda]][[Archivo:Apartado6.2torrehip.jpg|450px|centroderecha]]
 +
 
 +
En esta animación se puede observar,la evolución del gradiente de la temperatura a lo largo de la z, viendo como esta disminuye a medida que se acerca a la parte superior de la torre. En el eje vertical (Z) se representa la altura (en metros), mientras que los ejes X y Y muestran las dimensiones horizontales (también en metros).
 +
 
 +
==  Representación del campo del gradiente de temperatura en los puntos de un plano que corta la torre verticalmente pasando por el eje de simetría y los puntos de un plano que corta la torre horizontalmente en correspondencia con el radio mínimo ==
 +
Este apartado consiste en representar el campo del gradiente de temperatura en dos planos diferentes de una torre: un plano vertical que corta la torre pasando por su eje de simetría y un plano horizontal en el radio mínimo de la estructura. La tarea es visualizar cómo varía la temperatura en estos puntos y cómo se representa el gradiente en cada caso.
 +
 
 +
El codigo en matlab es:
 +
<syntaxhighlight lang="matlab">
 +
% Parámetros de la torre
 +
z0 = 80; % Altura del centro de la torre (m)
 +
Rmin = 20; % Radio mínimo (m)
 +
Rmax = 50; % Radio máximo (m)
 +
H = 120; % Altura total (m)
 +
z_horizontal = (2/3) * H; % Altura del plano horizontal
 +
c = sqrt(((6400 * Rmin^2) / (Rmax^2 - Rmin^2))); % Parámetro c
 +
 
 +
 
 +
% Parámetros térmicos
 +
Tbase = 70; % Temperatura en la base (°C)
 +
DeltaTz = Tbase - 25; % Variación de temperatura con la altura
 +
DeltaTr = 5; % Variación de temperatura radial
 +
n = 1.5; % Exponente para el perfil vertical
 +
 
 +
 
 +
% Parámetros para la malla dentro del cuadrado [-60, 60] en X y Y
 +
res_x = 50; % Resolución ajustada para X
 +
res_y = 50; % Resolución ajustada para Y
 +
x = linspace(-60, 60, res_x); % Rango de X de -60 a 60
 +
y = linspace(-60, 60, res_y); % Rango de Y de -60 a 60
 +
[X, Y] = meshgrid(x, y);
 +
 
 +
 
 +
% Filtrar puntos dentro del círculo de radio Rmin
 +
mask = X.^2 + Y.^2 <= Rmin^2; % Solo puntos dentro del radio mínimo (20 m)
 +
X = X(mask);
 +
Y = Y(mask);
 +
 
 +
 
 +
% Flechas perpendiculares apuntando hacia abajo
 +
Tx_grad = zeros(size(X)); % No hay componente en X
 +
Ty_grad = zeros(size(Y)); % No hay componente en Y
 +
Tz_grad = -0.8 * ones(size(X)); % Flechas hacia abajo, magnitud ajustada
 +
 
 +
 
 +
% Representación gráfica para el plano horizontal
 +
figure;
 +
hold on;
 +
 
 +
 
 +
% Flechas del gradiente
 +
quiver3(X, Y, z_horizontal * ones(size(X)), Tx_grad, Ty_grad, Tz_grad, 0.5, ...
 +
  'Color', [0.3 0.5 1], 'LineWidth', 1, 'MaxHeadSize', 2);
 +
 
 +
 
 +
% Contorno del círculo de radio Rmin
 +
theta_circle = linspace(0, 2*pi, 100);
 +
x_circle = Rmin * cos(theta_circle);
 +
y_circle = Rmin * sin(theta_circle);
 +
z_circle = z_horizontal * ones(size(theta_circle));
 +
plot3(x_circle, y_circle, z_circle, 'm--', 'LineWidth', 2);
 +
 
 +
 
 +
% Configuración de la gráfica
 +
title('Gradiente de temperatura en el plano z = 2/3 H (Radio = 20 m)');
 +
xlabel('X (m)');
 +
ylabel('Y (m)');
 +
zlabel('Altura Z (m)');
 +
axis([-60 60 -60 60 z_horizontal-20 z_horizontal+20]); % Ajuste de límites
 +
axis equal;
 +
grid on;
 +
view(75, 30); % Vista 3D inclinada
 +
hold off;
 +
 
 +
 
 +
% Crear malla para el plano vertical
 +
z = linspace(0, H, 50); % Coordenada vertical
 +
x = linspace(-Rmax - 10, Rmax + 10, 50); % Coordenada horizontal extendida
 +
[X, Z] = meshgrid(x, z); % Crear la malla
 +
 
 +
 
 +
% Cálculo del radio según el hiperboloide
 +
R = sqrt((1 + ((Z - z0) / c).^2) * Rmin^2); % Radio según el hiperboloide
 +
r = abs(X); % Distancia radial en el plano (x, 0, z)
 +
 
 +
 
 +
% Campo de temperatura (con corrección para evitar divisiones por cero)
 +
epsilon = 1e-6; % Para evitar divisiones por cero
 +
T = Tbase - DeltaTz * (Z / H).^n - DeltaTr * (1 - exp(-r.^2 ./ (Rmax^2 - r.^2 + epsilon)));
 +
 
 +
 
 +
% Máscara para limitar al hiperboloide
 +
mask = abs(X) <= R; % Máscara para la silueta
 +
T(~mask) = NaN; % Fuera de la torre, no se muestra
 +
 
 +
 
 +
% Gradientes en el plano vertical
 +
[Tx, Tz] = gradient(T, x(2) - x(1), z(2) - z(1)); % Derivadas en x y z
 +
 
 +
 
 +
% Figura 2: Gradiente de temperatura en el plano vertical desde arriba (2D)
 +
figure('Name', 'Gradiente de Temperatura en el Plano Vertical'); % Nueva ventana
 +
% Silueta de la torre
 +
x_sil_left = -sqrt((1 + ((z - z0) / c).^2) * Rmin^2); % Lado izquierdo
 +
x_sil_right = sqrt((1 + ((z - z0) / c).^2) * Rmin^2); % Lado derecho
 +
z_sil = z; % Coordenadas verticales
 +
plot(x_sil_left, z_sil, 'k-', 'LineWidth', 2); % Lado izquierdo
 +
hold on;
 +
plot(x_sil_right, z_sil, 'k-', 'LineWidth', 2); % Lado derecho
 +
 
 +
% Representar el campo de temperatura y las flechas dentro de la torre en 2D
 +
quiver(X(mask), Z(mask), Tx(mask), Tz(mask), 'b', 'LineWidth', 1, 'MaxHeadSize', 3); % Flechas azules
 +
 
 +
% Configuración de la gráfica 2D
 +
xlabel('x (m)');
 +
ylabel('z (m)');
 +
title('Gradiente de Temperatura en el Plano Vertical (Vista 2D)');
 +
xlim([-Rmax - 10, Rmax + 10]);
 +
ylim([0, H]);
 +
grid on;
 +
axis equal;
 +
view(2); % Vista en 2D
 +
hold off;
 +
</syntaxhighlight>
 +
 
 +
=== Representación del campo del gradiente de temperatura en los puntos de un plano que corta la torre verticalmente pasando por el eje de simetría ===
 +
 
 +
[[Archivo:Apartado7.1.jpg|450px|centro]]
 +
 
 +
La imagen muestra un gráfico 2D con el gradiente de temperatura representado por flechas azules distribuidas en un plano vertical (coordenadas x y z). Las flechas están más densamente distribuidas cerca del eje central y apuntan hacia afuera, indicando que el gradiente de temperatura es mayor en el eje de simetría. Los bordes negros delimitan una forma simétrica similar a un reloj de arena, representando los límites físicos del sistema.
 +
 
 +
=== Puntos de un plano que corta la torre horizontalmente en correspondencia con el radio mínimo ===
 +
 
 +
[[Archivo:Apartado7.2.jpg|450px|centro]]
 +
 
 +
La imagen muestra un gráfico 3D del gradiente de temperatura en un plano horizontal a la altura z=2/3H (radio mínimo de 20 m). Las flechas azules representan el campo del gradiente, apuntando radialmente hacia afuera desde el centro de la figura ovalada, indicando un aumento de temperatura hacia los bordes. El contorno magenta delimita la región donde se estudia el gradiente.
 +
 
 
==  Animación que representa las superficies isotérmicas para varios valores de temperatura ==
 
==  Animación que representa las superficies isotérmicas para varios valores de temperatura ==
 +
Una superficie isoterma es aquella en la que todos sus puntos mantienen una misma temperatura. Para representarla, se han seleccionado varias temperaturas y se han visualizado estas superficies junto con sus gradientes correspondientes. Esto permitirá visualizar cómo cambian las superficies y el gradiente asociado de manera dinámica.
 +
 +
La animación en matlab es :
 +
<syntaxhighlight lang="matlab">
 +
% Parámetros geométricos y térmicos
 +
radioBase = 20;
 +
alturaCentro = 80;
 +
alturaTotal = 120;
 +
radioMaximo = 50;
 +
radioHiperboloide = 34.17;
 +
tempBase = 70;
 +
tempCima = 25;
 +
variacionTempAltura = tempBase - tempCima;
 +
variacionTempRadial = 5;
 +
expConveccion = 1.5;
 +
% Discretización optimizada
 +
theta = linspace(0, 2*pi, 50); % Menos puntos para mayor velocidad
 +
z = linspace(0, alturaTotal, 50);
 +
[Theta, Z] = meshgrid(theta, z);
 +
% Radio \rho en función de z
 +
Rho = sqrt(radioBase^2 * (1 + ((Z - alturaCentro).^2) / radioHiperboloide^2));
 +
X = Rho .* cos(Theta);
 +
Y = Rho .* sin(Theta);
 +
% Campo de temperaturas en 3D
 +
campoTemp = tempBase - variacionTempAltura * (Z / alturaTotal).^expConveccion ...
 +
          - variacionTempRadial * (1 - exp(-Rho.^2 ./ (radioMaximo^2 - Rho.^2)));
 +
% Niveles isotérmicos optimizados
 +
nivelesTemp = linspace(tempCima, tempBase, 20); % Menos niveles isotérmicos
 +
% Calcular gradiente térmico
 +
[gradTempX, gradTempZ] = gradient(campoTemp, mean(diff(X(1,:))), mean(diff(Z(:,1))));
 +
gradTempY=gradTempX;
 +
figure;
 +
for nivel = 1:length(nivelesTemp)
 +
  tempNivel = nivelesTemp(nivel);
 +
  mascaraIso = abs(campoTemp - tempNivel) < 0.5; % Margen ±0.5 °C
 +
contour3(X,Y,Z,6,'k');
 +
xlabel('X (m)');
 +
ylabel('Y (m)');
 +
zlabel('Z (m)');
 +
hold on
 +
  % Extraer puntos isotérmicos
 +
  xIso = X(mascaraIso);
 +
  yIso = Y(mascaraIso);
 +
  zIso = Z(mascaraIso);
 +
  coloresIso = campoTemp(mascaraIso);
 +
  % Superficie isotérmica
 +
  scatter3(xIso, yIso, zIso, 10, coloresIso, 'filled');
 +
  colormap('jet');
 +
  colorbar;
 +
  caxis([tempCima, tempBase]);
 +
    % Graficar el gradiente térmico en los puntos isotérmicos
 +
  quiver3(xIso, yIso, zIso, gradTempX(mascaraIso), gradTempY(mascaraIso), gradTempZ(mascaraIso), ...
 +
          'k', 'AutoScaleFactor', 0.5);
 +
  % Refrescar gráfico
 +
  drawnow;
 +
  pause(0.05); % Breve pausa para visualización
 +
  % Limpiar puntos isotérmicos del cuadro anterior
 +
% En lugar de 'cla('reset')'
 +
delete(findall(gca, 'Type', 'scatter'));
 +
delete(findall(gca, 'Type', 'quiver'));
 +
end
 +
</syntaxhighlight>
 +
 +
[[Archivo:Apartado8gif.gif|450px|centro]]
 +
 +
La animación muestra cómo evolucionan las superficies isotérmicas (donde la temperatura es constante) para diferentes valores de temperatura. Las superficies cambian dinámicamente, revelando las regiones donde el gradiente de temperatura, representado por vectores superpuestos, señala la dirección y magnitud de la variación térmica. Este gráfico ilustra cómo la temperatura y su variación espacial interactúan de manera visual e intuitiva.
 +
 
==  Qué forma tendría ahora la torre de enfriamiento si suponemos que Rmax=Rmin=50m ==
 
==  Qué forma tendría ahora la torre de enfriamiento si suponemos que Rmax=Rmin=50m ==
 +
Para saber la forma que tendría la torre con el mismo rmin y rmax a 50 m valdría con cambiar la variable ‘’a’’ del código de matlab en el apartado 3 ,al cambiarlo obtenemos esta torre.
 +
 +
Al observarla nos damos cuenta que se convierte en un simple cilindro de radio=50 m.
 +
 +
[[Archivo:Apartado9.1.jpg|miniaturadeimagen|derecha]]
 +
 +
Para el cálculo de presión por unidad en cada torre supondremos que:
 +
 +
- El viento ejerce una presión lateral <math>V(z)=V_o(\dfrac{z}{z_o})^α </math>
 +
 +
- <math>V_o = 15 m/s </math>
 +
 +
- α es un exponente que depende del terreno para áreas abiertas suele ser alrededor de 0.14.
 +
 +
- <math>P(z) = \dfrac{1}{2} \rho V(z)^2</math>
 +
 +
- \rho =1.225 kg/m3
 +
 +
- <math>\vec{F}(x, y, z) = -P(z) \cdot \vec{n}</math>
 +
 +
===== Cálculos para el cilindro =====
 +
Sustituyendo todas las fórmulas en la ecuación de la presión
 +
 +
<math>P(z) = \dfrac{1}{2} \cdot 1,225 \cdot (15 \cdot (\dfrac{z}{10})^{0,28})</math>
 +
 +
Para calcular la fuerza total
 +
 +
<math>
 +
\int_{0}^{120} P(z) \, \text{d}z = 8,13918 \cdot 10^6 N
 +
</math>
 +
 +
No obstante esa es la fuerza total , y dado que el viento solo da por un lateral (la mitad de la torre) hay que dividirla entre dos
 +
 +
<math>F= \dfrac{8,13918 \cdot 10^6 }{2}=4069590N</math>
 +
 +
<math>Funidad=\dfrac{F}{S}=\dfrac{4069590}{\pi \cdot 50 \cdot 120}≈215,8984Pa</math>
 +
 +
===== Cálculos para la torre hiperbólica =====
 +
Dado que los cálculos para la torre hiperbólica son más complicados los vamos a hacer analicamente.
 +
Comparando las vistas laterales de las torres nos damos cuenta de que el cilindro obstruye más el paso del viento en comparación a la torre hiperbólica.
 +
 +
[[Archivo:Apartado9.2a.jpg|250px|centroizquierda]] [[Archivo:Apartado9.2b.jpg|250px|centroderecha]]
 +
 +
Además que la superficie de la torre hiperbólica es claramente menor.Por lo tanto podemos deducir que la fuerza por unidad también será menor.
 +
 +
En conclusión la torre hiperbólica es mejor ante el viento ya que opone menos resistencia ante él, por eso es mejor la torre hiperbólica.
 +
 
==  Uso de estructuras hiperboloides en ingeniería ==
 
==  Uso de estructuras hiperboloides en ingeniería ==
 +
El uso de las estructuras hiperbólicas en la ingeniería civil es bastante extendido.El primero y al que se le viene a la gente a la cabeza es el de nuestro trabajo, las torres hiperbólicas. Utilizada sobre todo en centrales nucleares para dejar salir el vapor de agua , usada para enfriar el núcleo.El uso de estas torres no se limita a lo nuclear si no a depósitos de agua , torres de control en aeropuertos…Esto es dado a su eficiencia estructural son resistentes a fuerzas externas debido a su diseño optimizado, lo que les permite ser ligeras pero robustas.
 +
 +
[[Archivo:Apartado10.1.jpg|250px|derecha]]
 +
 +
También son utilizadas en tejados para evitar utilizar columnas y ahorrar materiales. Y en puentes para reforzar la estructura.
 +
 +
[[Archivo:Apartado10.3.jpg|250px|centroizquierda]][[Archivo:Apartado10.4.jpg|250px|centroderecha]][[Archivo:Apartado10.2.jpg|250px|centroderecha]]
 +
 +
Por añadidura su aspecto visual innovador las convierte en íconos arquitectónicos,elementos estéticos al mismo tiempo de servir como elemento de soporte a la estructura.
 +
 +
Con materiales avanzados como acero y concreto reforzado, estas estructuras logran combinar diseño y sostenibilidad. Se utilizan ampliamente en edificios públicos, estadios, estaciones de transporte y más, priorizando eficiencia energética y resistencia sísmica
 +
 +
En resumen, los hiperboloides representan una confluencia de diseño innovador, eficiencia estructural y estética, siendo elementos destacados en la ingeniería moderna y la arquitectura emblemática.
  
  

Revisión actual del 23:43 9 dic 2024

Trabajo realizado por estudiantes
Título Torres de enfriamiento Hiperbólicas. Grupo 33
Asignatura Teoría de Campos
Curso 2024-25
Autores Marcos Sanchez Martínez Guillermo Garrido Torres Carlos Aguado Esparrells Hector Perucho Conde
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


Las torres de enfriamiento hiperbólicas son estructuras fundamentales en la industria energética, ampliamente utilizadas desde mediados del siglo XX debido a su alta eficiencia en la transferencia de calor. Estas torres, con su distintiva forma hiperbólica, combinan propiedades geométricas y mecánicas que las hacen tanto resistentes como funcionales para optimizar los procesos de enfriamiento en plantas termoeléctricas y nucleares.

En este trabajo, se analiza el diseño y comportamiento de una torre de enfriamiento hiperbólica típica, considerando su geometría, las fuerzas inducidas por el viento en su superficie, y el campo de temperatura dentro de la estructura.

derecha

Consideremos una torre de enfriamiento hiperbólica, caracterizada por su altura total H, su radio máximo en la base Rmax, y su radio mínimo Rmin alcanzado a 2/3 de la altura H de la torre.

La superficie de la torre sigue la forma de un hiperboloide hiperbólico con centro a la altura 2/3H, el cual, en coordenadas cartesianas, tiene la siguiente forma:

[math]\dfrac{x^2+y^2}{a^2} - \dfrac{(z - z_0)^2}{c^2} = 1[/math]

Se pueden suponer los siguientes parámetros:

[math]Rmax=50m,\qquad Rmin=50m,\qquad H=120m[/math]

Por otro lado, el viento ejerce una presión lateral que varía a lo largo de la superficie de la torre. Considerando que la velocidad escalar del viento aumenta con la altura, podemos representarla con la función:

[math]V(z)=V_o(\dfrac{z}{z_o})^α [/math]

Donde:

- [math]V_0[/math] es la velocidad de referencia del viento a una altura [math]z_0[/math]. Para una simulación de viento, podemos fijar [math]V_0 = 15 m/s[/math] como valor de referencia.

- α es un exponente que depende del terreno; para ´areas abiertas suele ser alrededor de 0.14.

Utilizando esta velocidad del viento, la presión del viento sobre la superficie de la torre se puede modelar como:

[math]P(z) = \dfrac{1}{2} \rho V(z)^2[/math]

donde ρ es la densidad del aire estándar.

Para determinar la distribución de las fuerzas laterales, calculamos el campo vectorial de las fuerzas inducidas por el viento en la superficie de la torre:

[math]\vec{F}(x, y, z) = -P(z) \cdot \vec{n}[/math]

donde [math]\vec{n}[/math] es el vector normal a la superficie.

Por ultimo, Suponemos que dentro de la torre de enfriamiento se da un campo de temperatura representado mediante la ecuación:

[math]T(r, z) = T_{\text{base}} - \Delta T_z \left( \frac{z}{H} \right)^n - \Delta T_r \left( 1 - e^{-\frac{r^2}{R_{\text{max}}^2 - r^2}} \right)[/math]

1 Encontrar los valores de a, c, [math]z_0[/math] para la ecuación de la torre

Con la ecuación: [math]\dfrac{x^2+y^2}{a^2} - \dfrac{(z - z_0)^2}{c^2} = 1[/math] en cartesianas, lo primero es pasar la fórmula del hiperboloide a cilíndricas que es [math]\dfrac{\rho^2}{a^2} - \dfrac{(z - z_0)^2}{c^2} = 1[/math]. Ya que en cilíndricas [math] \rho^2=x^2+y^2 [/math]

Ahora se tiene en cuenta los parámetros:

La altura (H) es 120 metros

En z=0 (la base) el radio máximo es 50 metros

En [math]z=\dfrac{2}{3} \cdot H=80[/math] el radio mínimo es 20 metros

Lo primero es saber que el hiperboloide está centrado a una altura [math]z_0[/math](dado por el enunciado)​, la cual se toma como el centro de simetría. Por la simetría del problema, sabemos que la curva alcanza su mínimo radio en [math]z=z_0[/math]​. Esto implica que:

[math]z_0=\dfrac{2}{3} \cdot H=80m[/math]

Así que la ecuación(1) situada en el centro de simetría con los parámetros:

[math] \rho=20, \qquad z=z_0=80[/math]

[math]\dfrac{20^2}{a^2} - \dfrac{(80-80)^2}{c^2} = 1 → \qquad \dfrac{20^2}{a^2}=1 → \qquad a=20 [/math]

Por otro lado tenemos la ecuación(2) situada en la base con parámetros:

[math] \rho=50, \qquad z=0, \qquad z_0=80[/math]

[math]\dfrac{50^2}{a^2} - \dfrac{(0-80)^2}{c^2} = 1[/math]

Por último se sustituye el valor de a en (2) y se consigue el valor de c

[math]c≈34,91[/math]

Así que la ecuación de la torre en cilíndricas con los valores ya sustituidos de a,c y [math]z_0[/math] es:

[math]\dfrac{\rho^2}{20^2} - \dfrac{(z-80)^2}{34,91^2} = 1 → \qquad \dfrac{\rho^2}{400} - \dfrac{(z-80)^2}{1219} = 1[/math]

2 Representación de la superficie parametrizada

Lo primero, es parametrizar la superficie conseguida en la tarea 1 qué es: [math]\dfrac{\rho^2}{20^2} - \dfrac{(z-80)^2}{34,91^2} = 1 → \qquad \dfrac{\rho^2}{400} - \dfrac{(z-80)^2}{1219} = 1[/math]

La parametrización que le damos nosotros para la representación es:

r(u,v)=(p(v)[math]\cdot[/math]cos(u) , p(v)[math]\cdot[/math]sen(u) , v)

Donde [math]p(v)=\sqrt{400 \cdot (1+ \dfrac{(v-80)^2}{1219})}[/math]

Y u pertenece a [0,2pi] y v pertenece a [0,120]

Por lo que es la representación en matlab es:

% Parámetros de la torre 
Rm=50% Parámetro a (radio max)
a = 20; % Parámetro a (radio mínimo)
z0 = 80; % Centro del hiperboloide
H = 120; % Altura total de la torre
c = sqrt(((6400*a^2)/(Rm^2-a^2))); % Parámetro c


% Dominio de los parámetros 
theta = linspace(0, 2*pi, 100); % Ángulo theta [0, 2pi] 
z = linspace(0, H, 100); % Altura z [0, H] 
% Crear mallas para theta y z 
[Theta, Z] = meshgrid(theta, z); 
% Radio \rho en función de z 
Rho = sqrt(a^2 * (1 + ((Z - z0).^2) / c^2)); 

% Coordenadas cartesianas 
X = Rho .* cos(Theta); % Coordenada x 
Y = Rho .* sin(Theta); % Coordenada y 

% Graficar la superficie 
figure; 
surf(X, Y, Z, 'EdgeColor', 'none'); % Representar superficie sin bordes 
colormap([0.5, 0.5, 0.5]); % Color único (gris) 
xlabel('X (m)'); 
ylabel('Y (m)'); 
zlabel('Z (m)'); 
title('Superficie de la Torre de Enfriamiento'); 
axis equal; % Ejes proporcionales 
view(3); % Vista 3D

centro

En esta representación se puede observar la torre de enfriamiento hiperbólica cuya altura es 120 metros, cuyo Radio máximo es alcanzado en la base(z=0) como se puede observar y cuyo radio mínimo es alcanzado a 2/3H (z=80)

3 Ecuación de la torre como una superficie rigada

Una superficie rigada es una superficie generada al mover una recta a lo largo de una trayectoria. El hiperboloide de una hoja es una superficie reglada, y su representación puede expresarse como:

derecha

[math]r(u,v)=r_0(u)+v \cdot d(u)[/math]

donde [math]r_0(u)[/math] es una curva generadora, en cambio d(u) es una dirección de la recta generadora.

Para el hiperboloide:

1. Podemos parametrizar una curva generadora en [math]z_0[/math]=cte como: [math]r_0(u)= (a \cdot cos(u) , a \cdot sen(u) , z_0)[/math]

2. Una dirección de la recta generadora es: [math]d(u)= (sinh(v) \cdot cos(u) , sinh(v) \cdot sin(u) , cosh(v))[/math]

Por lo que la parametrización rigada es: [math]r(u,v)= (a \cdot cos(u)+v \cdot sinh(v) \cdot cos(u) , a \cdot sen(u)+v \cdot sinh(v) \cdot sin(u) , z_o+v \cdot cosh(v))[/math]

4 Representación del campo escalar de presión como un mapa de colores sobre la superficie parametrizada de la torre

Esta pregunta se centra en representar gráficamente el campo escalar de presión inducido por el viento en la superficie de la torre. Esto permite comprender cómo varía la presión a lo largo de la estructura en función de la altura, un factor crucial en el diseño y la estabilidad estructural.

% Parámetros de la torre
radio_max_base = 50; % Radio máximo de la base
radio_min_torre = 20; % Radio mínimo de la torre
centro_hiperboloide = 80; % Centro del hiperboloide
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
altura_torre = 120; % Altura total de la torre
densidad_aire = 1.225; % Densidad del aire (kg/m^3)
vel_viento_ref = 15; % Velocidad del viento a altura de referencia (m/s)
altura_ref_viento = 10; % Altura de referencia para el viento (m)
exponente_viento = 0.14; % Exponente del perfil del viento
% Crear la malla para parametrizar la superficie
angulo = linspace(0, 2*pi, 100); % Ángulo alrededor del eje z
altura = linspace(0, altura_torre, 200); % Altura
[angulo_malla, altura_malla] = meshgrid(angulo, altura); % Crear mallas 2D para ángulo y altura
% Parametrización del hiperboloide
coord_x = radio_min_torre * cos(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
coord_y = radio_min_torre * sin(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
coord_z = altura_malla;
% Perfil del viento
vel_viento = vel_viento_ref * (altura_malla / altura_ref_viento).^exponente_viento;
% Presión del viento
presion_viento = 0.5 * densidad_aire * vel_viento.^2;
% Máscara para dividir la torre: seleccionar puntos donde coord_x + coord_y < 0
mascara_division = (coord_x + coord_y < 0);
coord_x(~mascara_division) = NaN; % Asignar NaN para ocultar la otra mitad
coord_y(~mascara_division) = NaN;
coord_z(~mascara_division) = NaN;
presion_viento(~mascara_division) = NaN;
% Representar la torre y el campo de presión
figure;
surf(coord_x, coord_y, coord_z, presion_viento, 'EdgeColor', 'none'); % Campo de presión
xlabel('X (m)');
ylabel('Y (m)');
zlabel('Z (m)');
title('Presión del viento en la mitad expuesta de la torre');
axis equal;
grid on;
view(3);
colormap(jet); % Representación del campo de presiones
colorbar; % Leyenda de colores

centro

El gráfico muestra un modelo tridimensional de la distribución de presión del viento en la mitad expuesta de una torre de enfriamiento hiperboloidal. La escala de colores indica los valores de presión, desde el azul (baja presión) hasta el rojo y el negro (alta presión). En el eje vertical (Z) se representa la altura (en metros), mientras que los ejes X y Y muestran las dimensiones horizontales (también en metros). La forma hiperboloidal característica de la torre se refleja en la distribución de presión, siendo más alta en la base y disminuyendo hacia la parte superior.

5 Representación del campo vectorial de la fuerza generada por la presión del viento en la superficie de la mitad de la torre expuesta.

En la quinta pregunta, se busca visualizar el campo vectorial de las fuerzas generadas por la presión del viento sobre la superficie de la torre. Este análisis es esencial para estudiar las cargas mecánicas que la estructura debe soportar bajo condiciones de viento.

% Parámetros de la torre
radio_max_base = 50; % Radio máximo
radio_min_torre = 20; % Radio mínimo
centro_hiperboloide = 80; % Centro del hiperboloide
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
altura_torre = 120; % Altura total
densidad_aire = 1.225; % Densidad del aire (kg/m^3)
vel_viento_ref = 15; % Velocidad del viento a altura de referencia (m/s)
altura_ref_viento = 10; % Altura de referencia para el viento (m)
exponente_viento = 0.14; % Exponente del perfil del viento
% Crear la malla para parametrizar la superficie
angulo = linspace(0, 2*pi, 100); % Ángulo alrededor del eje z
altura = linspace(0, altura_torre, 200); % Altura
[angulo_malla, altura_malla] = meshgrid(angulo, altura); % Mallas 2D para ángulo y altura
% Parametrización del hiperboloide
coord_x = radio_min_torre * cos(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
coord_y = radio_min_torre * sin(angulo_malla) .* sqrt(1 + ((altura_malla - centro_hiperboloide) / parametro_c).^2);
coord_z = altura_malla;
% Crear una máscara para cortar la torre según el eje -i-j (X + Y <= 0)
mascara_corte = (coord_x + coord_y) <= 0;
coord_x_corte = coord_x .* mascara_corte;
coord_y_corte = coord_y .* mascara_corte;
coord_z_corte = coord_z .* mascara_corte;
% Crear flechas apuntando al centro (eje Z)
fuerza_x_centro = -coord_x_corte; % Componente en X hacia el centro
fuerza_y_centro = -coord_y_corte; % Componente en Y hacia el centro
fuerza_z_centro = 0 * coord_z_corte; % Sin componente en Z (paralelas al eje Z)
% Escalar las flechas según la presión del viento
factor_escala = coord_z_corte / max(coord_z_corte(:));
factor_escala(isnan(factor_escala)) = 0; % Manejar valores NaN en la base
fuerza_x_centro = fuerza_x_centro .* factor_escala;
fuerza_y_centro = fuerza_y_centro .* factor_escala;
% Filtrar las flechas para evitar puntos nulos
puntos_validos = mascara_corte & (coord_x_corte ~= 0 | coord_y_corte ~= 0);
% --------- Gráfico de las flechas ---------
figure;
hold on;
% Dibujar las flechas
quiver3(coord_x_corte(puntos_validos), coord_y_corte(puntos_validos), coord_z_corte(puntos_validos), ...
      fuerza_x_centro(puntos_validos), fuerza_y_centro(puntos_validos), fuerza_z_centro(puntos_validos), ...
      2, 'Color', [0.5 0.7 1]); % Azul claro (RGB: 50% rojo, 70% verde, 100% azul)
xlabel('X (m)');
ylabel('Y (m)');
zlabel('Z (m)');
title('Campo vectorial de la presión del viento sobre la parte expuesta de la torre');
axis equal; % Mantener proporciones
grid on;
view(3); % Vista en 3D
hold off;

centro

El gráfico presenta un campo vectorial de la presión del viento en la mitad expuesta de una torre de enfriamiento hiperboloidal. Cada flecha representa la dirección y magnitud del gradiente de presión en diferentes puntos de la torre. Los ejes ZZZ (altura en metros) y XXX-YYY (dimensiones horizontales en metros) describen el espacio tridimensional. La distribución de flechas ilustra cómo la presión varía a lo largo de la superficie de la torre, mostrando patrones característicos debido a la forma hiperboloidal y las condiciones de viento.

6 Representación el campo de temperatura utilizando un mapa de colores en un plano vertical que corta la torre pasando por el eje de simetría.

En el apartado 6, se analiza y representa el campo de temperatura en la torre. Por un lado, se estudia cómo varía la temperatura en un plano vertical que corta la torre por el eje de simetría. Por otro lado, se examinan planos paralelos al suelo mediante una animación que permite visualizar la distribución de temperatura en diferentes niveles de la torre.

La animación en matlab es:

% Parámetros
radio_max_base = 50; % Radio máximo (m)
radio_min_torre = 20; % Radio mínimo
centro_hiperboloide = 80; % Centro del hiperboloide
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
altura_torre = 120; % Altura total
temp_base = 70; % Temperatura en la base (°C)
temp_tope = 25; % Temperatura en la parte superior (°C)
delta_temp_vertical = temp_base - temp_tope; % Diferencia de temperatura vertical
delta_temp_radial = 5; % Variación máxima radial (°C)
exponente_conveccion = 1.5; % Exponente de convección
% Malla para el hiperboloide
angulo_theta = linspace(0, 2*pi, 100); % Ángulo alrededor del eje z
altura_malla = linspace(0, altura_torre, 50); % Coordenada vertical
alturas_lineas = 0:20:altura_torre; % Alturas de las líneas discontinuas
% Iniciar figura
figure;
for i = 1:length(altura_malla)
  % Altura de la capa actual
  altura_actual = altura_malla(i);
   % Radio en esta altura
  radio_capa = sqrt((1 + (altura_actual - centro_hiperboloide)^2 / parametro_c^2) * radio_min_torre^2);
   % Coordenadas de la capa
  coord_x_capa = radio_capa * cos(angulo_theta);
  coord_y_capa = radio_capa * sin(angulo_theta);
  coord_z_capa = altura_actual * ones(size(coord_x_capa));
   % Temperatura en esta capa
  temp_capa = temp_base - delta_temp_vertical * (altura_actual / altura_torre)^exponente_conveccion - ...
              delta_temp_radial * (1 - exp(-radio_capa^2 / (radio_max_base^2 - radio_capa^2)));
   % Dibujar la capa
  fill3(coord_x_capa, coord_y_capa, coord_z_capa, temp_capa, 'EdgeColor', 'none');
  hold on;
   % Dibujar las líneas discontinuas en las alturas predefinidas
  for altura_linea = alturas_lineas
      radio_linea = sqrt((1 + (altura_linea - centro_hiperboloide)^2 / parametro_c^2) * radio_min_torre^2); % Radio en esta altura
      coord_x_linea = radio_linea * cos(angulo_theta);
      coord_y_linea = radio_linea * sin(angulo_theta);
      plot3(coord_x_linea, coord_y_linea, altura_linea * ones(size(coord_x_linea)), 'm--', 'LineWidth', 1.5); % Línea discontinua magenta
  end
   % Mostrar el contador de la altura actual en el título
  title(sprintf('Campo de temperatura a z = %.2f m', altura_actual));
   % Configuración gráfica
  colormap('jet');
  colorbar;
  caxis([temp_tope, temp_base]); % Escala de colores
  xlabel('x (m)');
  ylabel('y (m)');
  zlabel('z (m)');
  xlim([-radio_max_base, radio_max_base]);
  ylim([-radio_max_base, radio_max_base]);
  zlim([0, altura_torre]);
  view(3);
   % Pausar para animación
  pause(0.1);
  hold off;
end

Por otro lado, el plano vertical en matlab es:

%% 2. Campo de temperatura en el plano vertical
% Parámetros
radio_max_base = 50; % Radio máximo (m)
radio_min_torre = 20; % Radio mínimo
centro_hiperboloide = 80; % Centro del hiperboloide
parametro_c = sqrt(((6400 * radio_min_torre^2) / (radio_max_base^2 - radio_min_torre^2))); % Parámetro c
altura_torre = 120; % Altura total
temp_base = 70; % Temperatura en la base (°C)
temp_tope = 25; % Temperatura en la parte superior (°C)
delta_temp_vertical = temp_base - temp_tope; % Diferencia de temperatura vertical
delta_temp_radial = 5; % Variación máxima radial (°C)
exponente_conveccion = 1.5; % Exponente de convección
figure('Name', 'Plano Vertical del Campo de Temperatura');
z = linspace(0, altura_torre, 300); % Coordenada vertical
x = linspace(-radio_max_base - 10, radio_max_base + 10, 300); % Coordenada horizontal
[X, Z] = meshgrid(x, z); % Crear malla
R = sqrt((1 + ((Z - centro_hiperboloide) / parametro_c).^2) * radio_min_torre^2); % Radio según el hiperboloide
r = abs(X); % Distancia radial
T = temp_base - delta_temp_vertical * (Z / altura_torre).^exponente_conveccion - delta_temp_radial * (1 - exp(-r.^2 ./ (radio_max_base^2 - r.^2))); % Campo de temperatura
mask = abs(X) <= R; % Máscara para limitar al hiperboloide
T(~mask) = NaN; % Fuera de la silueta, no mostrar
% Dibujar el campo de temperatura
contourf(X, Z, T, 50, 'LineColor', 'none');
colormap('jet');
colorbar;
caxis([temp_tope, temp_base]); % Escala de colores
hold on;
% Dibujar la silueta de la torre
x_sil_left = -R; % Lado izquierdo de la silueta
x_sil_right = R; % Lado derecho de la silueta
z_sil = z; % Coordenadas verticales
plot(x_sil_left, z_sil, 'k-', 'LineWidth', 2); % Silueta izquierda
plot(x_sil_right, z_sil, 'k-', 'LineWidth', 2); % Silueta derecha
% Configuración gráfica
xlabel('x (m)');
ylabel('z (m)');
title('Campo de temperatura (°C) dentro de la silueta de la torre');
xlim([-radio_max_base - 10, radio_max_base + 10]);
ylim([0, altura_torre]);
grid on;
view(2); % Vista 2D
hold off;

centroizquierdacentroderecha

En esta animación se puede observar,la evolución del gradiente de la temperatura a lo largo de la z, viendo como esta disminuye a medida que se acerca a la parte superior de la torre. En el eje vertical (Z) se representa la altura (en metros), mientras que los ejes X y Y muestran las dimensiones horizontales (también en metros).

7 Representación del campo del gradiente de temperatura en los puntos de un plano que corta la torre verticalmente pasando por el eje de simetría y los puntos de un plano que corta la torre horizontalmente en correspondencia con el radio mínimo

Este apartado consiste en representar el campo del gradiente de temperatura en dos planos diferentes de una torre: un plano vertical que corta la torre pasando por su eje de simetría y un plano horizontal en el radio mínimo de la estructura. La tarea es visualizar cómo varía la temperatura en estos puntos y cómo se representa el gradiente en cada caso.

El codigo en matlab es:

% Parámetros de la torre 
z0 = 80; % Altura del centro de la torre (m) 
Rmin = 20; % Radio mínimo (m) 
Rmax = 50; % Radio máximo (m) 
H = 120; % Altura total (m) 
z_horizontal = (2/3) * H; % Altura del plano horizontal 
c = sqrt(((6400 * Rmin^2) / (Rmax^2 - Rmin^2))); % Parámetro c 


% Parámetros térmicos 
Tbase = 70; % Temperatura en la base (°C) 
DeltaTz = Tbase - 25; % Variación de temperatura con la altura 
DeltaTr = 5; % Variación de temperatura radial 
n = 1.5; % Exponente para el perfil vertical 


% Parámetros para la malla dentro del cuadrado [-60, 60] en X y Y 
res_x = 50; % Resolución ajustada para X 
res_y = 50; % Resolución ajustada para Y 
x = linspace(-60, 60, res_x); % Rango de X de -60 a 60 
y = linspace(-60, 60, res_y); % Rango de Y de -60 a 60 
[X, Y] = meshgrid(x, y); 


% Filtrar puntos dentro del círculo de radio Rmin 
mask = X.^2 + Y.^2 <= Rmin^2; % Solo puntos dentro del radio mínimo (20 m) 
X = X(mask); 
Y = Y(mask); 


% Flechas perpendiculares apuntando hacia abajo 
Tx_grad = zeros(size(X)); % No hay componente en X 
Ty_grad = zeros(size(Y)); % No hay componente en Y 
Tz_grad = -0.8 * ones(size(X)); % Flechas hacia abajo, magnitud ajustada 


% Representación gráfica para el plano horizontal 
figure; 
hold on; 


% Flechas del gradiente 
quiver3(X, Y, z_horizontal * ones(size(X)), Tx_grad, Ty_grad, Tz_grad, 0.5, ... 
   'Color', [0.3 0.5 1], 'LineWidth', 1, 'MaxHeadSize', 2); 


% Contorno del círculo de radio Rmin 
theta_circle = linspace(0, 2*pi, 100); 
x_circle = Rmin * cos(theta_circle); 
y_circle = Rmin * sin(theta_circle); 
z_circle = z_horizontal * ones(size(theta_circle)); 
plot3(x_circle, y_circle, z_circle, 'm--', 'LineWidth', 2); 


% Configuración de la gráfica 
title('Gradiente de temperatura en el plano z = 2/3 H (Radio = 20 m)'); 
xlabel('X (m)'); 
ylabel('Y (m)'); 
zlabel('Altura Z (m)'); 
axis([-60 60 -60 60 z_horizontal-20 z_horizontal+20]); % Ajuste de límites 
axis equal; 
grid on; 
view(75, 30); % Vista 3D inclinada 
hold off; 


% Crear malla para el plano vertical 
z = linspace(0, H, 50); % Coordenada vertical 
x = linspace(-Rmax - 10, Rmax + 10, 50); % Coordenada horizontal extendida 
[X, Z] = meshgrid(x, z); % Crear la malla 


% Cálculo del radio según el hiperboloide 
R = sqrt((1 + ((Z - z0) / c).^2) * Rmin^2); % Radio según el hiperboloide 
r = abs(X); % Distancia radial en el plano (x, 0, z) 


% Campo de temperatura (con corrección para evitar divisiones por cero) 
epsilon = 1e-6; % Para evitar divisiones por cero 
T = Tbase - DeltaTz * (Z / H).^n - DeltaTr * (1 - exp(-r.^2 ./ (Rmax^2 - r.^2 + epsilon))); 


% Máscara para limitar al hiperboloide 
mask = abs(X) <= R; % Máscara para la silueta 
T(~mask) = NaN; % Fuera de la torre, no se muestra 


% Gradientes en el plano vertical 
[Tx, Tz] = gradient(T, x(2) - x(1), z(2) - z(1)); % Derivadas en x y z 


% Figura 2: Gradiente de temperatura en el plano vertical desde arriba (2D) 
figure('Name', 'Gradiente de Temperatura en el Plano Vertical'); % Nueva ventana 
% Silueta de la torre 
x_sil_left = -sqrt((1 + ((z - z0) / c).^2) * Rmin^2); % Lado izquierdo 
x_sil_right = sqrt((1 + ((z - z0) / c).^2) * Rmin^2); % Lado derecho 
z_sil = z; % Coordenadas verticales 
plot(x_sil_left, z_sil, 'k-', 'LineWidth', 2); % Lado izquierdo 
hold on; 
plot(x_sil_right, z_sil, 'k-', 'LineWidth', 2); % Lado derecho 

% Representar el campo de temperatura y las flechas dentro de la torre en 2D 
quiver(X(mask), Z(mask), Tx(mask), Tz(mask), 'b', 'LineWidth', 1, 'MaxHeadSize', 3); % Flechas azules 

% Configuración de la gráfica 2D 
xlabel('x (m)'); 
ylabel('z (m)'); 
title('Gradiente de Temperatura en el Plano Vertical (Vista 2D)'); 
xlim([-Rmax - 10, Rmax + 10]); 
ylim([0, H]); 
grid on; 
axis equal; 
view(2); % Vista en 2D 
hold off;

7.1 Representación del campo del gradiente de temperatura en los puntos de un plano que corta la torre verticalmente pasando por el eje de simetría

centro

La imagen muestra un gráfico 2D con el gradiente de temperatura representado por flechas azules distribuidas en un plano vertical (coordenadas x y z). Las flechas están más densamente distribuidas cerca del eje central y apuntan hacia afuera, indicando que el gradiente de temperatura es mayor en el eje de simetría. Los bordes negros delimitan una forma simétrica similar a un reloj de arena, representando los límites físicos del sistema.

7.2 Puntos de un plano que corta la torre horizontalmente en correspondencia con el radio mínimo

centro

La imagen muestra un gráfico 3D del gradiente de temperatura en un plano horizontal a la altura z=2/3H (radio mínimo de 20 m). Las flechas azules representan el campo del gradiente, apuntando radialmente hacia afuera desde el centro de la figura ovalada, indicando un aumento de temperatura hacia los bordes. El contorno magenta delimita la región donde se estudia el gradiente.

8 Animación que representa las superficies isotérmicas para varios valores de temperatura

Una superficie isoterma es aquella en la que todos sus puntos mantienen una misma temperatura. Para representarla, se han seleccionado varias temperaturas y se han visualizado estas superficies junto con sus gradientes correspondientes. Esto permitirá visualizar cómo cambian las superficies y el gradiente asociado de manera dinámica.

La animación en matlab es :

% Parámetros geométricos y térmicos
radioBase = 20;
alturaCentro = 80;
alturaTotal = 120;
radioMaximo = 50;
radioHiperboloide = 34.17;
tempBase = 70;
tempCima = 25;
variacionTempAltura = tempBase - tempCima;
variacionTempRadial = 5;
expConveccion = 1.5;
% Discretización optimizada
theta = linspace(0, 2*pi, 50); % Menos puntos para mayor velocidad
z = linspace(0, alturaTotal, 50);
[Theta, Z] = meshgrid(theta, z);
% Radio \rho en función de z
Rho = sqrt(radioBase^2 * (1 + ((Z - alturaCentro).^2) / radioHiperboloide^2));
X = Rho .* cos(Theta);
Y = Rho .* sin(Theta);
% Campo de temperaturas en 3D
campoTemp = tempBase - variacionTempAltura * (Z / alturaTotal).^expConveccion ...
          - variacionTempRadial * (1 - exp(-Rho.^2 ./ (radioMaximo^2 - Rho.^2)));
% Niveles isotérmicos optimizados
nivelesTemp = linspace(tempCima, tempBase, 20); % Menos niveles isotérmicos
% Calcular gradiente térmico
[gradTempX, gradTempZ] = gradient(campoTemp, mean(diff(X(1,:))), mean(diff(Z(:,1))));
gradTempY=gradTempX;
figure;
for nivel = 1:length(nivelesTemp)
   tempNivel = nivelesTemp(nivel);
   mascaraIso = abs(campoTemp - tempNivel) < 0.5; % Margen ±0.5 °C
 contour3(X,Y,Z,6,'k');
xlabel('X (m)');
ylabel('Y (m)');
zlabel('Z (m)');
 hold on
   % Extraer puntos isotérmicos
   xIso = X(mascaraIso);
   yIso = Y(mascaraIso);
   zIso = Z(mascaraIso);
   coloresIso = campoTemp(mascaraIso);
   % Superficie isotérmica
   scatter3(xIso, yIso, zIso, 10, coloresIso, 'filled');
  colormap('jet');
  colorbar;
  caxis([tempCima, tempBase]);
     % Graficar el gradiente térmico en los puntos isotérmicos
  quiver3(xIso, yIso, zIso, gradTempX(mascaraIso), gradTempY(mascaraIso), gradTempZ(mascaraIso), ...
          'k', 'AutoScaleFactor', 0.5);
   % Refrescar gráfico
   drawnow;
   pause(0.05); % Breve pausa para visualización
   % Limpiar puntos isotérmicos del cuadro anterior
% En lugar de 'cla('reset')'
delete(findall(gca, 'Type', 'scatter'));
delete(findall(gca, 'Type', 'quiver'));
end

centro

La animación muestra cómo evolucionan las superficies isotérmicas (donde la temperatura es constante) para diferentes valores de temperatura. Las superficies cambian dinámicamente, revelando las regiones donde el gradiente de temperatura, representado por vectores superpuestos, señala la dirección y magnitud de la variación térmica. Este gráfico ilustra cómo la temperatura y su variación espacial interactúan de manera visual e intuitiva.

9 Qué forma tendría ahora la torre de enfriamiento si suponemos que Rmax=Rmin=50m

Para saber la forma que tendría la torre con el mismo rmin y rmax a 50 m valdría con cambiar la variable ‘’a’’ del código de matlab en el apartado 3 ,al cambiarlo obtenemos esta torre.

Al observarla nos damos cuenta que se convierte en un simple cilindro de radio=50 m.

derecha

Para el cálculo de presión por unidad en cada torre supondremos que:

- El viento ejerce una presión lateral [math]V(z)=V_o(\dfrac{z}{z_o})^α [/math]

- [math]V_o = 15 m/s [/math]

- α es un exponente que depende del terreno para áreas abiertas suele ser alrededor de 0.14.

- [math]P(z) = \dfrac{1}{2} \rho V(z)^2[/math]

- \rho =1.225 kg/m3

- [math]\vec{F}(x, y, z) = -P(z) \cdot \vec{n}[/math]

9.1 Cálculos para el cilindro

Sustituyendo todas las fórmulas en la ecuación de la presión

[math]P(z) = \dfrac{1}{2} \cdot 1,225 \cdot (15 \cdot (\dfrac{z}{10})^{0,28})[/math]

Para calcular la fuerza total

[math] \int_{0}^{120} P(z) \, \text{d}z = 8,13918 \cdot 10^6 N [/math]

No obstante esa es la fuerza total , y dado que el viento solo da por un lateral (la mitad de la torre) hay que dividirla entre dos

[math]F= \dfrac{8,13918 \cdot 10^6 }{2}=4069590N[/math]

[math]Funidad=\dfrac{F}{S}=\dfrac{4069590}{\pi \cdot 50 \cdot 120}≈215,8984Pa[/math]

9.2 Cálculos para la torre hiperbólica

Dado que los cálculos para la torre hiperbólica son más complicados los vamos a hacer analicamente. Comparando las vistas laterales de las torres nos damos cuenta de que el cilindro obstruye más el paso del viento en comparación a la torre hiperbólica.

centroizquierda centroderecha

Además que la superficie de la torre hiperbólica es claramente menor.Por lo tanto podemos deducir que la fuerza por unidad también será menor.

En conclusión la torre hiperbólica es mejor ante el viento ya que opone menos resistencia ante él, por eso es mejor la torre hiperbólica.

10 Uso de estructuras hiperboloides en ingeniería

El uso de las estructuras hiperbólicas en la ingeniería civil es bastante extendido.El primero y al que se le viene a la gente a la cabeza es el de nuestro trabajo, las torres hiperbólicas. Utilizada sobre todo en centrales nucleares para dejar salir el vapor de agua , usada para enfriar el núcleo.El uso de estas torres no se limita a lo nuclear si no a depósitos de agua , torres de control en aeropuertos…Esto es dado a su eficiencia estructural son resistentes a fuerzas externas debido a su diseño optimizado, lo que les permite ser ligeras pero robustas.

derecha

También son utilizadas en tejados para evitar utilizar columnas y ahorrar materiales. Y en puentes para reforzar la estructura.

centroizquierdacentroderechacentroderecha

Por añadidura su aspecto visual innovador las convierte en íconos arquitectónicos,elementos estéticos al mismo tiempo de servir como elemento de soporte a la estructura.

Con materiales avanzados como acero y concreto reforzado, estas estructuras logran combinar diseño y sostenibilidad. Se utilizan ampliamente en edificios públicos, estadios, estaciones de transporte y más, priorizando eficiencia energética y resistencia sísmica

En resumen, los hiperboloides representan una confluencia de diseño innovador, eficiencia estructural y estética, siendo elementos destacados en la ingeniería moderna y la arquitectura emblemática.