You are on page 1of 24

VIRTUAL CATALYTIC REACTOR

Date: 19th February, 2023


Akandi Williams Ananzoyaa Akinie Yaw Simon Aidoo Samuel
Department of Chemical Engineering, Kwame Nkrumah University of Sci. and Tech.

REPORT INFO ABSTRACT


Keywords: This report aims to investigate the influence of
Virtual catalytic temperature on the kinetic rate constant of a
reactor heterogeneous reaction and its impact on conversion.
Conversion The focus is on determining the kinetic rate
Temperature parameters, including the pre-exponential constant and
Flow rate activation energy, through experimentation. Using a

Catalyst virtual catalytic reactor interface, the experiment


involves altering reaction conditions, such as
temperature and initial flow rate, while measuring
effluent gas composition. The reactor model assumes
negligible pressure drop across the packed bed and
employs the Hougen-Watson model to analyze how
these variations affect the kinetic constants K, Ka, and
Kb in the reaction.

The objectives of the experiment were achieved. The


model resulted in the following values: K = 0.00276
(1/mmol s), Ka = 1.09316(1/mmol s), and Kb =
1.66079(1/mmol s). The values of the activation
energy and the pre-exponential constants were
4.4210e+05 and 3.3559e+43 respectively.

1
1. INTRODUCTION
A virtual catalytic reactor can be defined as a model of a reaction process of a set of
data points and equations that is used to represent the performance of a specific vessel
configuration (Cacuci, 2010)). It can also be defined as The VCRL interface is an
interactive equipment diagram that mimics a laboratory-scale catalytic reactor
experiment. (Perry, 1950). A virtual catalytic reactor is crucial in chemical processes
and usually employs a catalyst in the model of the process to facilitate and accelerate
chemical reactions. A catalyst used in the model of a virtual catalytic reactor is a
substance that affects the reaction rate but emerges from the process unchanged.
(Doraiswamy, 2013)). Catalysts lower the activation energy, enabling reactions to occur
more readily. It is independent of any particular reactant or product species (Fogler,
2020). A catalyst enhances chemical reaction rates by forming temporary intermediate
complexes with reactants, leading to an alternate mechanistic pathway requiring less
activation energy compared to uncatalyzed reactions. Activation energy represents the
energy hurdle that reactants must overcome to yield products. In reversible reactions,
catalysts influence both forward and reverse reactions without altering the equilibrium
position, yet they expedite the rate at which equilibrium is attained. Additionally,
catalysts can demonstrate selectivity in multiple possible mechanism reactions by
favoring specific reaction pathways through preferential binding to transition states.
In this experiment, a differential reactor was considered in the modelling of the
process and determination of the kinetics of a simple catalytic reaction A+B→C
+ D. Basically, two types of reactions can be considered in reaction kinetics. The
reversible and irreversible kinetic reaction.
In this experiment, the irreversible reaction was considered and the rate equation,
commonly known as the Hinshelwood-Hougen-Watson model was used as the rate
equation. The kinetic constants which tend to be the important parameters considered
in this model were also analyzed. The various kinetic constants considered are the
adsorptive constant Ka, for species A and Kb for species B and K, and the rate of the
reaction. A non-linear regression model with the data of the reaction rate and partial
pressures of the species was used to determine the value for the rate constants in the
Arrhenius equation. The lab also focused on determining the pre-exponential constant
and activation energy for each kinetic constant using the Arrhenius equation.

2
1.1. Objectives
1. To determine the kinetic constant of the heterogeneous reaction at different
temperatures.
2. To determine the pre-exponential constant and activation energy for each kinetic
constant
3. Evaluate the effect of reactor temperature on conversion

