35
Chemical Engineering Applications in Scilab Prashant Dave Indian Institute of Technology Bombay (IIT Bombay)

Chemical Engineering Applications Scilab

  • Upload
    zeolium

  • View
    319

  • Download
    14

Embed Size (px)

DESCRIPTION

Interesting

Citation preview

Page 1: Chemical Engineering Applications Scilab

Chemical Engineering Applicationsin Scilab

Prashant DaveIndian Institute of Technology Bombay

(IIT Bombay)

Page 2: Chemical Engineering Applications Scilab

Introduction

In Chemical Engineering the type of problems thatoccur are

• Modeling and Simulation

• Parameter Estimation

• Determination of State variable (Steady State andnon Steady State)

• Variation of Parameters

2 / 35

Page 3: Chemical Engineering Applications Scilab

Example: Flash DrumRef.:Patwardhan,S., Lecture notesA three component mixture is fed to the Flash Drum It isoperated at constant pressure and temperature

Fzi

Vyi

Lxi

Flash Drum

3 / 35

Page 4: Chemical Engineering Applications Scilab

Contd.We have following Equations

1. Equilibrium Relations

yi = kixi(i = 1, 2, 3)

2. Overall Mass Balance

F = L + V

3. Component Balance

Fzi = Lxi + Vyi = Lxi + Vkixi

4. ∑xi = 1

4 / 35

Page 5: Chemical Engineering Applications Scilab

Contd.

• Set of Non-linear Algebraic Equations

• We have 5 equations and 5 unknown

• Can be written as

f1(x1, x2, x3, L,V) = 0

f2(x1, x2, x3, L,V) = 0

f3(x1, x2, x3, L,V) = 0

f4(x1, x2, x3, L,V) = 0

f5(x1, x2, x3, L,V) = 0

orF(x) = 0

5 / 35

Page 6: Chemical Engineering Applications Scilab

Example: CSTR in SeriesRef.: Luyben,1990Consider 3 CSTRs connected in series

Tank 1 Tank 2 Tank 3

Three CSTRs in Series (Open Loop)

CA0 CA1CA2 CA3

By Mass Balance

dCA1/dt = 1/τ (CA0 − CA1)− kCA1

dCA2/dt = 1/τ (CA1 − CA2)− kCA2

dCA3/dt = 1/τ (CA2 − CA3)− kCA3

Hereτ = ν/V

6 / 35

Page 7: Chemical Engineering Applications Scilab

Contd.

• Set of differential equations

• To be solved simultaneously

• Scilab can be used

7 / 35

Page 8: Chemical Engineering Applications Scilab

Problem 1: Determination of specific reaction rateRef:Fogler,2004, Example4.1

• Parameter Estimation Problem• Experiment was conducted in batch reactor• Equation for the reaction is

A + B→ C

Batch Reactor (Ref. : Fogler)

8 / 35

Page 9: Chemical Engineering Applications Scilab

Assumptions and Approximations

• Assumptions

1. Isothermal Conditions2. Zero order reaction3. Well mixed4. All reactants enters at the same time

• Approximation

1. Reactant B is in excess so its concentration doesnot change

9 / 35

Page 10: Chemical Engineering Applications Scilab

Mathematical FormulationThe reaction rate

rA = f(T,CA)

reaction rate is given by

−rA = −dCA/dt = kACA

CA∫CA0

dCA/CA = −kA

t∫0

dt

we getlog(CA/CA0) = −kAt

and Substituting

CA = CA0 − Cc

log((CA0 − Cc)/(CA0)) = −kAt10 / 35

Page 11: Chemical Engineering Applications Scilab

Data AnalysisData has been given

1. t2. CA03. Cc

11 / 35

Page 12: Chemical Engineering Applications Scilab

• SlopekA = −0.314min−1

• Data is Exact

• Effect of noise on experimental data

12 / 35

Page 13: Chemical Engineering Applications Scilab

