Changeset 859
- Timestamp:
- Oct 9, 2009, 5:15:53 PM (13 years ago)
- Location:
- trunk/sample
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sample/processes/Sample_Process.mso
r853 r859 126 126 127 127 Reac.str(z).T = Reac.Inlet.T; 128 Reac.str(z).z(1:NComp -1) = Reac.Inlet.z(1:NComp-1);128 Reac.str(z).z(1:NComp) = Reac.Inlet.z(1:NComp); 129 129 130 130 end -
trunk/sample/reactors/sample_pfr.mso
r634 r859 39 39 PARAMETERS 40 40 41 PP as Plugin (Brief="Physical Properties", 41 42 43 PP as Plugin (Brief="Physical Properties", 44 42 45 Type = "PP", 43 Components = ["acetone", "acetic anhydride", "methane" ], 46 47 Components = ["acetone", "ketene", "methane" ], 48 44 49 LiquidModel = "PR", 50 45 51 VapourModel = "PR" 52 46 53 ); 54 47 55 NComp as Integer; 56 57 SET 58 59 NComp = PP.NumberOfComponents; 60 61 48 62 49 63 DEVICES 50 64 51 65 s1 as source; 52 Reac as pfr; 66 67 Reac as pfr; 68 69 70 71 CONNECTIONS 72 73 s1.Outlet to Reac.Inlet; 74 75 53 76 54 77 SET 55 NComp = PP.NumberOfComponents; 56 57 Reac.NDisc = 10; 58 Reac.Across = 0.7 * 'in^2'; 59 Reac.L = 2.28 * 'm'; 78 79 Reac.NDisc = 15; 80 81 Reac.L = 2.28 * 'm'; 82 83 # Area was chosen to match the original example data 84 85 Reac.Across = 1.27*'m^3'/Reac.L; 86 87 88 89 # Only one reaction 90 60 91 Reac.NReac = 1; 61 92 62 # Reaction 1: A -> B + C 93 # Reaction 1: acetone -> ketene + methane 94 63 95 Reac.stoic(:,1) = [-1, 1, 1]; 96 97 98 99 SPECIFY 100 101 # Feed specification 102 103 s1.Fw = 8000 * 'kg/h'; 104 105 s1.T = 1035 * 'K'; 106 107 s1.P = 1.6 * 'atm'; 108 109 s1.Composition = [0.98, 0.01, 0.01]; 110 111 112 113 # Adiabatic 114 115 Reac.q = 0 * 'J/s'; 116 64 117 118 65 119 EQUATIONS 66 120 67 for z in [1:Reac.NDisc] 121 122 123 for z in [1:Reac.NDisc] 124 68 125 126 69 127 "Reaction Rate = k*C(1)" 128 70 129 Reac.r(1,z) = exp(34.34 - (34222 * 'K') / Reac.str(z).T)*'1/s' * Reac.C(1,z); 71 130 131 132 72 133 "Heat of reaction" 134 73 135 Reac.Hr(1,z) = -80.77 * 'kJ/mol'; 74 136 137 138 75 139 "Pressure Drop (no pressure drop)" 140 76 141 Reac.str(z+1).P = Reac.str(z).P; 142 143 77 144 78 145 end 79 146 80 SPECIFY81 s1.F = 138/1000 * 'kmol/h';82 s1.T = 1035 * 'K';83 s1.P = 1.6 * 'atm';84 s1.Composition = [1, 0, 0];85 147 86 "Adiabatic"87 Reac.q = 0 * 'J/s';88 89 CONNECTIONS90 148 91 s1.Outlet to Reac.Inlet;92 93 149 INITIAL 94 150 95 for z in [2:Reac.NDisc+1] 96 151 152 153 for z in [2:Reac.NDisc+1] 154 97 155 Reac.str(z).T = Reac.Inlet.T; 98 Reac.str(z).z(1:NComp-1) = Reac.Inlet.z(1:NComp-1); 156 157 Reac.str(z).z(1:NComp) = Reac.Inlet.z(1:NComp); 99 158 100 159 end 160 101 161 162 102 163 OPTIONS 103 # This model can be solved in both steady or dynamic 164 104 165 Dynamic = true; 166 105 167 TimeStep = 0.05; 106 TimeEnd = 3; 107 #Dynamic = false; 108 #DAESolver = "dassl"; 168 169 TimeEnd = 10; 170 171 GuessFile = "PFR_AceticAnhydride"; 172 173 Dynamic = false; # Requires a GuessFile from a dynamic simulation 109 174 end
Note: See TracChangeset
for help on using the changeset viewer.