[234] | 1 | #*-------------------------------------------------------------------- |
---|
| 2 | * EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC. |
---|
| 3 | * |
---|
| 4 | * This LIBRARY is free software; you can distribute it and/or modify |
---|
| 5 | * it under the therms of the ALSOC FREE LICENSE as available at |
---|
| 6 | * http://www.enq.ufrgs.br/alsoc. |
---|
| 7 | * |
---|
| 8 | * EMSO Copyright (C) 2004 - 2007 ALSOC, original code |
---|
| 9 | * from http://www.rps.eng.br Copyright (C) 2002-2004. |
---|
| 10 | * All rights reserved. |
---|
| 11 | * |
---|
| 12 | * EMSO is distributed under the therms of the ALSOC LICENSE as |
---|
| 13 | * available at http://www.enq.ufrgs.br/alsoc. |
---|
| 14 | * |
---|
| 15 | *---------------------------------------------------------------------- |
---|
| 16 | * Ammonia oxidation in a PFR |
---|
| 17 | *---------------------------------------------------------------------- |
---|
| 18 | * Solved problem from Fogler (1999) |
---|
| 19 | * Problem number: 6-8 |
---|
| 20 | * Page: 279 (Brazilian edition, 2002) |
---|
| 21 | *---------------------------------------------------------------------- |
---|
| 22 | * |
---|
| 23 | * Description: |
---|
| 24 | * In a PFR is occuring this simultaneous reaction catalyzed by |
---|
| 25 | * metal oxide in gas phase: |
---|
| 26 | * 1: 4NH3 + 5O2 -> 4NO + 6H2O |
---|
| 27 | * 2: 2NH3 + 1.5O2 -> N2 + 3H2O |
---|
| 28 | * 3: 2NO + O2 -> 2NO2 |
---|
| 29 | * 4: 4NH3 + 6NO -> 5N2 + 6H2O |
---|
| 30 | * The rates of reaction to one specific component are known. |
---|
| 31 | * They are: r1A, r2A, r3B and r4C. |
---|
| 32 | * The concentration are calculed as function of position in the |
---|
| 33 | * reactor. |
---|
| 34 | * |
---|
| 35 | * Assumptions: |
---|
| 36 | * * change time in reactor volume |
---|
| 37 | * * steady-state |
---|
| 38 | * * isotermic and isobaric system |
---|
| 39 | * * gaseous phase |
---|
| 40 | * |
---|
| 41 | * Specify: |
---|
| 42 | * * the inlet stream |
---|
| 43 | * * the kinetic parameters |
---|
| 44 | * |
---|
| 45 | *---------------------------------------------------------------------- |
---|
| 46 | * Author: Christiano D. W. Guerra and Rodolfo Rodrigues |
---|
| 47 | * $Id$ |
---|
| 48 | *--------------------------------------------------------------------*# |
---|
| 49 | |
---|
| 50 | using "types"; |
---|
| 51 | |
---|
| 52 | |
---|
| 53 | #*--------------------------------------------------------------------- |
---|
| 54 | * Example 6-8: in a PFR |
---|
| 55 | *--------------------------------------------------------------------*# |
---|
| 56 | |
---|
| 57 | FlowSheet pfr |
---|
| 58 | PARAMETERS |
---|
| 59 | NComp as Integer (Brief="Number of components"); |
---|
| 60 | NReac as Integer (Brief="Number of reactions"); |
---|
| 61 | stoic(NComp,NReac) as Real (Brief="Stoichiometric coefficients"); |
---|
| 62 | k(NReac) as Real (Brief="Specific velocity reaction"); |
---|
| 63 | Co(NComp) as conc_mol (Brief="Input molar concentration"); |
---|
| 64 | vo as flow_vol (Brief="Input volumetric flow"); |
---|
| 65 | |
---|
| 66 | VARIABLES |
---|
| 67 | F(NComp) as flow_mol (Brief="Molar flow", DisplayUnit='mol/min'); |
---|
| 68 | Fo(NComp) as flow_mol (Brief="Input molar flow", DisplayUnit='mol/min'); |
---|
| 69 | C(NComp) as conc_mol (Brief="Molar concentration", DisplayUnit='mol/l'); |
---|
| 70 | r(NComp,NReac)as reaction_mol(Brief="Relative rate of reaction", DisplayUnit='mol/min/l'); |
---|
| 71 | rate(NComp) as reaction_mol (Brief="Overall rate of reaction", DisplayUnit='mol/min/l'); |
---|
| 72 | V as volume (Brief="Reactor volume", DisplayUnit='l'); |
---|
| 73 | |
---|
| 74 | EQUATIONS |
---|
| 75 | "Change time in V" |
---|
| 76 | V = time*'l/s'; |
---|
| 77 | |
---|
| 78 | "Material balance" |
---|
| 79 | diff(F) = rate*'l/s'; |
---|
| 80 | |
---|
| 81 | "Molar concentration" |
---|
| 82 | C*sum(F) = F*sum(Co); |
---|
| 83 | |
---|
| 84 | "Input molar flow" |
---|
| 85 | Fo = Co*vo; |
---|
| 86 | |
---|
| 87 | "Relative rate of reaction 1" |
---|
| 88 | r(:,1) = stoic(:,1)*(k(1)*C(1)*C(2)^2)*'(m^3/kmol)^2/min'; |
---|
| 89 | |
---|
| 90 | "Relative rate of reaction 2" |
---|
| 91 | r(:,2) = stoic(:,2)*(k(2)*C(1)*C(2))*'m^3/kmol/min'; |
---|
| 92 | |
---|
| 93 | "Relative rate of reaction 3" |
---|
| 94 | r(:,3) = stoic(:,3)*(k(3)*C(2)*C(3)^2)*'(m^3/kmol)^2/min'; |
---|
| 95 | |
---|
| 96 | "Relative rate of reaction 4" |
---|
| 97 | r(:,4) = stoic(:,4)*(k(4)*C(3)*C(1)^(2/3))*'(m^3/kmol)^(2/3)/min'; |
---|
| 98 | |
---|
| 99 | "Overall rate of reaction" |
---|
| 100 | rate = sumt(r); |
---|
| 101 | |
---|
| 102 | SET |
---|
| 103 | NComp = 6; # 1:ammonia, 2:oxygen, 3:nitrogen oxide, |
---|
| 104 | # 4:water, 5:nitrogen and 6:nitrogen dioxide |
---|
| 105 | |
---|
| 106 | NReac = 4; # 1: 4A + 5B -> 4C + 6D, 2: 4A + 3B -> 2E + 6D |
---|
| 107 | # 3: 2C + B -> 2F, 4: 4A + 6C -> 5E + 6D |
---|
| 108 | |
---|
| 109 | stoic(:,1) = [ -1, -5/4, 1.0, 3/2, 0.0, 0.0]; # A + 5/4B -> C + 3/2D |
---|
| 110 | stoic(:,2) = [ -1, -3/4, 0.0, 3/2, 1/2, 0.0]; # A + 3/4B -> 1/2E + 3/2D |
---|
| 111 | stoic(:,3) = [ 0, -1.0, -2.0, 0.0, 0.0, 2.0]; # B + 2C -> 2F |
---|
| 112 | stoic(:,4) = [-2/3, 0.0, -1.0, 1.0, 5/6, 0.0]; # C + 2/3A -> 5/6E + D |
---|
| 113 | |
---|
| 114 | k = [5, 2, 10, 5]; |
---|
| 115 | |
---|
| 116 | vo = 10*'l/min'; |
---|
| 117 | Co = [1.0, 1.0, 0.0, 0.0, 0.0, 0.0]*'mol/l'; |
---|
| 118 | |
---|
| 119 | INITIAL |
---|
| 120 | "Molar flow" |
---|
| 121 | F = Fo; |
---|
| 122 | |
---|
| 123 | OPTIONS |
---|
| 124 | TimeStep = 0.1; |
---|
| 125 | TimeEnd = 10; |
---|
| 126 | end |
---|