El Tanque de Tormentas de Arroyofresno (Grupo 30)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | El Tanque de Tormentas de Arroyofresno. Grupo 30 |
| Asignatura | Teoría de Campos |
| Curso | 2025-26 |
| Autores | David Bretaña Blanco Alba García Martín |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Funcionamiento del Tanque de Arroyofresno
El amanecer se filtraba suavemente entre las montañas. La luz dorada avanzaba despacio sobre los tejados. Un murmullo de vida comenzaba a crecer en la aldea. Los pájaros desplegaban sus alas con entusiasmo. El aire fresco llevaba consigo el olor a leña quemada. Las ventanas se abrían una a una dejando entrar la mañana. Un perro correteaba por el camino principal sin rumbo. Los niños aún dormían soñando aventuras imposibles. Las nubes se desplazaban lentamente como guardianes silenciosos. Una campana lejana anunciaba el inicio del día. El pan recién horneado desprendía un aroma irresistible. Las hojas de los árboles se mecían con suavidad. Un viajero solitario cruzaba el pueblo en silencio. La bruma matinal se disipaba entre los campos verdes. Los granjeros preparaban sus carretas para la jornada. Un caballo relinchó, impaciente por comenzar el trabajo. Los primeros rayos bañaron el río con destellos plateados. Un pescador lanzó su red esperando buena fortuna. Las flores abrían los pétalos en un acto casi ritual. Un gato se estiró perezosamente frente a una puerta. El eco de risas comenzó a llenar la calle principal. Las colinas parecían despertar de un largo sueño. El cielo adquiría un tono azul cada vez más profundo. Una anciana barría la entrada de su casa con calma. El aroma del café recién preparado invadía el ambiente. Las sombras de la noche se retiraban hacia los bosques. Un grupo de jóvenes se reunía para planear el día. El sonido del agua corriendo traía paz a los oídos. Los colores del paisaje se volvían más vibrantes. El reloj de la torre marcó una nueva hora. Una carreta cargada de heno avanzaba lentamente. Un perro ladró saludando al conductor. La vida cotidiana comenzaba a tomar ritmo. Las voces se entrelazaban creando una melodía humana. El viento jugaba con los cabellos de quienes pasaban. Un vendedor instalaba su pequeño puesto de frutas. Las uvas brillaban bajo la luz matinal. Un niño corrió detrás de una pelota gastada. Su risa iluminó el rincón donde jugaba. Una mariposa amarilla cruzó el camino danzando. Los días tranquilos eran un tesoro para los habitantes. Cada detalle parecía formar parte de una gran historia. El pueblo respiraba armonía en cada rincón. La calma invitaba a perderse en pensamientos profundos. El sol ascendía con determinación. El cielo prometía un día perfecto. Las montañas observaban todo como eternas guardianas. Así comenzaba una nueva jornada en aquel lugar.
2 Presión y fuerzas estructurales sobre columnas
2.1 Representación del campo de presiones
En este apartado se describe cómo se representa el campo de presión hidrostática sobre la superficie lateral de una columna del tanque cuando éste se encuentra completamente lleno. El objetivo es visualizar cómo varía la presión en función de la profundidad mediante un mapa de colores aplicado sobre la superficie cilíndrica.
1) Campo de presión hidrostática
La presión en el interior del tanque depende únicamente de la coordenada vertical z, aumentando linealmente con la profundidad:
[math]P(z) = P_0 - \rho g\, z,\qquad z \in [-H,0][/math]
donde:
- [math]P_0 = 101325\ \text{Pa}[/math] es la presión atmosférica en la superficie del agua,
- [math]\rho = 1000\ \text{kg/m}^3[/math] es la densidad del agua,
- [math]g = 9.81\ \text{m/s}^2[/math] es la aceleración de la gravedad,
- [math]H = 22\ \text{m}[/math] es la profundidad total del tanque.
Dado que z toma valores negativos hacia el fondo, el término [math]-\rho g z[/math] hace que la presión aumente progresivamente al descender.
2) Superficie cilíndrica de la columna
La columna se considera un cilindro circular recto de radio:
[math]R_c = 0.75\ \text{m}[/math]
Para estudiar la distribución de presión sobre su superficie exterior, se parametriza el cilindro mediante:
[math]
\begin{cases}
x = R_c \cos\theta, \\
y = R_c \sin\theta, \\
z = z,
\end{cases}
[/math]
donde:
- [math]\theta \in [0,2\pi][/math] recorre toda la circunferencia,
- [math]z \in [-H,0][/math] recorre la altura total sumergida.
3) Representación mediante mapa de color
Una vez definido el campo escalar [math]P(z)[/math] y la superficie cilíndrica, se utiliza un mapa de colores para representar visualmente la presión:
- Las zonas cercanas al fondo muestran colores asociados a presiones más elevadas.
- Las zonas próximas a la superficie aparecen con colores correspondientes a presiones menores.
4) Código MATLAB
clear;clc;
%Datos
H=22;
rc=0.75;
Po=101325;
Da=1000;
g=9.81;
%Mallado en cilindricas
theta=linspace(0,2*pi,250);
z=linspace(-H,0,250);
[theta,z]=meshgrid(theta,z);
%Coordenadas cartesianas superficie
R=rc;
X=R*cos(theta);
Y=R*sin(theta);
Z=z;
%Campo de presion hidrostatica
P=Po-Da*g*Z;
%Representacion superficie con mapa de color
figure;
surf(X,Y,Z,P,'EdgeColor','none');
colorbar;
xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
title('Campo de presión hidrostatica');
axis equal;
2.2 Gradiente de presión y representación del campo vectorial
En este apartado se analiza el gradiente del campo de presión hidrostática dentro del tanque y se representa dicho gradiente sobre la superficie lateral de una de sus columnas. El objetivo es mostrar, mediante vectores, cómo cambia la presión y hacia dónde aumenta cuando el tanque está lleno.
1) Gradiente del campo de presión
Según la fórmula referida en el punto anterior y puesto que la presión sólo varía con la profundidad, la presión sólo cambia en la dirección vertical.
El gradiente indica hacia dónde cambia más un valor. Como en este caso la presión solo depende de la profundidad z, su gradiente es:
[math]
\nabla P = \left( \frac{\partial P}{\partial x},\; \frac{\partial P}{\partial y},\; \frac{\partial P}{\partial z} \right)
= (0,\;0,\; -\rho_{\text{agua}}\, g).
[/math]
Esto implica que:
el vector gradiente apunta constantemente hacia abajo, con magnitud proporcional al peso específico del agua.
El gradiente es por tanto un campo vectorial uniforme dirigido hacia el fondo del tanque.
2) Representación del gradiente como campo vectorial
Al superponer el gradiente sobre la superficie cilíndrica se obtiene un campo de vectores que muestra:
- dirección constante hacia abajo, indicando que la presión aumenta a medida que descendemos en la columna,
- magnitud uniforme, puesto que el gradiente es constante en todo el volumen del agua.
3) Código de matlab:
clear;clc;
%Datos
H=22;
rc=0.75;
Po=101325;
Da=1000;
g=9.81;
%Mallado en cilindricas
theta=linspace(0,2*pi,25);
z=linspace(-H,0,25);
[theta,z]=meshgrid(theta,z);
%Coordenadas cartesianas superficie
R=rc;
X=R*cos(theta);
Y=R*sin(theta);
Z=z;
%Gradiente de presion
dPx=zeros(size(Z));
dPy=zeros(size(Z));
dPz=-Da*g*ones(size(Z));
%Representacion
figure;
surf(X,Y,Z,'FaceAlpha',0.2,'EdgeColor','none');
hold on;
quiver3(X,Y,Z,dPx,dPy,dPz,'AutoScaleFactor',0.5);
xlabel('X(m)');
ylabel('Y(m)');
zlabel('Z(m)');
title('Gradiente de presion sobre la superficie de la columna');
axis equal;
grid on;
hold off;
2.3 Fuerza total que el agua ejerce sobre una columna
1) Parametrización de la superficie
Para calcular la fuerza total que el liquido(agua)ejerce sobre la columna primero analizaremos la superficie de la columna
Radio de la columna:
[math]R_c=0.75 [/math]
La parametrizacion de la superficie lateral será entonces:
[math]
\mathbf{r}(\theta, z) =
\begin{pmatrix}
R_c \cos\theta \\
R_c \sin\theta \\
z
\end{pmatrix}
, \theta\in[0,2\pi] z\in[-H,0]
[/math]
El vector normal exterior es:
[math]\mathbf{n}(\theta, z)=\begin{pmatrix}
\cos\theta \\
\sin\theta \\
0
\end{pmatrix}
[/math]
El diferencial de superficie sera entonces:
[math]\quad dS = R_c\, d\theta\, dz,\quad [/math]
2) El campo vectorial de la fuerza de presión es:
[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) La fuerza total:
[math]
F_{\mathrm{tot}}
= \iint_{S} F(\theta,z)\, dS
= -R_c
\int_{z=-H}^{0}
\int_{\theta=0}^{2\pi}
\left(P_0 - \rho g z \right)
\begin{pmatrix}
\cos\theta \\[4pt]
\sin\theta \\[4pt]
0
\end{pmatrix}
\, d\theta\, dz
= -R_c
\int_{z=-H}^{0}
\left(P_0 - \rho g z \right)
\left[
\int_{\theta=0}^{2\pi}
\begin{pmatrix}
\cos\theta \\[4pt]
\sin\theta \\[4pt]
0
\end{pmatrix}
\, d\theta
\right]
dz
[/math]
Si resolvemos la segunda integral esta da 0 por lo que la [math]F_{\mathrm{tot}}=0[/math]
4) Resultado final
[math]F_{\mathrm{tot}}=0[/math]
El resultado de la fuerza total ejercida es 0 ya que cada fuerza horizontal ejercida sobre la columna se anula con su simétrica, el agua ejerce la misma fuerza a la misma altura asique al sumar todas las fuerzas el conjunto resulta ser nulo.
3 Infiltración y corrosión en columnas
3.1 Representación del campo de concentración infiltrado
En este apartado se describe cómo se representa el campo de concentración de contaminantes que ha penetrado en el interior de una columna .El objetivo es visualizar de forma clara cómo los contaminantes presentes en el agua penetran en las columnas, cómo su concentración aumenta con la profundidad del depósito y cómo disminuye progresivamente desde la superficie hacia el interior.
1) Concentración de contaminantes en el agua del tanque
Durante los episodios de tormenta, el agua que entra en el tanque arrastra contaminantes, los cuales tienden a sedimentar hacia el fondo. Por ello, la concentración en el agua varía con la profundidad y aumenta conforme se desciende:
[math]C_{\text{agua}}(z)=C_0\left(1+\alpha\,\frac{|z|}{H}\right)[/math]
donde:
- [math]C_0 = 0.3\,\text{kg/m}^3[/math] concentración en superficie,
- [math]\alpha=3[/math] incremento de contaminación hacia el fondo,
- [math]z\in[-H,0][/math] coordenada vertical, con [math]z=-H[/math].
Esto refleja que el agua cercana al fondo contiene más partículas sedimentadas.
2) Infiltración radial en las columnas de hormigón
Las columnas cilíndricas que soportan la estructura están sometidas al contacto directo con el agua contaminada. Los contaminantes penetran en su interior siguiendo una pérdida rápida de concentración conforme se penetra en el hormigón.
[math]C_{\text{col}}(\rho,z)= C_{\text{agua}}(z)\,e^{-\lambda(\rho_c-\rho)}[/math]
donde:
- [math]\rho[/math] es la distancia al eje de la columna,
- [math]\rho_c = 0.75\,\text{m}[/math] es el radio exterior de la columna,
- [math]\lambda = 10\,\text{m}^{-1}[/math] es el coeficiente de atenuación.
La concentración es máxima en la superficie de la columna (donde [math]\rho=\rho_c[/math]) y disminuye rápidamente hacia el interior.
3) Posición de la armadura
En el interior de cada columna se encuentra la armadura de acero, situada a un radio:
[math]\rho_a = 0.65\,\text{m}[/math]
4) Representación en una sección vertical
Para estudiar la variación vertical de la concentración infiltrada, se considera una sección vertical que pasa por el eje de la columna.
En esta representación:
- El eje horizontal corresponde al radio [math]\rho[/math], desde el centro hasta la superficie de la columna.
- El eje vertical corresponde a la profundidad [math]z[/math], desde la superficie del agua ([math]z=0[/math]) hasta el fondo ([math]z=-H[/math]).
El mapa de colores permite visualizar:
- El aumento de concentración hacia el fondo.
- La disminución radial hacia el interior.
- La localización de la armadura en [math]\rho=\rho_a[/math]
Código MATLAB:
clear; clc; close all;
% Datos
H = 22;
rc = 0.75;
ra = 0.65;
Co = 0.3;
alpha = 3;
lambda = 10;
%Mallado
r = linspace(0, rc, 300);
z = linspace(-H, 0, 300);
[R, Z] = meshgrid(r, z);
% Concentración agua
Cagua =@(z) Co .* (1 + alpha .* abs(z) ./ H);
% Concentración infiltrada
Ccol = Cagua(Z) .* exp(-lambda .* (rc - R));
%Sección vertical
figure;
surf(R, Z, Ccol,'EdgeColor','none');
view(2);
colorbar;
xlabel('R(m)');
ylabel('Z(m)');
title('Concentración infiltrada-sección vertical');
axis tight;
hold on;
%armadura
zline = max(Ccol(:)) * 1.05;
plot3([ra ra], [-H 0],[zline zline], 'k--', 'LineWidth', 3);
text(ra-0.08, -H+2,zline, 'Armadura', 'Color','k','FontWeight','bold','FontSize',16);
hold off;
5) Representación en una sección transversal
Se estudia también una sección transversal de la columna en un plano horizontal situado a mitad de la altura del tanque ([math]z=-H/2[/math]).
En esta otra representacion:
- La concentración depende únicamente del radio [math]\rho[/math].
El mapa de colores muestra:
- El máximo de concentración en el borde exterior.
- Una bajada fuerte conforme se va hacia el interior.
- La circunferencia interior correspondiente a la armadura ([math]\rho=\rho_a[/math]).
Código MATLAB:
clear; clc; close all;
%Datos
H = 22;
rc = 0.75;
ra = 0.65;
Co = 0.3;
alpha = 3;
lambda = 10;
%Mallado
r = linspace(0, rc, 250);
z = linspace(0, 2*pi, 250);
[R, Z] = meshgrid(r, z);
%Coordenadas cartesianas
X = R .* cos(Z);
Y = R .* sin(Z);
%Concentración mitad de la altura
z0 = -H/2;
Cagua = @(z) Co .* (1 + alpha .* abs(z) ./ H);
Ccol = Cagua(z0) .* exp(-lambda .* (rc - R));
% Seccion transversal
figure;
surf(X,Y,Ccol,'EdgeColor','none');
view(2);
colorbar;
xlabel('X(m)');
ylabel('Y(m)');
title('Concentración infiltrada-seccion transversal');
axis tight;
hold on;
%Armadura
th=linspace(0,2*pi,200);
Xa = ra * cos(th);
Ya = ra * sin(th);
zline = max(Ccol(:));
plot3(Xa,Ya,zline* ones(size(Xa)), 'k--', 'LineWidth', 3);
text(Xa(1)*0.45, Ya(1)*1.05,zline, 'Armadura', 'Color','k','FontWeight','bold','FontSize',16);
hold off;
6) Interpretación física y estructural
Las mayores concentraciones se encuentran en las zonas profundas del tanque.
3.2 Representación del campo del gradiente de concentración infiltrada
En este apartado se analiza el gradiente del campo de concentración de contaminantes en el interior de una columna. El objetivo es identificar cómo y en qué dirección varía más intensamente la concentración dentro del material.
1) Sección vertical de la columna y dominio de estudio
Para analizar la penetración de contaminantes, se considera una sección vertical que pasa por el eje de la columna;
- el dominio radial: [math]\rho \in [0,\rho_c][/math],
- la profundidad: [math]z \in [-H,0][/math], con [math]H=22\ \text{m}[/math].
Esta sección permite estudiar simultáneamente la variación radial y la variación vertical.
Usando las fórmulas ya indicadas en el punto anterior:
2) Campo del gradiente de concentración
Definido el campo escalar [math]C_{\text{col}}(\rho,z)[/math], se calcula su gradiente:
[math]
\nabla C_{\text{col}} =
\left(
\frac{\partial C_{\text{col}}}{\partial \rho},
\frac{\partial C_{\text{col}}}{\partial z}
\right)
[/math]
El gradiente representa:
- la dirección en la que la concentración aumenta más rápidamente,
- la intensidad del cambio local en cada punto.
El componente radial muestra cómo la concentración baja desde la superficie hacia el centro de la columna, mientras que el componente vertical indica que en las zonas más profundas la concentración es mayor.
4) Código MATLAB
clear,clc;
% Datos
H = 22;
rc = 0.75;
Co = 0.3;
alpha = 3;
lambda = 10;
%Mallado
r = linspace(0, rc, 200);
z = linspace(0, -H, 200);
[R, Z] = meshgrid(r, z);
% Concentración agua
Cagua =@(z) Co .* (1 + alpha .* abs(z) ./ H);
% Concentración infiltrada
R1 = abs(R);
Ccol = Cagua(Z) .* exp(-lambda .* (rc - R1));
Ccol(R1 > rc) = NaN;
%Gradiente de concentracion
dr = r(2) - r(1);
dz = z(2) - z(1);
dCdr = zeros(size(Ccol));
dCdz = zeros(size(Ccol));
dCdr(:,1:end-1) = Ccol(:,2:end) - Ccol(:,1:end-1);
dCdr(:,end) = 0;
dCdr = dCdr / dr;
dCdz(1:end-1,:) = Ccol(2:end,:) - Ccol(1:end-1,:);
dCdz(end,:) = 0;
dCdz = dCdz / dz;
%Representacion flechas gradiente
skip = 5;
quiver(R(1:skip:end,1:skip:end), Z(1:skip:end,1:skip:end), ...
dCdr(1:skip:end,1:skip:end), dCdz(1:skip:end,1:skip:end), 'g');
xlabel('R (m)');
ylabel('Z (m)');
title('Gradiente concentración infiltrada-sección vertical');
axis tight;
hold off;
- Las flechas indican la dirección de máximo incremento de concentración.
- La longitud representa la magnitud del gradiente en cada punto.
- Cerca de la superficie exterior aparecen vectores más intensos debido al rápido descenso de concentración hacia el interior.
- En el fondo del tanque los vectores son mayores, ya que la concentración del agua es más alta.
3.3 Representación de la función de concentración en la armadura en función de la profundidad
En este apartado se representa cómo varía la concentración de contaminantes que alcanza la armadura de acero de una columna en función de la profundidad. El objetivo es identificar las zonas en las que la concentración supera el umbral crítico capaz de iniciar la corrosión del acero.
2) Infiltración hacia la armadura
Evaluando la expresión [math]C_{\text{col}}(\rho,z) = C_{\text{agua}}(z)\,e^{-\lambda(\rho_c - \rho)}[/math] en la posición del acero ([math]\rho = \rho_a[/math]) se obtiene la concentración que alcanza la armadura:
[math]C_{\text{acero}}(z) = C_{\text{agua}}(z)\,e^{-\lambda(\rho_c - \rho_a)}[/math]
3) Identificación del umbral crítico de corrosión
La corrosión de la armadura comienza cuando la concentración de contaminantes supera el valor mínimo necesario para activar el proceso electroquímico. Este umbral se fija en:
[math]C_{\text{crit}} = 0.05\ \text{kg/m}^3[/math]
4) Código MATLAB:
clear, clc;
%Datos
H = 22;
rc = 0.75;
ra = 0.65;
Co = 0.3;
alpha = 3;
lambda = 10;
Ccrit=0.05; %Umbral critico
% vector z
z=linspace(-H,0,200);
% Concentración acero
Cagua = @(z) Co .* (1 + alpha .* abs(z) ./ H);
Ccol = Cagua(z) .* exp(-lambda .* (rc - ra));
Cacero=Ccol;
%Grafica
figure;
plot(Cacero,z, 'b', 'LineWidth', 2);
hold on;
yline(Ccrit, 'r--', 'LineWidth', 2);
xlabel('C_{acero}');
ylabel('Z(m)');
title('Concentración en la armadura y Umbral crítico');
legend('C_{acero}(z)', 'Umbral crítico');
set(gca,'YDir','normal')
axis padded;
hold off;
- La curva [math]C_{\text{acero}}(z)[/math] aumenta hacia el fondo debido a la mayor concentración en las zonas más profundas del agua.
- La intersección con la línea del umbral crítico permite identificar los estratos donde existe riesgo de corrosión.
Las zonas donde se cumple [math]C_{\text{acero}}(z) \gt C_{\text{crit}}[/math] corresponden a niveles de profundidad en los que la armadura podría iniciar procesos de degradación.
3.4 Representación de superficies de isoconcentración dentro de una columna
En este apartado se muestra cómo se representan las superficies tridimensionales de isoconcentración de contaminantes dentro de una columna. El objetivo es visualizar cómo se distribuyen los contaminantes que se infiltran desde el agua hacia el interior del material.
2) Geometría cilíndrica de la columna
La columna se modela como un sólido cilíndrico recto definido por coordenadas cilíndricas [math](\rho,\theta,z)[/math]:
[math]
\begin{cases}
x=\rho\cos\theta,\\
y=\rho\sin\theta,\\
z=z,
\end{cases}
[/math]
con:
- [math]\rho\in[0,\rho_c][/math]: desde el eje hasta la superficie exterior,
- [math]\theta\in[0,2\pi][/math]:
- [math]z\in[-H,0][/math]: altura total sumergida.
En este volumen se define el campo de concentración [math]C_{\text{col}}(\rho,z)[/math].
3) Superficies de isoconcentración:
Las isoconcentraciones son superficies tridimensionales en las que la concentración del contaminante toma un valor constante.
En este caso se representan las superficies correspondientes a:
[math]
C_{\text{col}} = 0.1,\ 0.2,\ 0.3,\ 0.4\ \text{kg/m}^3.
[/math]
4) Representación del cilindro de la armadura
Dentro de la columna existe un anillo interior donde se encuentra el acero, ubicado a un radio:
[math]\rho_a = 0.65\ \text{m}[/math],
Geométricamente, la armadura se visualiza como un cilindro coaxial más pequeño:
[math]
\begin{cases}
x=\rho_a\cos\theta,\\
y=\rho_a\sin\theta,\\
z=z.
\end{cases}
[/math]
5) Código MATLAB
clear,clc;
%Datos
H=22;
rc=0.75;
ra = 0.65;
Co = 0.3;
alpha = 3;
lambda = 10;
Ccrit=0.05;
%Mallado en cilindricas
r = linspace(0, rc, 90);
z = linspace(-H, 0, 90);
theta=linspace(0,2*pi,90);
[R,TH,Z]=meshgrid(r,theta,z);
%Coordenadas cartesianas superficie
X=R.*cos(TH);
Y=R.*sin(TH);
% Concentración
Cagua = @(z) Co .* (1 + alpha .* abs(Z) ./ H);
Ccol = Cagua(z) .* exp(-lambda .* (rc - R));
%Isosuperficies
IsoS = [0.1 0.2 0.3 0.4];
colores = [0 0 1; 0 1 0; 1 1 0; 1 0 0];
figure;
hold on;
for k = 1:length(IsoS)
p = patch(isosurface(X, Y, Z, Ccol, IsoS(k)));
set(p, 'FaceColor', colores(k,:), 'EdgeColor','none', 'FaceAlpha',0.35);
end
% Armadura
theta2 = linspace(0, 2*pi, 60);
z2 = linspace(0, H, 2);
[TH_2, Z_2] = meshgrid(theta2, z2);
X_a = ra * cos(TH_2);
Y_a = ra * sin(TH_2);
surf(X_a, Y_a, Z_2, 'FaceColor',[0.5 0.5 0.5], 'EdgeColor','none', 'FaceAlpha',0.5)
axis equal
xlabel('X'); ylabel('Y'); zlabel('Z');
title('Armadura interna')
% Estética de la figura
axis equal;
xlabel('X (m)'); ylabel('Y (m)'); zlabel('Z (m)');
title('Superficies de isoconcentracion');
view(3);
camlight headlight;
lighting gouraud;
hold off;
- Las isosuperficies más altas aparecen cerca del fondo y del perímetro exterior, reflejando la mayor concentración del agua profunda.
- Las isosuperficies más bajas se sitúan más cerca del eje, indicando regiones menos expuestas.
3.5 Vida útil de la columna en la zona critica
Queremos calcular cuanto tiempo tardara en corroerse el 25% de la barra.
1) Datos
Diámetro de la barra=20 mm
Reducción de la barra=25%
Velocidad de corrosión=0.1 mm/año
2) Calculo del tiempo que tarda en reducirse
Primero calcularemos cuanto se va a reducir el diametro de la columna:
[math]
D_r = 20\left(\frac{25}{100}\right) = 5\ \text{mm}
[/math]
Ahora sabemos que 5 mm es lo que se reduce el diametro, aplicando un calculo sencillo a continuacion sabremos entonces cuanto tiempo tarda en reducirse.
[math]
t=\frac{D_r}{v_{\text{corrosión}}}
=\frac{5\ \text{mm}}{0.1\ \text{mm/año}}
=50\ \text{años}
[/math]
Es decir, necesitamos unos 5 años aproximadamente para que se produzca esta pérdida del 25%.
3.6 Masa total de contaminantes infiltrados en una columna
En este apartado queremos calcular la masa total de contaminantes infiltrados en una columna para saber cuánto contaminante entra en el hormigón, evaluar el riesgo de corrosión y degradación, y comparar cuánta contaminación queda dentro de la columna frente al agua exterior para estimar sus necesidades de mantenimiento.
1) Cálculo de la masa total de contaminantes infiltrados en una columna
La concentración infiltrada en el hormigón es:
[math] C_{\text{col}}(\rho,z)=C_{\text{agua}}(z)\,e^{-\lambda(\rho_c-\rho)}. [/math]
La masa total infiltrada se obtiene con la integral triple:
[math] M=\int_{-H}^{0}\int_{0}^{\rho_c}\int_{0}^{2\pi} C_{\text{col}}(\rho,z)\,\rho\,d\theta\,d\rho\,dz. [/math]
[math]
\int_0^{2\pi} d\theta = 2\pi.
[/math]
[math]
\int_{0}^{\rho_c} \rho\, e^{-\lambda(\rho_c-\rho)} d\rho
= \frac{\lambda\rho_c - 1 + e^{-\lambda\rho_c}}{\lambda^2}.
[/math]
La concentración del agua es:
[math] C_{\text{agua}}(z)=C_0\left(1+\alpha\frac{|z|}{H}\right). [/math]
La integral en z queda:
[math] \int_{-H}^{0} C_{\text{agua}}(z)\,dz = C_0\,H\left(1+\frac{\alpha}{2}\right). [/math]
2) Resultado final
[math] M = 2\pi\,C_0\,H\left(1+\frac{\alpha}{2}\right) \frac{\lambda\rho_c - 1 + e^{-\lambda\rho_c}}{\lambda^2} \approx 6.7\ \text{kg}. [/math]
3) Comparación con la masa de contaminantes en un volumen equivalente de agua
Volumen del cilindro de agua:
[math] V = \pi\rho_c^2 H. [/math]
Con concentración media:
[math] \overline{C}_{\text{agua}} = C_0\left(1+\frac{\alpha}{2}\right), [/math]
La masa sería:
[math] M_{\text{agua}} = V\,\overline{C}_{\text{agua}} \approx 29\ \text{kg}. [/math]
4) Conclusión
[math]
\text{Fracción infiltrada} =
\frac{M_{\text{col}}}{M_{\text{agua}}}
= \frac{6.7}{29}
\approx 0.23
= 23%.
[/math]
La columna infiltra solo aproximadamente el 23% del contaminante.
4 Decantación y distribución de contaminantes
4.1 Representación del campo de concentración de contaminantes en el agua
En este apartado se describe la representación del campo de concentración de contaminantes presente en el agua, cuya variación depende de la profundidad debido a los procesos de sedimentación. El objetivo es visualizar esta distribución mediante la gráfica de la función que define la concentración y un mapa de colores aplicado sobre una pared interna del tanque.
1) Representación gráfica de la función [math]C_{\text{agua}}(z)[/math]:
Dado que el campo de concentración depende únicamente de la coordenada vertical [math]z[/math], se representa inicialmente como una curva que muestra su variación desde la superficie del agua ([math]z=0[/math]) hasta el fondo del tanque ([math]z=-H[/math]).
Código MATLAB:
clear; close all; clc;
% Datos
Co = 0.3;
alpha = 3;
H = 22;
L = 290;
% Grafico funcion Cagua(z)
z = linspace(-H, 0, 200);
Cagua = Co * (1 + alpha * abs(z)/H);
figure;
plot(Cagua,z, 'LineWidth', 2);
ylabel('Z (m)');
xlabel('C_{agua}(z) (kg/m^3)');
title('Concentración de contaminantes en el agua');
grid on;
Esta gráfica permite reconocer:
- la concentración mínima en la superficie,
- el incremento gradual hacia el fondo,
2) Mapa de colores sobre una pared del tanque:
El mismo campo escalar [math]C_{\text{agua}}(z)[/math] se proyecta sobre una pared vertical del tanque, como un plano rectangular de longitud [math]L = 290 \ \text{m}[/math] y altura [math]H = 22 \ \text{m}[/math].
Codigo MATLAB:
clear; close all; clc;
% Datos
Co = 0.3;
alpha = 3;
H = 22;
L = 290;
% Mapa de colores sobre pared del tanque
x = linspace(0, L, 60);
z2 = linspace(-H, 0, 60);
[X, Z] = meshgrid(x, z2);
Cagua = Co * (1 + alpha * abs(Z)/H);
figure;
pcolor(X, Z, Cagua);
shading interp;
colorbar;
xlabel('X (m)');
ylabel('Z (m)');
title('Mapa de colores concentración C_{agua}(z)');
- Los colores intensos cerca del fondo indican concentraciones elevadas.
- Los tonos suaves próximos a la superficie representan concentraciones bajas.
4.2 Gradiente de concentración de contaminantes en el agua
En este apartado se describe la representación del gradiente del campo de concentración de contaminantes en el agua. El objetivo es visualizar la dirección y la magnitud del flujo asociado a la variación vertical de la concentración.
1) Gradiente del campo de concentración:
Como la concentración solo varía con [math]z[/math], el gradiente se expresa como:
[math]
\nabla C_{\text{agua}} = \left(0,\ 0,\ \frac{dC_{\text{agua}}}{dz}\right),
[/math]
donde su componente vertical es constante:
[math]
\frac{dC_{\text{agua}}}{dz} = -\,\frac{C_0\,\alpha}{H}.
[/math]
El signo negativo indica que la concentración aumenta al descender (hacia valores más negativos de [math]z[/math]). Representa el flujo que tendería a desplazarse hacia la superficie.
2) Proyección sobre una pared vertical del tanque:
Para visualizar espacialmente el gradiente, se proyecta este campo vectorial sobre una pared interna del tanque como un plano rectangular definido por:
- longitud [math]L = 290\ \text{m}[/math],
- altura [math]H = 22\ \text{m}[/math],
- coordenadas [math](x,z)[/math].
Dado que el campo depende únicamente de [math]z[/math], el gradiente mantiene el mismo valor en todos los puntos de la pared.
3) Código MATLAB:
clear; close all; clc;
%Datos
Co = 0.3;
alpha = 3;
H = 22;
L = 290;
% Malla pared
x = linspace(0, L, 60);
z = linspace(-H, 0, 50);
[X, Z] = meshgrid(x, z);
% Concentración
Cagua = Co * (1 + alpha*abs(Z)/H);
% Gradiente analítico
dCdz = -Co*alpha/H;
% Componentes del gradiente
U = zeros(size(X));
V = dCdz * ones(size(X));
% Representación
figure;
pcolor(X, Z, Cagua);
shading interp;
colorbar;
hold on;
skip = 3;
quiver(X(1:skip:end,1:skip:end), ...
Z(1:skip:end,1:skip:end), ...
U(1:skip:end,1:skip:end), ...
V(1:skip:end,1:skip:end), ...
'k', 'AutoScale', 'on');
xlabel('x (m)');
ylabel('z (m)');
title('Gradiente de concentración de contaminante en el agua');
set(gca,'YDir','normal');
hold off;
- Las zonas cercanas al fondo muestran colores correspondientes a concentraciones elevadas.
- Las zonas próximas a la superficie presentan colores asociados a valores bajos.
- Todos los vectores apuntan verticalmente hacia abajo, indicando la dirección en la que la concentración aumenta.
4.3 Superficie de isoconcentración en el agua y representación 3D
En este apartado se describe cómo se representan las superficies de isoconcentración del contaminante en el agua. El objetivo es visualizar cómo se distribuyen los contaminantes en el volumen de agua y cómo aumenta su concentración con la profundidad debido al proceso de sedimentación.
2) Superficies de isoconcentración en el interior del tanque:
Puesto que [math]z = 0[/math] corresponde a la superficie y [math]z = -H[/math] al fondo, el término [math]\frac{|z|}{H}[/math] crece linealmente con la profundidad. De este modo, el valor de [math]C_{\text{agua}}(z)[/math] es mínimo en la superficie e incrementa progresivamente conforme se desciende.
Para visualizar este campo tridimensional, se representan isosuperficies:
[math]
C_{\text{agua}}(x,y,z) = C^\*
[/math]
donde [math]C^\*[/math] es un nivel de concentración concreto.
En este caso se consideran los valores:
[math]
C^\* = 0.4,\; 0.6,\; 0.8,\; 1.0\ \text{kg/m}^3
[/math]
3) Código MATLAB:
clear; close all; clc;
%Datos
L = 290;
W = 140;
H = 22;
Co = 0.3;
alpha = 3;
% Mallado 3D
x = linspace(-L/2, L/2, 40);
y = linspace(-W/2, W/2, 40);
z = linspace(-H, 0, 40);
[X, Y, Z] = meshgrid(x, y, z);
% Concentración
Cagua = Co .* (1 + alpha .* abs(Z) ./ H);
% Valores de isosuperficie
IsoS = [0.4 0.6 0.8 1.0];
% Figura
figure;
hold on;
title('Superficies de isoconcentración');
xlabel('x (m)'); ylabel('y (m)'); zlabel('z (m)');
colors = lines(length(IsoS));
for k = 1:length(IsoS)
p = patch(isosurface(X, Y, Z, Cagua, IsoS(k)));
set(p,'FaceColor',colors(k,:), ...
'EdgeColor','none', ...
'FaceAlpha',0.35);
end
colormap turbo;
colorbar;
grid on;
axis equal;
view(3);
camlight;
lighting gouraud;
hold off;
- Cada isosuperficie es el conjunto de puntos del tanque donde el agua presenta exactamente la misma concentración de contaminantes.
- Como la concentración depende únicamente de z, cada superficie de isoconcentración adopta la forma de una capa horizontal cerrada.
- Cuanto mayor es el valor de [math]C^\*[/math], más profunda se encuentra la superficie correspondiente, ya que las concentraciones más altas aparecen cerca del fondo.
- Cada superficie mantiene la geometría del tanque, pero a diferentes niveles z.
4.4 Masa total de contaminantes en el agua
La masa total de contaminantes presentes en el agua del tanque se determina integrando el campo de concentración del contaminante sobre el volumen ocupado por el agua. Dado que la concentración depende únicamente de la profundidad se puede simplificar la integral. Este procedimiento permite estimar la cantidad total de contaminantes disueltos en el tanque.
1) Volumen de agua en el tanque
El tanque se modela como un prisma rectangular. El área de su sección horizontal es:
[math]
A = L \times W
[/math]
con:
- [math]L = 290\,\text{m}[/math]
- [math]W = 140\,\text{m}[/math]
De donde:
[math]
A = 290\,\text{m} \times 140\,\text{m} = 40\,600\,\text{m}^2
[/math]
Si el fondo del tanque está en [math]z = -22\,\text{m}[/math] y la superficie del agua en [math]z = -7\,\text{m}[/math], la altura de agua acumulada es:
[math]
H_{\text{agua}} = |-7 - (-22)| = 15\,\text{m}
[/math]
y el volumen total de agua:
[math]
V_{\text{total}} = A \times H_{\text{agua}}
= 40\,600\,\text{m}^2 \times 15\,\text{m}
= 609\,000\,\text{m}^3
[/math]
2) Integración para la masa total de contaminantes:
La masa total de contaminantes [math]M_{\text{cont}}[/math] en el volumen de agua se obtiene mediante:
[math]
M_{\text{cont}}
= \iiint_{V_{\text{agua}}} C_{\text{agua}}(z)\, dV
= \int_{-H}^{-7} C_{\text{agua}}(z)\, A\, dz
[/math]
Sustituyendo el campo de concentración:
[math]
M_{\text{cont}}
= A\, C_0
\int_{-22}^{-7}
\left(1 - \alpha\frac{z}{H}\right)\, dz
[/math]
Con los valores numéricos:
[math]
M_{\text{cont}}
= (40\,600\,\text{m}^2)\,
(0.3\,\text{kg/m}^3)\,
\int_{-22}^{-7}
\left(1 - 3\frac{z}{22}\right)\, dz
[/math]
La integral indefinida resulta:
[math]
\int \left(1 - \frac{3}{22}z\right)\, dz
= z - \frac{3}{44}z^2
[/math]
Evaluando entre [math]z=-22[/math] y [math]z=-7[/math]:
[math]
\left[z - \frac{3}{44} z^2\right]_{-22}^{-7}
= (-7 - \tfrac{147}{44}) - (-22 - 33)
\approx 44.6591\,\text{m}
[/math]
Finalmente, multiplicando por el coeficiente constante:
[math]
M_{\text{cont}}
= 12\,180\,\text{kg} \times 44.6591
[/math]
[math]
\boxed{
M_{\text{cont}} \approx 5.44\times 10^{5}\,\text{kg}
}
[/math]
4.5 Pasadas 24 Horas
1) Masa total de contaminantes en el tanque:
El tanque se modela como un prisma rectangular con:
- Longitud: L = 290 m
- Anchura: W = 140 m
- Profundidad: H = 22 m
La concentración de contaminantes en el agua depende únicamente de la profundidad y aumenta hacia el fondo por sedimentación, entonces la masa total se obtiene integrando el campo de concentración en el agua a lo largo de la profundidad y multiplicando por el área efectiva del fondo del tanque.
2) Área efectiva del fondo:
Las columnas estructurales tienen radio:
[math]\rho_c = 0.75\ \text{m}[/math]
y están dispuestas en una retícula con separación de 15 m.
El número aproximado de columnas es:
[math]N \approx \frac{L}{15}\,\frac{W}{15}[/math]
La superficie ocupada por todas las columnas es:
[math]A_{\text{col}} = N\,\pi \rho_c^2[/math]
El área libre disponible para la acumulación de lodo es:
[math]A_{\text{ef}} = L\,W - A_{\text{col}}[/math]
3) Masa de contaminantes depositada tras 24 horas:
Después de un periodo de decantación de 24 h, el 60 % de la masa total de contaminantes se deposita en el fondo
[math]M_{\text{dep}} = 0.6\,M_{\text{tot}}[/math]
4) Volumen del lodo formado:
El material depositado forma en el fondo un lodo con densidad aparente
[math]\rho_{\text{lodo}} = 1400\ \text{kg/m}^3[/math]
El volumen total de lodo es
[math]V_{\text{lodo}} = \frac{M_{\text{dep}}}{\rho_{\text{lodo}}}[/math]
5) Espesor promedio de la capa de lodo:
El espesor medio de la capa de lodo se obtiene dividiendo el volumen depositado entre el área efectiva
[math]e = \frac{V_{\text{lodo}}}{A_{\text{ef}}}[/math]
Este valor representa la altura media del sedimento acumulado en un único episodio de lluvia.
6) Acumulación anual y criterio de limpieza:
El tanque opera en promedio 8 veces al año. Si no se realiza limpieza, el espesor acumulado tras un año es
[math]e_{\text{anual}} = 8\,e[/math]
El criterio de mantenimiento establece que la limpieza debe realizarse cuando el espesor supera:
[math]e_{\text{crit}} = 0.30\ \text{m}[/math]
La comparación entre ambos valores permite determinar si la limpieza anual es suficiente o si se requiere una frecuencia mayor.
7) Código de MATLAB:
niv = input('nivel maximo de agua: ');
dens = input('introduce la densidad del lodo: ');
% Integral de concentracion
Ct = integral(concentracion, -22, niv);
fprintf('Masa por unidad de superficie = %.4f kg/m^2\n', Ct);
% Geometria del estanque
L = 290; W = 140;
A_total = L * W;
% Columnas
r = 0.75;
n_col = (L/15) * (W/15);
A_col = n_col * pi * r^2;
A_ef = A_total - A_col;
% Masa total
Mtot = Ct * A_ef;
fprintf('Masa total de contaminante = %.2f kg\n', Mtot);
% Masa depositada (60%)
Mdep = 0.6 * Mtot;
fprintf('Masa depositada (60%%) = %.2f kg\n', Mdep);
% Volumen del lodo
Vdep = Mdep / dens;
fprintf('Volumen del lodo = %.2f m^3\n', Vdep);
% Espesor medio
espesor = Vdep / A_ef;
fprintf('Espesor medio del lodo = %.4f m\n', espesor);
% Comprobacion limpieza
lodo_acumulado = espesor * 8;
if lodo_acumulado < (30/100)
disp ('es suficiente una limpiez anual.')
else
disp('Se requiere una limpieza más frecuente.');
end
% Concentracion
function [Cz] = concentracion (z)
Cz= @(z) 0.3*(1+3*(abs(z)/22));
