Diferencia entre revisiones de «El Tanque de Arroyofresno (Grupo 8)»
(→Resolución algebraica) |
(→Póster) |
||
| (No se muestran 289 ediciones intermedias de 4 usuarios) | |||
| Línea 11: | Línea 11: | ||
| − | + | =='''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 24: | 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=== |
| − | [[Archivo:Presion_hidrostatica.png|500px|thumb| | + | [[Archivo:Presion_hidrostatica.png|500px|thumb|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: | 1) Fórmula y datos: | ||
| − | <p | + | <p>Campo escalar de presión hidrostática:</p> |
| − | <math> | + | <center><math> |
P(z) = P_0 - \rho g z, \quad z \in [-H, 0] | P(z) = P_0 - \rho g z, \quad z \in [-H, 0] | ||
| − | </math> | + | </math></center> |
<p>Esta expresión indica que la presión aumenta linealmente con la profundidad. | <p>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, | 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.</p> | <math>\rho</math> la densidad del agua, y <math>g</math> la aceleración de la gravedad.</p> | ||
| − | + | <center><math> | |
| − | + | ||
| − | <math> | + | |
P_0 = 101325 \,\text{Pa} | P_0 = 101325 \,\text{Pa} | ||
</math><br> | </math><br> | ||
| Línea 57: | Línea 53: | ||
<math> | <math> | ||
\text{Radio de la columna: } R_c = 0.75 \,\text{m} | \text{Radio de la columna: } R_c = 0.75 \,\text{m} | ||
| − | </math> | + | </math></center> |
| − | + | ||
2) Parametrización del cilindro: | 2) Parametrización del cilindro: | ||
| − | + | <center><math> | |
| − | <math> | + | |
x = R_c \cos\theta, \quad y = R_c \sin\theta, \quad z = z | x = R_c \cos\theta, \quad y = R_c \sin\theta, \quad z = z | ||
| − | </math> | + | </math></center> |
| Línea 106: | Línea 100: | ||
4) Interpretación: | 4) Interpretación: | ||
| − | -La presión es máxima en el fondo (colores cálidos). | + | - La presión es máxima en el fondo (colores cálidos). |
| − | -La presión es mínima en la superficie (colores fríos). | + | - La presión es mínima en la superficie (colores fríos). |
| − | -Cada franja horizontal tiene presión constante. | + | - Cada franja horizontal tiene presión constante. |
===Gradiente de presión y representación como campo vectorial=== | ===Gradiente de presión y representación como campo vectorial=== | ||
| + | [[Archivo:Gradiente_presion_g8.png|500px|thumb|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: | ||
| − | + | <center><math> | |
| − | + | ||
| − | <math> | + | |
\nabla P = (0,\,0,\,-\rho g) | \nabla P = (0,\,0,\,-\rho g) | ||
| − | </math> | + | </math></center> |
| − | -Magnitud constante | + | - Magnitud constante |
| − | <math> | + | <center><math> |
|\nabla P| = \rho g = 9810 \,\text{Pa/m} | |\nabla P| = \rho g = 9810 \,\text{Pa/m} | ||
| − | </math> | + | </math></center> |
| − | 2) Código MATLAB | + | 2) Código MATLAB: |
{{matlab|codigo= | {{matlab|codigo= | ||
| Línea 157: | Línea 152: | ||
3) Interpretación: | 3) Interpretación: | ||
| − | -Todos los vectores son paralelos entre sí y direccionados hacia el fondo. | + | - 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. | + | - 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== |
| Línea 168: | Línea 163: | ||
1) Geometría de la columna: | 1) Geometría de la columna: | ||
| − | |||
El radio de la columna es: | El radio de la columna es: | ||
| − | |||
<math> | <math> | ||
| Línea 199: | Línea 192: | ||
</math> | </math> | ||
| − | <p>El | + | <p>El diferencial de superficie es:</p> |
<math> | <math> | ||
dS = \rho_c \, d\theta \, dz. | dS = \rho_c \, d\theta \, dz. | ||
| Línea 254: | Línea 247: | ||
| − | 4)Interpretación: | + | 4) Interpretación: |
| − | -Cada vector de fuerza apunta hacia el centro de la columna (dirección radial). | + | - Cada vector de fuerza apunta hacia el centro de la columna (dirección radial). |
| − | -Por simetría, las fuerzas en direcciones opuestas se anulan. | + | - 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). | + | - 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=== | ||
| − | 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. | + | 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: |
| + | <center><math> | ||
| + | C_{\text{col}}(r,z) = C_{0}\left(1 + \alpha \frac{|z|}{H}\right)\exp\!\left[-\lambda(\rho_{c}-r)\right] | ||
| + | </math></center> | ||
| − | + | 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): | |
| + | [[Archivo:Seccion_vertical_g8.png|500px|thumb|SECCIÓN VERTICAL]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
% infiltracion_columna.m | % infiltracion_columna.m | ||
| Línea 310: | Línea 307: | ||
| + | 2) Sección transversal (código MATLAB): | ||
| + | [[Archivo:Seccion_transversal_g8.png|500px|thumb|SECCIÓN TRANSVERSAL]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | %% ( | + | 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); | 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; | colorbar; | ||
| − | title(sprintf('Sección transversal a z = %.1f m | + | xlabel('x (m)'); ylabel('y (m)'); |
| + | title(sprintf('Sección transversal a z = %.1f m', z0)); | ||
hold on; | hold on; | ||
| − | % | + | |
| − | + | % Dibujar el círculo de la armadura | |
| − | plot(Ra*cos( | + | plot(Ra*cos(theta), Ra*sin(theta), 'k--', 'LineWidth', 2); |
| − | text( | + | text(Ra, 0, 'Armadura', 'FontWeight','bold'); |
hold off; | 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. | ||
===Campo del gradiente de concentración infiltrada=== | ===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 | 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> | + | <center><math> C_{\text{agua}}(z)=C_0\left(1+\alpha\,\frac{|z|}{H}\right),\qquad z\in[-H,0] </math></center> |
donde | donde | ||
| Línea 345: | Línea 391: | ||
La concentración que penetra en el hormigón de la columna se describe mediante | 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> | + | <center><math> C_{\text{col}}(r,z)=C_{\text{agua}}(z)\, e^{-\lambda(\rho_a - r)},\qquad 0\le r\le \rho_a </math></center> |
con | con | ||
| Línea 354: | Línea 400: | ||
| − | <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> | + | <center><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></center> |
| Línea 361: | Línea 407: | ||
Con esta relación, el campo vectorial se expresa como <math>\nabla C_{\text{col}}(x,z)</math>. | Con esta relación, el campo vectorial se expresa como <math>\nabla C_{\text{col}}(x,z)</math>. | ||
| + | |||
| + | 2) Código MATLAB | ||
| + | [[Archivo:Gradiente_seccion_vertical_g8.png|500px|thumb|GRADIENTE SECCIÓN VERTICAL]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
%%Gradiente en la sección vertical (quiver) | %%Gradiente en la sección vertical (quiver) | ||
| Línea 389: | Línea 438: | ||
set(gca,'YDir','normal'); | 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. | ||
===Función de concentración en la armadura en función de la profundidad=== | ===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: | ||
| + | |||
| + | <center><math> | ||
| + | C_{\text{acero}}(z) = | ||
| + | C_{\text{agua}}(z) \cdot e^{-\alpha (R - r_{\text{armadura}})} | ||
| + | </math></center> | ||
| + | |||
| + | donde: | ||
| + | |||
| + | <center><math> | ||
| + | C_{\text{agua}}(z) = | ||
| + | C_0 \left( 1 + \beta \frac{z}{H} \right) | ||
| + | </math></center> | ||
| + | |||
| + | se tiene que: | ||
| + | |||
| + | <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>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></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. | ||
| + | |||
| + | 2) Código MATLAB: | ||
| + | |||
| + | [[Archivo:Grafica_3.3_gp8.png|500px|thumb|CONCENTRACIÓN ARMADURA]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | % | + | % --- 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; | figure; | ||
| − | plot( | + | plot(z,Cacero,'b','LineWidth',2); % Curva de concentración en la armadura |
hold on; | hold on; | ||
| − | + | yline(Ccrit,'r--','Umbral crítico'); % Línea horizontal indicando el umbral | |
| − | xlabel(' | + | xlabel('Profundidad z [m]'); % Etiqueta del eje X |
| − | title('Concentración en la armadura | + | ylabel('Concentración en armadura [kg/m^3]'); % Etiqueta del eje Y |
| − | legend('C_{acero}(z)',' | + | 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. | ||
===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]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | %% Isosuperficies 3D | + | %% Isosuperficies 3D |
| − | nt = 60; nr3 = 60 nz3 = 60; | + | 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); | r3 = linspace(0, Rc, nr3); | ||
t3 = linspace(0, 2*pi, nt); | t3 = linspace(0, 2*pi, nt); | ||
z3 = linspace(-H, 0, nz3); | z3 = linspace(-H, 0, nz3); | ||
| − | |||
| − | + | [T3, R3, Z3] = ndgrid(t3, r3, z3); | |
| − | |||
X3 = R3 .* cos(T3); | X3 = R3 .* cos(T3); | ||
Y3 = R3 .* sin(T3); | Y3 = R3 .* sin(T3); | ||
| − | + | %% Campo 3D | |
| − | + | Cagua = @(zz) C0 .* (1 + alpha .* abs(zz) ./ H); | |
| − | + | C3 = Cagua(Z3) .* exp(-lambda .* (Rc - R3)); | |
| − | for k=1:length( | + | |
| − | p = patch(isosurface(X3, Y3, Z3, C3, | + | %% Valores de isosuperficie |
| − | + | isos = [0.10 0.20 0.30 0.40]; | |
| − | set(p, 'FaceColor', | + | 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 | end | ||
| − | % | + | |
| − | [ | + | %% Armadura (cilindro) |
| − | + | [xa, ya, za] = cylinder(Ra, 80); | |
| − | surf( | + | za = za * H - H; |
| − | axis equal; | + | |
| − | + | surf(xa, ya, za, 'FaceColor',[0.5 0.5 0.5], ... | |
| − | title('Isosuperficies C_{col} | + | '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; | 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 456: | Línea 648: | ||
Tiempo necesario para alcanzar la pérdida crítica: | 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> | + | <center><math> t = \frac{5\ \text{mm}}{0.1\ \text{mm/año}} = 50\ \text{años}. </math></center> |
| − | |||
| − | + | <center><math>\boxed{t \approx 50\ \text{años}}</math></center> | |
| − | <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. | ||
===Masa total de contaminantes infiltrados en una columna=== | ===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: | |
| − | + | <center><math> | |
| − | <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 | 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. | = 2\pi \int_{-H}^{0} C_{\text{agua}}(z) \left( \int_{0}^{R_c} e^{-\lambda(R_c - r)} r \, dr \right) dz. | ||
| − | </math> | + | </math></center> |
| − | + | 1) Resultados numéricos: | |
| − | -Masa infiltrada en la columna: <math>M_{\text{col}} \approx 6.82 \,\text{kg}</math | + | - 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>): | + | - Masa de contaminantes en el volumen equivalente de agua (cilindro de radio <math>R_c</math> y altura <math>H</math>): |
<math> | <math> | ||
M_{\text{agua}} = \pi R_c^2 \int_{-H}^{0} C_{\text{agua}}(z)\, dz \approx 29.16 \,\text{kg}. | M_{\text{agua}} = \pi R_c^2 \int_{-H}^{0} C_{\text{agua}}(z)\, dz \approx 29.16 \,\text{kg}. | ||
| Línea 490: | Línea 681: | ||
(Números obtenidos por integración numérica).</p> | (Números obtenidos por integración numérica).</p> | ||
| − | <p>Estos valores incluyen que la concentración en el hormigón se atenúa radialmente mediante:</p> | + | <p>Estos valores incluyen que la concentración en el hormigón se atenúa radialmente mediante: |
| − | <math> | + | |
| + | </p> | ||
| + | <center><math> | ||
e^{-\lambda(R_c - r)}, \quad \text{con } \lambda = 10 \,\text{m}^{-1}. | e^{-\lambda(R_c - r)}, \quad \text{con } \lambda = 10 \,\text{m}^{-1}. | ||
| − | </math> | + | </math></center> |
| − | + | 2) Código MATLAB (Numérico): | |
{{matlab|codigo= | {{matlab|codigo= | ||
| − | %% (f) Masa total infiltrada en la columna | + | %% (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 516: | Línea 709: | ||
| − | + | 3) Interpretación: | |
| − | -La masa infiltrada en el hormigón es significativamente menor que la masa contenida en el mismo volumen de agua. | + | - 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. | + | - 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. | + | - 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. |
='''Decantación y distribución de contaminantes infiltrados en una columna'''= | ='''Decantación y distribución de contaminantes infiltrados en una columna'''= | ||
===Campo de concentración de contaminantes en el agua=== | ===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í, | + | 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 | + | 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: | ||
| − | <math> | + | <center><math> |
C_{\text{agua}}(z) = C_0 \left( 1 + \alpha \frac{|z|}{H} \right) | C_{\text{agua}}(z) = C_0 \left( 1 + \alpha \frac{|z|}{H} \right) | ||
| − | </math> | + | </math></center> |
1) Código MATLAB: | 1) Código MATLAB: | ||
| + | [[Archivo:Concentracion_contaminantes_gp8.png|600px|thumb]] | ||
| + | [[Archivo:Mapa_de_concentracion_gp8.png|800px|thumb]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | % Parámetros | + | % Parámetros |
| − | + | C0 = 0.3; % Concentración en superficie (kg/m^3) | |
| − | beta = 3; | + | beta = 3; % Factor de incremento hacia el fondo |
| − | H = 22; | + | H = 22; % Profundidad del tanque (m) |
| − | L = 290; | + | 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 | + | % (a) Gráfico de la función Cagua(z) |
figure; | figure; | ||
| − | plot( | + | plot(Cagua,z,'b','LineWidth',2); |
| − | xlabel(' | + | xlabel('Concentración [kg/m^3]'); |
| − | ylabel(' | + | ylabel('Profundidad z [m]'); |
| − | title('Concentración de contaminantes en | + | 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 | ||
| − | + | nx = 50; nz = 50; | |
| − | nx = | + | x = linspace(-L/2,L/2,nx); |
| − | nz = | + | Z = linspace(-H,0,nz); |
| − | [X, | + | [X,Zgrid] = meshgrid(x,Z); |
| − | + | ||
| + | Cmap = C0*(1 - beta*Zgrid/H); | ||
figure; | figure; | ||
| − | + | contourf(X,Zgrid,Cmap,20,'LineColor','none'); | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
colorbar; | 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: | 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>. | + | - 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>. | 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. | 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). | + | - 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. | Las zonas más profundas son más contaminadas, lo que implica que el lodo formado en el fondo será altamente concentrado. | ||
| Línea 590: | Línea 788: | ||
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: | 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> | + | <center><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} | 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> | + | </math></center> |
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 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. | ||
| Línea 598: | Línea 796: | ||
El gradiente deseado se obtiene a partir del siguiente código. | El gradiente deseado se obtiene a partir del siguiente código. | ||
| − | 1)Código MATLAB | + | 1) Código MATLAB |
| − | + | [[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 | ||
| − | + | alpha = 3; % adimensional | |
| − | + | B = 22; % profundidad en metros | |
| − | L = 290; % longitud del tanque | + | L = 290; % longitud del tanque (m) |
| − | + | ||
| − | % | + | % Mallado para la pared del tanque |
| − | nx = | + | nx = 50; ny = 50; |
| − | x = linspace( | + | x = linspace(0, L, nx); |
| − | z = linspace( | + | z = linspace(0, -B, ny); |
[X,Z] = meshgrid(x,z); | [X,Z] = meshgrid(x,z); | ||
| − | % | + | % Concentración en el agua |
| − | Cagua = C0*(1 + | + | Cagua = C0 * (1 + alpha * (Z / B)); |
| − | % Gradiente (constante | + | % Gradiente de concentración (constante) |
| − | gradC = | + | gradC = C0 * alpha / B; % kg/m^4 |
| − | + | U = zeros(size(X)); % componente horizontal | |
| − | + | 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, | + | |
| − | xlabel(' | + | % Campo vectorial (flechas) |
| − | title(' | + | quiver(X,Z,U,V,'k','LineWidth',1,'MaxHeadSize',0.5); |
| − | axis | + | |
| + | 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: | + | 2) Interpretación: |
| − | -El campo de concentración aumenta linealmente con la profundidad: más contaminantes en el fondo. | + | - 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. | + | - 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. | + | - 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. |
===Superficie de isoconcentración en el agua=== | ===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. | 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>: | ||
| + | <center><math> | ||
| + | C = C_0 \left( 1 - \alpha \frac{z}{H} \right) \;\Rightarrow\; z = -\frac{H}{\alpha} \left( \frac{C}{C_0} - 1 \right) | ||
| + | </math></center> | ||
| + | |||
| + | Sustituyendo: | ||
| + | Para <math>C = 0.4</math>: | ||
| + | <center><math> | ||
| + | z = -\frac{22}{3} \left( \frac{0.4}{0.3} - 1 \right) = -\frac{22}{3} (0.333333) \approx -2.4444 \,\text{m} | ||
| + | </math></center> | ||
| + | |||
| + | - 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: | ||
| + | [[Archivo:Superficies_iso.png|400px|thumb|SUPERFICIES DE ISOCONCENTRACIÓN]] | ||
| + | {{matlab|codigo= | ||
| + | % 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. | ||
| + | |||
| + | ===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: | ||
| + | |||
| + | <center><math>L = 290\,\text{m},\quad W = 140\,\text{m},\quad h = 7\,\text{m}</math></center> | ||
| + | |||
| + | |||
| + | <center><math> | ||
| + | A = L \cdot W = 290 \cdot 140 = 40{,}600\ \text{m}^2 | ||
| + | </math></center> | ||
| + | |||
| + | - Perfil de concentración en el agua: | ||
| + | |||
| + | |||
| + | <center><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></center> | ||
| + | |||
| + | |||
| + | |||
| + | - Masa total de contaminantes (definición general): | ||
| + | |||
| + | |||
| + | <center><math> | ||
| + | M = \iiint_V C(\mathbf{r})\, dV | ||
| + | </math></center> | ||
| + | |||
| + | |||
| + | |||
| + | - Masa en el tanque (sección constante): | ||
| + | |||
| + | |||
| + | <center><math> | ||
| + | M = A \int_{-h}^{0} C_{\text{agua}}(z)\, dz | ||
| + | </math></center> | ||
| + | |||
| + | |||
| + | |||
| + | - Resolución de la integral: | ||
| + | |||
| + | |||
| + | <center><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></center> | ||
| + | |||
| + | |||
| + | |||
| + | - Sustitución numérica: | ||
| + | |||
| + | |||
| + | <center><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></center> | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | <center><math> | ||
| + | M = 40{,}600 \cdot 0.3 \cdot 3.66 \approx 44{,}600\ \text{kg} | ||
| + | </math></center> | ||
| + | |||
| + | |||
| + | |||
| + | - Resultado: | ||
| + | <center><math>\quad M \approx 44{,}600\ \text{kg}</math></center> | ||
| + | |||
| + | ==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: | ||
| + | <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= | ||
| + | % 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);}} | ||
| + | |||
| + | ===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=== | ||
| + | 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=== | ||
| + | ¿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 utiliza 8 veces al año, el espesor anual acumulado de lodo se calculará como: | ||
| + | |||
| + | <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 |
|
| 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
- 4.1 Campo de concentración de contaminantes en el agua
- 4.2 Gradiente de concentración de contaminantes en el agua
- 4.3 Superficie de isoconcentración en el agua
- 4.4 Masa total de contaminantes en el agua
- 4.5 Pasadas 24 horas
- 4.5.1 Masa de contaminantes depositados
- 4.5.2 Volumen de lodo
- 4.5.3 Espesor promedio de la capa de lodo en el fondo
- 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?
- 5 Póster
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:
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]
\rho = 1000 \,\text{kg/m}^3
[/math]
[math]
g = 9.81 \,\text{m/s}^2
[/math]
[math]
H = 22 \,\text{m}
[/math]
2) Parametrización del cilindro:
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:
- Magnitud constante
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:
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):
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
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
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
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
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:
donde:
se tiene que:
[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:
% --- 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 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:
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:
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:
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:
1) Código MATLAB:
% 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:
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
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]:
Sustituyendo: Para [math]C = 0.4[/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)
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:
- Perfil de concentración en el agua:
- Masa total de contaminantes (definición general):
- Masa en el tanque (sección constante):
- Resolución de la integral:
- Sustitución numérica:
- Resultado:
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:
- Porcentaje decantado en 24h:
- Densidad aparente del lodo:
- Dimensiones del tanque:
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:
4.5.2 Volumen de lodo
En cuanto al volumen, lo calcularemos de la siguiente forma:
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:Con ello, al estimar el espesor promedio obtenemos el siguiente resultado:
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:
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

