El tanque de tormentas de Arroyofresno (Grupo 43)

De MateWiki
Revisión del 14:43 5 dic 2025 de Jo.martin (Discusión | contribuciones) (Representación del campo de gradiente de concentración infiltrada:)

Saltar a: navegación, buscar
Trabajo realizado por estudiantes
Título El tanque de tormentas de Arroyofresno. Grupo 43
Asignatura Teoría de Campos
Curso 2025-26
Autores
  • Jorge Martin Urresti
  • Diego Morcillo Parga
  • Lucia Dominguez Alvarez
  • Claudia Manrique Arias
  • Edgar Carhuaricra Solano
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura

El tanque de tormentas de Arroyofresno, en funcionamiento desde 2007, es una de las infraestructuras hidráulicas subterráneas más relevantes de Madrid para la gestión de episodios de lluvia intensa. Con una capacidad de almacenamiento cercana a 400 000 m³, actúa como un gran depósito regulador donde se retienen las primeras aguas de escorrentía, suelen ser las más cargadas de contaminantes debido al arrastre de residuos, partículas, metales pesados y materia orgánica acumulada en la superficie urbana antes de ser enviadas a tratamiento.

La función esencial de esta instalación es reducir los caudales punta que llegan al alcantarillado durante las tormentas. Por lo que la retención temporal de estas aguas evita que lleguen de forma directa a los cauces naturales y permite enviarlas posteriormente a la estación depuradora en condiciones controladas. Al amortiguar esos volúmenes excesivos, se minimizan las posibilidades de inundación en superficie y se previene la descarga directa de aguas altamente contaminadas en los cauces receptores. Esto convierte al tanque en un elemento estratégico tanto para la seguridad hidráulica de la ciudad como para la protección medioambiental. Infraestructuras similares pueden encontrarse en grandes ciudades europeas como Barcelona, Berlín o París, donde la gestión de aguas pluviales mediante tanques o colectores subterráneos forma parte esencial de los sistemas de saneamiento modernos.

En este trabajo se construye un modelo geométrico simplificado del tanque de Arroyofresno, con el objetivo de analizar distintos campos escalares relevantes: la presión hidrostática ejercida por la columna de agua, la distribución vertical de contaminantes, los procesos de infiltración en el hormigón y el avance de la corrosión en las armaduras. Todas las representaciones y cálculos se realizarán y analizaran con Matlab, aplicando los conceptos de la asignatura de Teoría de Campos, con el fin de comprender de manera precisa cómo interactúan los procesos hidráulicos y estructurales en una infraestructura esencial para la gestión del agua urbana en Madrid.


Contenido

1 Funcionamiento del Tanque de Arroyofresno:

El funcionamiento del tanque se basa en laminar los caudales punta que llegan al alcantarillado durante una tormenta. Cuando la red unitaria, que transporta tanto aguas residuales como pluviales, supera su capacidad, el tanque se activa automáticamente y comienza a llenarse. De esta forma se evita que se produzcan inundaciones en superficie o vertidos altamente contaminantes al medio natural. Durante el tiempo que el agua permanece retenido en el depósito, se produce una decantación natural que reduce la cantidad de sólidos en suspensión puesto que el agua sucia experimenta una fase de reposo que permite que la parte de los sólidos se depositen en fondo, lo que facilita su posterior tratamiento cuando la depuradora vuelve a estar en condiciones de recibir el caudal. Este proceso, además de regular hidráulicamente la red, genera un entorno químicamente agresivo en el interior del tanque, ya que las aguas contaminadas favorecen la presencia de cloruros y sulfatos que afectan a las estructuras de hormigón armado. Los cloruros pueden penetrar en el hormigón y alcanzar la armadura puesto que si el hormigón se encuentran sometido a un ambiente químico agresivo durante un largo tiempo, se destruye la capa pasivadora del acero y provoca procesos de corrosión que generan fisuras y pérdida de adherencia. Cuando esto ocurre, la humedad y el oxígeno desencadenan procesos de corrosión que aumentan el volumen de acero oxidado y se originan fisuras en el recubrimiento. Por su parte, los sulfatos procedentes de la degradación de la materia orgánica reaccionan con los componentes del cemento, dando lugar a productos expansivos que producen tensiones internas y, a largo plazo, deterioran progresivamente la matriz del hormigón. Para hacer frente a estos mecanismos de daño que son responsables de pérdidas de durabilidad podrían limitan la vida útil de estas instalaciones, dichas estructuras se diseñan con recubrimientos más gruesos, hormigones de baja porosidad, armaduras resistentes a la corrosión e incluso con revestimientos protectores en las superficies en contacto con el agua e incluso se puede llegar a recurrir a recubrimientos superficiales que actúan como barrera frente a la penetración de contaminantes.

