El Tanque de Arroyofresno (Grupo 8)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | El tanque de tormentas de Arroyofresno. Grupo 8 |
| Asignatura | Teoría de Campos |
| Curso | 2025-26 |
| Autores |
|
| 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.
Contenido
- 1 Funcionamiento del Tanque de Arroyofresno
- 2 Presión y fuerzas estructurales sobre columnas
- 3 Infiltración y corrosión en columnas
- 3.1 Campo de concentración infiltrada
- 3.2 Campo del gradiente de concentración infiltrada
- 3.3 Función de concentración en la armadura en función de la profundidad
- 3.4 Superficies de isoconcentración dentro de una columna
- 3.5 Vida útil de la columna en la zona crítica
- 3.6 Masa total de contaminantes infiltrados en una columna
- 4 Decantación y distribución de contaminantes infiltrados en una columna
1 Funcionamiento del Tanque de Arroyofresno
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
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
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):
% 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):
%% (b) Sección transversal (a profundidad seleccionada)
zsel = -5; % profundidad a dibujar (m); cambia si quieres otra
% concentración en esa profundidad
Csec = Cagua(zsel) .* exp(-lambda .* (Rc - r));
theta = linspace(0, 2*pi, 360);
[R2, Theta2] = meshgrid(r, theta);
Cxy = Cagua(zsel) .* exp(-lambda .* (Rc - R2));
X = R2 .* cos(Theta2);
Y = R2 .* sin(Theta2);
figure;
surf(X, Y, Cxy, 'EdgeColor', 'none');
axis equal; view(2);
colorbar;
title(sprintf('Sección transversal a z = %.1f m — C_{col}', zsel));
hold on;
% marcar armadura como círculo de radio Ra
t = linspace(0,2*pi,200);
plot(Ra*cos(t), Ra*sin(t), 'k--', 'LineWidth', 2);
text(0.9*Ra, 0, 'armadura (\rho_a)', 'Color','k');
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 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
%% (d) C_acero(z) y comparación con Ccrit
Ccrit = 0.05; % kg/m^3
zplot = linspace(-H,0,400);
Cacero = Cagua(zplot) .* exp(-lambda*(Rc - Ra));
figure;
plot(Cacero, zplot, 'b-', 'LineWidth', 2);
hold on;
xline(Ccrit, 'r--', 'LineWidth', 2);
xlabel('C_{acero} (kg/m^3)'); ylabel('z (m)');
title('Concentración en la armadura C_{acero}(z) y umbral C_{crit}');
legend('C_{acero}(z)','C_{crit}=0.05');
set(gca,'YDir','reverse');
hold off;
3.4 Superficies de isoconcentración dentro de una columna
%% Isosuperficies 3D
nt = 60; nr3 = 60 nz3 = 60;
r3 = linspace(0, Rc, nr3);
t3 = linspace(0, 2*pi, nt);
z3 = linspace(-H, 0, nz3);
[R3, T3, Z3] = meshgrid(r3, t3, z3); % dims: nt x nr3 x nz3
C3 = Cagua(Z3) .* exp(-lambda .* (Rc - R3));
% Map to Cartesian
X3 = R3 .* cos(T3);
Y3 = R3 .* sin(T3);
figure;
hold on;
vals = [0.1, 0.2, 0.3, 0.4];
for k=1:length(vals)
p = patch(isosurface(X3, Y3, Z3, C3, vals(k)));
isonormals(X3, Y3, Z3, C3, p);
set(p, 'FaceColor', 'interp', 'EdgeColor', 'none', 'FaceAlpha', 0.4);
end
% dibujar cilindro de armadura
[xt, yt, zt] = cylinder(Ra, 60);
zt = zt * 0 + linspace(-H,0,2); % expand to height
surf(xt, yt, repmat(linspace(-H,0,2)',1,size(xt,2)), 'FaceAlpha', 0.2, 'EdgeColor','k','FaceColor',[0.6 0.6 0.6]);
axis equal; view(3); camlight; lighting gouraud;
colorbar;
title('Isosuperficies C_{col} = 0.1,0.2,0.3,0.4 kg/m^3 + cilindro armadura');
hold off;
3.5 Vida útil de la columna en la zona crítica
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 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.
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].</li>
-Masa de contaminantes en el volumen equivalente de agua (cilindro de radio [math]R_c[/math] y altura [math]H[/math]):</li> [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:
%% (f) Masa total infiltrada en la columna (numérico)
% 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:
% Parámetros del problema
rho0 = 0.3; % kg/m^3 (concentración en superficie)
beta = 3; % incremento hacia el fondo
H = 22; % profundidad total del tanque (m)
L = 290; % longitud del tanque (m)
W = 140; % anchura del tanque (m)
% Vector de profundidad (z desde -H hasta 0)
z = linspace(-H, 0, 200);
rho_agua = rho0 * (1 + beta * (z / H));
% (a) Gráfico de la función rho_agua(z)
figure;
plot(z, rho_agua, 'b', 'LineWidth', 2);
xlabel('Profundidad z (m)');
ylabel('Concentración \rho_{agua} (kg/m^3)');
title('Concentración de contaminantes en función de la profundidad');
grid on;
% (b) Mapa de colores sobre una pared del tanque
% Creamos una matriz donde la concentración depende solo de z
nx = 200; % puntos en la longitud
nz = length(z);
[X,Z] = meshgrid(linspace(0,L,nx), z);
C = rho0 * (1 + beta * (Z / H));
figure;
imagesc([0 L], [-H 0], C);
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;
colormap(jet);
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
% Parámetros
C0 = 0.3; % kg/m^3
beta = 3; % factor de incremento
H = 22; % profundidad en m
L = 290; % longitud del tanque
W = 140; % anchura del tanque
% Dominio de la pared (tomamos la pared longitudinal)
nx = 30; nz = 30;
x = linspace(-L/2, L/2, nx);
z = linspace(-H, 0, nz);
[X,Z] = meshgrid(x,z);
% Campo de concentración
Cagua = C0*(1 + beta*Z/H);
% Gradiente (constante en z)
gradC = (C0*beta/H); % kg/m^4
Ux = zeros(size(X)); % componente x
Uz = gradC*ones(size(Z)); % componente z (vertical)
% Representación
figure;
contourf(X,Z,Cagua,20); colorbar;
hold on;
quiver(X,Z,Ux,Uz,'k');
xlabel('x [m]'); ylabel('z [m]');
title('Gradiente de concentración sobre la pared del tanque');
axis equal;
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:
% 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)
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 \textbf{Dimensiones del tanque:} L = 290\,\text{m},\quad W = 140\,\text{m},\quad h = 7\,\text{m}
\[
A = L \cdot W = 290 \cdot 140 = 40{,}600\ \text{m}^2
\]
\textbf{Perfil de concentración en el agua:}
\[
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]
\]
% Fórmula principal de masa \textbf{Masa total de contaminantes (definición general):}
\[
M = \iiint_V C(\mathbf{r})\, dV
\]
\textbf{Masa en el tanque (sección constante):}
\[
M = A \int_{-h}^{0} C_{\text{agua}}(z)\, dz
\]
% Cálculo de la integral \textbf{Resolución de la integral:}
\[
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)
\]
% Sustitución numérica \textbf{Sustitución numérica:}
\[
\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
\]
\[
M = 40{,}600 \cdot 0.3 \cdot 3.66 \approx 44{,}600\ \text{kg}
\]
\textbf{Resultado:}\quad M \approx 44{,}600\ \text{kg}