2. Methodology
2.1. Procedure
The VCR software was initially launched. The system was allowed to run for some
time to attain a steady state.
There were two gas cylinders containing that of the limiting reactant and the excess
reactant. The six-way valve was initially opened to collect new samples or allow new
flow rate input. The flow rates of the limiting reactant were adjusted at a constant
pressure (50 bar) and temperature. The flow rates of the limiting reactant were
decreased by a factor of 0.1 whilst that of the excess reactant was increased by a
factor of 0.1 respectively. After the six-way valve was closed an inert gas, helium
pushed through the loop into the product to separate the unreacted reactants from the
products. the product is then pushed through the control loop towards the Gas
chromatograph which analyzes the composition of the product and exits through a
vent. The residual gas from the reaction was automatically sent overhead to a vent as
residual gas. The data log section was clicked to obtain the results of the experiment.
The procedure was repeated for a temperature of 510 and 520. at constant pressure
and the results were obtained. The total flow rate was adjusted and made sure not to
exceed 2mMOL/s.
The rate of the reaction from the experiment was calculated as:
Fio∗v
r=
w

Further data was obtained using the equations;


kPaPb Fao
r= Pa = Pb= (P-Pa)
1+ KaPa+ KbPb Fao+ Fbo

3
where;
Ka= the adsorption equilibrium constant of A
Kb= the adsorption equilibrium constant of B
Pa= the partial pressure of A
Pb= the partial pressure of B

Figure 1. A schematic diagram of the Virtual catalytic diagram.

4
3. Results and Discussion
3.1. Table of results
Number Pressure [Bar] Temp [K] Fa,o [mmol/s] Fb,o [mmol/s] ya yb yc yd
1 50 500 1 1 0.49674 0.49674 0.00326 0.0033
2 50 500 0.9 1.1 0.44669 0.54669 0.00331 0.0033
3 50 500 0.8 1.2 0.39739 0.59739 0.00261 0.0026
4 50 500 0.7 1.3 0.34734 0.64734 0.00266 0.0027
5 50 500 0.6 1.4 0.29754 0.69754 0.00246 0.0025
6 50 500 0.5 1.5 0.24796 0.74796 0.00204 0.002
7 50 500 0.4 1.6 0.19833 0.79833 0.00167 0.0017
8 50 500 0.3 1.7 0.14868 0.84868 0.00132 0.0013
9 50 500 0.2 1.8 0.09923 0.89923 0.00077 0.0008
10 50 500 0.1 1.9 0.04955 0.94955 0.00045 0.0005
11 50 510 1 1 0.49409 0.49409 0.00591 0.0059
12 50 510 0.9 1.1 0.445 0.545 0.005 0.005
13 50 510 0.8 1.2 0.39515 0.59515 0.00485 0.0049
14 50 510 0.7 1.3 0.34611 0.64611 0.00389 0.0039
15 50 510 0.6 1.4 0.29632 0.69632 0.00368 0.0037
16 50 510 0.5 1.5 0.24679 0.74679 0.00321 0.0032
17 50 510 0.4 1.6 0.19763 0.79763 0.00237 0.0024
18 50 510 0.3 1.7 0.14806 0.84806 0.00194 0.0019
19 50 510 0.2 1.8 0.09879 0.89879 0.00121 0.0012
20 50 510 0.1 1.9 0.04933 0.94933 0.00067 0.0007
21 50 520 1 1 0.4904 0.4904 0.0096 0.0096
22 50 520 0.9 1.1 0.44227 0.54227 0.00773 0.0077
23 50 520 0.8 1.2 0.39203 0.59203 0.00797 0.008
24 50 520 0.7 1.3 0.34382 0.64382 0.00618 0.0062
25 50 520 0.6 1.4 0.29404 0.69404 0.00596 0.006
26 50 520 0.5 1.5 0.2453 0.7453 0.0047 0.0047
27 50 520 0.4 1.6 0.19637 0.79637 0.00363 0.0036
28 50 520 0.3 1.7 0.14741 0.84741 0.00259 0.0026
29 50 520 0.2 1.8 0.09797 0.89797 0.00203 0.002
30 50 520 0.1 1.9 0.04905 0.94905 0.00095 0.001