En este trabajo se desarrolla un modelo geométrico simplificado del tanque de Arroyofresno para estudiar fenómenos como la presión hidrostática, la distribución de contaminantes, la infiltración en el hormigón y la evolución de la corrosión en la armadura. Todo ello se analiza mediante Matlab, siguiendo los métodos propios de la Teoría de Campos, con el fin de comprender de manera precisa cómo interactúan los procesos hidráulicos y estructurales en una infraestructura esencial para la gestión del agua urbana en Madrid.

2 Presión y fuerzas estructurales sobre columnas

2.1 Cálculo y representación del campo de presiones P(z):

Cuando el tanque de tormentas se encuentra completamente lleno, el campo escalar de presión que actúa sobre las columnas de hormigón viene determinado por la ley fundamental de la hidrostática. Este campo presenta una dependencia con la coordenada vertical, característica de los fluidos en reposo bajo la acción de la gravedad. La expresión matemática de este comportamiento es:


[math]P(z) = P_0 + \rho_{\text{agua}} \, g \, h(z),\qquad z \in [-H,0][/math]

donde P_0 es 101325 kPa es la presión atmosférica, \(\rho_{\text{agua}}\) es la densidad del agua y tiene un valor de 1000 kg/m³, \(g\) es la aceleración de la gravedad con valor 9.81 m/s2 y por último, \(h(z)\) que representa la profundidad con un valor de -z. Si reecribimos nuestra función, tenemos:


[math]P(z) = P_0 - \rho_{\text{agua}} \, g \, z,\qquad z \in [-H,0][/math]

Por lo que sabemos que nuestro campo tiene una independencia horizontal donde todos los puntos situados a la misma profundidad experimentan una idéntica presión, posee una variación lineal donde la presión aumenta linealmente con la profundidad y una distribución cilíndrica con columnas de radio [math]r_c = 0{,}75 m[/math], donde cada anillo horizontal presenta una presión uniforme.

La visualización se realiza mediante una malla cilíndrica parametrizada en coordenadas cilíndricas (p,θ,z) transformadas posteriormente a cartesianas (x,y,z), donde a cada punto de esta superficie se le asigna un valor de presión mediante un mapa de colores que permite identificar las zonas de mayor solicitación.

Campo de presiones
% Parámetros para la representación del campo de presiones 
rc = 0.75;      % radio en metros
H = 22;               % altura en metros 
Patmosferica = 101325;        % presión atmosférica en Pa (pascales)
dagua = 1000;       % densidad del agua en kg/m^3
g = 9.81;             % gravedad m/s^2

% Malla en coordenadas cilíndricas
theta = 200;
z = 200;
theta2 = linspace(0,2*pi,theta);
z2 = linspace(-H,0,z);
[Theta,Z] = meshgrid(theta2,z2);

% Coordenadas cartesianas de la superficie cilíndrica
R = rc;
X = R*cos(Theta);
Y = R*sin(Theta);

% Cálculo del campo de presiones P(z) 
P = Patmosferica - dagua * g .* Z;                

% Representación del mapa de colores 
figure('Color',[1,1,1],'Position',[250 180 720 580]);
h = surf(X, Y, Z, P, 'EdgeColor','none','FaceAlpha',0.95);  
colorbar_handle = colorbar;
colorbar_handle.Label.String = 'Presión (Pa)';

% Etiquetas
axis equal
xlabel('Eje x (metros)','FontSize',11)
ylabel('Eje Y (metros)','FontSize',11)
zlabel('Eje Z (metros)','FontSize',11)
title('Representación del campo de presiones','FontSize',13,'FontWeight','bold')
view(38,22)


2.2 Cálculo y representación del gradiente de presión y representación como campo vectorial:

El gradiente de presión es un operador vectorial fundamental en mecánica de fluidos que cuantifica la variación espacial del campo de presión. Para un campo escalar de presión P(x,y,z), su gradiente se define matemáticamente como:
[math]\nabla P = \left( \frac{\partial P}{\partial x},\frac{\partial P}{\partial y},\frac{\partial P}{\partial z} \right)[/math]

Dado nuestro campo de presiones \(P(z) = P_0 - \rho_{\text{agua}} g z\), con una dependencia exclusiva en z, las derivadas parciales se simplifican dando como resultado el siguiente campo vectorial del gradiente:

br />
[math]\nabla P = (0,\,0,\,-\rho_{\text{agua}} g)[/math]

