0% found this document useful (0 votes)
10 views8 pages

Fluidized Bed Reactor Conversion Analysis

The document presents a numerical example of catalytic oxidation of ammonia in a fluidized-bed reactor, detailing the experimental conditions and calculations to predict conversion using the Kunii-Levenspiel model. It outlines the operating conditions, reactor data, and step-by-step calculations for various parameters such as gas velocity, bubble sizes, and mass transfer coefficients. The final prediction of fractional conversion is approximately 19.61% based on the calculations performed.

Uploaded by

Samyak Wankhede
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views8 pages

Fluidized Bed Reactor Conversion Analysis

The document presents a numerical example of catalytic oxidation of ammonia in a fluidized-bed reactor, detailing the experimental conditions and calculations to predict conversion using the Kunii-Levenspiel model. It outlines the operating conditions, reactor data, and step-by-step calculations for various parameters such as gas velocity, bubble sizes, and mass transfer coefficients. The final prediction of fractional conversion is approximately 19.61% based on the calculations performed.

Uploaded by

Samyak Wankhede
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

In [1]: ## Source (Numerical Example): mgr inz.

LeszekStepien, FLUIDIZATION, AGH University, Department of Energy and Fuels, 2015


##Example R12-2 Catalytic Oxidation of Ammonia
#Problem statement: Massimilla and Johnstone studied the catalytic oxidation of ammonia in a
#fluidized-bed reactor. Under their experimental conditions, the reaction was firstorder,
#dependent only upon the ammonia concentration, and without a significant
#change in volumetric flow rate. In one of their runs, 4 kg of catalyst were used with
#a gas flow rate of 818 cm3/s at reaction conditions. A conversion of approximately 22% of the
#entering ammonia was obtained. Predict this conversion using the Kunii-
#Levenspiel model.

In [2]: import numpy as np


import scipy
import [Link] as scopt
from [Link] import fsolve
import math
from tabulate import tabulate
import [Link] as plt
import pandas as pd

np.set_printoptions(precision=4)

In [3]: print("*****************Assignment********************")
print("The calculations below have been carried out for QG_in =818 cm3/s")
print("Consider QG_in = 700 + 15 x (last two digits of roll number)")
print("Submission should be handwritten will all equations and numerical substituions clearly written")
print("Note: The estimation of Ut is an iterative process, you may use computers to get the answer and directly write Ut value")

*****************Assignment********************
The calculations below have been carried out for QG_in =818 cm3/s
Consider QG_in = 700 + 15 x (last two digits of roll number)
Submission should be handwritten will all equations and numerical substituions clearly written
Note: The estimation of Ut is an iterative process, you may use computers to get the answer and directly write Ut value
In [4]: ##Operating conditions
P=1.11 # atm
T=523 # K
QG_in=818 # cm3/s @ reaction conditions
y_NH3_in = 0.1 # Inlet ammonia mole fraction
y_O2_in = 0.9 # Inlet oxygen concentration

## Reactor Data
Dt= 11.4 # cm (reactor diameter)
W=4000 # gm
# Distributor is porous stainless steel

## Catalyst particle data
d_p=0.0105 # cm (particle size)
gk_psi=0.6 # Assumed
rho_p=2.06 # gm/cm3
h_s = 38.9 # cm, static bed height

#Rate expression: (-rA= k.C_NH3)
k_cat=0.0858 # (1/s) @ reaction conditions

#Fluid properties
rho_g=7.85e-4 # gm/cm3
mu_g=2.98e-4 #gm/cm.s
D_AB=0.618 #cm2/s

##Other Data
acc_g=980 # cm/s2 acceleration due to gravity
pi = 3.14

In [5]: ##Solution Part A: Mechanical Characetristics of Bed


#Step 1: Gravitation term, gk_eta
gk_eta=acc_g*(rho_p-rho_g)
print("Gravitational Term in gm/(s^[Link]^2) = ",[Link]([gk_eta]))

Gravitational Term in gm/(s^[Link]^2) = [2018.0307]

In [6]: ​
##Solution Part A: Mechanical Characetristics of Bed
#Step 2: Porosity of bed at minimum fluidization,gk_eps_mf
T1=gk_psi**(-0.72)
T2=((mu_g**2)/(rho_g*gk_eta*d_p**3))**(0.029)
T3=(rho_g/rho_p)**(0.021)
gk_eps_mf=0.586*T1*T2*T3
print("Porosity of bed at minimum fluidization = ",[Link]([gk_eps_mf]))

