You are on page 1of 1

import numpy as np

from scipy.integrate import odeint


import matplotlib.pyplot as plt

# function that returns dz/dt


def model(z,t):
f=1
Cpa=1
Kho=900000
ko=10
ER=8330000
deltaH=-130000000
V=250
ca0=2
cb0=6
cc0 =20
T0=550
Tc=331
Fc=15
Cpc=15
rhoc=1000000
a=167800
b=0.5
dxdt = (f/V)*ca0-(f/V)*z[0]-ko*(np.exp(-ER/z[1]))*z[0]
dydt = (f/V)*cb0-3*(f/V)*z[1]-ko*(np.exp(-ER/z[1]))*z[0]
dwdt = (f/V)*cc0+2*(f/V)*z[2]-ko*(np.exp(-ER/z[1]))*z[0]

dzdt=[dxdt,dydt,dwdt]
return dzdt

# initial condition
z0 = [5,10,0]

# time points
t = np.linspace(0,100)

# solve ODE
z = odeint(model,z0,t)

# plot results
plt.plot(t,z[:,0],'g-',label=r'Ca')
plt.plot(t,z[:,1],'b-',label=r'Cb')
plt.plot(t,z[:,2],'r-',label=r'Cc')
plt.ylabel('Concentrations')
plt.xlabel('Time')
plt.legend(loc='best')
plt.show()

You might also like