Sabemos que posee una magnitud constante con valor de 9810 N/m³, que posee una dirección vertical y que el gradiente es uniforme en toda la columna y que estamos representando la fuerza por unidad de volumen que el agua ejerce sobre la estructura.

Este campo vectorial constante explica por qué la presión aumenta linealmente con la profundidad y permite comprender la distribución de fuerzas sobre las columnas del tanque.


% Datos
H = 22;                % altura en metros 
rc = 0.75;      % radio de las columnas en metros
dagua = 1000;         % densidad del agua en kg/m^3
g = 9.81;         % gravedad en m/s^2

% Mallado cilíndrico
Theta = 20;
Z = 20;
theta2 = linspace(0, 2*pi, Theta);
z2 = linspace(-H, 0, Z);
[Theta, Z] = meshgrid(theta2, z2);
X = rc*cos(Theta);
Y = rc*sin(Theta);

% Gradiente de presión 
Gradientex = zeros(size(X));
Gradientey = zeros(size(Y));
Gradientez = -ones(size(Z));   % campo de presiones -z

% Representación
figure;
surf(X, Y, Z, 'FaceAlpha', 0.25, 'EdgeColor', 'none');  
hold on;
quiver3(X, Y, Z, Gradientex, Gradientey, Gradientez, 0.75, 'color',[0.2 0.2 0.2]);        
axis equal;
xlabel('Eje x (metros)','FontSize',11)
ylabel('Eje Y (metros)','FontSize',11)
zlabel('Eje Z (metros)','FontSize',11)
title('Cáculo y representación del gradiente de presión','FontSize',13,'FontWeight','bold')
view(35,25)
grid on;
hold off;


2.3 Cálculo de la fuerza total que el agua ejerce sobre una columna:

Para determinar la fuerza total que ejerce el agua sobre una columna cilíndrica del tanque de tormentas, se emplea el concepto de presión manométrica. La presión manométrica representa la presión relativa respecto a la atmosférica, por lo que en nuestro análisis consideramos [math] P_0 = 0 [/math].

La distribución de presión manométrica viene dada por:
[math]p(z) = \rho_{\text{agua}}\,g\,h(z) = -\rho_{\text{agua}} g z,\qquad z\in[-H,0][/math]
.

La fuerza total se obtiene integrando la presión sobre toda la superficie lateral de la columna. En coordenadas cilíndricas sabemos que el elemento de área es \(dA = r_c\,d\theta\,dz\) y que la integral de fuerza es


[math] F = \int_{\text{superficie}} p(z)\,dA = \int_{z=-H}^0 \int_{\theta=0}^{2\pi} (-\rho_{\text{agua}} g z)\, r_c\,d\theta\,dz = 2\pi r_c \rho_{\text{agua}} g \int_{-H}^0 (-z)\,dz [/math]

Su resolución analítica es:


[math] F = \int_{-H}^0 (-z)\,dz = \left[-\frac{z^2}{2}\right]_{-H}^0 = \frac{H^2}{2} [/math]

Si sustituimos los datos en la resolución de nuestra integral sabiendo que \(r_c = 0{,}75\ \text{m}\), \(H = 22\ \text{m}\), \(\rho_{\text{agua}} = 1000\ \text{kg/m}^3\) y \(g = 9{,}81\ \text{m/s}^2\) tenemos que


[math] F = \pi\,r_c\,\rho_{\text{agua}}\,g\,H^2 [/math]

3 Infiltración y corrosión en columnas

3.1 Representación del campo de concentración infiltrada:

Para una sección vertical que pasa por el eje de la columna, el campo de concentración infiltrada \(C_{\mathrm{col}}(x,z)\) viene dado por \(C_{\mathrm{col}}(\rho,z)=C_0\left(1+\alpha\frac{|z|}{H}\right)\mathrm{e}^{-\lambda(\rho_c-\rho)}\)

Distribución espacial de la concentración de cloruros infiltrados en una sección vertical de la columna.


H=22;rho_c=0.75;rho_a=0.65;C0=0.3;alpha=3;lambda=10;
n=120;
x=linspace(-rho_c, rho_c, n);z=linspace(-H,0,n);  
[X,Z] = meshgrid(x, z);R = abs(X);                        
C_col = C0 .* (1 + alpha*abs(Z)/H) .* exp(-lambda*(rho_c - R));
C_col(R > rho_c) = NaN;

figure
surf(X, Z, C_col, 'EdgeColor','none');   
view(2);                                  
colorbar
xlabel('x [m]');
ylabel('z [m]');
title('Seccion vertical');
axis tight