5
yao ybo xa ra pa(Pascal) pb(pascal)
0.5 0.5 0.00652 0.000362222 2500000 2500000
0.45 0.55 0.007356 0.000367778 2250000 2750000
0.4 0.6 0.006525 0.00029 2000000 3000000
0.35 0.65 0.0076 0.000295556 1750000 3250000
0.3 0.7 0.0082 0.000273333 1500000 3500000
0.25 0.75 0.00816 0.000226667 1250000 3750000
0.2 0.8 0.00835 0.000185556 1000000 4000000
0.15 0.85 0.0088 0.000146667 750000 4250000
0.1 0.9 0.0077 8.55556E-05 500000 4500000
0.05 0.95 0.009 5E-05 250000 4750000
0.5 0.5 0.01182 0.000656667 2500000 2500000
0.45 0.55 0.011111 0.000555556 2250000 2750000
0.4 0.6 0.012125 0.000538889 2000000 3000000
0.35 0.65 0.011114 0.000432222 1750000 3250000
0.3 0.7 0.012267 0.000408889 1500000 3500000
0.25 0.75 0.01284 0.000356667 1250000 3750000
0.2 0.8 0.01185 0.000263333 1000000 4000000
0.15 0.85 0.012933 0.000215556 750000 4250000
0.1 0.9 0.0121 0.000134444 500000 4500000
0.05 0.95 0.0134 7.44444E-05 250000 4750000
0.5 0.5 0.0192 0.001066667 2500000 2500000
0.45 0.55 0.017178 0.000858889 2250000 2750000
0.4 0.6 0.019925 0.000885556 2000000 3000000
0.35 0.65 0.017657 0.000686667 1750000 3250000
0.3 0.7 0.019867 0.000662222 1500000 3500000
0.25 0.75 0.0188 0.000522222 1250000 3750000
0.2 0.8 0.01815 0.000403333 1000000 4000000
0.15 0.85 0.017267 0.000287778 750000 4250000
0.1 0.9 0.0203 0.000225556 500000 4500000
0.05 0.95 0.019 0.000105556 250000 4750000

6
7
Discussion
In this study, we utilized the Virtual Catalytic Reactor, a simulator, to ascertain the
composition of the outlet resulting from the reaction: A + B → C + D. The aim of this
experiment was to investigate the impact of flow rates into a packed-bed reactor on
reactant conversions, analyze how temperature influences gas rates, identify the
catalyst weight that yields optimal conversion, and deduce kinetic parameters using
MATLAB.

Under conditions of constant flow rate and pressure but with varying temperatures, it
was observed that both the product composition and the reaction rate exhibited a
consistent increase. This phenomenon arises from the fact that elevated temperatures
lead to a higher frequency of collisions, thereby increasing the likelihood of effective
collisions and consequently resulting in a greater quantity of products generated
within a given timeframe. Moreover, the relationship between temperature and the
rate constant is positive, as demonstrated by the Arrhenius Equation:
K=AeRT−Ea
Where Ea represents the Activation Energy, A denotes Arrhenius’ constant, R
signifies the gas constant, and T stands for temperature. This equation indicates that
as the temperature rises, the rate constant also increases, thereby accelerating the
reaction rate.
The rate constants (K, Ka, and Kb) derived from the experiment offered valuable
insights into the kinetics of the heterogeneous reaction. At 500K, the rate constants
were found to be K = 0.00276 (1/mmol s), Ka = 1.09316(1/mmol s), and Kb =
1.66079(1/mmol s).
The Arrhenius equation was linearized to get the relation log 𝑘 = 1/𝑇 × Ea 𝑅 + log 𝐴, it
was then used to determine the pre-exponential constant and Arrhenius constant. A
graph of 1/𝑇 against log𝐾 was plotted and the gradient and intercept gave relations
from which the activation energy (Ea) and pre-exponential constant (A) were found to
be 4.4210e+05 and 3.3559e+43 respectively.
Additionally, when conversion was graphed against the catalyst's weight, there was a
notable rise in conversion as the catalyst's weight increased. This phenomenon occurs
because a greater catalyst weight allows more reactant molecules to adhere to the
surface, offering an alternative reaction pathway or reducing the activation energy.

8
This trend continues until optimal conditions are achieved. At this optimal point, the
graph curve begins to linearize, indicating that a further increase in catalyst weight
would not notably impact the conversion rate. The optimum conversion was attained
at 0.85 and the optimum weights were obtained to be 0.55g(520K), 1.2g(510K), and
1.5g(500K).

4. Conclusions and Recommendations


It can be inferred that temperature plays a significant role in both the conversion rate
and the molar flow rates of gaseous species. Additionally, it can be noted that the
highest conversion rate, reaching 85%, was achieved, and there exists an inverse
relationship between the catalyst weight and temperature. Ultimately, the experiment
successfully met its objectives.