Porosity of bed at minimum fluidization = [0.6572]


In [7]: ​
##Solution Part A: Mechanical Characetristics of Bed
#Step 3: Gas velocity at minimum fluidization, u_mf
T1=((gk_psi*d_p)**2)/(150*mu_g)
T2=gk_eta
T3=(gk_eps_mf**3)/(1-gk_eps_mf)
u_mf=T1*T2*T3
print("Gas velocity at minimum fluidization in cm/s = ", [Link]([u_mf]))

Gas velocity at minimum fluidization in cm/s = [1.4837]

In [8]: ##Solution Part A: Mechanical Characetristics of Bed


#Step 4: Entering gas velocity, u_0
A_CS=pi*(Dt**2/4)
u_0=QG_in/A_CS
print("Entering gas velocity in cm/s = ", [Link]([u_0]))

Entering gas velocity in cm/s = [8.0181]


In [9]: ##Solution Part A: Mechanical Characetristics of Bed
#Step 5: Is u_0 within a resonable operating range?
# step 5A: Estimation of terminal settling velocity of particles
Ut_assumed=0.1
iter1=1
Err1=100
while (Err1>0.001):
Re_p=rho_g*Ut_assumed*d_p/mu_g
Cd1=24/Re_p # Re_p < 0.2
Cd2=24/Re_p*(1+0.15*Re_p**0.687) # 0.2 < Re_p < 500
Cd3=0.44 # Re_p > 500
Ut_p1=((4*d_p*(rho_p-rho_g)*acc_g)/(3*Cd1*(rho_g)))**0.5
Ut_p2=((4*d_p*(rho_p-rho_g)*acc_g)/(3*Cd1*(rho_g)))**0.5
Ut_p3=((4*d_p*(rho_p-rho_g)*acc_g)/(3*Cd1*(rho_g)))**0.5
Re_p1=rho_g*Ut_p1*d_p/mu_g
Re_p2=rho_g*Ut_p1*d_p/mu_g
Re_p3=rho_g*Ut_p1*d_p/mu_g
iter1=iter1+1

if (Re_p1<0.2):
Ut_2=Ut_p1
elif (Re_p2>=0.2 and Re_p2<500):
Ut_2=Ut_p2
else:
Ut_2=Ut_p3

Err1=abs(Ut_assumed-Ut_2)/Ut_assumed
Ut_assumed=Ut_2

Ut=Ut_assumed
print("Terminal settling velocity cm/s and Error is = ", [Link]([Ut_assumed]),[Link]([Err1]))
Re_p_umf=rho_g*u_mf*d_p/mu_g
Re_p_ut=rho_g*Ut*d_p/mu_g

print("Minimum fluidization velocity, operating velocity and terminal velocity (cm/s) are = ", [Link]([u_mf]), [Link]([u_0]), [Link]([Ut]))

print("\n---------Question---------\n")
print("Kindly write your comment on operating velocity. \n Is it acceptable or design needs to be corrected? Support your opinion")

Terminal settling velocity cm/s and Error is = [41.4475] [0.0007]


Minimum fluidization velocity, operating velocity and terminal velocity (cm/s) are = [1.4837] [8.0181] [41.4475]

---------Question---------

Kindly write your comment on operating velocity.


Is it acceptable or design needs to be corrected? Support your opinion
In [10]: #Step 6: Bubble sizes, d_b0, d_bm
d_b0 = 0.00376*(u_0-u_mf)**2 # cm
d_bm = 0.652*((A_CS*(u_0-u_mf))**0.4) # cm

print("d_b0 (cm)= ", [Link]([d_b0]))
print("d_bm (cm)= ", [Link]([d_bm]))
print("\n---------Question---------\n")
print("Compare Column diameter (Dt) and Max bubble diameter (d_bm)")
print("Will slugging occur?")

d_b0 (cm)= [0.1605]


d_bm (cm)= [8.7862]

---------Question---------

Compare Column diameter (Dt) and Max bubble diameter (d_bm)


Will slugging occur?

In [11]: # Step 7: Expanded bed height