hold on
z_armadura = max(C_col(:)) * 1.01;
x1 = rho_a * ones(size(z));x2 = -rho_a * ones(size(z));

plot3(x1, z, z_armadura*ones(size(z)), 'k--', 'LineWidth', 1.5);
plot3(x2, z, z_armadura*ones(size(z)), 'k--', 'LineWidth', 1.5);
hold off

Representación del campo de concentración infiltrada en una sección vertical.

Representación del campo de concentración infiltrada (sección transversal).

Distribución espacial de la concentración de cloruros infiltrados en la sección transversal de la columna, donde se aprecia el decaimiento radial desde la superficie exterior hacia la armadura.

H=22;rho_c=0.75;rho_a=0.65;C0=0.3;alpha=3;lambda=10;
z0 = -H/2;n= 150;
x= linspace(-rho_c, rho_c, n);y= linspace(-rho_c, rho_c, n);

[X,Y] = meshgrid(x, y);R= sqrt(X.^2 + Y.^2);              

C_col = C0 .* (1 + alpha*abs(z0)/H) .* exp(-lambda*(rho_c - R));
C_col(R > rho_c) = NaN;

figure
surf(X, Y, C_col, 'EdgeColor','none');
view(2);
colorbar
xlabel('x [m]');
ylabel('y [m]');
title('Seccion transversal');
axis equal tight

hold on
z_armadura = max(C_col(:)) * 1.01;
theta = linspace(0,2*pi,200);
xa = rho_a*cos(theta);
ya = rho_a*sin(theta);
plot3(xa, ya, z_armadura*ones(size(theta)), 'k--', 'LineWidth', 1.5);
hold off

Representación del campo de concentración infiltrada en una sección transversal.

3.2 Representación del campo de gradiente de concentración infiltrada:


[math]\nabla P = \left( \frac{\partial P}{\partial x},\frac{\partial P}{\partial y},\frac{\partial P}{\partial z} \right)[/math]


H=22;rho_c=0.75;rho_a=0.65;C0=0.3;alpha=3;lambda=10;
n =25;                              
x =linspace(-rho_c, rho_c, n);       
z  = linspace(-H,0,n);       
[X,Z] = meshgrid(x, z);
R= abs(X);                     

C_vert = C0 .* (1 + alpha*abs(Z)/H) .* exp(-lambda*(rho_c - R));
C_vert(R > rho_c) = NaN;              

dx = x(2) - x(1);
dz = z(2) - z(1);
[dCdz, dCdx] = gradient(C_vert, dz, dx);   
dCdx(R > rho_c) = NaN;
dCdz(R > rho_c) = NaN;

M    = sqrt(dCdx.^2 + dCdz.^2);
Mval = M(~isnan(M));
Mmax = max(Mval);
Mmin = min(Mval);

dx_plot = dx;dz_plot = abs(dz);
dmin = min(dx_plot, dz_plot);       

Lmax = 0.8 * dmin;Lmin = 0.1 * dmin;                     
L = (M - Mmin) / (Mmax - Mmin);       
L = Lmin + (Lmax - Lmin).*L;          

Ux_dir = dCdx ./ M;Uz_dir = dCdz ./ M;
Ux = Ux_dir .* L;Uz = Uz_dir .* L;
Ux(isnan(M)) = NaN;Uz(isnan(M)) = NaN;

step = 2;                             
X2  = X(1:step:end, 1:step:end);Z2  = Z(1:step:end, 1:step:end);
Ux2 = Ux(1:step:end, 1:step:end);Uz2 = Uz(1:step:end, 1:step:end);


figure;
hold on;
quiver(X2, Z2, Ux2, Uz2, 0, 'k', 'LineWidth', 1.2, 'MaxHeadSize', 0.9);
plot([ rho_c  rho_c], [-H 0], 'k','LineWidth',1.5);
plot([-rho_c -rho_c], [-H 0], 'k','LineWidth',1.5);
plot([ rho_a  rho_a], [-H 0], 'k--','LineWidth',1.3);
plot([-rho_a -rho_a], [-H 0], 'k--','LineWidth',1.3);
xlabel('x [m]');
ylabel('z [m]');
title('\nabla C_{col}(x,z) - Seccion vertical');
xlim([-rho_c rho_c]);
ylim([-H 0]);
grid on;
hold off;

Gradi.png

3.3 Representación del campo de la función de concentración de la armadura en función de la profundidad:

H= 22;rho_c = 0.75;rho_a = 0.65;    
C0=0.3;alpha =3;lambda = 10;Ccrit = 0.05;    
n = 100;
z = linspace(-H, 0, n);        