5. References
Cacuci, D. G. (2010). Handbook of Nuclear Engineering: Vol. 1: Nuclear
Engineering Fundamentals; Vol. 2: Reactor Design; Vol. 3: Reactor Analysis; Vol. 4:
Reactors of Generations III and IV; Vol. 5: Fuel Cycles, Decommissioning, Waste
Disposal and Safeguards (Vol. 1). Springer.

Doraiswamy, L. K. (2013). Chemical reaction engineering: beyond the fundamentals.


CRC press.

Falconer, J. L. (2021). Virtual Catalytic Reactor Laboratory. Chemical Engineering


Education, 55(3), . 183-188.

Fogler, H. S. (2020). Elements of Chemical Reaction.

Hill, C. G. (2014). Introduction to chemical engineering kinetics and reactor design.


John Wiley & Sons.

Perry, J. H. (1950). Chemical engineers' handbook.

6. Appendix

%QUESTION 2
% CALCULATING FOR THE CONSTANTS k, Ka and Kb

9
clear; clc; format long

% *AT A TEMPERATURE OF 500K*

T_1 = 500; % temperature in Kelvin for the first ten runs

% Defining the Pressure values from the first 10 runs


Pa =
[2500000;2250000;2000000;1750000;1500000;1250000;1000000;750000;500000;2500
00];
Pb =
[2500000;2750000;3000000;3250000;3500000;3750000;4000000;4250000;4500000;47
50000];

% Defining the rate values for the first 10 runs


r_1 =
[0.000362222;0.000367778;0.00029;0.000295556;0.000273333;0.000226667;0.0001
85556;0.000146667;8.55556E-05;5E-05];

% Putiing the above data in a table form


Table_1 = table (Pa, Pb, r_1)

% defining the rate law


modelfun = @(k,x) ((k(1)*((x(:,1)).*(x(:,2))))./((1 + k(2)*(x(:,1)) +
k(3)*(x(:,2)))).^2);

% Initial guess values for k, Ka and Kb


beta0 = [0.01,0.1,1];

% Fitting the non-linear model


mdl = fitnlm (Table_1, modelfun, beta0)

% the constants
coefficients = mdl.Coefficients(:, 'Estimate');
B = table2array(coefficients);

k = B(1)

Ka = B(2)

Kb = B(3)

% CALCULATING FOR THE CONSTANTS k, Ka and Kb

clear; clc; format long

% *AT A TEMPERATURE OF 510K*

T_2 = 510; % temperature in Kelvin for the 2nd ten runs

% Defining the Pressure values from the 2nd 10 runs

10
Pa =
[2500000;2250000;2000000;1750000;1500000;1250000;1000000;750000;500000;2500
00];
Pb =
[2500000;2750000;3000000;3250000;3500000;3750000;4000000;4250000;4500000;47
50000];

% Defining the rate values for the 2nd 10 runs


r_2 =
[0.000656667;0.000555556;0.000538889;0.000432222;0.000408889;0.000356667;0.
000263333;0.000215556;0.000134444;7.44444E-05];

% Putiing the above data in a table form


Table_2 = table (Pa, Pb, r_2)

% defining the rate law


modelfun = @(k,x) ((k(1)*((x(:,1)).*(x(:,2))))./((1 + k(2)*(x(:,1)) +
k(3)*(x(:,2)))).^2);

% Initial guess values for k, Ka and Kb


beta0 = [0.1,0.1,1];

% Fitting the non-linear model


mdl = fitnlm (Table_2, modelfun, beta0)

% the constants
coefficients = mdl.Coefficients(:, 'Estimate');
B = table2array(coefficients);

k = B(1)

Ka = B(2)

Kb = B(3)

% CALCULATING FOR THE CONSTANTS k, Ka and Kb

clear; clc; format long

% *AT A TEMPERATURE OF 520K*

T_3 = 520; % temperature in Kelvin for the last ten runs

% Defining the Pressure values from the last 10 runs


Pa =
[2500000;2250000;2000000;1750000;1500000;1250000;1000000;750000;500000;2500
00];
Pb =
[2500000;2750000;3000000;3250000;3500000;3750000;4000000;4250000;4500000;47
50000];

