Um poluente é liberado em uma determinada seção
de um rio que se comporta como uma reator advectivo-difusivo/dispersivo. A concentração nesta seção aumenta subitamente para
no instante
e permanece com esse valor até o instante
horas. Determine a concentração da substância ao longo do tempo nas seções
e
, para duas situações:
a) considerando o poluente conservativo
b) considerando o poluente não-conservativo com
.
Usar
e
. Mostrar os resultados obtidos por meio de gráficos.
a) considerando o poluente conservativo
b) considerando o poluente não-conservativo com
Usar
Passo 1
Beleza, olha só o que o exercício pede: a gente tem um rio que transporta e dispersa um poluente (esse é o tal “reator advectivo–difusivo”), em x=0 a concentração sobe de 0 para 100 mg/L num pulinho em t=0 e fica lá até t=2 h. Queremos saber como essa concentração varia no tempo em dois pontos rio abaixo: x=100 m e x=2000 m.
Conteúdo: equação de advecção–difusão (com e sem decaimento de primeira ordem). Vamos precisar da solução analítica para um “step input” e da técnica de superposição para o pulso de 2 h. Também usamos funções de erro (erfc).
Conteúdo: equação de advecção–difusão (com e sem decaimento de primeira ordem). Vamos precisar da solução analítica para um “step input” e da técnica de superposição para o pulso de 2 h. Também usamos funções de erro (erfc).
Passo 2
A base teórica é esta equação diferencial:
onde
- U=0,1 m/s é a velocidade (advecção),
- D=5 m²/s é a dispersão,
- k=0 (conservativo) ou k=0,0005 s⁻¹ (não-conservativo).
A solução para um degrau de concentração
em x=0 que começa em t=0 e vai até t=t₀ é obtida por superposição de duas “injeções”: uma que liga em t=0 e outra que desliga em t=t₀ (com sinal invertido).
Passo 3
Conservativo (k=0):
Para t≤t₀ (antes de desligar) a concentração em x, t é
Para t≤t₀ (antes de desligar) a concentração em x, t é
Para t>t₀, a gente subtrai o mesmo pulso atrasado em t–t₀:
Passo 4
Não-conservativo (k=0,0005 s⁻¹):
Mesma ideia, mas cada termo leva um fator de decaimento exponencial. Para t≤t₀:
Mesma ideia, mas cada termo leva um fator de decaimento exponencial. Para t≤t₀:
E para t>t₀:
Passo 5
Agora é só pôr os números:
-
mg/L, -
m/s, -
m²/s, -
s, -
ou s⁻¹, -
m e m.
Aí a gente varre
(por exemplo de 0 a 30 000 s) e calcula
.
Passo 6
Vamos visualizar em gráfico
vs.
para cada caso.
– Em x=100 m o degrau chega rapidinho (em s ≃0,28 h) e estabiliza enquanto dura o pulso, depois cai.
– Em x=2000 m chega só em s ≃5,6 h, e você vê um “bump” que aparece depois de 2 h e some.
– Com decaimento, a curva fica mais “baixinha” e um pouco mais estreita.
– Em x=100 m o degrau chega rapidinho (em
– Em x=2000 m chega só em
– Com decaimento, a curva fica mais “baixinha” e um pouco mais estreita.
Para plotar, em Python por exemplo:
import numpy as np, matplotlib.pyplot as plt
from scipy.special import erfc
def C_step(x, t, C0, U, D):
return 0.5*C0*(erfc((x-U*t)/(2*np.sqrt(D*t)))+np.exp(U*x/D)*erfc((x+U*t)/(2*np.sqrt(D*t))))
def C_pulso(x,t, C0,U,D,t0,k):
if t<=t0:
return np.exp(-k*t)*C_step(x,t,C0,U,D)
else:
return np.exp(-k*t)*C_step(x,t,C0,U,D) - np.exp(-k*(t-t0))*C_step(x,t-t0,C0,U,D)
t = np.linspace(1,3e4,500)
for x in [100,2000]:
plt.figure()
for k,label in [(0,'conserv.'),(5e-4,'decai')]:
C = [C_pulso(x,ti,100,0.1,5,7200,k) for ti in t]
plt.plot(t/3600,C,label=label)
plt.title(f"x={x} m")
plt.xlabel("t (h)"); plt.ylabel("C (mg/L)")
plt.legend(); plt.grid()
plt.show()
Resposta
Fórmulas finais:
Conservativo (k=0):
Não-conservativo (k=0,0005 s⁻¹):
com
igual ao bloco entre colchetes acima.
Gráficos de
vs.
para x=100 m e 2000 m mostram:
- Chegada rápida em 0,3 h no ponto 100 m, pico em 100 mg/L, queda após 2 h.
- Em 2000 m o pico chega só em ≃5,6 h e atinge bem menos (difusão + decaimento).
- A curva não-conservativa fica sempre abaixo da conservativa.