factor_r = (rho_a / rho_c)^alpha;
Cacero = C0 * factor_r .* exp(lambda * z / H);

figure; hold on;

plot(z, Cacero, 'LineWidth', 1.5);
plot(z, Ccrit * ones(size(z)), 'k--', 'LineWidth', 1.2);

xlabel('Profundidad z (m)');
ylabel('C_{acero}(z) [kg/m^3]');
title('Concentración de contaminantes en la armadura');
legend('C_{acero}(z)', 'C_{crit} = 0.05 kg/m^3', 'Location', 'best');
grid on;

text(-2, Ccrit + 0.01, 'Riesgo de corrosión: C_{acero} > C_{crit}');

Representación del campo de concentración infiltrada en una sección vertical.

3.4 Representación de las superficies de isoconcentración dentro de una columna:

H=22;rho_c=0.75;rho_a=0.65;C0=0.3;alpha=3;lambda =10;     
Ciso = [0.1 0.2 0.3 0.4]; nx = 40; ny = 40; nz = 40;
x = linspace(-rho_c, rho_c, nx);y = linspace(-rho_c, rho_c, ny);
z = linspace(-H,      0,    nz);
[X,Y,Z] = meshgrid(x, y, z);R = sqrt(X.^2 + Y.^2);         
Ccol = C0 .* (R./rho_c).^alpha .* exp(lambda .* Z ./ H);Ccol(R > rho_c) = NaN;
figure; hold on; 
colores = lines(length(Ciso)); 
for k = 1:length(Ciso)
    cte = Ciso(k);
    p = patch(isosurface(X, Y, Z, Ccol, cte));
    set(p,'FaceColor', colores(k,:),'EdgeColor','none','FaceAlpha',0.6);             
end
n_circ = 80;[Xa,Ya,Za] = cylinder(rho_a, n_circ);Za = -H + Za * H;                
surf(Xa, Ya, Za,'FaceColor', 'none','EdgeColor', 'k','LineWidth', 1.2);
axis equal;
xlabel('x (m)');ylabel('y (m)');zlabel('z (m)');
title('Superficies de isoconcentración C_{col} y cilindro de la armadura');
view(40, 25);

Representación del campo de concentración infiltrada en una sección vertical.

3.5 Estimación de la vida útil de la columna en la zona crítica:

3.6 Cálculo de la masa total de contaminantes infiltrado:

3.7 Cálculo del campo de concentración de contaminantes en el agua:

3.8 Apartado 10: Cálculo Numérico de Masa de Contaminantes

3.9 Apartado 10: Cálculo Analítico de la Masa Infiltrada

3.10 Apartado 10: Cálculo Analítico de la Masa de Contaminantes Infiltrados

3.10.1 1. Planteamiento del Problema

En el marco de la **Teoría de Campos**, se calcula la masa total de contaminantes infiltrados en una columna cilíndrica de hormigón como la integral volumétrica de un campo escalar de concentración [math]C_{\text{col}}(\rho, z)[/math] definido en coordenadas cilíndricas.

3.10.2 2. Campo Escalar de Concentración

El campo de concentración dentro del material poroso es: [math] C_{\text{col}}(\rho, z) = C_{\text{agua}}(z) \cdot e^{-\lambda (\rho_e - \rho)} [/math]

donde el campo escalar en el agua circundante es: [math] C_{\text{agua}}(z) = C_0 \left(1 + \alpha \frac{|z|}{H}\right) [/math]

3.10.3 3. Integral de Volumen

La masa total se obtiene integrando el campo escalar sobre el volumen [math]V[/math] de la columna: [math] M_{\text{col}} = \iiint\limits_{V} C_{\text{col}}(\rho,z) \, dV [/math]

En coordenadas cilíndricas [math](\rho, \theta, z)[/math], con [math]z \in [-H, 0][/math] y [math]\rho \in [\rho_a, \rho_e][/math]: [math] M_{\text{col}} = \int_{z=-H}^{0} \int_{\theta=0}^{2\pi} \int_{\rho=\rho_a}^{\rho_e} C_{\text{col}}(\rho,z) \, \rho \, d\rho \, d\theta \, dz [/math]

3.10.4 4. Separación de Variables

Debido a la simetría axial y la estructura multiplicativa del campo, la integral se separa: [math] M_{\text{col}} = \underbrace{\int_{-H}^{0} C_{\text{agua}}(z) \, dz}_{I_z} \cdot \underbrace{\int_{0}^{2\pi} d\theta}_{I_\theta} \cdot \underbrace{\int_{\rho_a}^{\rho_e} e^{-\lambda (\rho_e - \rho)} \rho \, d\rho}_{I_\rho} [/math]

