(Operações Unitárias de Separação) Em processos de separação por adsorção, um componente (adsorvato) em uma fase gasosa ou liquida é transferido por interações fisicoquímicas para a superficie de um sólido (adsorvente). Em geral, esse processo é feito em uma coluna de leito fixo, ou seja, o sólido é empacotado em uma torre pela qual o fluido precisa passar. A curva de ruptura (“breakthrough curve”) do leito indica a concentração do soluto na saida da coluna ao longo do tempo.
A capacidade total
de adsorção da coluna é calculada pela integral a seguir, onde o tempo de saturação
é aquele em que a concentração de saída da coluna é igual à concentração de entrada
.
A capacidade útil (
) da coluna, descrita pela equação abaixo, é medida até o ponto de ruptura (ou ponto de breakthrough)
. O ponto de ruptura é o tempo a partir do qual a concentração na saida de coluna deixa de ser desprezível
.
Os dados da tabela a seguir são de experimentos de adsorção de vapor de etanol em uma corrente de ar usando uma coluna de carvão ativado.
Tempo (hrs)
0.0
0.000
3.0
0.000
3.5
0.002
4.0
0.030
4.5
0.155
5.0
0.396
5.5
0.658
6.0
0.903
6.2
0.933
6.5
0.975
6.8
0.993
a) Plote o gráfico da curva de ruptura da coluna de adsorção em Python. Determine o tempo de ruptura e explique o significado fisico deste gráfico.
b) Calcule a fração da capacidade total da coluna que é usada até o ponto de breakthrough.
| Tempo (hrs) |
|
| 0.0 | 0.000 |
| 3.0 | 0.000 |
| 3.5 | 0.002 |
| 4.0 | 0.030 |
| 4.5 | 0.155 |
| 5.0 | 0.396 |
| 5.5 | 0.658 |
| 6.0 | 0.903 |
| 6.2 | 0.933 |
| 6.5 | 0.975 |
| 6.8 | 0.993 |
b) Calcule a fração da capacidade total da coluna que é usada até o ponto de breakthrough.
Passo 1
O enunciado pede duas coisas principais:
- (a) Fazer o gráfico da curva de ruptura (breakthrough curve) em Python, determinar o tempo de ruptura (ponto de breakthrough
) e explicar o significado físico do gráfico. - (b) Calcular a fração da capacidade total da coluna que é usada até o ponto de breakthrough, ou seja
.
Dados fornecidos (peguei estes valores diretamente da tabela do enunciado):
Observações iniciais úteis (não resolvo ainda): o ponto de breakthrough
é definido quando
. O tempo de saturação
é quando
. A capacidade útil
e a capacidade total
Passo 2
Encontrar
por interpolação linear entre os pontos mais próximos da tabela.
Os pontos que cercam
são:
A interpolação linear usa a fórmula
Substituindo os números:
Calculando:
logo
Arredondando convenientemente para a prova:
Passo 3
Determinar
(tempo em que
). A tabela não contém exatamente
; o último ponto é
. Vou extrapolar linearmente usando os dois últimos pontos conhecidos para estimar onde atinge
:
Pontos usados para extrapolação:
A fórmula (análoga à interpolação) para achar
quando
é
Substituindo:
Calculando:
Na verdade, calcular diretamente:
Então
Arredondando:
(Comentário: é extrapolação pequena e aceitável para estimar
dado que os pontos estão muito próximos de 1,0.)
Passo 4
Explicar e aplicar a regra dos trapézios para calcular as integrais discretas.
A regra dos trapézios para dados discretos
dá a aproximação
Aqui vamos aplicar com
, ou seja cada
onde
.
Primeiro calculo
. Usarei os pontos até
:
. (O último ponto é o interpolado com
.)
Calcule cada área de trapézio:
- Intervalo
a :
- Intervalo
a :
- Intervalo
a :
Somando:
Arredondando:
Passo 5
Calcular
usando todos os dados e o ponto extrapolado final
correspondente a
.
Montamos os valores de
para cada tempo:
Agora aplico a soma dos trapézios (apresento cada termo breve):
-
(já calculado). -
. -
-
-
-
-
-
-
-
-
Somando todos:
Arredondando:
Passo 6
Calcular a fração da capacidade total utilizada até
:
Convertendo para porcentagem:
Portanto, aproximadamente
da capacidade total da coluna é utilizada até o momento de breakthrough.
Passo 7
Código Python (para você rodar no seu computador) que faz o gráfico, faz a interpolação e calcula numericamente as integrais com maior precisão usando numpy; ele reproduz o que calculei manualmente:
import numpy as np
import matplotlib.pyplot as plt
# dados (tempo em horas, C/C0)
t = np.array([0.0, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.2, 6.5, 6.8])
y = np.array([0.000, 0.000, 0.002, 0.030, 0.155, 0.396, 0.658, 0.903, 0.933, 0.975, 0.993])
# achar t_b por interpolação linear para y=0.01
t_b = np.interp(0.01, y, t) # observa que np.interp(x, xp, fp) -> x é valor y, xp é y, fp é t
# para np.interp usamos inversão: passar y como xp e t como fp
# achar t_s por extrapolação linear simples (usar últimos dois pontos)
t_s = t[-1] + (1.0 - y[-1]) * (t[-1] - t[-2]) / (y[-1] - y[-2])
# inserir os pontos t_b e t_s na série para integrar
t_full = np.concatenate((t, [t_b, t_s]))
y_full = np.concatenate((y, [0.01, 1.0]))
# ordenar pelo tempo
order = np.argsort(t_full)
t_full = t_full[order]
y_full = y_full[order]
f_full = 1.0 - y_full # função a integrar
# integra com trapz
t_u = np.trapz(f_full[t_full <= t_b], t_full[t_full <= t_b])
t_t = np.trapz(f_full, t_full)
print("t_b (h) =", t_b)
print("t_s (h) =", t_s)
print("t_u (h) =", t_u)
print("t_t (h) =", t_t)
print("fração t_u/t_t =", t_u / t_t)
# plot
plt.figure()
plt.plot(t, y, 'o-', label='C/C0 (dados)')
plt.axvline(t_b, color='r', linestyle='--', label=f't_b ≈ {t_b:.3f} h')
plt.axvline(t_s, color='k', linestyle=':', label=f't_s ≈ {t_s:.3f} h')
plt.xlabel('Tempo (h)')
plt.ylabel('C/C0')
plt.title('Curva de ruptura (breakthrough curve)')
plt.legend()
plt.grid(True)
plt.show()
Esse código plota a curva e imprime os valores de
e a razão
. Use-o para conferir os números e gerar o gráfico pedido.
Passo 8
Interpretação física e incentivo (resumido e direto):
- A curva
versus tempo mostra como a concentração do soluto na saída da coluna evolui: inicialmente o adsorvente retém praticamente todo o soluto ( ), depois a saída começa a aumentar até atingir a entrada ( ) quando o leito está saturado. - O ponto de breakthrough
marca quando a concentração de saída deixa de ser desprezível ( ). Na prática, é o momento a partir do qual a coluna já não protege a jusante como deveria e geralmente exige ação (troca de leito, regeneração, etc.). - A fração
diz quanto da “capacidade total” (área sob até saturação) foi efetivamente aproveitada até o momento em que começamos a detectar o soluto na saída. No nosso caso cerca de : isto significa que, antes mesmo da coluna atingir saturação completa, já perdemos cerca de da capacidade total antes do ponto que consideramos critério de fim de operação útil.
Força aí — com esses passos você consegue tanto rodar o código para ver o gráfico quanto refazer a conta manualmente na prova se pedirem. Boa sorte!
Resposta
(a)
. Significado físico: é o tempo em que a saída da coluna atinge
; a partir desse instante a concentração deixa de ser desprezível e a coluna começa a falhar no controle do soluto.
(b) .
(b)