Diferencia entre revisiones de «El Tanque de Arroyofresno (Grupo 8)»

De MateWiki
Saltar a: navegación, buscar
(Función de concentración en la armadura en función de la profundidad)
(Póster)
 
(No se muestran 130 ediciones intermedias de 4 usuarios)
Línea 11: Línea 11:
  
  
==Funcionamiento del Tanque de Arroyofresno==
+
=='''Funcionamiento del Tanque de Arroyofresno'''==
 
[[Archivo:IMG_7636.jpg|500px|thumb|TANQUE DE TORMENTAS]]
 
[[Archivo:IMG_7636.jpg|500px|thumb|TANQUE DE TORMENTAS]]
 
El funcionamiento del tanque hace que  el agua entra por colectores con grandes filtros, se decanta y se almacena temporalmente antes de ser bombeada a la depuradora. Normalmente, el agua solo permanece en el tanque durante unas pocas horas, pues esta empieza a ser bombeada una vez cese la tormenta, por lo que durante episodios de tormentas de alta intensidad el agua puede llegar a quedarse en el estanque durante días.
 
El funcionamiento del tanque hace que  el agua entra por colectores con grandes filtros, se decanta y se almacena temporalmente antes de ser bombeada a la depuradora. Normalmente, el agua solo permanece en el tanque durante unas pocas horas, pues esta empieza a ser bombeada una vez cese la tormenta, por lo que durante episodios de tormentas de alta intensidad el agua puede llegar a quedarse en el estanque durante días.
Línea 21: Línea 21:
 
Para evitar la degradación total del hormigón de la estructura, existen varias estrategias de protección, entre las cuales destacan el diseño preventivo, recubriendo bien el material o utilizando hormigones de baja relación agua/cemento, utilizar protecciones superficiales como impregnaciones hidrófobas o un revestimiento de polímeros y la protección activa del hormigón a partir de un buen sistema de drenaje, sellado de juntas, un buen mantenimiento periódico y la utilización de inhibidores de corrosión sobre el hormigón.
 
Para evitar la degradación total del hormigón de la estructura, existen varias estrategias de protección, entre las cuales destacan el diseño preventivo, recubriendo bien el material o utilizando hormigones de baja relación agua/cemento, utilizar protecciones superficiales como impregnaciones hidrófobas o un revestimiento de polímeros y la protección activa del hormigón a partir de un buen sistema de drenaje, sellado de juntas, un buen mantenimiento periódico y la utilización de inhibidores de corrosión sobre el hormigón.
  
=Presión y fuerzas estructurales sobre columnas=
+
='''Presión y fuerzas estructurales sobre columnas'''=
==='''Representación del campo de presiones'''===
+
===Representación del campo de presiones===
  
  
Línea 156: Línea 156:
 
- Este resultado nos indica que la presión aumenta linealmente con la profundidad, y este cambio es uniforme en todo el tanque.
 
- Este resultado nos indica que la presión aumenta linealmente con la profundidad, y este cambio es uniforme en todo el tanque.
  
=='''Fuerza total del agua sobre la columna'''==
+
==Fuerza total del agua sobre la columna==
  
  
Línea 255: Línea 255:
 
- No hay componente vertical porque la presión hidrostática no ejerce fuerza sobre la superficie lateral en dirección vertical (esa fuerza actúa en el fondo, no en el costado).
 
- No hay componente vertical porque la presión hidrostática no ejerce fuerza sobre la superficie lateral en dirección vertical (esa fuerza actúa en el fondo, no en el costado).
  
=Infiltración y corrosión en columnas=
+
='''Infiltración y corrosión en columnas'''=
 
===Campo de concentración infiltrada===
 
===Campo de concentración infiltrada===
  
Línea 310: Línea 310:
 
[[Archivo:Seccion_transversal_g8.png|500px|thumb|SECCIÓN TRANSVERSAL]]
 
[[Archivo:Seccion_transversal_g8.png|500px|thumb|SECCIÓN TRANSVERSAL]]
 