3.10.5 5. Resolución de [math]I_z[/math] (Integral Vertical)

Para [math]z \leq 0[/math], se tiene [math]|z| = -z[/math]: [math] \begin{aligned} I_z &= \int_{-H}^{0} C_0 \left(1 + \alpha \frac{|z|}{H}\right) dz = \int_{-H}^{0} C_0 \left(1 - \alpha \frac{z}{H}\right) dz \\ &= C_0 \left[ z - \frac{\alpha}{2H} z^2 \right]_{-H}^{0} \\ &= C_0 \left( 0 - \left( -H - \frac{\alpha}{2H} H^2 \right) \right) \\ &= C_0 H \left( 1 + \frac{\alpha}{2} \right) \end{aligned} [/math]

3.10.6 6. Resolución de [math]I_\theta[/math] (Integral Angular)

[math] I_\theta = \int_{0}^{2\pi} d\theta = 2\pi [/math]

3.10.7 7. Resolución de [math]I_\rho[/math] (Integral Radial)

Esta integral modela la atenuación radial de la concentración. Se resuelve con el cambio de variable [math]u = \rho_e - \rho[/math]: [math] \begin{aligned} I_\rho &= \int_{\rho_a}^{\rho_e} e^{-\lambda (\rho_e - \rho)} \rho \, d\rho \\ &= \int_{0}^{\rho_e - \rho_a} e^{-\lambda u} (\rho_e - u) \, du \quad \text{(con } u = \rho_e - \rho \text{)} \\ &= \rho_e \int_{0}^{\rho_e-\rho_a} e^{-\lambda u} \, du - \int_{0}^{\rho_e-\rho_a} u e^{-\lambda u} \, du \end{aligned} [/math]

Resolviendo la primera integral: [math] \int_{0}^{\rho_e-\rho_a} e^{-\lambda u} \, du = \left[ -\frac{1}{\lambda} e^{-\lambda u} \right]_{0}^{\rho_e-\rho_a} = \frac{1}{\lambda} \left(1 - e^{-\lambda(\rho_e-\rho_a)}\right) [/math]

Resolviendo la segunda integral por partes: [math] \int u e^{-\lambda u} du = -\frac{u}{\lambda} e^{-\lambda u} - \frac{1}{\lambda^2} e^{-\lambda u} [/math] Evaluando entre 0 y [math]\rho_e-\rho_a[/math]: [math] \int_{0}^{\rho_e-\rho_a} u e^{-\lambda u} du = \left[ -\frac{u}{\lambda} e^{-\lambda u} - \frac{1}{\lambda^2} e^{-\lambda u} \right]_{0}^{\rho_e-\rho_a} = -\frac{\rho_e-\rho_a}{\lambda} e^{-\lambda(\rho_e-\rho_a)} - \frac{1}{\lambda^2} e^{-\lambda(\rho_e-\rho_a)} + \frac{1}{\lambda^2} [/math]

Combinando los resultados: [math] \begin{aligned} I_\rho &= \rho_e \cdot \frac{1}{\lambda} \left(1 - e^{-\lambda(\rho_e-\rho_a)}\right) - \left( -\frac{\rho_e-\rho_a}{\lambda} e^{-\lambda(\rho_e-\rho_a)} - \frac{1}{\lambda^2} e^{-\lambda(\rho_e-\rho_a)} + \frac{1}{\lambda^2} \right) \\ &= \frac{\rho_e}{\lambda} \left(1 - e^{-\lambda(\rho_e-\rho_a)}\right) + \frac{\rho_e-\rho_a}{\lambda} e^{-\lambda(\rho_e-\rho_a)} + \frac{1}{\lambda^2} \left(e^{-\lambda(\rho_e-\rho_a)} - 1\right) \end{aligned} [/math]

3.10.8 8. Sustitución Numérica

    • Parámetros:**
  • [math]C_0 = 0.3 \, \text{kg/m}^3[/math], [math]\alpha = 3[/math], [math]H = 22 \, \text{m}[/math]
  • [math]\lambda = 10 \, \text{m}^{-1}[/math], [math]\rho_e = 0.75 \, \text{m}[/math], [math]\rho_a = 0.65 \, \text{m}[/math]
    • Cálculo de [math]I_z[/math]:**

[math] I_z = 0.3 \times 22 \times \left( 1 + \frac{3}{2} \right) = 16.5 \, \text{kg/m}^2 [/math]

    • Cálculo de [math]I_\rho[/math]:**

