Diferencia entre revisiones de «Modelos de mezclas (grupo 5)»

De MateWiki
Saltar a: navegación, buscar
Línea 46: Línea 46:
  
 
=== Método de Euler ===
 
=== Método de Euler ===
 +
 +
Se utilizan los siguientes códigos::
 +
 +
'''Sin plan de limpieza:'''
 +
{{matlab|codigo=
 +
clear all
 +
 +
N=100000; %número de iteraciones
 +
t0=0;tN=325; %tiempo inicial y final
 +
h=(tN-t0)/N; %paso: espacio entre dos iteraciones
 +
x0=[20 0]'; %condiciones iniciales
 +
A=[-0.03 0;0.03 -0.045];
 +
x=x0;
 +
xA(1)=x(1);
 +
xB(1)=x(2);
 +
 +
for n=1:N   
 +
  x=x+h*A*x;   
 +
  xA(n+1)=x(1);   
 +
  xB(n+1)=x(2);
 +
end
 +
y=t0:h:tN;
 +
 +
%dibujamos la gráfica
 +
hold on
 +
plot(y,xA,'b') %contaminante en pantano A: azul
 +
plot(y,xB,'r') %contaminante en pantano B: rojo
 +
title('Sin plan de limpieza')
 +
xlabel('Tiempo (días)')
 +
ylabel('Contaminante (T)')
 +
hold off
 +
}}
 +
 +
'''Con plan de limpieza:'''
 +
{{matlab|codigo=
 +
clear all
 +
 +
N=100000; %número de iteraciones
 +
t0=0;tN=325; %tiempo inicial y final
 +
h=(tN-t0)/N; %paso: espacio entre dos iteraciones
 +
x0=[20 0]'; %condiciones iniciales
 +
B=[-0.04 0.01;0.04 -0.055];
 +
X=x0;
 +
Xa(1)=X(1);
 +
Xb(1)=X(2);
 +
 +
for n=1:N   
 +
  X=X+h*B*X;   
 +
  Xa(n+1)=X(1);   
 +
  Xb(n+1)=X(2);
 +
end
 +
y=t0:h:tN;
 +
 +
%dibujamos la gráfica
 +
hold on
 +
plot(y,Xa,'g') %contaminante en pantano A: verde
 +
plot(y,Xb,'m') %contaminante en pantano B: magenta
 +
title('Con plan de limpieza')
 +
xlabel('Tiempo (días)')
 +
ylabel('Contaminante (T)')
 +
hold off
 +
}}
 +
 +
Si queremos ver la diferencia de tiempo que tarda en desaparecer la mitad de contaminante en el pantano A activando el plan de limpieza o sin activarlo no tenemos más que observar las gráficas.

Revisión del 19:40 3 mar 2013

1 Introducción

Tenemos dos pantanos A y B, con 100 [math]Hm^3[/math] de agua cada uno, que están unidos por una presa que deja pasar agua de A a B. El pantano A recibe 3 [math]Hm^3/día[/math] de agua limpia proveniente de ríos y el B 1.5 [math]Hm^3/día[/math]. Para mantener el nivel de los pantanos estable la presa de A a B deja pasar una media de 3 [math]Hm^3/día[/math] mientras que la presa al final de B desaloja 4.5 [math]Hm^3/día[/math]. Se produce un vertido tóxico en el pantano A que deja 20 toneladas de un cierto contaminante. Supongamos que se dan las siguientes hipótesis::


  • El contaminante está disuelto de forma homogénea en el agua de los pantanos.
  • Al entrar o salir agua en un pantano, esta se mezcla con el agua del pantano de forma inmediata creando una mezcla homogénea.
  • La variación de contaminante en un lago es la diferencia entre el contaminante que entra y sale en el lago, es decir si denotamos por [math] x_A (t) [/math] la cantidad de contaminante en el lago A, se tiene:: [math] \frac{dx_A}{dt} = velocidad de entrada – velocidad de salida[/math]

2 Planteamiento

2.1 Sin plan de limpieza

Sean [math] x_A [/math] y [math] x_B [/math] las cantidades de contaminante en cada uno de los lagos, la cantidad de contaminante en un instante de tiempo determinado se obtiene como diferencia entre la velocidad de entrada y salida de agua contaminada. En el lago A sólo entra agua limpia mientras que la velocidad de salida se obtiene como el producto de la concentración de contaminante en el lago A [math] \frac{X_A}{100} [/math] por el caudal de agua que sale 3 [math]^3/día [/math]. Así mismo, en el lago B la velocidad de entrada de agua contaminada es la misma que la velocidad de salida de agua contaminada del lago A, ya que el lago A vierte el agua contaminada en B, y la velocidad de salida del agua de B es el producto de su concentración [math] \frac{X_B}{100} [/math] por el caudal de agua que sale 4.5 [math] Hm^3/día [/math].

Para modelizar el problema, se plantea el siguiente sistema dos ecuaciones diferenciales de primer orden:

[math] \left\{\begin{matrix}\frac{\mathrm{d}X_A}{\mathrm{d} t}=-\frac{3X_A}{100}\\\frac{\mathrm{d} X_B}{\mathrm{d} t}=\frac{3X_A}{100}-\frac{4.5X_B}{100}\\X_A(t_{0})=20, \quad X_B(t_{0})=0\end{matrix}\right. [/math]

2.2 Con plan de limpieza

A continuación se propone activar un plan de limpieza basado en bombear 1[math] Hm^3/día [/math] de agua del pantano B al A, por lo que para mantener el volumen de agua entre los lagos constante se tiene que modificar el flujo entre ambos.


De este modo, si al lago A le llegan 3[math]Hm^3/día[/math] provenientes de los ríos y 1[math]Hm^3/día[/math] proveniente de B, el lago A deberá verter a B 4[math]Hm^3/día [/math] en lugar de los '3 [math] Hm^3/día [/math] que estaba vertiendo antes de activar el plan de limpieza. El lago B recibe 1.5 [math] Hm^3/día [/math] provenientes de los ríos y, como se ha visto, 4 [math] Hm^3/día [/math] provenientes del lago A. Tras activar el plan de limpieza bombea 1 [math] Hm^3/día [/math] a A, por lo que el vertido que desaloja B aguas abajo se mantendrá constante igual a 4.5 [math] Hm^3/día [/math] para mantener el volumen de agua. Así se plantea un sistema de ecuaciones diferenciales similar al anterior:: [math] \left\{\begin{matrix}\frac{\mathrm{d}X_A}{\mathrm{d}t}=-\frac{4X_A}{100}+\frac{1X_B}{100}\\\frac{\mathrm{d}X_B}{\mathrm{d} t}=\frac{4X_A}{100}-\frac{5.5X_B}{100}\\X_A(t_{0})=20, \quad X_B(t_{0})=0\end{matrix}\right. [/math]

2.3 Unión de un tercer pantano

Si hubiese un tercer pantano, al que se le llamará C, unido al anterior que desalojase 6 [math]Hm^3/día [/math] y recibiese 1.5 [math]Hm^3/día [/math], la velocidad de entrada de agua sería igual a la de salida de B, es decir, 4.5 [math] Hm^3/día [/math] ,mientras que la de salida serían estos 4.5 [math]Hm^3/día [/math] más 1.5 [math] Hm^3/día [/math] provenientes de los ríos, dando lugar a los 6 [math]Hm^3/día [/math] para que se mantenga constante el volumen. Así, el sistema de ecuaciones diferenciales quedará de la siguiente forma::

[math] \left\{\begin{matrix}\frac{\mathrm{d}X_A}{\mathrm{d}t}=\frac{-3X_A}{100}\\\frac{\mathrm{d}X_B}{\mathrm{d} t}=\frac{3X_A}{100}-\frac{4.5X_B}{100}\\\frac{\mathrm{d}X_C}{\mathrm{d} t}=\frac{4.5X_B}{100}-\frac{6X_C}{100}\\X_A(t_{0})=20, \quad X_B(t_{0})=0\end{matrix}\right. [/math]

3 Resolución numérica

A partir de este momento nos olvidamos del pantano C. Para resolver estos sistemas se utilizará un programade análisis numérico (en este caso Matlab®).

3.1 Método de Euler

Se utilizan los siguientes códigos::

Sin plan de limpieza:

clear all

N=100000; %número de iteraciones
t0=0;tN=325; %tiempo inicial y final
h=(tN-t0)/N; %paso: espacio entre dos iteraciones
x0=[20 0]'; %condiciones iniciales
A=[-0.03 0;0.03 -0.045];
x=x0;
xA(1)=x(1);
xB(1)=x(2);

for n=1:N    
  x=x+h*A*x;    
  xA(n+1)=x(1);    
  xB(n+1)=x(2);
end
y=t0:h:tN;

%dibujamos la gráfica
hold on
plot(y,xA,'b') %contaminante en pantano A: azul
plot(y,xB,'r') %contaminante en pantano B: rojo
title('Sin plan de limpieza')
xlabel('Tiempo (días)')
ylabel('Contaminante (T)')
hold off


Con plan de limpieza:

clear all

N=100000; %número de iteraciones
t0=0;tN=325; %tiempo inicial y final
h=(tN-t0)/N; %paso: espacio entre dos iteraciones
x0=[20 0]'; %condiciones iniciales
B=[-0.04 0.01;0.04 -0.055];
X=x0;
Xa(1)=X(1);
Xb(1)=X(2);

for n=1:N    
  X=X+h*B*X;    
  Xa(n+1)=X(1);    
  Xb(n+1)=X(2);
end
y=t0:h:tN;

%dibujamos la gráfica
hold on
plot(y,Xa,'g') %contaminante en pantano A: verde
plot(y,Xb,'m') %contaminante en pantano B: magenta
title('Con plan de limpieza')
xlabel('Tiempo (días)')
ylabel('Contaminante (T)')
hold off


Si queremos ver la diferencia de tiempo que tarda en desaparecer la mitad de contaminante en el pantano A activando el plan de limpieza o sin activarlo no tenemos más que observar las gráficas.