Ensino de Engenharia Química com Python

- Cálculo da velocidade terminal de um anel de Raschig cerâmico pelo método de Heywood

In [1]:
from __future__ import division
%pylab inline
from scipy.interpolate import BSpline
from scipy.optimize import root
Populating the interactive namespace from numpy and matplotlib

Para o anel de Raschig com $D_{ext}$= 0,5 cm; $D_{int}$= 0,29 cm; h = 0,75, calcular a velocidade terminal em glicerina a 20ºC $(\mu$ = 14,9 P ; $\rho_f$ = 1,26 $g/cm^3)$. O anel é cerâmico $(\rho_p$ = 2,3 $g/cm^3)$.

In [2]:
def drag_sphere(x):
    return 24/x*(1+0.173*x**0.657)+0.413/(1+16300*x**-1.09)
g=9.8                                                            # Unidades em SI
# Dados do problema
rp=2300;rf=1260;mu=1.49
dce=5e-3;dci=2.9e-3;h=7.5e-3
In [3]:
# Calculos auxiliares
deH=sqrt((h*dce)*4./pi)                          # diâmetro eq. em área
fi_v=pi/4*(dce**2-dci**2)*h/deH**3               # fi_v
fi_2=4*fi_v*(rp-rf)*rf*g*deH**3/(pi*mu**2)       # fi/2
print("De = %.2e m; fi_v = %.2f e fi/2 = %.3f com log(fi/2) = %.2f"%(deH,fi_v,fi_2,log10(fi_2)))

# Cálculo do Reynolds (esférico)
Re=lambda Re: drag_sphere(Re)*Re**2/2-fi_2
Rep=root(Re,x0=0.1).x[0]
print("O Reynolds não corrigido é %.2f"%Rep)
De = 6.91e-03 m; fi_v = 0.30 e fi/2 = 0.720 com log(fi/2) = -0.14
O Reynolds não corrigido é 0.06

Método de Heywood modificado

In [4]:
# Correcções de Heywood corr=f(log(fi/2),fi_v)
fiv=[0.4,0.3,0.2,0.1]
cne=[[-0.022,-0.023,-0.025,-0.027,-0.031,-0.033,-0.038,-0.051,-0.068,-0.083,-0.097,-0.109,-0.120],
     [-0.002,-0.003,-0.005,-0.010,-0.016,-0.020,-0.032,-0.052,-0.074,-0.093,-0.110,-0.125,-0.134],
     [+0.032,+0.030, +0.026, +0.021, +0.012,0.000, -0.022 ,-0.056 ,-0.089 ,-0.114 ,-0.135 ,-0.154 ,-0.172],
     [+0.131,+0.131, +0.129, +0.122, +0.111, +0.080, +0.025, -0.040, -0.098, -0.146, -0.186, -0.224, -0.255]]
LogFi2=[-2,-1,0,1,2,2.5,3,3.5,4,4.5,5,5.5,6]

f=[]
Re=[i*sqrt(2) for i in range(50)]
for i in range(len(fiv)):
    f.append(BSpline(LogFi2,cne[3-i],k=0))
for i in range(len(fiv)):
    plot(LogFi2,[f[i](x) for x in LogFi2],linestyle='--',label=r"$\phi_v=$"+str(fiv[3-i]))
grid(True)
xlabel(r'log($\frac{\phi}{2}$)')
ylabel('$Corr.$')
legend()
Out[4]:
<matplotlib.legend.Legend at 0x10c803c50>
In [5]:
if fi_v > 0.4 and fi_v < pi/6.:
    corr=f[3](log10(fi_2))
if fi_v<0.1:
    corr=f[0](log10(fi_2))
if fi_v>0.1 and fi_v < 0.4:
    corr1=f[int(floor(fi_v*10))-1](log10(fi_2))
    corr2=f[int(ceil(fi_v*10))-1](log10(fi_2))
    corr=corr1+(corr2-corr1)*(fi_v*10-floor(fi_v*10))
    #print(fi_v,int(floor(fi_v*10))-1,int(ceil(fi_v*10))-1,corr)
if int(fi_v*100)==int(pi/6.*100):
    corr=0
print("A correcção logaritmica é de %.3f"%corr)

# Cálculo do Reynolds corrigido
lRec=log10(Rep)+corr
Rec=10**lRec

# Cálculo da velocidade
u=Rec*mu/rf/deH
print("A velocidade é de u_m=%.3f m/s;"%u)
A correcção logaritmica é de -0.002
A velocidade é de u_m=0.010 m/s;

Bibliografia

  • Tecnologia Química, Vol. II, Operações Unitárias, J. M. Coulson e J. F. Richardson, Tradução C. Ramalho Carlos, Fundação Calouste Gulbenkian, Lisboa, 2 Edição, 1987.

  • Operações em Sistemas Multifásicos, Apontamentos das aulas, Sebastião Alves, IST 2015