[math] \begin{aligned} \rho_e - \rho_a &= 0.10 \, \text{m} \\ \lambda(\rho_e - \rho_a) &= 1 \\ e^{-\lambda(\rho_e - \rho_a)} &= e^{-1} \approx 0.367879 \\ I_\rho &= \frac{0.75}{10}(1 - 0.367879) + \frac{0.10}{10} \times 0.367879 + \frac{1}{100}(0.367879 - 1) \\ &= 0.047409 + 0.003679 - 0.006321 = 0.044767 \, \text{m}^2 \end{aligned} [/math]

    • Masa total en la columna ([math]M_{\text{col}}[/math]):**

[math] M_{\text{col}} = I_z \times I_\theta \times I_\rho = 16.5 \times 2\pi \times 0.044767 \approx 4.6406 \, \text{kg} [/math]

3.10.9 9. Masa en el Volumen Equivalente de Agua

    • Volumen desplazado por la columna:**

[math] V_{\text{equiv}} = \pi \rho_e^2 H = \pi \times (0.75)^2 \times 22 \approx 38.880 \, \text{m}^3 [/math]

    • Concentración promedio en el agua:**

[math] C_{\text{prom}} = \frac{I_z}{H} = \frac{16.5}{22} = 0.75 \, \text{kg/m}^3 [/math]

    • Masa en agua equivalente ([math]M_{\text{agua}}[/math]):**

[math] M_{\text{agua}} = V_{\text{equiv}} \times C_{\text{prom}} = 38.880 \times 0.75 \approx 29.160 \, \text{kg} [/math]

3.10.10 10. Comparación y Interpretación Física

    • Relación entre masas:**

[math] \frac{M_{\text{col}}}{M_{\text{agua}}} = \frac{4.6406}{29.160} \approx 0.1591 \quad \text{(15.9\%)} [/math]

    • Interpretación en el contexto de la Teoría de Campos:**

La masa de contaminantes que se infiltra en la columna de hormigón poroso representa solo el **15.9%** de la masa que contendría el mismo volumen si estuviera lleno de agua con la concentración promedio. Este resultado cuantifica el **efecto atenuador** del material. La atenuación exponencial [math]e^{-\lambda(\rho_e-\rho)}[/math] en el campo escalar [math]C_{\text{col}}[/math] modela la difusión radial, donde el coeficiente [math]\lambda[/math] representa la "resistencia" del hormigón a la penetración de contaminantes. La integral de volumen sobre la geometría cilíndrica, resuelta mediante separación de variables, es una aplicación directa de los métodos de integración de campos escalares en coordenadas curvilíneas.

4 Decantación y distribución de contaminantes

4.1 Grafico de la función Cagua(z)

4.1.1 Gráfico de Concentración vs Profundidad

Código MATLAB Gráfica Resultante Función Cagua(z)
%% (11a) Gráfico de C_agua(z) vs z
% Parámetros del modelo
C0 = 0.3;      % Concentración en superficie (kg/m^3)
alpha = 3;     % Parámetro de aumento
H = 22;        % Profundidad total del tanque (m)

% Vector de profundidad y cálculo de concentración
z = linspace(-H, 0, 100);
C_agua = C0 * (1 + alpha * abs(z) / H);

% Crear gráfico
figure;
plot(C_agua, z, 'b', 'LineWidth', 2);
xlabel('Concentración C_{agua}(z) (kg/m^3)');
ylabel('Profundidad z (m)');
title('(11a) Concentración de contaminantes en el agua vs Profundidad');
grid on;
set(gca, 'YDir', 'reverse');

% Añadir puntos de referencia
hold on;
plot(C0, 0, 'ro', 'MarkerSize', 8, 'MarkerFaceColor', 'red');
plot(C0*(1+alpha), -H, 'ro', 'MarkerSize', 8, 'MarkerFaceColor', 'red');
legend('C_{agua}(z)', 'Superficie (z=0)', 'Fondo (z=-H)', 'Location', 'best');

Figura 11a: Gráfico de concentración vs profundidad

4.2 Mapa de Colores en Pared del Tanque

4.2.1 Mapa de Colores en Pared del Tanque

Código MATLAB (11b) Gráfica Resultante (11b)
%% (11b) Mapa de colores sobre una pared del tanque
% Parámetros del modelo
C0 = 0.3;      % Concentración en superficie (kg/m^3)
alpha = 3;     % Parámetro de aumento
H = 22;        % Profundidad total del tanque (m)
W = 140;       % Anchura del tanque (m)