% Defining the rate values for the last 10 runs


r_3 =
[0.001066667;0.000858889;0.000885556;0.000686667;0.000662222;0.000522222;0.
000403333;0.000287778;0.000225556;0.000105556];

% Putiing the above data in a table form

11
Table_3 = table (Pa, Pb, r_3)

% defining the rate law


modelfun = @(k,x) ((k(1)*((x(:,1)).*(x(:,2))))./((1 + k(2)*(x(:,1)) +
k(3)*(x(:,2)))).^2);

% Initial guess values for k, Ka and Kb


beta0 = [1,1,1];

% Fitting the non-linear model


mdl = fitnlm (Table_3, modelfun, beta0)

% the constants
coefficients = mdl.Coefficients(:, 'Estimate');
B = table2array(coefficients);

k = B(1)

Ka = B(2)

Kb = B(3)

RESULTS

Table_1 =

10×3 table

Pa Pb r_1

_______ _______ ___________

2500000 2500000 0.000362222

2250000 2750000 0.000367778

2000000 3000000 0.00029

1750000 3250000 0.000295556

1500000 3500000 0.000273333

1250000 3750000 0.000226667

1000000 4000000 0.000185556

750000 4250000 0.000146667

500000 4500000 8.55556e-05

12
250000 4750000 5e-05

Warning: The Jacobian at the solution is ill-conditioned, and some model parameters may

not be estimated well (they are not identifiable). Use caution in making predictions.

> In nlinfit (line 384)

In NonLinearModel/fitter (line 1127)

In classreg.regr/FitObject/doFit (line 94)

In NonLinearModel.fit (line 1446)

In fitnlm (line 99)

In Part_1 (line 27)

mdl =

Nonlinear regression model:

r_1 ~ ((k1*((Pa)*(Pb)))/((1 + k2*(Pa) + k3*(Pb)))^2)

Estimated Coefficients:

Estimate SE tStat pValue

___________________ ____________________ ________________ _________________

k1 0.00276337312035508 5.34322816416349e-05 51.7172959015443


2.16502084412178e-11

k2 1.09315553155442 0.0811537977645538 13.4701709798711 8.8460961166326e-07

k3 1.66079268409148 0.0534159269102237 31.0917132802503 1.24501487984718e-09

Number of observations: 10, Error degrees of freedom: 8

13
Root Mean Squared Error: 1.51e-05

R-Squared: 0.983, Adjusted R-Squared 0.981

F-statistic vs. zero model: 1.37e+03, p-value = 7.16e-11

k=

0.002763373120355

Ka =

1.093155531554421

Kb =

1.660792684091483

>>

Table_2 =

10×3 table

Pa Pb r_2

_______ _______ ___________

14
2500000 2500000 0.000656667

2250000 2750000 0.000555556

2000000 3000000 0.000538889

1750000 3250000 0.000432222

1500000 3500000 0.000408889

1250000 3750000 0.000356667

1000000 4000000 0.000263333

750000 4250000 0.000215556

500000 4500000 0.000134444

250000 4750000 7.44444e-05

Warning: The Jacobian at the solution is ill-conditioned, and some model parameters may

not be estimated well (they are not identifiable). Use caution in making predictions.

> In nlinfit (line 384)

In NonLinearModel/fitter (line 1127)

In classreg.regr/FitObject/doFit (line 94)

In NonLinearModel.fit (line 1446)

In fitnlm (line 99)

In Part_2 (line 27)

mdl =

Nonlinear regression model:

r_2 ~ ((k1*((Pa)*(Pb)))/((1 + k2*(Pa) + k3*(Pb)))^2)

15
Estimated Coefficients:

Estimate SE tStat
pValue

__________________ ____________________ ________________ __________________

k1 0.0108010469266076 0.000216196943945007 49.959295120078 2.8528849421723e-


11

k2 1.28932066590231 0.117200572317498 11.0009758519738 4.14606528291108e-06

k3 2.83914373083818 0.0532239140522358 53.3433848561334 1.69115709812887e-11

Number of observations: 10, Error degrees of freedom: 8

Root Mean Squared Error: 2.02e-05

R-Squared: 0.99, Adjusted R-Squared 0.989

F-statistic vs. zero model: 2.03e+03, p-value = 1.51e-11

k=

0.010801046926608

Ka =

1.289320665902313

Kb =

16
2.839143730838180

>>

Table_3 =

10×3 table

Pa Pb r_3

_______ _______ ___________

2500000 2500000 0.001066667

2250000 2750000 0.000858889

2000000 3000000 0.000885556

1750000 3250000 0.000686667

1500000 3500000 0.000662222

1250000 3750000 0.000522222

1000000 4000000 0.000403333

750000 4250000 0.000287778

500000 4500000 0.000225556

250000 4750000 0.000105556

Warning: The Jacobian at the solution is ill-conditioned, and some model parameters may

not be estimated well (they are not identifiable). Use caution in making predictions.

> In nlinfit (line 384)

In NonLinearModel/fitter (line 1127)

17
In classreg.regr/FitObject/doFit (line 94)

In NonLinearModel.fit (line 1446)

In fitnlm (line 99)

In Part_3 (line 27)

mdl =

Nonlinear regression model:

r_3 ~ ((k1*((Pa)*(Pb)))/((1 + k2*(Pa) + k3*(Pb)))^2)

Estimated Coefficients:

Estimate SE tStat pValue

_________________ ___________________ ________________ ____________________

k1 0.166728376264042 0.00528697654093856 31.5356754419122 1.11243215736375e-09

k2 3.55059718926892 0.49829449671958 7.12549950409556 9.94600718061953e-05

k3 9.17509329117362 0.1929750563673 47.5454883335293 4.23467573547984e-11

Number of observations: 10, Error degrees of freedom: 8

Root Mean Squared Error: 4.2e-05

R-Squared: 0.984, Adjusted R-Squared 0.982

F-statistic vs. zero model: 1.17e+03, p-value = 1.33e-10

k=

18
0.166728376264042

Ka =

3.550597189268917

Kb =

9.175093291173619

>>

QUESTION 3
R = 8.314;
T = [500; 510; 520];
k = [ 0.002763373120355; 0.010801046926608 ; 0.166728376264042];
%k = Aexp(-Ea/(RT));
%log(A) = (1./T).*(Ea/R) + log(k);
x = (1./T);
p = polyfit(x,log(k),1)
Ea = -p(1)*R
A = exp(p(2))
plot (x,log(k))
grid on
grid minor
xlabel('1/T')
ylabel('lnK')
title("A GRAPH OF InK AGAINST 1/T")

RESULTS

>> Untitled2

p=

19
1.0e+04 *

-5.3175 0.0100

Ea =

4.4210e+05

A=

3.3559e+43

>>

20
QUESTION 4

%W = linspace(0, 1000, 100);


X = linspace(0,1,30);
Pao = linspace(2500000,250000,30);
Ka = [ 1.093155531554421;1.289320665902313 ; 3.550597189268917];
Kb = [ 1.660792684091483; 2.839143730838180; 9.175093291173619];
k = [0.002763373120355; 0.010801046926608 ; 0.166728376264042 ];
Fao = linspace(1,0.1,30);
Fbo = linspace(1,1.9,30);
teta = Fbo./Fao;
W_1 =
(((1+Pao.*(Ka(1).*(1-X)+Kb(1).*(teta-X))).^2).*X)./(k(1).*(Pao.^2).*(1-
X).*(teta-X));
W_2 =
(((1+Pao.*(Ka(2).*(1-X)+Kb(2).*(teta-X))).^2).*X)./(k(2).*(Pao.^2).*(1-
X).*(teta-X));
W_3 =
(((1+Pao.*(Ka(3).*(1-X)+Kb(3).*(teta-X))).^2).*X)./(k(3).*(Pao.^2).*(1-
X).*(teta-X));
hold on
plot (W_1,X,'r-')

hold on
plot (W_2,X,'b-')

21
hold on
plot (W_3,X,'k-')
grid on
grid minor
xlabel('weight of catalyst')
ylabel('conversion')
linspace(1,0,100);
title("A GRAPH OF CONVERSION AGAINST CATALYST WEIGHT")

RESULTS

22
23
24

You might also like