Effect of Noise• Add noise to the data (using random numbers)• Calculate slope using First and Last data point

• Apply Least Square Fit Analysis (Use reglincommand in Scilab)

• Calculate slope using Points calculated by L.S. Fit• Which slope is closer to the slope of original data ?

13 / 35

Page 14: Chemical Engineering Applications Scilab

Effect of Noise• Add noise to the data (using random numbers)• Calculate slope using First and Last data point

• Apply Least Square Fit Analysis (Use reglincommand in Scilab)

• Calculate slope using Points calculated by L.S. Fit• Which slope is closer to the slope of original data ?

14 / 35

Page 15: Chemical Engineering Applications Scilab

Effect of Noise• Add noise to the data (using random numbers)• Calculate slope using First and Last data point

• Apply Least Square Fit Analysis (Use reglincommand in Scilab)

• Calculate slope using Points calculated by L.S. Fit

• Which slope is closer to the slope of original data ?

15 / 35

Page 16: Chemical Engineering Applications Scilab

Effect of Noise• Add noise to the data (using random numbers)• Calculate slope using First and Last data point

• Apply Least Square Fit Analysis (Use reglincommand in Scilab)

• Calculate slope using Points calculated by L.S. Fit• Which slope is closer to the slope of original data ? 16 / 35

Page 17: Chemical Engineering Applications Scilab

Problem 2: Sizing Plug-Flow Reactors(PFRs) in

Series

Ref:Fogler,2004, Example2.6

• Variation of Parameter

• Two PFRs are connected in series

Plug Flow Reactors in Series (Ref.:Fogler, 2004)

V1 V2

XA = 0 XA = 0.4 XA = 0.8

FA0 FA0 FA0

• Total volume required for the given conversion

17 / 35

Page 18: Chemical Engineering Applications Scilab

Mathematical FormulationMass balance over elemental volume dV of the reactor

−rAdV = FA0dXA

Rearranging and integratingV∫

0

dV/FA0 = −XA2∫

XA1

dXA/rA

V = FA0

XA1∫XA2

dXA/rA

There are two PFR’s in series so

V1 = FA0

XA1∫0

dXA/rA

18 / 35

Page 19: Chemical Engineering Applications Scilab

Contd..and

V2 = FA0

XA2∫XA1

dXA/rA

Total VolumeV = V1 + V2

19 / 35

Page 20: Chemical Engineering Applications Scilab

Role of Scilab

• Need to integrate the above Equations

• Create a function file to integrate above equations

• Use help ”inttrap” command in Scilab forintegration

The results areV1 = 72.26dm3

V2 = 154.67dm3

andV = 226.93dm3

20 / 35

Page 21: Chemical Engineering Applications Scilab

Role of Scilab

• Need to integrate the above Equations

• Create a function file to integrate above equations

• Use help ”inttrap” command in Scilab forintegration

The results areV1 = 72.26dm3

V2 = 154.67dm3

andV = 226.93dm3

21 / 35

Page 22: Chemical Engineering Applications Scilab

Problem 3: Air flow trough a straight pipe

Ref:McCabe, Smith, 1993, Example6.2Data given

• Entering air pressure, temperature and velocity

• Pipe diameter and length Assumptions

• Flow is isothermal

• Pressure at the discharge end is to be found

22 / 35

Page 23: Chemical Engineering Applications Scilab

Mathematical formulation

By mechanical energy balance

dp/ρ = d(u2/2gc) + (u2/2gc)fdL/rH

ρdp = ρ2d(u2/2gc) + ρ2(u2/2gc)fdL/rH

Alsouρ = G

udu = −(G2ρ−3)dρ

andρ = Mp/RT

23 / 35

Page 24: Chemical Engineering Applications Scilab

Contd.On Substitution, we get

(M/RT)pdp− G2/(gc)dρ/ρ + G2fdL/(2gcrH)

Integrating between stations a and b

(M/2RT)(p2a − p2

b)− G2/(gc) ln ρa/ρb = G2f∆L/(2gcrH)

Usingpa/pb

in place ofρa/ρb

and rearranging

pb =√

p2a − (2RT/M)G2f∆L/(2gcrH) + G2/(gc) ln pa/pb

24 / 35

Page 25: Chemical Engineering Applications Scilab

Role of Scilab

• Still a complicated expression

• Non-linear Algebraic Equation

• Create a function file to solve the above equation

• Use help ”fsolve” to solve these equations

Result ispa = 1.22bar

25 / 35

Page 26: Chemical Engineering Applications Scilab

Role of Scilab

• Still a complicated expression

• Non-linear Algebraic Equation

• Create a function file to solve the above equation

• Use help ”fsolve” to solve these equationsResult is

pa = 1.22bar

26 / 35

Page 27: Chemical Engineering Applications Scilab

Problem 4 : Continuous Stirrer Tank Reactors

(CSTR) in Series (Open Loop)

Ref:Luyben,1990, Example5.2

• 3 CSTRs are connected in series

Tank 1 Tank 2 Tank 3

Three CSTRs in Series (Open Loop)

CA0 CA1CA2 CA3

• Step change of 0.8 is applied at t = 0 to Tank 1

• Find out concentration profile in Tank 3

27 / 35

Page 28: Chemical Engineering Applications Scilab

Mathematical Formulation

• Determination of State variable

• Making a Mass Balance over each tank, we get

dCA1/dt = 1/τ (CA0 − CA1)− kCA1

dCA2/dt = 1/τ (CA1 − CA2)− kCA2

dCA3/dt = 1/τ (CA2 − CA3)− kCA3

Hereτ = ν/V

28 / 35

Page 29: Chemical Engineering Applications Scilab

Role of Scilab

• Use ”ode” to solve set of differential equations

• Create a function file to solve the set of differentialequations

29 / 35

Page 30: Chemical Engineering Applications Scilab

Problem 4(Extension): Continuous Stirrer Tank

Reactors (CSTR) in Series (Closed Loop)Ref:Luyben,1990, Example5.2

• PI controller is added

+

Tank 1 Tank 2 Tank 3

FeedBack

controllerE = Error

Closed Loop three-CSTR process (Ref.: Luyben)

CsetA3

CADCA0 CA1

CA2 CA3

CAM

1

• Step change of 0.8 is applied at t = 0 to Tank 1

• Find out concentration profile in Tank 330 / 35

Page 31: Chemical Engineering Applications Scilab

mathematical Formulation

• From the previous problem, we have

dCA1/dt = 1/τ (CA0 − CA1)− kCA1

dCA2/dt = 1/τ (CA1 − CA2)− kCA2

dCA3/dt = 1/τ (CA2 − CA3)− kCA3

• We have two more equations in this system

CA0 = CAD + CAM

E = CsetA3 − CA3

CAM = 0.8 + Kc(E + 1/τI

∫E(t)dt)

31 / 35

Page 32: Chemical Engineering Applications Scilab

Role of Scilab• Use ”ode” to solve set of differential equations

• Create a function file to solve the set of differentialequations

32 / 35

Page 33: Chemical Engineering Applications Scilab

Concluding Remarks

• Numerical techniques are available

• Does not have the data base (properties of gases,etc.)

• Work required in this direction

• Still a powerful tool for numerical andmathematical calculation

33 / 35

Page 34: Chemical Engineering Applications Scilab

References

1. Patwardhan, S.,C., Lecture Notes forComputational Methods in Chemical Engineering

2. McCabe, L.,W., Smith, J.,C., Harriott, P., UnitOperations of Chemical Engineering, Fifth Edition,1993

3. Fogler, H.,S., Elements of Chemical ReactionEngineering, Third Edition, 2004,

4. Luyben, W., L., Process Modeling, Simulation, andControl for Chemical Engineers, Second Edition,1990

34 / 35

Page 35: Chemical Engineering Applications Scilab

Thank You.

35 / 35