Professional Documents
Culture Documents
Modelling Reactors Kinetics
Modelling Reactors Kinetics
Modelling Reactors Kinetics
Kinetics
Reactor
Catalysis
modelling
Aim with reactor and reaction kinetics
modeling
Often the reaction routes,
reaction kinetics and kinetic
parameters are unknown
Combining
Experimental work in
laboratory Lab
Model
Mathematical modeling in
order to obtain a simulation
tool for the design of
reactors for the desired
reaction
Scale up
Plant
Why do we need to know reaction
kinetic parameters
Design of reactors
Reaction rates determine the size or residence times
of the reactants
Slow reaction longer residence time , larger
reactor
Biomaterial: Modelling works as before
but what is new ?
Biomaterial
More complex molecules from nature
Mixture of molecules
Physical
properties
REACTOR MODEL
Steps in reactor modelling
Experimental
Tid
data
Volym ml C_syra mol/l More
0 427 7.5
5
10
426
425
7.34
7.2
experiments
15 424 6.78
30 423 6.33
45 422 5.82
60 421 5.7
120 420 4.74 70
10
J
I
0
0 20 40 60 80 100 120
Reactor model
Software
dc Model solver
= ρB ⋅ r
dt Parameter estimation
Reaction kinetics Minimize object function
model
Q = ∑ ( yi ,exp − yi ,est ) wij
k 'j K A K H 2 c j cH 2 2 Fit of model to
rj =
(1 + ∑ K c )(1 + K
i i H2 H2c ) experimental data
Improve model
Reactor models
Homogeneous models
One phase
Gas or liquid
Homogeneous catalyst
Heterogeneous
Two or three phases Three phase laboratory reactors
Gas, liquid and solid catalyst
Basic Reactor Models
dci
= ri
Batch reactor dt Batch
CSTR
Continuos Stirred Tank Reactor
c0i − ci
= ri CSTR
PFR τ
Plug Flow Reactor
dci
n0 A n1A = ri
PFR
dt
More complex reactor models
What to include
Reaction ?
Gas-liquid solubility
Masstransfer
Reaction ?
Reaction and
diffusion
Porous catalyst
Diffusion
Three phase reactor model
•
d n Li
= N Lib av + N Lis a p Liquid phase
dVR ODE + PDE system
•
d n Gi Gas phase
= ± N Lib av
dVR
b b
c − K c
N Lib = Gi i Li Gas-Liquid masstransfer
Ki 1
+
k Li kGi
dci Dei d 2 ci s dci Reaction and diffusion in
= 2 + + ρ p ri
dt ε p dr r dr catalyst particle
Experimental data
What to collect ?
Algebraic model
Non linear equation model (NLE)
NLE (Non Linear Equation Systems) Newton-Raphson method
Ordinary differential equation model (ODE) Backward
difference method
PDE solver
Batch reactor
c
6 dc/dt=mcat*rate
5
− EA 1 1
− 1
60 C ri = k e R T Tmedel
c A c B − cc c D
Keq
4
70 C
3
Estimation results
k=0.042745285
2
0 500 1000 1500 K=3.020598
Time Ea=58593.68
Results, statistics
Total SS (corrected for means) 0.8183E+02
Residual SS 0.8513E+00
Std. Error of estimate 0.1631E+00
Explained (%): 98.96
The Hessian:
0.176E-05
-0.891E-04 0.475E-01
-0.243E+00 0.131E+02 0.193E+08
1.000
-0.308 1.000
-0.042 0.014 1.000
Sensitivity analysis: Did we find the best
values for the estimated parameters
− 10
x 10
ri ke RT
c AcB − C D not well identified Ea
K eq
6.5 7 7.5 8
4
x 10
4.5
data set 1 data set 2
8 8
4
6 6 3.5
Keq
3
4 4
2.5
2 2
0 500 1000 1500 0 500 1000 1500
8
data set 3
Correlation between x 10
4
Keq
6 EA and k 7.6
7.4
4 Ea
7.2
7
2
0 500 1000 1500
6.8
MCMC 8
E 1 1
7
ri ke R T T
c AcB − Parameters for the
K eq
5
Sensitivity analysis 4
2
0 500 1000 1500
k
Optimal parameter values Data set 2, yest[1]
4.5
7
4
No correlation 6
Keq
3.5
k Keq 5
3
4
2.5
2
0 500 1000 1500
7 5
6.5
6 4
5.5
3
5
0.045 0.05 0.055 0.06 2.5 3 3.5 4 4.5
4 6 8 10 2
0 200 400 600 800 1000 1200 1400
4
x 10
Modeling and Scale-up of Sitosterol Hydrogenation
Process: from laboratory slurry reactor to plant scale
Sitosterol hydrogenation reactions
DH D D DH D
2 2
P / RT
k 4 K J K H 2 c J cH k5 K C K H 2 cC cH k 6 K J K H 2 c J cH N H a v = k l av G − cH
r4 = r5 = r6 =
K
2 2 2
DH D DH D DH D
2 2 2
k 7 K A K H 2 c A cH k8 K K K H 2 cK cH k9 K E K H 2 c E c H
r7 = 2
r8 = 2
r9 = 2
DH D DH D DH D
2 2 2
r13 =
k13 K G K H 2 cG cH
DH D
2
r14 =
k14 K I K H 2 cI cH
DH D
2 NH flux of hydrogen from gas to liquid
K gas-liquid equilibrium constant
2 2
DH = 1 + K H c H
r reaction rate
2 2 2
Experiments performed in laboratory
reactor
70 5
B 4.5
60
4
50 3.5
A
3
40
2.5
30 F 2
E
20 1.5
1
10 D C
0.5 K
J HG
I
0 0
0 20 40 60 80 100 120 0 20 40 60 80 100 120
Sitosterol Sitostanone
50 5
45 4.5
40 4
35 3.5
30 3
Estimated
Estimated
25 2.5
20 2
15 1.5
10 1
5 0.5
0 0
0 5 10 15 20 25 30 35 40 45 50 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Experimental Experimental
Fit of model to experiments
70
5
60 4.5
B
4
50
3.5
A
40
3
2.5
30
F
E 2
K
20
1.5
C
10 1
J
I 0.5 G
0 D
0 20 40 60 80 100 120 H
0
0 20 40 60 80 100 120
Sitosterol
50
Sitostanone
2.5
45
40
2
35
30
Estimated
1.5
Estimated
25
20
1
15
10
0.5
5
0
0 5 10 15 20 25 30 35 40 45 50 0
0 0.5 1 1.5 2 2.5
Experimental Experimental
Sensitivity plots: Check that parameters
are well identified
4
x 10
3 2000
1500
2
1000
1
500
0 0
100 200 300 400 500 0 5 10 15 20
k1 4
k2
x 10
2000 2
1500 1.5
1000 1
500 0.5
0 0
0 2 4 6 0 10 20 30 40
k3 k6
Use of model for simulation of plant
reactor (10 m3)
16
70
14
60
12
50
10
40
8
30 6
20 4
10 2
0
0 0 100 200 300 400
0 100 200 300 400
time
time
OH
OH OH OH
OH
OO
HO
OH
Lactulitol
Lactulose
Alternative 2
Lactitol
Alternative 1 +
Galactitol
Sorbitol
Experiments + linear plots
40
0.5
70 bar
35
20 bar 0.4
30
25
w-%
0.3
w-%
20
0.2
15
10 20 bar 0.1
70 bar
5
0
0 50 100 150 200 250 300
0
0 50 100 150 200 250 300 time (min)
time (min)
Alternative 1
Alternative 2
Lactose → lactitol
Lactose → lactulose -> lactulitol
Lactose ↔ lactobionic acid
Lactose → sorbitol + galactitol
Mass balances, rate equations
and yield
dci k j c AcHnH2 2
dt
= ∑ ν ij r j ρ B Rj =
(1 + K nH 2
H 2 cH 2 )(1 + ∑ K c ) l l
R1 = k '1cA
R 2 = k '2cA
R 3 = k '3cA − k '−3cD
R 4 = k '4cC
R 5 = k '5cB
cA / c 0 A = exp(−(k '1 + k '2 + k '3) ρBt ))
cB / c 0 A = ( k '1 /( k '5 − k ' ' ))(exp(− k ' ' ρBt ) − exp(− k '5 ρBt ))
cC / c 0 A = ( k '2 /( k '4 − k ' ' ))(exp(− k ' ' ρBt ) − exp(− k '4 ρBt ))
cD / c 0 A = ( k '3 / k ' ' )(1 − exp(− k ' ' ρBt ))
cE / c 0 A = (k '1k '4) /(k '4 − k ' ' ))((1 / k ' ' )(1 − exp(− k ' ' ρBt ) − (1 / k '4)(1 − exp(− k '4 ρBt ))
cF / c 0 A = (k '1k '5) /(k '5 − k ' ' ))((1 / k ' ' )(1 − exp(− k ' ' ρBt ) − (1 / k '5)(1 − exp(− k '5 ρBt ))
cB / c 0 A = α 1 /(α 5 − 1)((1 − X ) − (1 − X ) * *α 5)
cC / c 0 A = α 2 /(α 4 − 1)((1 − X ) − (1 − X ) * *α 4)
cD / c 0 A = α 3 X
cE / c 0 A = α 2 /(α 4 − 1)(α 4 X + (1 − X ) * *α 4 − 1)
cF / c 0 A = α 1 /(α 5 − 1)(α 5 X + (1 − X ) * *α 5 − 1)
Improved data fitting results
40
35 Lactitol
30
W-%25
20
15
10
Lactose
5
0
0 50 100 150 200 250
Time (min)
Galactitol & Sorbitol
The truth is revealed
0.4 0.4
0.3 0.3
Lactose conversion
0.4 0.4
0.3 0.3
0 0
0 1 0 1
Lactose conversion
Particle model
Particle model
dci
= ε p−1 ri ρ p − r S
d(N i r S
)
dt dr
Rates
ri = ∑ν ij R j a j
j
Lactose hydrogenation
-3
x 10
7
Concentration profiles
Inside catalyst particle 6 3.0 mm
0.03 mm
4
c (mol/l)
Lactulose
3
Lactulitol 0.3 mm 0.3 mm
0.03 mm
2
1 1.0 mm
3.0 mm
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Center x
Surface
Concentration profiles of lactose inside a catalyst
particle
1.4
1.4
1.2 1.2
1 1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0 0.2
1
600 0
x 0.5 400
1
center
200 600
0 x .5
0
200
400
No deactivation Deactivation
Production of DMC Dimethylcarbonate
•DMC
•Methylating and carbonylating
agent
•Biodegradable
•Gasoline additive – replacing
MTBE
•Electrolyte in lithium batteries
DMC model MeOH CO2
r1=k1*cA*cB
r2=k2*cC*cwater
r3=k3*cE*cWater
r4=k4*cC*cF
r5=k5*cG*cA
r6=k6*cB*cE
r7=k7*cE*cA
r8=k8*cH*cB
r9=k9*cH*cWater
! Batch reactor model
ds(1)=-2.0d0*r1-2.0d0*r5-r7+r2 DMC
+2.0d0*r4 ! metanol
ds(2)=-r3-r6-r7 ! butylenoxide
ds(3)= -r1+r2-r8 ! CO2
ds(4)= r5+r8-r5+r4 ! But carbonate
ds(5)= r1-r2+r5-r4 ! DMC
ds(6)= r7-r8-r9
Wood chip
2D dynamic model
Reaction
Diffusion
Structural changes during
reaction: porosity changes
16
14
12
10
%
8
6
4
2
cC cD
0
58.9-68.2
68.2-79.1
79.1-91.7
91.7-106
106-123
123-143
143-165
165-192
192-222
222-258
258-299
299-346
346-401
401-465
465-539
539-625
625-724
724-840
840-973
973-1128
Backward difference
Convert PDE to ODE:s by method of lines
Model code &
call rates(conc,ratehet,ratehom,xdata,gpar, ngpar,
lpar, nlpar,nx,nobs,iobs,iset)
xpos=dfloat(j-1)/dfloat(npcat-1)
! xpos=discr_points(j)
do i=1,ncom
! print *,i,j,conc(i),ratehet(i)
icat=ncom+j+(i-1)*npcat+idist
catrad=catrad/100 ! radius in dm
if (iobs.lt.nobs.and.t.gt.0.0d0) then
More time needed il=i ! bulk concentration
ind = 1 !3
dum(1)=0.0d0
index=0
avnlpi(1:ncom)=0.0d0
call deriv1(ind,ib1,ib2,nd,npcat,ndp2,nmax,index,h,
do i=1,ncom
& s(ix),dc1(ix),dum,ierr)
do k=1,ndist
do j=2,npcat
Concentration inside catalyst particle
for different particle sizes (mm)
8.2 0.15
0.32
0.37
8 0.44
0.5
0.58
7.8
0.68
c mol/dm3
0.79
7.6
0.9
Catalyst 7.4
particle 1.1
7.2
7
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
Fit of model to experimental data
1g 2.5g
1.5 1.5
1 1
mol
mol
0.5 0.5
0 0
0 50 100 150 0 50 100
time (min) time (min)
5g 10g
1.5 1.5
1 1
mol
mol
0.5 0.5
0 0
0 50 100 0 50 100
time (min) time (min)
Kinetic model
r1 = k1 K 9 pH 2 cHMR1θ z +1
r2 = k4 K 9 pH 2 cHMR2 θ z +1
r3 = k3 cHMR1
r4 = k4 cHMR2 Where the coverage is obtained from
r5 = k5 K 9 pH 2 cMAT θ z +1 f (θ ) = ( )
θ + k6 cHMR1 + k7 cHMR2 +8 cMAT θ z + K 9 pH 2 θ − 1
The coverage can be solved iteratively with the Newton-Raphson method
f (θ )
θi += θi +
f ' (θ )
1
The derivative is
f ' (θ ) = ( )
1 + k6 cHMR1 + k7 cHMR2 + k8 cMAT zθ z −1 + K 9 pH 2
Example
MCMC
Reactions
1 HMR_1 → MAT
2 HMR_2 → MAT
3 HMR_1 → prop_MAT_1
4 HMR_2 → prop_MAT_2
5 MAT → BP
Modest code
Find coverage
do i=1,1000 Kinetic and reactor model
fun=theta+kk*
1 theta**z+sqrt(K9*pH2)*theta-1.0d0 rhoB=mcat/vol/1.0d-3 ! gram/liter
funp=1.0d0+kk*z*theta**(z-1.0d0)+sqrt(K9*pH2)
r1=k1*sqrt(K9)*cHMR1*sqrt(pH2)*theta**(z+1.0d0)
theta1=theta-fun/funp
r2=k2*sqrt(K9)*cHMR2*sqrt(pH2)*theta**(z+1.0d0)
! print *,i,theta,theta1,fun,funp
r3=k3*cHMR1
r4=k4*cHMR2
if (abs(theta1-theta).lt.1.0d-5) then ! converged
r5=k5*sqrt(K9)*cMAT*sqrt(pH2)*theta**(z+1.0d0)
theta=theta1
goto 20
ds(1)=(-r1-r3)*rhoB ! cHMR1
end if
ds(2)=(-r2-r4)*rhoB ! cHMR2
theta=theta1
ds(3)=(r1+r2-r5)*rhoB ! cMAT
if (i.gt.999) then
ds(4)= r3*rhoB ! cP1
print *,'max iterations reached 1000 ',theta,theta1
ds(5)= r4*rhoB ! cP2
stop
ds(6)= r5*rhoB ! cB
end if
end do ! iterate again
Estimation results
2 10
0
-4
x 10 2
10
5
3
60
40
4
20
5
x 10 4
10
5
5
0.1
0.08
0.06
6
0.04
0.02
20
15
7
10
500 1000150020002500 0 5 10 15 0 5 10 20 40 60 2 4 6 8 10 0.020.040.060.08 0.1
-4 -4 5
x 10 x 10 x 10
Did we find the optimal parameter
value ?
-4 Parameter 3: 3
x 10 Parameter 1: 1
8 Parameter 2: 2 3000
2500
7
2500
2000
6
2000
5 1500
4 1500
1000
3
1000
500
2
500
1
0
-2 0 2 4 6 8 10 12 14 16 18
-4 0
0 x 10 -2 0 2 4 6 8 10 12
0 500 1000 1500 2000 2500 3000 -4
x 10
Parameter 6: 6
Parameter 4: 4 -6
x 10 Parameter 5: 5 70
0.035 3
60
0.03
2.5
50
0.025
2
0.02 40
1.5
0.015 30
0.01 1 20
0.005 10
0.5
0 0
0 10 20 30 40 50 60 70 80 0 0.02 0.04 0.06 0.08 0.1 0.12
0
1 2 3 4 5 6 7 8 9 10 11
5
x 10
Fit of model to experimental data
-3
x 10 data set 5
-3 -3
x 10 data set 1 x 10 data set 2 3.5
4 4
3
3 3 2.5
2
2 2
1.5
1 1 1
0.5
0 0
0 20 40 60 0 20 40 60
0
0 5 10 15 20 25 30
-3 -3
x 10 data set 3 x 10 data set 4
4 4
-3
x 10 data set 6
3 3 4
3.5
2 2
3
1 1 2.5
2
0 0 1.5
0 100 200 300 0 100 200 300
1
0.5
0
0 20 40 60 80 100 120