h_expanded=60 # cm typically 40-50% higher than static bed height
h_forAvg_d_b=h_expanded/2

In [12]: #Step 8: Average bubble diameter


d_b=d_bm-(d_bm-d_b0)*[Link](-0.3*h_forAvg_d_b/Dt)
print("Average bubble diameter (cm)= ", [Link]([d_b]))

Average bubble diameter (cm)= [4.8694]

In [13]: # Step 9: Rise velocity of singple bubble


u_br = (0.71)*((acc_g*d_b)**0.5)

print("Rise velocity of singple bubble (cm/s) = ", [Link]([u_br]))

Rise velocity of singple bubble (cm/s) = [49.0469]

In [14]: # Step 10: Rise velocity of bubble in presence of other bubbles


u_b=u_0-u_mf+u_br
print("Rise velocity of bubble in presence of other bubbles (cm/s) = ", [Link]([u_b]))

Rise velocity of bubble in presence of other bubbles (cm/s) = [55.5813]


In [15]: # refer above figure based on d_p and glass spheres
gk_alpha=0.4

#Step 11: Fraction of bed in bubble phase
gk_delta = (u_0-u_mf)/(u_b-u_mf*(1+gk_alpha))

print("Fraction of bed in bubble phase", [Link]([gk_delta]))

Fraction of bed in bubble phase [0.1221]


In [16]: #Step 12: Bed height
h=W/(A_CS*(1-gk_delta)*(1-gk_eps_mf)*rho_p)

print("calculated bed height = ", [Link]([h]))

print("\n---------Question---------\n")
print("Compare calculated bed height with assumed bed height in step 7")
print("If close enough, proceed, else change the assumed value")

calculated bed height = [63.2471]

---------Question---------

Compare calculated bed height with assumed bed height in step 7


If close enough, proceed, else change the assumed value

In [17]: ##Section B: Mass transfer and reaction paremeters


# Step 13: Bubble - cloud mass transfer coefficient

K_bc=4.5*(u_mf/d_b)+5.85*((D_AB**(1/2))*(acc_g**(1/4))/(d_b**(5/4)))
print("Bubble - cloud mass transfer coefficient = ", [Link]([K_bc]))

Bubble - cloud mass transfer coefficient = [4.9283]

In [18]: # Step 14: Cloud-emulsion mass transfer coefficient


K_ce=6.78*(((gk_eps_mf*D_AB*u_b)/(d_b**3))**(1/2))
print("Cloud-emulsion mass transfer coefficient = ", [Link]([K_ce]))

Cloud-emulsion mass transfer coefficient = [2.9979]

In [19]: # Step 15: Volume of catalysts in bubble per volume of bubble


gk_gamma_b=0.01 #Assumed value

print("Volume of catalysts in bubble per volume of bubble = ", [Link]([gk_gamma_b]))

Volume of catalysts in bubble per volume of bubble = [0.01]

In [20]: # Step 16: volume of catalsyt in clouds and wake per volume of bubbles
T1=(3*(u_mf/gk_eps_mf))/(u_b-(u_mf/gk_eps_mf))
gk_gamma_c=(1-gk_eps_mf)*(T1+gk_alpha)
print("volume of catalsyt in clouds and wake per volume of bubbles = ", [Link]([gk_gamma_c]))

volume of catalsyt in clouds and wake per volume of bubbles = [0.1807]


In [21]: # Step 17: Volume of catalyst in emulsion per volume of bubbles

gk_gamma_e=(1-gk_eps_mf)*((1-gk_delta)/gk_delta)-gk_gamma_b-gk_gamma_c
print("Volume of catalyst in emulsion per volume of bubbles = ", [Link]([gk_gamma_e]))

Volume of catalyst in emulsion per volume of bubbles = [2.2734]

In [22]: #Step 18: Calculate K_R


T1= (1/gk_gamma_e)+(k_cat/K_ce)
T2=(1/T1)+gk_gamma_c
T3=(1/T2)+(k_cat/K_bc)
K_R=(1/T3)+gk_gamma_b
print([Link]([K_R]))

[2.2355]

In [23]: # Step 19: Conversion (X)



X=[Link](-(K_R*k_cat*h)/(u_b))

print("The fractional conversion (X) is = ", [Link]([X]))

The fractional conversion (X) is = [0.1961]

In [ ]: ​

You might also like