source: branches/new_gui/my_folders/fogler/chap8/acetic_anhydride.mso @ 896

Last change on this file since 896 was 896, checked in by gerson bicca, 14 years ago

added special folder for unconventional applications

File size: 5.8 KB
Line 
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* Production of acetic anhydride
17*----------------------------------------------------------------------
18* Solved problem from Fogler (1999)
19* Problem number: 8-7
20* Page: 421 (Brazilian version, 2002)
21*----------------------------------------------------------------------
22*
23*   Description:
24*               The acetic anhydride is produced for thermal craking of the
25*       acetone in a PFR:
26*                       CH3COCH3 -> CH2CO + CH4
27*               This sample calculates the molar conversion and temperature
28*       as function of the length in the tubular reactor. In the case I
29*       the operation is adiabatic and in the case II the reactor is
30*       jacketed.
31*
32*   Assumptions
33*               * first-order reaction with respect to acetone
34*               * steady-state
35*       * gaseous phase
36*
37*       Specify:
38*               * the inlet stream
39*               * the kinetic parameters
40*               * the parameters of components
41*
42*----------------------------------------------------------------------
43* Author: Christiano D. W. Guerra and Rodolfo Rodrigues
44* $Id: acetic_anhydride.mso 574 2008-07-25 14:18:50Z rafael $
45*--------------------------------------------------------------------*#
46
47using "types";
48
49
50#*---------------------------------------------------------------------
51* Model of the thermal craking of acetone
52*--------------------------------------------------------------------*#
53
54Model thermal_cracking
55        PARAMETERS
56        NComp           as Integer              (Brief="Number of components", Lower=1);
57        stoic(NComp)as Real                     (Brief="Stoichiometric number");
58        Pao             as pressure     (Brief="Input pressure of A");
59        Tr                      as temperature  (Brief="Reference temperature");
60        To                      as temperature  (Brief="Inlet temperature");
61        Ta                      as temperature  (Brief="Internal temperature");
62        Hr(NComp)       as enth_mol             (Brief="Enthalpy of component");
63        R                       as Real                 (Brief="Universal gas constant", Unit='kPa*m^3/kmol/K', Default=8.314);
64        U                       as Real                 (Brief="Heat transfer coefficient", Unit='J/m^2/K/s');
65        a                       as Real                 (Brief="Heat transfer area per volume of tube", Unit='1/m');
66        alpha(NComp)as cp_mol           (Brief="Alpha term of Cp expression");
67        beta(NComp)     as Real                 (Brief="Beta term of Cp expression", Unit='J/mol/K^2');
68        gamma(NComp)as Real                     (Brief="Gamma term of Cp expression", Unit='J/mol/K^3');
69       
70        VARIABLES
71        Ca                      as conc_mol     (Brief="Molar concentration of A", DisplayUnit='kmol/m^3');
72        Cao             as conc_mol     (Brief="Inlet molar concentration of A", DisplayUnit='mol/m^3');
73        Fao             as flow_mol     (Brief="Inlet molar flow of A");
74        vo                      as flow_vol     (Brief="Volumetric flow", DisplayUnit='m^3/s');
75        r                       as reaction_mol (Brief="Rate of reaction", DisplayUnit='kmol/m^3/s');
76        k                       as Real                 (Brief="Specific rate of reaction", Unit='1/s');
77        T                       as temperature  (Brief="Temperature of reactor");
78        X                       as fraction     (Brief="Molar conversion");
79        V                       as volume               (Brief="Volume");
80        eps                     as Real                 (Brief="Parameter epsilon");
81        Cp(NComp)       as cp_mol               (Brief="Molar heat capacity", DisplayUnit='J/mol/K');
82        DHr                     as enth_mol             (Brief="Enthalpy of reaction", DisplayUnit='kJ/mol');   
83       
84        EQUATIONS
85        "Change time in V"
86        V = time*'m^3/s';
87       
88        "Molar balance"
89        diff(X) = (-r)/Fao*'m^3/s';
90       
91        "Rate of reaction"
92        r = -k*Ca;
93       
94        "Specific rate of reaction"
95        k = exp(34.34)*exp(-34222*'K'/T)*'1/s';
96       
97        "Concentration of component A"
98        Ca = Cao*(1 - X)/(1 + eps*X)*To/T;
99       
100        "Parameter epsilon"
101        eps = sum(stoic); # yAo = 1
102       
103        "Inlet molar concentration of A"
104        Cao = Pao/(R*To);
105       
106        "Volumetric flow"
107        Fao = Cao*vo;
108       
109        "Energy balance"
110        diff(T)*(Fao*(Cp(1) + X*sumt(stoic*Cp))) = (U*a*(Ta - T) + (-r)*(-DHr))*'m^3/s';
111
112        "Enthalpy of reaction"
113        DHr = sumt(stoic*Hr) + sumt(stoic*alpha)*(T - Tr) + sumt(stoic*beta)/2*(T^2 - Tr^2)
114                +  sumt(stoic*gamma)/3*(T^3 - Tr^3);
115       
116        "Molar heat capacity"
117        Cp  = alpha + beta*T + gamma*T^2;
118end
119
120
121#*---------------------------------------------------------------------
122* Case I: In an adiabatic PFR
123*--------------------------------------------------------------------*#
124
125FlowSheet adiabatic_reactor
126        DEVICES
127        R as thermal_cracking;
128       
129        SET
130        R.NComp = 3; # A: acetone, B: ketene and C: methane
131        R.stoic = [-1.0, 1.0, 1.0]; # A -> B + C
132       
133        R.Pao = 162*'kPa';
134       
135        R.alpha = [26.63,  20.04, 13.39]*'J/mol/K';
136        R.beta  = [0.183, 0.0945, 0.077]*'J/mol/K^2';
137        R.gamma = [-45.86e-6, -30.95e-6, -18.71e-6]*'J/mol/K^3';
138       
139        R.Hr = [-216.67, -61.09, -74.81]*'kJ/mol';
140        R.Tr = 298*'K';
141        R.To = 1035*'K';
142        R.Ta = 1150*'K';
143        R.U  = 0.0*'J/m^2/K/s';
144        R.a  = 150*'1/m';
145       
146        SPECIFY
147        R.Fao = (8000/58)*'kmol/h';
148       
149        INITIAL
150        "Molar conversion"
151        R.X = 0.0;
152        "Temperature"
153        R.T = 1035*'K';
154       
155        OPTIONS
156        TimeStep = 0.05;
157        TimeEnd = 5;
158        TimeUnit = 's';
159end
160
161
162#*---------------------------------------------------------------------
163* Case II: In an jacketed PFR
164*--------------------------------------------------------------------*#
165
166FlowSheet jacketed_reactor
167        DEVICES
168        R as thermal_cracking;
169       
170        SET
171        R.NComp = 3; # A: acetone, B: ketene and C: methane
172        R.stoic = [-1.0, 1.0, 1.0]; # A -> B + C
173       
174        R.Pao = 162*'kPa';
175       
176        R.alpha = [26.63,  20.04, 13.39]*'J/mol/K';
177        R.beta  = [0.183, 0.0945, 0.077]*'J/mol/K^2';
178        R.gamma = [-45.86e-6, -30.95e-6, -18.71e-6]*'J/mol/K^3';
179       
180        R.Hr = [-216.67, -61.09, -74.81]*'kJ/mol';
181        R.Tr = 298*'K';
182        R.To = 1035*'K';
183        R.Ta = 1150*'K';
184        R.U  = 110*'J/m^2/K/s';
185        R.a  = 150*'1/m';
186       
187        SPECIFY
188        R.Fao = (18.8*2e-3)*'mol/s';
189       
190        INITIAL
191        "Molar conversion"
192        R.X = 0.0;
193        "Temperature"
194        R.T = 1035*'K';
195       
196        OPTIONS
197        TimeStep = 1e-5;
198        TimeEnd = 1e-3;
199        TimeUnit = 's';
200end
Note: See TracBrowser for help on using the repository browser.