{{matlab|codigo=
 
{{matlab|codigo=
%% (b) Sección transversal (a profundidad seleccionada)
 
 
clear; clc; close all;
 
clear; clc; close all;
  
Línea 334: Línea 333:
  
 
%% Concentración en el agua y en el hormigón  
 
%% Concentración en el agua y en el hormigón  
% C_agua(z) según enunciado: C0*(1 + alpha * |z| / H)
 
 
C_agua = C0 .* (1 + alpha .* abs(Z) ./ H);  % matriz nz x nr (depende solo de Z)
 
C_agua = C0 .* (1 + alpha .* abs(Z) ./ H);  % matriz nz x nr (depende solo de Z)
  
Línea 457: Línea 455:
 
La concentración de contaminantes en la armadura se calcula evaluando el perfil de infiltración en el radio donde se encuentra el acero:
 
La concentración de contaminantes en la armadura se calcula evaluando el perfil de infiltración en el radio donde se encuentra el acero:
  
<math>
+
<center><math>
 
C_{\text{acero}}(z) =
 
C_{\text{acero}}(z) =
 
C_{\text{agua}}(z) \cdot e^{-\alpha (R - r_{\text{armadura}})}
 
C_{\text{agua}}(z) \cdot e^{-\alpha (R - r_{\text{armadura}})}
</math>
+
</math></center>
  
 
donde:
 
donde:
  
<math>
+
<center><math>
 
C_{\text{agua}}(z) =
 
C_{\text{agua}}(z) =
 
C_0 \left( 1 + \beta \frac{z}{H} \right)
 
C_0 \left( 1 + \beta \frac{z}{H} \right)
</math>
+
</math></center>
  
 
se tiene que:
 
se tiene que:
  
<math>C_0 = 0.3 \,\text{kg/m}^3</math> (concentración en superficie)
+
<center><math>C_0 = 0.3 \,\text{kg/m}^3</math> (concentración en superficie)
  
 
<math>\beta = 3</math> (factor de incremento hacia el fondo)
 
<math>\beta = 3</math> (factor de incremento hacia el fondo)
Línea 483: Línea 481:
 
<math>\alpha = 10 \,\text{m}^{-1}</math> (coeficiente de atenuación por porosidad)
 
<math>\alpha = 10 \,\text{m}^{-1}</math> (coeficiente de atenuación por porosidad)
  
Umbral crítico para corrosión: <math>C_{\text{crit}} = 0.05 \,\text{kg/m}^3</math>
+
Umbral crítico para corrosión: <math>C_{\text{crit}} = 0.05 \,\text{kg/m}^3</math></center>
 +
 
  
 
Este análisis permite determinar si la concentración en la armadura supera el umbral crítico, lo que indica riesgo de corrosión y necesidad de mantenimiento preventivo.
 
Este análisis permite determinar si la concentración en la armadura supera el umbral crítico, lo que indica riesgo de corrosión y necesidad de mantenimiento preventivo.
 +
 +
2) Código MATLAB:
  
 
[[Archivo:Grafica_3.3_gp8.png|500px|thumb|CONCENTRACIÓN ARMADURA]]
 
[[Archivo:Grafica_3.3_gp8.png|500px|thumb|CONCENTRACIÓN ARMADURA]]
  
2) Código MATLAB:
 
 
{{matlab|codigo=
 
{{matlab|codigo=
 
% --- Parámetros del problema ---
 
% --- Parámetros del problema ---
Línea 529: Línea 529:
  
  
3)Interpretación:
+
3) Interpretación:
  
-La curva muestra que la concentración en la armadura aumenta con la profundidad, porque el agua es más contaminada en el fondo.
+
- La curva muestra que la concentración en la armadura aumenta con la profundidad, porque el agua es más contaminada en el fondo.
  
-La línea roja indica el umbral crítico: si la curva lo supera, hay riesgo de corrosión.
+
- La línea roja horizontal indica el umbral crítico: si la curva lo supera, hay riesgo de corrosión.
  
-En este caso, la concentración en la armadura probablemente cruza el umbral en las zonas más profundas, lo que significa que las barras de acero estarán expuestas a corrosión si el tanque permanece lleno durante mucho tiempo.
+
- En este caso, la concentración en la armadura probablemente cruza el umbral en las zonas más profundas, lo que significa que las barras de acero estarán expuestas a corrosión si el tanque permanece lleno durante mucho tiempo.
  
-Esto confirma la importancia del recubrimiento de hormigón y del mantenimiento preventivo en zonas profundas.
+
- Esto confirma la importancia del recubrimiento de hormigón y del mantenimiento preventivo en zonas profundas.
  
 
===Superficies de isoconcentración dentro de una columna===
 
===Superficies de isoconcentración dentro de una columna===
 +
 +
En este ejercicio se busca representar las superficies de isoconcentración dentro de una de las columnas del estanque, estas superficies representarán la lámina de puntos de igual concentración en el volumen de la columna de hormigón. 
 +
 +
La concentración infiltrada se describe mediante la siguiente expresión:
 +
 +
<math>
 +
C_{\text{col}}(r,z) = C_{\text{agua}}(z) \cdot e^{-\beta (r_c - r)}
 +
</math>
 +
 +
donde:
 +
<math>C_{\text{agua}}(z)</math> es la concentración en el agua en función de la profundidad <math>z</math>,
 +
<math>r</math> es la distancia radial desde el centro de la columna,
 +
<math>r_c</math> es el radio exterior de la columna,
 +
<math>\beta</math> es el coeficiente de atenuación que caracteriza la porosidad del hormigón.
 +
 +
1) Código MATLAB:
 +
 
[[Archivo:Isosuperficies_gp8.png|1000px|thumb|ISOSUPERFICIES]]
 
[[Archivo:Isosuperficies_gp8.png|1000px|thumb|ISOSUPERFICIES]]
 
{{matlab|codigo=
 
{{matlab|codigo=
Línea 606: Línea 623:
 
hold off;
 
hold off;
 
}}
 
}}
 +
 +
2) Interpretación:
 +
 +
- La gráfica representa las capas de igual concentración (con los valores dados en el enunciado). Estas capas tienen forma de lámina cilíndrica ya que la función <math>C_{\text{col}}</math> tiene como variables <math>{\text{z}}</math> y <math>\rho</math>. La concentración tendrá un valor mayor cuanto más cerca esté de la capa externa de la columna, y se irá reduciendo cuanto más se acerque al centro.
 +
 +
- Las superficies de menor concentración (0.1 kg/m³) se extenderán más hacia el interior y hacia zonas menos profundas.
 +
 +
- Si alguna superficie de concentración crítica (por ejemplo, >0.05 kg/m³) intersecta el radio de la armadura, la corrosión puede iniciarse.
  
 
===Vida útil de la columna en la zona crítica===
 
===Vida útil de la columna en la zona crítica===
 +
Cuando <math>C_{\text{acero}}(z) > C_{\text{crit}}</math>, se activa el proceso de corrosión uniforme de las armaduras, produciendo una reducción progresiva del diámetro efectivo. Para valorar la durabilidad estructural, se estima el tiempo necesario para que la pérdida de espesor alcance el 25% del diámetro original, límite habitual asociado a una disminución significativa de capacidad resistente.
 +
  
 
Datos: diámetro de la barra
 
Datos: diámetro de la barra
Línea 625: Línea 652:
  
 
<center><math>\boxed{t \approx 50\ \text{años}}</math></center>
 
<center><math>\boxed{t \approx 50\ \text{años}}</math></center>
 +
  
 
Interpretación: donde <math>C_{\text{acero}}(z) > C_{\text{crit}}</math>, la corrosión progresa a <math>0.1\ \text{mm/año}</math>, por lo que se requieren unos 50 años para alcanzar una pérdida del 25% del diámetro.
 
Interpretación: donde <math>C_{\text{acero}}(z) > C_{\text{crit}}</math>, la corrosión progresa a <math>0.1\ \text{mm/año}</math>, por lo que se requieren unos 50 años para alcanzar una pérdida del 25% del diámetro.
Línea 631: Línea 659:
  
  
En este ejercicio se busca calcular la masa total de contaminantes infiltrados en una columna y compararla con la masa de contaminantes en el volumen equivalente de agua que rodea la columna, este análisis permite analizar la capacidad de penetración de contaminantes en el hormigón frente a la concentración en el agua, esto es muy importante para estimar riesgos de corrosión en la armadura.
+
En este ejercicio se busca calcular la masa total de contaminantes infiltrados en una columna y compararla con la masa de contaminantes en el volumen equivalente de agua que rodea la columna, este análisis permite determinar la capacidad de penetración de contaminantes en el hormigón frente a la concentración en el agua, esto es muy importante para estimar riesgos de corrosión en la armadura.
  
 
Se busca calcular:
 
Se busca calcular:
Línea 661: Línea 689:
  
  
2) Código MATLAB:
+
2) Código MATLAB (Numérico):
  
 
{{matlab|codigo=
 
{{matlab|codigo=
%% (f) Masa total infiltrada en la columna (numérico)
+
%% (f) Masa total infiltrada en la columna  
 
% usar trapz para integración
 
% usar trapz para integración
 
nr_int = 400; nz_int = 800;
 
nr_int = 400; nz_int = 800;
Línea 694: Línea 722:
 
En este apartado se va a representar el campo de concentración de contaminantes en el agua, así, se podrá analizar como varía la concentración de contaminantes según la profundidad en el tanque, pues, como se ha explicado con anterioridad, las primeras aguas en llegar al tanque son las más contaminadas. Luego, cuanto más profundo, más contaminado.
 
En este apartado se va a representar el campo de concentración de contaminantes en el agua, así, se podrá analizar como varía la concentración de contaminantes según la profundidad en el tanque, pues, como se ha explicado con anterioridad, las primeras aguas en llegar al tanque son las más contaminadas. Luego, cuanto más profundo, más contaminado.
  
Se expondrán dos representaciones, la primera (apartado a en el código de MATLAB) es un simple, gráfico representando el campo de concentraciones frente a la profundidad. El segundo (apartado b) representa un mapa de colores simulando una pared del tanque.
+
Se expondrán dos representaciones, la primera (apartado a en el código de MATLAB) es un simple gráfico representando el campo de concentraciones frente a la profundidad. El segundo (apartado b) representa un mapa de colores simulando una pared del tanque.
  
 
Para poder analizar la concentración de contaminantes frente a la profundidad, debe saberse que la concentración de contaminantes viene dada por la siguiente función:
 
Para poder analizar la concentración de contaminantes frente a la profundidad, debe saberse que la concentración de contaminantes viene dada por la siguiente función:
Línea 704: Línea 732:
  
 
1) Código MATLAB:
 
1) Código MATLAB:
[[Archivo:Mapa_de_concentracion.png|350px|thumb]]
+
[[Archivo:Concentracion_contaminantes_gp8.png|600px|thumb]]
[[Archivo:Concentracion_contaminantes.png|350px|thumb]]
+
[[Archivo:Mapa_de_concentracion_gp8.png|800px|thumb]]
  
 
{{matlab|codigo=
 
{{matlab|codigo=
% Parámetros del problema
+
% Parámetros
rho0 = 0.3; % kg/m^3 (concentración en superficie)
+
C0 = 0.3;           % Concentración en superficie (kg/m^3)
beta = 3;   % incremento hacia el fondo
+
beta = 3;           % Factor de incremento hacia el fondo
H = 22;     % profundidad total del tanque (m)
+
H = 22;             % Profundidad del tanque (m)
L = 290;     % longitud del tanque (m)
+
L = 290;             % Longitud del tanque (m)
W = 140;     % anchura del tanque (m)
+
 
 +
% Vector de profundidad
 +
z = linspace(-H,0,200); % Desde el fondo (-H) hasta la superficie (0)
  
% Vector de profundidad (z desde -H hasta 0)
+
% Concentración en el agua (corrigiendo el signo)
z = linspace(-H, 0, 200);
+
Cagua = C0*(1 - beta*z/H); % Aumenta hacia el fondo
rho_agua = rho0 * (1 + beta * (z / H));
+
  
% (a) Gráfico de la función rho_agua(z)
+
% (a) Gráfico de la función Cagua(z)
 
figure;
 
figure;
plot(z, rho_agua, 'b', 'LineWidth', 2);
+
plot(Cagua,z,'b','LineWidth',2);
xlabel('Profundidad z (m)');
+
xlabel('Concentración [kg/m^3]');
ylabel('Concentración \rho_{agua} (kg/m^3)');
+
ylabel('Profundidad z [m]');
title('Concentración de contaminantes en función de la profundidad');
+
title('Concentración de contaminantes en el agua vs profundidad');
 
grid on;
 
grid on;
 +
set(gca,'YDir','reverse'); % Superficie arriba, fondo abajo
  
 
% (b) Mapa de colores sobre una pared del tanque
 
% (b) Mapa de colores sobre una pared del tanque
% Creamos una matriz donde la concentración depende solo de z
+
nx = 50; nz = 50;
nx = 200; % puntos en la longitud
+
x = linspace(-L/2,L/2,nx);
nz = length(z);
+
Z = linspace(-H,0,nz);
[X,Z] = meshgrid(linspace(0,L,nx), z);
+
[X,Zgrid] = meshgrid(x,Z);
C = rho0 * (1 + beta * (Z / H));
+
 
 +
Cmap = C0*(1 - beta*Zgrid/H);
  
 
figure;
 
figure;
imagesc([0 L], [-H 0], C);
+
contourf(X,Zgrid,Cmap,20,'LineColor','none');
set(gca,'YDir','normal'); % para que el eje z vaya hacia abajo
+
xlabel('Longitud del tanque (m)');
+
ylabel('Profundidad (m)');
+
title('Mapa de concentración sobre una pared del tanque');
+
 
colorbar;
 
colorbar;
colormap(jet);
+
xlabel('Longitud x [m]');
 +
ylabel('Profundidad z [m]');
 +
title('Mapa de concentración sobre la pared del tanque');
 +
set(gca,'YDir','reverse'); % Superficie arriba
 +
axis equal;
 
}}
 
}}
  
Línea 766: Línea 797:
  
 
1) Código MATLAB
 
1) Código MATLAB
[[Archivo:Gradiente_concentracion.png|800px|thumb|GRADIENTE DE CONCENTRACIÓN]]
+
[[Archivo:Gradiente_concentracion_gp8.png|700px|thumb|GRADIENTE DE CONCENTRACIÓN]]
 
{{matlab|codigo=
 
{{matlab|codigo=
 +
clear; clc;
  
 
% Parámetros
 
% Parámetros
 
C0 = 0.3;      % kg/m^3
 
C0 = 0.3;      % kg/m^3
beta = 3;     % factor de incremento
+
alpha = 3;     % adimensional
H = 22;        % profundidad en m
+
B = 22;        % profundidad en metros
L = 290;      % longitud del tanque
+
L = 290;      % longitud del tanque (m)
W = 140;      % anchura del tanque
+
  
% Dominio de la pared (tomamos la pared longitudinal)
+
% Mallado para la pared del tanque
nx = 30; nz = 30;
+
nx = 50; ny = 50;
x = linspace(-L/2, L/2, nx);
+
x = linspace(0, L, nx);
z = linspace(-H, 0, nz);
+
z = linspace(0, -B, ny);
 
[X,Z] = meshgrid(x,z);
 
[X,Z] = meshgrid(x,z);
  
% Campo de concentración
+
% Concentración en el agua
Cagua = C0*(1 + beta*Z/H);
+
Cagua = C0 * (1 + alpha * (Z / B));
  
% Gradiente (constante en z)
+
% Gradiente de concentración (constante)
gradC = (C0*beta/H); % kg/m^4
+
gradC = C0 * alpha / B; % kg/m^4
Ux = zeros(size(X)); % componente x
+
U = zeros(size(X));     % componente horizontal
Uz = gradC*ones(size(Z)); % componente z (vertical)
+
V = -gradC * ones(size(Z)); % componente vertical (hacia abajo)
  
 
% Representación
 
% Representación
 
figure;
 
figure;
contourf(X,Z,Cagua,20); colorbar;
+
% Mapa de colores para la concentración
 +
contourf(X,Z,Cagua,20,'LineColor','none');
 +
colormap(jet);
 +
colorbar;
 
hold on;
 
hold on;
quiver(X,Z,Ux,Uz,'k');
+
 
xlabel('x [m]'); ylabel('z [m]');
+
% Campo vectorial (flechas)
title('Gradiente de concentración sobre la pared del tanque');
+
quiver(X,Z,U,V,'k','LineWidth',1,'MaxHeadSize',0.5);
axis equal;
+
 
 +
xlabel('Longitud (m)');
 +
ylabel('Profundidad (m)');
 +
title('Concentración y gradiente de contaminantes en el agua');
 +
axis([0 L -B 0]);
 +
set(gca,'YDir','normal'); % Para que 0 esté arriba y -B abajo
 +
grid on;
 
}}
 
}}
  
Línea 876: Línea 916:
 
Datos del problema:
 
Datos del problema:
  
<math>\textbf{Dimensiones del tanque:}</math>
+
- Dimensiones del tanque:
  
 
<center><math>L = 290\,\text{m},\quad W = 140\,\text{m},\quad h = 7\,\text{m}</math></center>
 
<center><math>L = 290\,\text{m},\quad W = 140\,\text{m},\quad h = 7\,\text{m}</math></center>
Línea 885: Línea 925:
 
</math></center>
 
</math></center>
  
 
+
- Perfil de concentración en el agua:
 
+
<math>\textbf{Perfil de concentración en el agua:}</math>
+
  
  
Línea 896: Línea 934:
  
  
<math>\textbf{Masa total de contaminantes (definición general):}</math>
+
- Masa total de contaminantes (definición general):
  
  
Línea 905: Línea 943:
  
  
<math>\textbf{Masa en el tanque (sección constante):}</math>
+
- Masa en el tanque (sección constante):
  
  
Línea 914: Línea 952:
  
  
<math>\textbf{Resolución de la integral:}</math>
+
- Resolución de la integral:
  
  
Línea 925: Línea 963:
  
  
<math>\textbf{Sustitución numérica:}</math>
+
- Sustitución numérica:
  
  
Línea 943: Línea 981:
  
  
<math>\textbf{Resultado:}</math>
+
- Resultado:
 
<center><math>\quad M \approx 44{,}600\ \text{kg}</math></center>
 
<center><math>\quad M \approx 44{,}600\ \text{kg}</math></center>
  
==24 horas pasadas==
+
==Pasadas 24 horas==
===Masa de contaminantes depositados===
+
 
 +
En este apartado y los siguientes subapartados, se simula una decantación de 24 horas en el tanque para analizar varias incógnitas como la masa de contaminantes, el volumen del lodo, espesor promedio y por último un caso en el que se estima cada cuanto debe limpiarse el tanque.
 +
 
 +
En esta parte del trabajo tomaremos los siguientes datos:
 +
 
 +
- Masa total de contaminantes del agua:
 +
<center><math>M_{\text{total}} = 1.26 \times 10^{7}\ \text{kg}</math></center>
 +
 
 +
- Porcentaje decantado en 24h:
 +
<center><math>60\%</math></center>
 +
 
 +
- Densidad aparente del lodo:
 +
<center><math>\rho_{\text{lodo}} = 1400 \ \mathrm{kg\,m^{-3}}</math></center>
 +
 
 +
- Dimensiones del tanque:
 +
<center><math>L = 290\,\text{m},\quad W = 140\,\text{m}</math></center>
 +
 
 +
 
 +
Código MATLAB (numérico):
 
{{matlab|codigo=
 
{{matlab|codigo=
 
% masa_lodo.m
 
% masa_lodo.m
Línea 974: Línea 1030:
 
fprintf('Masa depositada: %.2f kg\nVolumen lodo: %.2f m^3\nEspesor evento: %.4f m (%.2f mm)\n', M_dep, V_lodo, espesor, espesor*1000);
 
fprintf('Masa depositada: %.2f kg\nVolumen lodo: %.2f m^3\nEspesor evento: %.4f m (%.2f mm)\n', M_dep, V_lodo, espesor, espesor*1000);
 
fprintf('Espesor anual (8 eventos): %.4f m (%.2f mm)\n', espesor*8, espesor*8*1000);}}
 
fprintf('Espesor anual (8 eventos): %.4f m (%.2f mm)\n', espesor*8, espesor*8*1000);}}
 +
 +
===Masa de contaminantes depositados===
 +
 +
Sustituyendo el porcentaje (60% = 60/100) y la masa total de contaminantes del agua:
 +
 +
<center><math>M_{\text{depositada}} = 0.60 \cdot M \approx 0.60 \cdot 125952.27 \approx 75571.36 \ \mathrm{kg}</math></center>
  
 
===Volumen de lodo===
 
===Volumen de lodo===
 +
En cuanto al volumen, lo calcularemos de la siguiente forma:
 +
 +
<center><math>V_{\text{lodo}} = \frac{M_{\text{depositada}}}{\rho_{\text{lodo}}} = \frac{75571.36 \ \mathrm{kg}}{1400 \ \mathrm{kg/m^3}} \approx 53.98 \ \mathrm{m^3}</math></center>
  
 
===Espesor promedio de la capa de lodo en el fondo===
 
===Espesor promedio de la capa de lodo en el fondo===
 +
¿Y el espesor promedio?Tomaremos en cuenta lo siguiente:
 +
Vamos a considerar los siguientes factores:
 +
 +
- Área del fondo efectiva:<center> <math>\text{Área total} - \text{Área cubierta por columnas}</math></center>
 +
  - Área total del tanque:<center> <math>A = 40600 \ \mathrm{m^2}</math></center>
 +
  - Número aproximado de columnas: <center><math>N \approx \frac{L}{15} \cdot \frac{W}{15} \approx 19.333 \cdot 9.333 \approx 180.44</math></center>
 +
 +
<center>(Se toma <math>N = 180</math>)</center>
 +
 +
  - Área de una columna: <center><math>A_{\text{col}} = \pi R_c^2 = \pi (0.75)^2 \approx 1.76715 \ \mathrm{m^2}</math></center>
 +
  - Área total ocupada por columnas: <center><math>A_{\text{col_total}} = 180 \cdot 1.76715 \approx 318.87 \ \mathrm{m^2}</math></center>
 +
 +
- Área efectiva del fondo: <center><math>A_{\text{ef}} = 40600 - 318.87 \approx 40281.91 \ \mathrm{m^2}</math></center>
 +
 +
Con ello, al estimar el espesor promedio obtenemos el siguiente resultado:
 +
 +
<center><math> e = \frac{V_{\text{lodo}}}{A_{\text{ef}}} \approx \frac{53.98 \ \mathrm{m^3}}{40281.91 \ \mathrm{m^2}} \approx 0.00134 \ \mathrm{m} = 1.34 \ \mathrm{mm}</math></center>
  
 
===Si el tanque se usa en promedio 8 veces al año, calcula el espesor total de lodo acumulado en un año (asumiendo que no se limpia entre eventos). Si se considera necesario limpiar cuando el espesor supera los 30 cm, ¿sería suficiente una limpieza anual?===
 
===Si el tanque se usa en promedio 8 veces al año, calcula el espesor total de lodo acumulado en un año (asumiendo que no se limpia entre eventos). Si se considera necesario limpiar cuando el espesor supera los 30 cm, ¿sería suficiente una limpieza anual?===
  
=Póster=
+
Si el tanque se utiliza 8 veces al año, el espesor anual acumulado de lodo se calculará como:
[[Archivo:POSTER_CAMPOS_GP8.png|900px|thumb]]
+
 
 +
<center><math>e_{\text{anual}} = 8 \cdot 0.00134 \ \mathrm{m} \approx 0.01072 \ \mathrm{m} = 10.72 \ \mathrm{mm}</math></center>
 +
 
 +
 
 +
La limpieza del tanque es necesaria cuando el espesor acumulado supera los <math>0.30 \ \mathrm{m} = 300 \ \mathrm{mm}</math>. Comparando:
 +
 
 +
- Espesor anual <math>\approx 10.72 \ \mathrm{mm}</math>
 +
 
 +
- Conclusión: Una limpieza anual sería más que suficiente para mantener el espesor del lodo por debajo de los <math>0.30 \ \mathrm{m}</math>, salvo que en la práctica existan otros aportes o sedimentaciones no contempladas, o se acumulen materiales distintos con mayor densidad o concentración de sedimentos
 +
 
 +
='''Póster'''=
 +
[[Archivo:Poster_campos_grupo8.png|900px|thumb]]

Revisión actual del 15:48 6 dic 2025

Trabajo realizado por estudiantes
Título El tanque de tormentas de Arroyofresno. Grupo 8
Asignatura Teoría de Campos
Curso 2025-26
Autores
  • Alejandro Ayuso Hernández
  • Daniel Álvaro Castejón
  • Jean Carlo Peña Palacios
  • Nerea García Pérez
  • Rodrigo Ruiz-Bailón Camacho
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

El tanque de Arroyofresno, es el tanque de tormentas más grande de Europa, se activa cuando tras una tormenta de alta intensidad, las redes de alcantarillado de Madrid y las diferentes depuradoras de la ciudad son incapaces de almacenar más agua, así, el agua se deriva al tanque mediante un colector de 3km y 6,7m de diámetro, logrando evitar desbordes, inundaciones, caudales punta y el vertimiento de aguas contaminadas al Río Manzanares.


1 Funcionamiento del Tanque de Arroyofresno

TANQUE DE TORMENTAS

El funcionamiento del tanque hace que el agua entra por colectores con grandes filtros, se decanta y se almacena temporalmente antes de ser bombeada a la depuradora. Normalmente, el agua solo permanece en el tanque durante unas pocas horas, pues esta empieza a ser bombeada una vez cese la tormenta, por lo que durante episodios de tormentas de alta intensidad el agua puede llegar a quedarse en el estanque durante días.

Como se ha mencionado anteriormente, el tanque de tormentas de Arroyofresno es el más grande de España y de Europa, aun así, España goza de una gran red de tanques de tormentas. En toda España hay un total de 470, y solo en la Comunidad de Madrid podemos encontrar un total de 65 tanques, de los que destacan el de Arroyofresno, Butarque, La China o Retamas, así, Madrid es una de las regiones con mayor red del mundo. A nivel europeo, Madrid lidera todos los rankings en cuanto a número de tanques y la capacidad de estos, aunque otras grandes ciudades europeas como París, Berlín y Londres también tienen grandes redes, destacando los tanques de Bassin de la Villete (París) o Regenrückhaltebecken Tege (Berlín).

Cuando una estructura de hormigón (como el tanque en cuestión) es expuesta a aguas contaminadas, estas pueden causar problemas estructurales y de durabilidad, pues las aguas contaminadas pueden degradar la estructura a partir de varios mecanismos, algunas de las principales amenazas son la carbonatación (el CO2 reduce el pH del hormigón pudiendo corroer el material), las posibles reacciones químicas internas causadas por sulfitos, ácidos o sales disueltas en las aguas contaminadas y abrasión o impactos por los diferentes materiales arrastrados.

Para evitar la degradación total del hormigón de la estructura, existen varias estrategias de protección, entre las cuales destacan el diseño preventivo, recubriendo bien el material o utilizando hormigones de baja relación agua/cemento, utilizar protecciones superficiales como impregnaciones hidrófobas o un revestimiento de polímeros y la protección activa del hormigón a partir de un buen sistema de drenaje, sellado de juntas, un buen mantenimiento periódico y la utilización de inhibidores de corrosión sobre el hormigón.

2 Presión y fuerzas estructurales sobre columnas

2.1 Representación del campo de presiones

PRESIÓN HIDROSTÁTICA

En este apartado se va a analizar la presión hidrostática que sufre la superficie de las diferentes columnas del tanque cuando este está lleno, buscando obtener una representación escalar de cómo varía la presión en función de la profundidad.

1) Fórmula y datos:

Campo escalar de presión hidrostática:

[math] P(z) = P_0 - \rho g z, \quad z \in [-H, 0] [/math]

Esta expresión indica que la presión aumenta linealmente con la profundidad. El término [math]P_0[/math] es la presión atmosférica en la superficie, [math]\rho[/math] la densidad del agua, y [math]g[/math] la aceleración de la gravedad.

[math] P_0 = 101325 \,\text{Pa} [/math]

[math] \rho = 1000 \,\text{kg/m}^3 [/math]
[math] g = 9.81 \,\text{m/s}^2 [/math]
[math] H = 22 \,\text{m} [/math]

[math] \text{Radio de la columna: } R_c = 0.75 \,\text{m} [/math]


2) Parametrización del cilindro:

[math] x = R_c \cos\theta, \quad y = R_c \sin\theta, \quad z = z [/math]


3) Código MATLAB:

clear; clc;

% Parámetros
H = 22;
rho = 1000;
g=9.81;
P0 = 101325;
Rc = 0.75;

% Mallado cilindro
theta = linspace(0, 2*pi, 300);
z = linspace(-H, 0, 300);
[Theta, Z] = meshgrid(theta, z);

X = Rc*cos(Theta);
Y = Rc*sin(Theta);

% Presión hidrostática
P = P0 - rho*g*Z;

% Representación
figure;
surf(X, Y, Z, P);
shading interp;
colorbar;
xlabel('x'); 
ylabel('y'); 
zlabel('z');
title('Campo de presión P(z) sobre la superficie de la columna');
axis equal;


4) Interpretación:

- La presión es máxima en el fondo (colores cálidos).

- La presión es mínima en la superficie (colores fríos).

- Cada franja horizontal tiene presión constante.

2.2 Gradiente de presión y representación como campo vectorial

GRADIENTE DE PRESIONES

En este apartado, se volverá a analizar el campo de presión hidrostática para representarlo como un campo vectorial, obteniendo una representación vectorial en lugar de una escalar, que ya se ha obtenido en el apartado anterior.

1) Cálculo del gradiente:

[math] \nabla P = (0,\,0,\,-\rho g) [/math]

- Magnitud constante

[math] |\nabla P| = \rho g = 9810 \,\text{Pa/m} [/math]


2) Código MATLAB:

clear; clc;

H = 22;
rho = 1000;
g = 9.81;
Rc = 0.75;
theta = linspace(0, 2*pi, 40);
z = linspace(-H, 0, 40);
[Theta, Z] = meshgrid(theta, z);
X = Rc*cos(Theta);
Y = Rc*sin(Theta);

% Gradiente constante

dPx = zeros(size(Z));
dPy = zeros(size(Z));
dPz = -rho*g * ones(size(Z));
figure;
quiver3(X, Y, Z, dPx, dPy, dPz, 'AutoScaleFactor', 0.4);
xlabel('x'); ylabel('y'); zlabel('z');
title('Gradiente de presión sobre la superficie de la columna');
axis equal;


3) Interpretación:

- Todos los vectores son paralelos entre sí y direccionados hacia el fondo.

- Este resultado nos indica que la presión aumenta linealmente con la profundidad, y este cambio es uniforme en todo el tanque.

2.3 Fuerza total del agua sobre la columna

Para poder calcular la fuerza total que ejerce el agua sobre una columna, el primer paso será analizar la geometría de la columna en cuestión, posteriormente se calculará el campo vectorial de fuerza de presión y por último la fuerza total.


1) Geometría de la columna:

El radio de la columna es:

[math] \rho_c = 0.75 \,\mathrm{m} [/math]

Su superficie lateral se parametriza como:

[math] \mathbf{r}(\theta, z) = \begin{pmatrix} \rho_c \cos\theta \\ \rho_c \sin\theta \\ z \end{pmatrix}, \quad \theta \in [0, 2\pi], \; z \in [-H, 0]. [/math]

Para un cilindro vertical, el normal saliente es:

[math] \mathbf{n}(\theta, z) = \begin{pmatrix} \cos\theta \\ \sin\theta \\ 0 \end{pmatrix}. [/math]

El diferencial de superficie es:

[math] dS = \rho_c \, d\theta \, dz. [/math]


2) Campo vectorial de fuerza sobre presión:


[math] \mathbf{F}(\theta, z) = -P(z)\,\mathbf{n}(\theta, z) = -(P_0 - \rho g z) \begin{pmatrix} \cos\theta \\ \sin\theta \\ 0 \end{pmatrix}. [/math]


3) Fuerza total sobre la columna:


La fuerza total es la integral sobre la superficie lateral:

[math] \mathbf{F}_{\text{tot}} = \int_{-H}^{0} \int_{0}^{2\pi} \mathbf{F}(\theta, z)\, dS = -\rho_c \int_{-H}^{0} (P_0 - \rho g z) \left( \int_{0}^{2\pi} \begin{pmatrix} \cos\theta \\ \sin\theta \\ 0 \end{pmatrix} d\theta \right) dz. [/math]


Sin embargo, se da que:


[math] \int_{0}^{2\pi} \cos\theta \, d\theta = 0, \quad \int_{0}^{2\pi} \sin\theta \, d\theta = 0. [/math]


Por lo que, finalmente, la fuerza total es:


[math] \mathbf{F}_{\text{tot}} =0. [/math]


4) Interpretación:

- Cada vector de fuerza apunta hacia el centro de la columna (dirección radial).

- Por simetría, las fuerzas en direcciones opuestas se anulan.

- No hay componente vertical porque la presión hidrostática no ejerce fuerza sobre la superficie lateral en dirección vertical (esa fuerza actúa en el fondo, no en el costado).

3 Infiltración y corrosión en columnas

3.1 Campo de concentración infiltrada

En este apartado se busca el campo de concentración infiltrada, este campo describe cómo los contaminantes presentes en el agua del tanque penetran en el hormigón de la columna, disminuyendo su concentración a medida que se avanza hacia el interior debido a la porosidad del material.Consideremos la fórmula:

[math] C_{\text{col}}(r,z) = C_{0}\left(1 + \alpha \frac{|z|}{H}\right)\exp\!\left[-\lambda(\rho_{c}-r)\right] [/math]

Como se pide, se obtendrán dos representaciones del campo en cuestión, la primera será una sección vertical mientras que la segunda será una sección transversal.

1) Sección vertical (código MATLAB):

SECCIÓN VERTICAL
% infiltracion_columna.m
clear; clc; close all;

% Parámetros (del enunciado)
H = 22;        % m
Rc = 0.75;     % m (radio columna)
Ra = 0.65;     % m (radio armadura)
C0 = 0.3;      % kg/m^3
alpha = 3;
lambda = 10;   % m^-1

% Funciones discretas
nr = 300; nz = 300;
r = linspace(0, Rc, nr);
z = linspace(-H, 0, nz);
[R, Z] = meshgrid(r, z);   % matrices (nz x nr) if meshgrid(z,r),
% Concentración en el agua
Cagua = @(zz) C0 .* (1 + alpha .* abs(zz) ./ H);

% Concentración infiltrada (R: radial positions ; Z: depths)
Ccol = Cagua(Z) .* exp(-lambda .* (Rc - R));

%% (a) Sección vertical (r vs z) - mapa de colores
figure;
imagesc(r, z, Ccol);
set(gca,'YDir','normal');
colorbar;
xlabel('\rho (m)'); ylabel('z (m)');
title('Concentración infiltrada C_{col}(\rho,z) — sección vertical');
hold on;
% marcar armadura (vertical line at rho = Ra)
plot([Ra Ra], [-H 0], 'k--', 'LineWidth', 2);
text(Ra+0.02, -H+1, 'armadura (\rho_a)', 'Color', 'k');
hold off;


2) Sección transversal (código MATLAB):

SECCIÓN TRANSVERSAL
clear; clc; close all;

%% Parámetros 
Rc    = 0.75;      % radio exterior columna (m)
Ra    = 0.65;      % posición de la armadura (m)
H     = 22;        % altura/ profundidad (m)

C0    = 0.3;       % concentración en superficie (kg/m^3) 
alpha = 3;         % aumento hacia el fondo (adimensional) 
lambda= 10;        % coeficiente atenuación radial (m^-1)    
Ccrit = 0.05;      % umbral crítico corrosión (kg/m^3)      

%% Mallado (radial y vertical) 
nr = 200;          % resolución radial
nz = 300;          % resolución vertical

r = linspace(0, Rc, nr);     % 0 .. Rc
z = linspace(-H, 0, nz);     % -H .. 0 (z negativo hacia abajo)

% Generamos malla 2D: R (cols=r), Z (rows=z)
[R, Z] = meshgrid(r, z);     % size = [nz x nr]

%% Concentración en el agua y en el hormigón 
C_agua = C0 .* (1 + alpha .* abs(Z) ./ H);   % matriz nz x nr (depende solo de Z)

% Concentración infiltrada en el hormigón (radialmente atenuada)
C_col = C_agua .* exp(-lambda .* (Rc - R));  % nz x nr

%% Sección transversal
% Elegimos z0 = -H/2 (media profundidad), puedes cambiarlo si quieres
z0 = -H/2;
% Concentración del agua en esa profundidad
C_agua_z0 = C0 * (1 + alpha * abs(z0) / H);

% Mallado para seccion transversal en coordenadas (theta, r)
theta = linspace(0, 2*pi, 360);
r_grid = linspace(0, Rc, 200);
[Rg, Tg] = meshgrid(r_grid, theta);   % Rg: theta x r_grid

% Coordenadas cartesianas
X = Rg .* cos(Tg);
Y = Rg .* sin(Tg);

% Concentración en sección transversal (depende de r)
C_sec = C_agua_z0 .* exp(-lambda .* (Rc - Rg));

figure('Name','Sección transversal C_{col}','NumberTitle','off');
p = pcolor(X, Y, C_sec); shading interp;
axis equal tight;
colorbar;
xlabel('x (m)'); ylabel('y (m)');
title(sprintf('Sección transversal a z = %.1f m', z0));
hold on;

% Dibujar el círculo de la armadura
plot(Ra*cos(theta), Ra*sin(theta), 'k--', 'LineWidth', 2);
text(Ra, 0, 'Armadura', 'FontWeight','bold');
hold off;


3) Interpretaciones:

- La sección vertical muestra concentraciones crecientes con profundidad.

- La sección transversal muestra atenuación radial desde la superficie hacia el centro y el círculo de la armadura marcado.

3.2 Campo del gradiente de concentración infiltrada

En este apartado se representará el campo del gradiente de concentración infiltrada, para ver como varía la concentración infiltrada en las posibles direcciones. El gradiente indica la dirección y magnitud del cambio más rápido de concentración, lo que es clave para entender cómo los contaminantes se propagan hacia la armadura.

1) Cálculos iniciales:

La concentración de contaminantes en el agua varía con la profundidad según

[math] C_{\text{agua}}(z)=C_0\left(1+\alpha\,\frac{|z|}{H}\right),\qquad z\in[-H,0] [/math]

donde [math]C_0 = 0.3,\text{kg/m}^3[/math] y [math]\alpha = 3[/math].

La concentración que penetra en el hormigón de la columna se describe mediante

[math] C_{\text{col}}(r,z)=C_{\text{agua}}(z)\, e^{-\lambda(\rho_a - r)},\qquad 0\le r\le \rho_a [/math]

con [math]\rho_a = 0.65,\text{m}[/math] (radio donde se ubica la armadura) y [math]\lambda = 10,\text{m}^{-1}[/math] (coeficiente de atenuación del hormigón).

El gradiente de la concentración, expresado en coordenadas cilíndricas [math](r,z)[/math], es


[math] \nabla C_{\text{col}}(r,z)= \left( \frac{\partial C_{\text{col}}}{\partial r}, \frac{\partial C_{\text{col}}}{\partial z} \right) = \left( \lambda\, C_{\text{col}}(r,z), -\,C_0\,\alpha\,\frac{1}{H}\, e^{-\lambda(\rho_a - r)} \right) [/math]


En una sección vertical que corta el eje de la columna (plano [math]y=0[/math]), se introduce la coordenada horizontal [math]x[/math] de forma que [math]r=|x|[/math].

Con esta relación, el campo vectorial se expresa como [math]\nabla C_{\text{col}}(x,z)[/math].


2) Código MATLAB

GRADIENTE SECCIÓN VERTICAL
%%Gradiente en la sección vertical (quiver)
% calcular derivadas parciales (en coordenadas r,z)
[Dr, Dz] = deal(zeros(size(Ccol)));
% ∂C/∂r (centradas)
for j=2:(nr-1)
    Dr(:,j) = (Ccol(:,j+1) - Ccol(:,j-1)) / (r(j+1)-r(j-1));
end
% forward/backward en los extremos
Dr(:,1) = (Ccol(:,2)-Ccol(:,1)) / (r(2)-r(1));
Dr(:,nr) = (Ccol(:,nr)-Ccol(:,nr-1)) / (r(nr)-r(nr-1));

% ∂C/∂z (centradas)
for i=2:(nz-1)
    Dz(i,:) = (Ccol(i+1,:) - Ccol(i-1,:)) / (z(i+1)-z(i-1));
end
Dz(1,:) = (Ccol(2,:)-Ccol(1,:)) / (z(2)-z(1));
Dz(nz,:) = (Ccol(nz,:)-Ccol(nz-1,:)) / (z(nz)-z(nz-1));

% plot vector field: convertir coordenada r,z a x = r (horizontal axis), z vertical
skip = 8;
figure;
quiver(R(1:skip:end,1:skip:end), Z(1:skip:end,1:skip:end), ...
       Dr(1:skip:end,1:skip:end), Dz(1:skip:end,1:skip:end));
xlabel('\rho (m)'); ylabel('z (m)');
title('\nabla C_{col}(\rho,z) (componentes \partial/\partial \rho, \partial/\partial z)');
set(gca,'YDir','normal');


3) Interpretación:

- Los vectores apuntan hacia el exterior y hacia el fondo, porque la concentración aumenta hacia la superficie del hormigón y hacia abajo.

- La componente radial es mucho mayor cerca de la superficie, indicando que la difusión hacia el interior es más intensa en la zona externa.

3.3 Función de concentración en la armadura en función de la profundidad

En este apartado se pide representar con un gráfico la concentración de contaminantes en la armadura en función de la profundidad, que, como se ha visto anteriormente, a mayor profundidad del tanque, se da una mayor concentración de contaminantes se aprecia. Más concretamente, se representará el gráfico con una línea horizontal, la cual representa el umbral crítico, este identifica la zona de riesgo de corrosión, este estudio permite determinar la vida útil de la estructura, prevenir la citada corrosión y la planificación de un mantenimiento adecuado.


1) Datos y funciones:

La concentración de contaminantes en la armadura se calcula evaluando el perfil de infiltración en el radio donde se encuentra el acero:

[math] C_{\text{acero}}(z) = C_{\text{agua}}(z) \cdot e^{-\alpha (R - r_{\text{armadura}})} [/math]

donde:

[math] C_{\text{agua}}(z) = C_0 \left( 1 + \beta \frac{z}{H} \right) [/math]

se tiene que:

[math]C_0 = 0.3 \,\text{kg/m}^3[/math] (concentración en superficie)

[math]\beta = 3[/math] (factor de incremento hacia el fondo)

[math]H = 22 \,\text{m}[/math] (profundidad del tanque)

[math]R = 0.75 \,\text{m}[/math] (radio exterior de la columna)

[math]r_{\text{armadura}} = 0.65 \,\text{m}[/math] (radio donde está la armadura)

[math]\alpha = 10 \,\text{m}^{-1}[/math] (coeficiente de atenuación por porosidad)

Umbral crítico para corrosión: [math]C_{\text{crit}} = 0.05 \,\text{kg/m}^3[/math]


Este análisis permite determinar si la concentración en la armadura supera el umbral crítico, lo que indica riesgo de corrosión y necesidad de mantenimiento preventivo.

2) Código MATLAB:

CONCENTRACIÓN ARMADURA
% --- Parámetros del problema ---
C0 = 0.3;            % Concentración en superficie (kg/m^3)
beta = 3;            % Factor de incremento hacia el fondo
H = 22;              % Profundidad del tanque (m)
alpha = 10;          % Coeficiente de atenuación (m^-1)
R = 0.75;            % Radio exterior de la columna (m)
r_armadura = 0.65;   % Radio donde está la armadura (m)
Ccrit = 0.05;        % Umbral crítico para corrosión (kg/m^3)

% --- Factor de atenuación radial ---
% Representa la pérdida de concentración desde la superficie exterior hasta la armadura
factor_radial = exp(-alpha*(R - r_armadura));

% --- Vector de profundidad ---
% Se toma desde el fondo (-H) hasta la superficie (0)
z = linspace(-H,0,200);

% --- Concentración en el agua ---
% Varía linealmente con la profundidad
Cagua = C0*(1 + beta*z/H);

% --- Concentración en la armadura ---
% Se calcula aplicando el factor radial a la concentración del agua
Cacero = Cagua * factor_radial;

% --- Gráfico ---
figure;
plot(z,Cacero,'b','LineWidth',2);          % Curva de concentración en la armadura
hold on;
yline(Ccrit,'r--','Umbral crítico');       % Línea horizontal indicando el umbral
xlabel('Profundidad z [m]');               % Etiqueta del eje X
ylabel('Concentración en armadura [kg/m^3]'); % Etiqueta del eje Y
title('Concentración en la armadura vs profundidad'); % Título del gráfico
grid on;
legend('C_{acero}(z)','Umbral crítico');   % Leyenda explicativa


3) Interpretación:

- La curva muestra que la concentración en la armadura aumenta con la profundidad, porque el agua es más contaminada en el fondo.

- La línea roja horizontal indica el umbral crítico: si la curva lo supera, hay riesgo de corrosión.

- En este caso, la concentración en la armadura probablemente cruza el umbral en las zonas más profundas, lo que significa que las barras de acero estarán expuestas a corrosión si el tanque permanece lleno durante mucho tiempo.

- Esto confirma la importancia del recubrimiento de hormigón y del mantenimiento preventivo en zonas profundas.

3.4 Superficies de isoconcentración dentro de una columna

En este ejercicio se busca representar las superficies de isoconcentración dentro de una de las columnas del estanque, estas superficies representarán la lámina de puntos de igual concentración en el volumen de la columna de hormigón.

La concentración infiltrada se describe mediante la siguiente expresión:

[math] C_{\text{col}}(r,z) = C_{\text{agua}}(z) \cdot e^{-\beta (r_c - r)} [/math]

donde: [math]C_{\text{agua}}(z)[/math] es la concentración en el agua en función de la profundidad [math]z[/math], [math]r[/math] es la distancia radial desde el centro de la columna, [math]r_c[/math] es el radio exterior de la columna, [math]\beta[/math] es el coeficiente de atenuación que caracteriza la porosidad del hormigón.

1) Código MATLAB:

ISOSUPERFICIES
%% Isosuperficies 3D 
clear; clc; close all;

%% Parámetros
Rc = 0.75;
Ra = 0.65;
H  = 22;

C0 = 0.3;
alpha = 3;
lambda = 10;

%% Mallado NDGRID
nt = 60; nr3 = 60; nz3 = 60;

r3 = linspace(0, Rc, nr3);
t3 = linspace(0, 2*pi, nt);
z3 = linspace(-H, 0, nz3);

[T3, R3, Z3] = ndgrid(t3, r3, z3);

X3 = R3 .* cos(T3);
Y3 = R3 .* sin(T3);

%% Campo 3D
Cagua = @(zz) C0 .* (1 + alpha .* abs(zz) ./ H);
C3 = Cagua(Z3) .* exp(-lambda .* (Rc - R3));

%% Valores de isosuperficie
isos = [0.10 0.20 0.30 0.40];
colores = [0 0 1;     % azul
           0 1 0;     % verde
           1 1 0;     % amarillo
           1 0 0];    % rojo

figure('Color','white'); hold on;

for k = 1:length(isos)

    p = patch(isosurface(X3, Y3, Z3, C3, isos(k)));

    % Color sólido
    set(p, 'FaceColor', colores(k,:), ...
           'EdgeColor','none', ...
           'FaceAlpha', 0.40);
end

%% Armadura (cilindro)
[xa, ya, za] = cylinder(Ra, 80);
za = za * H - H;

surf(xa, ya, za, 'FaceColor',[0.5 0.5 0.5], ...
     'EdgeColor','none', 'FaceAlpha',0.4);

%% Vista y estética
axis equal;
xlabel('x (m)'); ylabel('y (m)'); zlabel('z (m)');
title('Isosuperficies 3D de C_{col}');
view(3);
camlight headlight;
lighting gouraud;

hold off;


2) Interpretación:

- La gráfica representa las capas de igual concentración (con los valores dados en el enunciado). Estas capas tienen forma de lámina cilíndrica ya que la función [math]C_{\text{col}}[/math] tiene como variables [math]{\text{z}}[/math] y [math]\rho[/math]. La concentración tendrá un valor mayor cuanto más cerca esté de la capa externa de la columna, y se irá reduciendo cuanto más se acerque al centro.

- Las superficies de menor concentración (0.1 kg/m³) se extenderán más hacia el interior y hacia zonas menos profundas.

- Si alguna superficie de concentración crítica (por ejemplo, >0.05 kg/m³) intersecta el radio de la armadura, la corrosión puede iniciarse.

3.5 Vida útil de la columna en la zona crítica

Cuando [math]C_{\text{acero}}(z) \gt C_{\text{crit}}[/math], se activa el proceso de corrosión uniforme de las armaduras, produciendo una reducción progresiva del diámetro efectivo. Para valorar la durabilidad estructural, se estima el tiempo necesario para que la pérdida de espesor alcance el 25% del diámetro original, límite habitual asociado a una disminución significativa de capacidad resistente.


Datos: diámetro de la barra [math]d_{\text{barra}} = 20 \text{ mm}[/math].

Pérdida crítica del 25%: [math] \Delta d = 0.25 \cdot 20 = 5 \text{ mm} [/math]

Velocidad de corrosión [math]v_{\text{corr}} = 0.1 \text{ mm/año}[/math] (cuando [math]C_{\text{acero}} \gt C_{\text{crit}}[/math]).

Tiempo necesario para alcanzar la pérdida crítica:

[math] t = \frac{5\ \text{mm}}{0.1\ \text{mm/año}} = 50\ \text{años}. [/math]


[math]\boxed{t \approx 50\ \text{años}}[/math]


Interpretación: donde [math]C_{\text{acero}}(z) \gt C_{\text{crit}}[/math], la corrosión progresa a [math]0.1\ \text{mm/año}[/math], por lo que se requieren unos 50 años para alcanzar una pérdida del 25% del diámetro.

3.6 Masa total de contaminantes infiltrados en una columna

En este ejercicio se busca calcular la masa total de contaminantes infiltrados en una columna y compararla con la masa de contaminantes en el volumen equivalente de agua que rodea la columna, este análisis permite determinar la capacidad de penetración de contaminantes en el hormigón frente a la concentración en el agua, esto es muy importante para estimar riesgos de corrosión en la armadura.

Se busca calcular:

[math] M_{\text{col}} = \int_{z=-H}^{0} \int_{\theta=0}^{2\pi} \int_{r=0}^{R_c} C_{\text{col}}(r,z)\, r \, dr \, d\theta \, dz = 2\pi \int_{-H}^{0} C_{\text{agua}}(z) \left( \int_{0}^{R_c} e^{-\lambda(R_c - r)} r \, dr \right) dz. [/math]

1) Resultados numéricos:

- Masa infiltrada en la columna: [math]M_{\text{col}} \approx 6.82 \,\text{kg}[/math]

- Masa de contaminantes en el volumen equivalente de agua (cilindro de radio [math]R_c[/math] y altura [math]H[/math]): [math] M_{\text{agua}} = \pi R_c^2 \int_{-H}^{0} C_{\text{agua}}(z)\, dz \approx 29.16 \,\text{kg}. [/math]

Así que la masa infiltrada en el hormigón es mucho menor que la masa contenida en el mismo volumen de agua: [math]\approx 6.8 \,\text{kg}[/math] frente a [math]29.2 \,\text{kg}[/math]. (Números obtenidos por integración numérica).

Estos valores incluyen que la concentración en el hormigón se atenúa radialmente mediante:

[math] e^{-\lambda(R_c - r)}, \quad \text{con } \lambda = 10 \,\text{m}^{-1}. [/math]


2) Código MATLAB (Numérico):

%% (f) Masa total infiltrada en la columna 
% usar trapz para integración
nr_int = 400; nz_int = 800;
r_int = linspace(0, Rc, nr_int);
z_int = linspace(-H, 0, nz_int);
[Ri, Zi] = meshgrid(r_int, z_int);
Ci = Cagua(Zi) .* exp(-lambda .* (Rc - Ri));
% integrate: 2*pi * integral_z integral_r ( C * r dr dz )
mass_col = 2*pi * trapz(z_int, trapz(r_int, Ci .* Ri, 2)); % note trapz dimensions
fprintf('Masa infiltrada en la columna: %.3f kg\n', mass_col);

% masa en volumen de agua equivalente (cilindro de radio Rc, altura H)
mass_water = pi * Rc^2 * trapz(z_int, Cagua(z_int));
fprintf('Masa en el agua del volumen equivalente: %.3f kg\n', mass_water);


3) Interpretación:

- La masa infiltrada en el hormigón es significativamente menor que la masa contenida en el mismo volumen de agua.

- Esto indica que el hormigón actúa como barrera frente a los contaminantes, aunque no es completamente impermeable.

- La atenuación radial [math]e^{-\lambda(R_c - r)}[/math] reduce drásticamente la penetración, pero la zona cercana a la armadura puede alcanzar concentraciones críticas si el tiempo de exposición es prolongado, lo que implica riesgo de corrosión.

4 Decantación y distribución de contaminantes infiltrados en una columna

4.1 Campo de concentración de contaminantes en el agua

En este apartado se va a representar el campo de concentración de contaminantes en el agua, así, se podrá analizar como varía la concentración de contaminantes según la profundidad en el tanque, pues, como se ha explicado con anterioridad, las primeras aguas en llegar al tanque son las más contaminadas. Luego, cuanto más profundo, más contaminado.

Se expondrán dos representaciones, la primera (apartado a en el código de MATLAB) es un simple gráfico representando el campo de concentraciones frente a la profundidad. El segundo (apartado b) representa un mapa de colores simulando una pared del tanque.

Para poder analizar la concentración de contaminantes frente a la profundidad, debe saberse que la concentración de contaminantes viene dada por la siguiente función:


[math] C_{\text{agua}}(z) = C_0 \left( 1 + \alpha \frac{|z|}{H} \right) [/math]

1) Código MATLAB:

Concentracion contaminantes gp8.png
Mapa de concentracion gp8.png
% Parámetros
C0 = 0.3;            % Concentración en superficie (kg/m^3)
beta = 3;            % Factor de incremento hacia el fondo
H = 22;              % Profundidad del tanque (m)
L = 290;             % Longitud del tanque (m)

% Vector de profundidad
z = linspace(-H,0,200); % Desde el fondo (-H) hasta la superficie (0)

% Concentración en el agua (corrigiendo el signo)
Cagua = C0*(1 - beta*z/H); % Aumenta hacia el fondo

% (a) Gráfico de la función Cagua(z)
figure;
plot(Cagua,z,'b','LineWidth',2);
xlabel('Concentración [kg/m^3]');
ylabel('Profundidad z [m]');
title('Concentración de contaminantes en el agua vs profundidad');
grid on;
set(gca,'YDir','reverse'); % Superficie arriba, fondo abajo

% (b) Mapa de colores sobre una pared del tanque
nx = 50; nz = 50;
x = linspace(-L/2,L/2,nx);
Z = linspace(-H,0,nz);
[X,Zgrid] = meshgrid(x,Z);

Cmap = C0*(1 - beta*Zgrid/H);

figure;
contourf(X,Zgrid,Cmap,20,'LineColor','none');
colorbar;
xlabel('Longitud x [m]');
ylabel('Profundidad z [m]');
title('Mapa de concentración sobre la pared del tanque');
set(gca,'YDir','reverse'); % Superficie arriba
axis equal;


2) Interpretaciones:

- Apartado a) (gráfica): La concentración aumenta hacia el fondo del tanque. En la superficie es 0.3[math]\text{kg/m}^3[/math]. Por otro lado, en el fondo alcanza aproximadamente 1.2[math]\text{kg/m}^3[/math]. Esto refleja el efecto de la sedimentación: las partículas más pesadas se acumulan en el fondo.

- Apartado b) (mapa): El mapa de color muestra un gradiente vertical uniforme (porque la concentración depende solo de z). Las zonas más profundas son más contaminadas, lo que implica que el lodo formado en el fondo será altamente concentrado.

4.2 Gradiente de concentración de contaminantes en el agua

En este apartado, se va a calcular el gradiente de concentración de contaminantes en el agua, el cual, como se ha visto anteriormente, viene definido como:

[math] C_{\text{agua}}(z) = C_0 \left( 1 + \beta \frac{z}{H} \right), \; z \in [-H, 0], \; C_0 = 0.3 \,\text{kg/m}^3, \; \beta = 3, \; H = 22 \,\text{m} [/math]

El gradiente a buscar permitirá analizar como varía la concentración de contaminantes según la profundidad, conociendo esto se podrá evaluar la estratificación de contaminantes.

El gradiente deseado se obtiene a partir del siguiente código.

1) Código MATLAB

GRADIENTE DE CONCENTRACIÓN
clear; clc;

% Parámetros
C0 = 0.3;      % kg/m^3
alpha = 3;     % adimensional
B = 22;        % profundidad en metros
L = 290;       % longitud del tanque (m)

% Mallado para la pared del tanque
nx = 50; ny = 50;
x = linspace(0, L, nx);
z = linspace(0, -B, ny);
[X,Z] = meshgrid(x,z);

% Concentración en el agua
Cagua = C0 * (1 + alpha * (Z / B));

% Gradiente de concentración (constante)
gradC = C0 * alpha / B;  % kg/m^4
U = zeros(size(X));      % componente horizontal
V = -gradC * ones(size(Z)); % componente vertical (hacia abajo)

% Representación
figure;
% Mapa de colores para la concentración
contourf(X,Z,Cagua,20,'LineColor','none');
colormap(jet);
colorbar;
hold on;

% Campo vectorial (flechas)
quiver(X,Z,U,V,'k','LineWidth',1,'MaxHeadSize',0.5);

xlabel('Longitud (m)');
ylabel('Profundidad (m)');
title('Concentración y gradiente de contaminantes en el agua');
axis([0 L -B 0]);
set(gca,'YDir','normal'); % Para que 0 esté arriba y -B abajo
grid on;


2) Interpretación:

- El campo de concentración aumenta linealmente con la profundidad: más contaminantes en el fondo.

- El gradiente es constante y vertical, lo que indica que la variación es uniforme en todo el tanque.

- Implicación práctica: la decantación es estable y predecible, pero el fondo acumula contaminantes, lo que puede afectar la durabilidad del hormigón y requerir limpieza periódica.

4.3 Superficie de isoconcentración en el agua

En este apartado se pide identificar y representar las zonas del tanque donde la concentración de contaminantes es igual, a las que llamaremos superficies de isoconcentración. Como la concentración depende solo de la profundidad, esas superficies serán representadas como planos horizontales que nos permitirán visualizar fácilmente la estratificación de los contaminantes en el tanque de tormentas.

1) Cálculo de las profundidades:

Como [math]C_{\text{agua}}[/math] depende solo de [math]z[/math], las superficies [math]C_{\text{agua}} = \text{const}[/math] son planos horizontales. Calculamos la profundidad [math]z[/math] donde cada concentración se alcanza.

Resolución algebraica: Para [math]z \leq 0[/math], [math]|z| = -z[/math]:

[math] C = C_0 \left( 1 - \alpha \frac{z}{H} \right) \;\Rightarrow\; z = -\frac{H}{\alpha} \left( \frac{C}{C_0} - 1 \right) [/math]

Sustituyendo: Para [math]C = 0.4[/math]:

[math] z = -\frac{22}{3} \left( \frac{0.4}{0.3} - 1 \right) = -\frac{22}{3} (0.333333) \approx -2.4444 \,\text{m} [/math]

- Para [math]C = 0.6[/math]: [math] z \approx -7.3333 \,\text{m} [/math]

- Para [math]C = 0.8[/math]: [math] z \approx -12.2222 \,\text{m} [/math]

- Para [math]C = 1.0[/math]: [math] z \approx -17.1111 \,\text{m} [/math]

2) Código MATLAB:

SUPERFICIES DE ISOCONCENTRACIÓN
% Isosurfaces (pero son planos horizontales)
Cvals = [0.4, 0.6, 0.8, 1.0];
zvals = - (H/alpha) * (Cvals./C0 - 1);
% dibujar cubo tanque y planos horizontales
L = 290; W = 140;
x = linspace(-L/2, L/2, 40);
y = linspace(-W/2, W/2, 40);
[X,Y] = meshgrid(x,y);
figure; hold on;
for k=1:length(zvals)
    surf(X, Y, zvals(k)*ones(size(X)), 'FaceAlpha', 0.5, 'EdgeColor','none');
end
xlabel('x (m)'); ylabel('y (m)'); zlabel('z (m)');
title('Superficies isoconcentración en el tanque (planos horizontales)');
view(3); axis tight; hold off;


3) Interpretación:

- Las superficies de isoconcentración son planos horizontales porque la concentración depende únicamente de la profundidad.

- A mayor concentración, mayor profundidad: los contaminantes se acumulan en el fondo.

- Esto confirma que el proceso de decantación es estratificado y estable, lo que facilita la limpieza del fondo y la predicción de zonas críticas para corrosión.

4.4 Masa total de contaminantes en el agua

La masa total de contaminantes es la cantidad de materia(contaminante) disuelta en el agua del tanque de Tormentas de Arroyofresno.Para resolver su masa total matemáticamente acudiremos a la siguiente fórmula:

Datos del problema:

- Dimensiones del tanque:

[math]L = 290\,\text{m},\quad W = 140\,\text{m},\quad h = 7\,\text{m}[/math]


[math] A = L \cdot W = 290 \cdot 140 = 40{,}600\ \text{m}^2 [/math]

- Perfil de concentración en el agua:


[math] C_{\text{agua}}(z) = C_0\left(1 - \frac{\alpha}{H}z\right), \quad C_0 = 0.3\ \text{kg/m}^3,\ \alpha = 3,\ H = 22\ \text{m},\quad z \in [-h,0] [/math]


- Masa total de contaminantes (definición general):


[math] M = \iiint_V C(\mathbf{r})\, dV [/math]


- Masa en el tanque (sección constante):


[math] M = A \int_{-h}^{0} C_{\text{agua}}(z)\, dz [/math]


- Resolución de la integral:


[math] M = A \cdot C_0 \cdot \int_{-h}^{0} \left(1 - \frac{\alpha}{H}z\right)\, dz = A \cdot C_0 \cdot \left[z - \frac{\alpha}{2H}z^2\right]_{-h}^{0} = A \cdot C_0 \cdot \left(h - \frac{\alpha}{2H}h^2\right) [/math]


- Sustitución numérica:


[math] \frac{\alpha}{2H} = \frac{3}{44} \approx 0.06818,\quad \frac{\alpha}{2H}h^2 = 0.06818 \cdot 49 \approx 3.34,\quad h - \frac{\alpha}{2H}h^2 = 7 - 3.34 = 3.66 [/math]



[math] M = 40{,}600 \cdot 0.3 \cdot 3.66 \approx 44{,}600\ \text{kg} [/math]


- Resultado:

[math]\quad M \approx 44{,}600\ \text{kg}[/math]

4.5 Pasadas 24 horas

En este apartado y los siguientes subapartados, se simula una decantación de 24 horas en el tanque para analizar varias incógnitas como la masa de contaminantes, el volumen del lodo, espesor promedio y por último un caso en el que se estima cada cuanto debe limpiarse el tanque.

En esta parte del trabajo tomaremos los siguientes datos:

- Masa total de contaminantes del agua:

[math]M_{\text{total}} = 1.26 \times 10^{7}\ \text{kg}[/math]

- Porcentaje decantado en 24h:

[math]60\%[/math]

- Densidad aparente del lodo:

[math]\rho_{\text{lodo}} = 1400 \ \mathrm{kg\,m^{-3}}[/math]

- Dimensiones del tanque:

[math]L = 290\,\text{m},\quad W = 140\,\text{m}[/math]


Código MATLAB (numérico):

% masa_lodo.m
clear; clc;
% datos
L = 290; W = 140; H = 22;
C0 = 0.3; alpha = 3;
zlow = -7; zhigh = 0;
A = L*W;
% integral analítica (como en la deducción):
integral = C0*( (zhigh - zlow) - (alpha/(2*H))*(zhigh^2 - zlow^2) );
M = A * integral;
fprintf('Masa total en agua (z=-7..0): %.2f kg\n', M);

% decantación
M_dep = 0.6 * M;
rho_lodo = 1400;
V_lodo = M_dep / rho_lodo;
% columnas
Rc = 0.75;
Napprox = (L/15)*(W/15);
N = floor(Napprox); % usar entero
Acol = pi*Rc^2;
Aef = A - N*Acol;
espesor = V_lodo / Aef;
fprintf('Masa depositada: %.2f kg\nVolumen lodo: %.2f m^3\nEspesor evento: %.4f m (%.2f mm)\n', M_dep, V_lodo, espesor, espesor*1000);
fprintf('Espesor anual (8 eventos): %.4f m (%.2f mm)\n', espesor*8, espesor*8*1000);


4.5.1 Masa de contaminantes depositados

Sustituyendo el porcentaje (60% = 60/100) y la masa total de contaminantes del agua:

[math]M_{\text{depositada}} = 0.60 \cdot M \approx 0.60 \cdot 125952.27 \approx 75571.36 \ \mathrm{kg}[/math]

4.5.2 Volumen de lodo

En cuanto al volumen, lo calcularemos de la siguiente forma:

[math]V_{\text{lodo}} = \frac{M_{\text{depositada}}}{\rho_{\text{lodo}}} = \frac{75571.36 \ \mathrm{kg}}{1400 \ \mathrm{kg/m^3}} \approx 53.98 \ \mathrm{m^3}[/math]

4.5.3 Espesor promedio de la capa de lodo en el fondo

¿Y el espesor promedio?Tomaremos en cuenta lo siguiente: Vamos a considerar los siguientes factores:

- Área del fondo efectiva:
[math]\text{Área total} - \text{Área cubierta por columnas}[/math]
- Área total del tanque:
[math]A = 40600 \ \mathrm{m^2}[/math]
- Número aproximado de columnas:
[math]N \approx \frac{L}{15} \cdot \frac{W}{15} \approx 19.333 \cdot 9.333 \approx 180.44[/math]
(Se toma [math]N = 180[/math])
- Área de una columna:
[math]A_{\text{col}} = \pi R_c^2 = \pi (0.75)^2 \approx 1.76715 \ \mathrm{m^2}[/math]
- Área total ocupada por columnas:
[math]A_{\text{col_total}} = 180 \cdot 1.76715 \approx 318.87 \ \mathrm{m^2}[/math]
- Área efectiva del fondo:
[math]A_{\text{ef}} = 40600 - 318.87 \approx 40281.91 \ \mathrm{m^2}[/math]

Con ello, al estimar el espesor promedio obtenemos el siguiente resultado:

[math] e = \frac{V_{\text{lodo}}}{A_{\text{ef}}} \approx \frac{53.98 \ \mathrm{m^3}}{40281.91 \ \mathrm{m^2}} \approx 0.00134 \ \mathrm{m} = 1.34 \ \mathrm{mm}[/math]

4.5.4 Si el tanque se usa en promedio 8 veces al año, calcula el espesor total de lodo acumulado en un año (asumiendo que no se limpia entre eventos). Si se considera necesario limpiar cuando el espesor supera los 30 cm, ¿sería suficiente una limpieza anual?

Si el tanque se utiliza 8 veces al año, el espesor anual acumulado de lodo se calculará como:

[math]e_{\text{anual}} = 8 \cdot 0.00134 \ \mathrm{m} \approx 0.01072 \ \mathrm{m} = 10.72 \ \mathrm{mm}[/math]


La limpieza del tanque es necesaria cuando el espesor acumulado supera los [math]0.30 \ \mathrm{m} = 300 \ \mathrm{mm}[/math]. Comparando:

- Espesor anual [math]\approx 10.72 \ \mathrm{mm}[/math]

- Conclusión: Una limpieza anual sería más que suficiente para mantener el espesor del lodo por debajo de los [math]0.30 \ \mathrm{m}[/math], salvo que en la práctica existan otros aportes o sedimentaciones no contempladas, o se acumulen materiales distintos con mayor densidad o concentración de sedimentos

5 Póster

Poster campos grupo8.png