% Definir coordenadas para una pared (x fijo, variando y y z)
y_pared = linspace(-W/2, W/2, 100);  % Coordenadas y de la pared
z_pared = linspace(-H, 0, 100);      % Coordenadas z de la pared
[Y, Z] = meshgrid(y_pared, z_pared); % Malla para la pared

% Calcular concentración en la pared (solo depende de z)
C_pared = C0 * (1 + alpha * abs(Z) / H);

% Crear mapa de colores
figure;
imagesc(y_pared, z_pared, C_pared);
colorbar;
xlabel('Coordenada y (m)');
ylabel('Profundidad z (m)');
title('(11b) Mapa de concentración de contaminantes en una pared del tanque');
axis xy;  % Asegurar que el eje z aumente hacia arriba (0 en top, -H en bottom)

% Opcional: añadir líneas de contorno para mayor claridad
hold on;
[C,h] = contour(Y, Z, C_pared, 5, 'k-');
clabel(C, h);

Figura 11b: Mapa de concentración en pared del tanque

4.3 Representación de contaminantes del agua

4.3.1 Cálculo del Gradiente de Concentración

Desarrollo Analítico Representación Gráfica

4.3.2 Función de concentración

La concentración de contaminantes en el agua viene dada por la expresión:

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

4.3.3 Parámetros del problema

  • [math]C_0 = 0.3 \text{kg/m}^3[/math] (concentración en superficie)
  • [math]\alpha = 3[/math] (parámetro de aumento)
  • [math]H = 22 \text{m}[/math] (profundidad total del tanque)
  • Sistema de coordenadas: [math]z \in [-H, 0][/math] con eje z positivo hacia arriba

4.3.4 Simplificación para el dominio considerado

Para [math]z \leq 0[/math], tenemos que [math]|z| = -z[/math], por lo que:

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

4.3.5 Cálculo del gradiente

El gradiente de la concentración se define como:

[math]\nabla C_{\text{agua}} = \left( \frac{\partial C_{\text{agua}}}{\partial x}, \frac{\partial C_{\text{agua}}}{\partial y}, \frac{\partial C_{\text{agua}}}{\partial z} \right)[/math]

Calculamos las derivadas parciales:

  • [math]\frac{\partial C_{\text{agua}}}{\partial x} = 0[/math] (no depende de x)
  • [math]\frac{\partial C_{\text{agua}}}{\partial y} = 0[/math] (no depende de y)
  • [math]\frac{\partial C_{\text{agua}}}{\partial z} = -\frac{C_0 \alpha}{H}[/math]

Por lo tanto, el gradiente resulta:

[math]\nabla C_{\text{agua}} = \left( 0, 0, -\frac{C_0 \alpha}{H} \right)[/math]

4.3.6 Sustitución numérica

[math]\nabla C_{\text{agua}} = \left( 0, 0, -\frac{0.3 \times 3}{22} \right) = \left( 0, 0, -0.04091 \right) \text{kg/m}^4[/math]

4.3.7 Interpretación física

El gradiente es un vector constante que apunta verticalmente hacia abajo con magnitud [math]0.04091 \text{kg/m}^4[/math]. Esto indica que la concentración de contaminantes aumenta uniformemente con la profundidad, lo cual es consistente con el proceso de sedimentación donde las partículas se depositan en el fondo del tanque.

4.3.8 Código MATLAB

%% Apartado (12) - Campo vectorial del gradiente
C0 = 0.3; alpha = 3; H = 22; W = 140;
dC_dz = -C0 * alpha / H;

y = linspace(-W/2, W/2, 15);
z = linspace(-H, 0, 15);
[Y, Z] = meshgrid(y, z);

U = zeros(size(Y));
V = dC_dz * ones(size(Z));

figure;
quiver(Y, Z, U, V, 'b', 'LineWidth', 1.2);
xlabel('Coordenada y (m)'); ylabel('Profundidad z (m)');
title('(12) Campo vectorial del gradiente \nabla C_{agua}');
grid on; axis equal;

magnitud = abs(dC_dz);
text(0, -H/2, sprintf('Magnitud: %.4f kg/m^4', magnitud), ...
    'HorizontalAlignment', 'center', 'BackgroundColor', 'white');
xlim([-W/2, W/2]); ylim([-H, 0]);

Figura 12: Campo vectorial del gradiente de concentración

4.3.9 Descripción de las superficies de isoconcentracion en el agua:

4.3.10 Cálculo de la masa total de contaminantes en el agua del tanqu:

4.3.11 Preguntas pasadas las 24 horas de decantación: