Changeset 202
- Timestamp:
- Mar 14, 2007, 1:17:25 AM (15 years ago)
- Location:
- branches/newlanguage/sample
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/newlanguage/sample/mixers_splitters/sample_mixer.mso
r80 r202 28 28 29 29 PARAMETERS 30 PP as CalcObject(Brief="Physical Properties",File="vrpp");30 PP as Plugin(Brief="Physical Properties",File="vrpp"); 31 31 NComp as Integer; 32 32 Ninlet as Integer; 33 33 34 34 DEVICES 35 stream1 as s tream_therm;36 stream2 as s tream_therm;37 mixer as mixer;38 35 stream1 as source; 36 stream2 as source; 37 mixer1 as mixer; 38 39 39 40 40 SET … … 43 43 PP.VapourModel = "PR"; 44 44 NComp = PP.NumberOfComponents; 45 mixer .Ninlet = 2;45 mixer1.Ninlet = 2; 46 46 47 47 CONNECTIONS 48 stream1 to mixer .Inlet_mixer(1);49 stream2 to mixer .Inlet_mixer(2);48 stream1 to mixer1.Inlet_mixer(1); 49 stream2 to mixer1.Inlet_mixer(2); 50 50 51 51 SPECIFY 52 52 53 stream1.F = 20 * "kmol/h"; 54 stream1.P = 120 * "kPa"; 55 stream1.T = 400 * "K"; 56 stream1.z = [0.5, 0.1, 0.4]; 57 stream1.v = 1; 53 stream1.Outlet.F = 20 * 'kmol/h'; 54 stream1.Outlet.P = 120 * 'kPa'; 55 stream1.Outlet.T = 400 * 'K'; 56 stream1.Outlet.z = [0.5, 0.1, 0.4]; 58 57 59 58 60 stream2.F = 10 * "kmol/h"; 61 stream2.P = 120 * "kPa"; 62 stream2.T = 290 * "K"; 63 stream2.z = [0.5, 0.1, 0.4]; 64 stream2.v = 0.0; 59 stream2.Outlet.F = 10 * 'kmol/h'; 60 stream2.Outlet.P = 120 * 'kPa'; 61 stream2.Outlet.T = 290 * 'K'; 62 stream2.Outlet.z = [0.5, 0.1, 0.4]; 65 63 66 64 OPTIONS 67 mode = "steady"; 68 relativeAccuracy = 1e-6; 69 65 Dynamic = false; 66 RelativeAccuracy = 1e-6; 70 67 end 71 68 -
branches/newlanguage/sample/optimization/ammonia_opt.mso
r185 r202 27 27 28 28 abs(Q1) + abs(Q2) 29 #loose / "lbmol/h"30 # C102.Pot/ "kW"*18031 # + F101.Q/ "kW"/1029 #loose / 'lbmol/h' 30 # C102.Pot/'kW'*180 31 # + F101.Q/'kW'/10 32 32 ; 33 33 … … 38 38 EQUATIONS 39 39 #F102.OutletL.z(5) > 0.95; 40 loose < 1 * "lbmol/h";41 production > 90 * "lbmol/h";40 loose < 1 * 'lbmol/h'; 41 production > 90 * 'lbmol/h'; 42 42 43 43 OPTIONS -
branches/newlanguage/sample/reactors/fogler/chap3/equilibrium_conversion.mso
r188 r202 75 75 Inlet as stream; # Inlet stream 76 76 Outlet as stream; # Outlet stream 77 X as fraction (Brief="Molar conversion" , Lower=0);77 X as fraction (Brief="Molar conversion"); 78 78 Kc as Real (Brief="Equilibrium constant", Unit='mol/l'); 79 79 C as conc_mol (Brief="Total outlet concentration", DisplayUnit='mol/l', Lower=0); … … 139 139 Inlet as stream; # Inlet stream 140 140 Outlet as stream; # Outlet stream 141 X as fraction (Brief="Molar conversion" , Lower=0);141 X as fraction (Brief="Molar conversion"); 142 142 Kc as Real (Brief="Equilibrium constant", Unit='mol/l'); 143 143 C as conc_mol (Brief="Total outlet concentration", DisplayUnit='mol/l', Lower=0); -
branches/newlanguage/sample/reactors/fogler/chap3/oxidation_of_so2.mso
r188 r202 73 73 Inlet as stream; # Inlet stream 74 74 Outlet as stream; # Outlet stream 75 X as fraction (Brief="Molar conversion" , Lower=0);75 X as fraction (Brief="Molar conversion"); 76 76 r as reaction_mol (Brief="Rate of reaction of A", DisplayUnit='mol/l/s'); 77 77 T as temperature (Brief="Temperature"); -
branches/newlanguage/sample/reactors/fogler/chap4/semibatch_reactor.mso
r188 r202 60 60 k as Real (Brief="Specific rate of reaction", Unit='l/mol/s'); 61 61 V as volume (Brief="Volume", DisplayUnit='l'); 62 X as fraction (Brief="Molar conversion" , Lower=0);62 X as fraction (Brief="Molar conversion"); 63 63 64 64 EQUATIONS -
branches/newlanguage/sample/reactors/fogler/chap8/acetic_anhydride.mso
r188 r202 76 76 k as Real (Brief="Specific rate of reaction", Unit='1/s'); 77 77 T as temperature (Brief="Temperature of reactor"); 78 X as fraction (Brief="Molar conversion" , Lower=0);78 X as fraction (Brief="Molar conversion"); 79 79 V as volume (Brief="Volume"); 80 80 eps as Real (Brief="Parameter epsilon"); -
branches/newlanguage/sample/reactors/fogler/chap8/propylene_glycol.mso
r188 r202 145 145 VARIABLES 146 146 XMB as fraction (Brief="Molar conversion as Material balance"); 147 XEB as fraction(Brief="Molar conversion as Energy balance", Lower=-0.1, Upper=1.5);147 XEB as Real (Brief="Molar conversion as Energy balance", Lower=-0.1, Upper=1.5); 148 148 k as Real (Brief="Specific rate of reaction", Unit='1/h'); 149 149 T as temperature (Brief="Temperature", DisplayUnit='degR'); -
branches/newlanguage/sample/reactors/fogler/chap9/cstr_startup.mso
r188 r202 218 218 VARIABLES 219 219 I as Real (Brief="Integral action", Unit='degR*h'); 220 X as fraction (Brief="Fraction conversion" , Lower=0);220 X as fraction (Brief="Fraction conversion"); 221 221 222 222 EQUATIONS -
branches/newlanguage/sample/stage_separators/sample_batch_dist.mso
r86 r202 29 29 30 30 PARAMETERS 31 PP as CalcObject(Brief="Physical Properties",File="vrpp");31 PP as Plugin(Brief="Physical Properties",File="vrpp"); 32 32 NComp as Integer; 33 33 … … 40 40 DEVICES 41 41 batch as Diff_Dist; 42 reflux as stream _therm;43 feed as stream _therm;42 reflux as stream; 43 feed as stream; 44 44 45 45 CONNECTIONS … … 49 49 EQUATIONS 50 50 if batch.Level > 1E-3 then 51 batch.OutletV.F = 150 * "kmol/h";52 batch.Q = 3.7743e6 * "kJ/h";51 batch.OutletV.F = 150 * 'kmol/h'; 52 batch.Q = 3.7743e6 * 'kJ/h'; 53 53 else 54 batch.OutletV.F = 0 * "kmol/h";55 batch.Q = 0 * "kJ/h";54 batch.OutletV.F = 0 * 'kmol/h'; 55 batch.Q = 0 * 'kJ/h'; 56 56 end 57 57 58 58 SPECIFY 59 reflux.F = 0 * "kmol/h";60 reflux.T = 328 * "K";61 reflux.P = 180 * "kPa";59 reflux.F = 0 * 'kmol/h'; 60 reflux.T = 328 * 'K'; 61 reflux.P = 180 * 'kPa'; 62 62 reflux.z = [0.5, 0.5]; 63 63 reflux.v = 0; 64 reflux.h = 0 * 'kJ/kmol'; 64 65 65 feed.F = 0 * "kmol/h";66 feed.T = 328 * "K";67 feed.P = 180 * "kPa";66 feed.F = 0 * 'kmol/h'; 67 feed.T = 328 * 'K'; 68 feed.P = 180 * 'kPa'; 68 69 feed.z = [0.5, 0.5]; 69 70 feed.v = 0; 71 feed.h = 0 * 'kJ/kmol'; 70 72 71 73 SET 72 batch.V = 3 * "m^3";73 batch.Across = 1 * "m^2";74 batch.V = 3 * 'm^3'; 75 batch.Across = 1 * 'm^2'; 74 76 75 77 INITIAL 76 batch.T = 298 * "K";77 batch.Level = 2.5 * "m";78 batch.T = 298 *'K'; 79 batch.Level = 2.5 * 'm'; 78 80 batch.x(2) = 0.2; 79 81 80 82 OPTIONS 81 relativeAccuracy = 1e-3; 82 time = [0:0.1:20]*"min"; 83 RelativeAccuracy = 1e-3; 84 TimeEnd = 20; 85 TimeStep = 0.1; 86 TimeUnit = 'min'; 83 87 end -
branches/newlanguage/sample/stage_separators/sample_batch_dist_PID.mso
r86 r202 29 29 30 30 PARAMETERS 31 PP as CalcObject(Brief="Physical Properties",File="vrpp");31 PP as Plugin(Brief="Physical Properties",File="vrpp"); 32 32 NComp as Integer; 33 33 P_max as pressure(Brief="Maximum Pressure on distillator"); … … 46 46 DEVICES 47 47 batch as Diff_Dist; 48 reflux as stream _therm;49 feed as stream _therm;48 reflux as stream; 49 feed as stream; 50 50 pidP as PID_Ideal_AWBT; 51 51 … … 56 56 EQUATIONS 57 57 if batch.Level > 1E-3 then 58 batch.Q = 3.7743e6 * "kJ/h";58 batch.Q = 3.7743e6 * 'kJ/h'; 59 59 else 60 batch.Q = 0 * "kJ/h";60 batch.Q = 0 * 'kJ/h'; 61 61 end 62 62 63 63 "Pressure Controller" 64 pidP.Parameters.tau = 0* "s";65 pidP.Parameters.tauSet = 0* "s";64 pidP.Parameters.tau = 0*'s'; 65 pidP.Parameters.tauSet = 0*'s'; 66 66 pidP.Parameters.alpha = 0.3; 67 67 pidP.Parameters.bias = 0; … … 71 71 pidP.Options.clip = 1; 72 72 pidP.Options.autoMan = 0; 73 pidP.Parameters.intTime = 0.1* "min";73 pidP.Parameters.intTime = 0.1*'min'; 74 74 pidP.Parameters.gain = 1; 75 pidP.Parameters.derivTime = 0.02* "min";75 pidP.Parameters.derivTime = 0.02*'min'; 76 76 pidP.Ports.setPoint = (P_set-P_min)/(P_max-P_min); 77 77 pidP.Ports.input = P_ad; 78 78 P_ad = (batch.P-P_min)/(P_max-P_min); 79 batch.OutletV.F = 500 * "kmol/h"* pidP.Ports.output;79 batch.OutletV.F = 500 * 'kmol/h' * pidP.Ports.output; 80 80 81 81 SPECIFY 82 reflux.F = 0 * "kmol/h";83 reflux.T = 328 * "K";84 reflux.P = 180 * "kPa";82 reflux.F = 0 * 'kmol/h'; 83 reflux.T = 328 * 'K'; 84 reflux.P = 180 * 'kPa'; 85 85 reflux.z = [0.5, 0.5]; 86 86 reflux.v = 0; 87 reflux.h = 0 * 'kJ/kmol'; 87 88 88 feed.F = 0 * "kmol/h";89 feed.T = 328 * "K";90 feed.P = 180 * "kPa";89 feed.F = 0 * 'kmol/h'; 90 feed.T = 328 * 'K'; 91 feed.P = 180 * 'kPa'; 91 92 feed.z = [0.5, 0.5]; 92 93 feed.v = 0; 94 feed.h = 0 * 'kJ/kmol'; 93 95 94 P_set = 300 * "kPa";96 P_set = 300 * 'kPa'; 95 97 96 98 SET 97 batch.V = 3 * "m^3";98 batch.Across = 1 * "m^2";99 P_max = 500 * "kPa";100 P_min = 100 * "kPa";99 batch.V = 3 * 'm^3'; 100 batch.Across = 1 * 'm^2'; 101 P_max = 500 * 'kPa'; 102 P_min = 100 * 'kPa'; 101 103 102 104 INITIAL 103 batch.T = 298 * "K";104 batch.Level = 2.5 * "m";105 batch.T = 298 *'K'; 106 batch.Level = 2.5 * 'm'; 105 107 batch.x(2) = 0.2; 106 108 107 109 OPTIONS 108 relativeAccuracy = 1e-5; 109 110 time = [0:0.01:6]*"min"; 110 RelativeAccuracy = 1e-5; 111 TimeEnd = 6; 112 TimeStep = 0.01; 113 TimeUnit = 'min'; 111 114 end -
branches/newlanguage/sample/stage_separators/sample_columnReact.mso
r86 r202 28 28 FlowSheet Startup_ReactiveDistillation 29 29 PARAMETERS 30 PP as CalcObject(Brief="Physical Properties",File="vrpp");30 PP as Plugin(Brief="Physical Properties",File="vrpp"); 31 31 NComp as Integer; 32 32 … … 40 40 DEVICES 41 41 col as ReactiveDistillation; 42 feed as s treamTP;42 feed as source; 43 43 zero as stream; 44 44 PIDLreb as PID_Ideal_AW; … … 81 81 col.sp.frac = 0.1; 82 82 83 col.sp.Outlet1.F = 0.5 * PIDLcond.Ports.output * "mol/s";84 col.reb.OutletL.F = 1.736 * PIDLreb.Ports.output * "mol/s";85 86 PIDTreb.Ports.setPoint= (367 * "K"- Trebmin)/(Trebmax-Trebmin);87 PIDTcond.Ports.setPoint= (344 * "K"- Trebmin)/(Trebmax-Trebmin);88 col.cond.Q = 10* "J/s" - (5 * PIDTcond.Ports.output) * "kJ/s";83 col.sp.Outlet1.F = 0.5 * PIDLcond.Ports.output * 'mol/s'; 84 col.reb.OutletL.F = 1.736 * PIDLreb.Ports.output * 'mol/s'; 85 86 PIDTreb.Ports.setPoint= (367 * 'K' - Trebmin)/(Trebmax-Trebmin); 87 PIDTcond.Ports.setPoint= (344 * 'K' - Trebmin)/(Trebmax-Trebmin); 88 col.cond.Q = 10*'J/s' - (5 * PIDTcond.Ports.output) * 'kJ/s'; 89 89 90 90 #verificando a partida do refervedor 91 if time < 200 * "s"then91 if time < 200 * 's' then 92 92 col.reb.startup = 1; 93 93 else … … 96 96 97 97 if col.reb.startup then 98 col.reb.Q = 0 * PIDTreb.Ports.output * "kJ/s";98 col.reb.Q = 0 * PIDTreb.Ports.output * 'kJ/s'; 99 99 else 100 col.reb.Q = 1e1 * PIDTreb.Ports.output * "kJ/s";100 col.reb.Q = 1e1 * PIDTreb.Ports.output * 'kJ/s'; 101 101 end 102 102 103 103 "Reaction - Trays" 104 col.trays.r = exp(-7150* "K"/col.trays.OutletL.T)*105 (4.85e4*col.trays.C(1)*col.trays.C(2) - 1.23e4*col.trays.C(3)*col.trays.C(4))* "l/mol/s";104 col.trays.r = exp(-7150*'K'/col.trays.OutletL.T)* 105 (4.85e4*col.trays.C(1)*col.trays.C(2) - 1.23e4*col.trays.C(3)*col.trays.C(4))*'l/mol/s'; 106 106 "Reaction - Reboiler" 107 col.reb.r = exp(-7150* "K"/col.reb.OutletL.T)*(4.85e4*col.reb.C(1)*col.reb.C(2)108 - 1.23e4*col.reb.C(3)*col.reb.C(4)) * "l/mol/s";107 col.reb.r = exp(-7150*'K'/col.reb.OutletL.T)*(4.85e4*col.reb.C(1)*col.reb.C(2) 108 - 1.23e4*col.reb.C(3)*col.reb.C(4)) * 'l/mol/s'; 109 109 "Reaction - Condenser" 110 col.cond.r = exp(-7150* "K"/col.cond.OutletL.T)*(4.85e4*col.cond.C(1)*col.cond.C(2)111 - 1.23e4*col.cond.C(3)*col.cond.C(4)) * "l/mol/s";110 col.cond.r = exp(-7150*'K'/col.cond.OutletL.T)*(4.85e4*col.cond.C(1)*col.cond.C(2) 111 - 1.23e4*col.cond.C(3)*col.cond.C(4)) * 'l/mol/s'; 112 112 113 113 114 114 SPECIFY 115 feed. F = 1.076 * "mol/s";116 feed. T = 300 * "K";117 feed. P = 1.0 * "atm";118 feed. z = [0.4962, 0.4808, 0, 0.0229];119 120 zero.F = 0 * "kmol/h";121 zero.T = 353 * "K";122 zero.P = 1 * "atm";115 feed.Outlet.F = 1.076 * 'mol/s'; 116 feed.Outlet.T = 300 * 'K'; 117 feed.Outlet.P = 1.0 * 'atm'; 118 feed.Outlet.z = [0.4962, 0.4808, 0, 0.0229]; 119 120 zero.F = 0 * 'kmol/h'; 121 zero.T = 353 * 'K'; 122 zero.P = 1 * 'atm'; 123 123 zero.z = [0.4962, 0.4808, 0, 0.0229]; 124 124 zero.v = 0; 125 zero.h = 0 * "J/mol";126 127 col.p.dP = 0.95 * "atm"- col.sp.Outlet2.P;125 zero.h = 0 * 'J/mol'; 126 127 col.p.dP = 0.95 * 'atm' - col.sp.Outlet2.P; 128 128 col.trays.Emv = 1; 129 129 130 130 # Variáveis dos PID's especificadas 131 PIDLreb.Parameters.tau = 1* "s";132 PIDLreb.Parameters.tauSet=1* "s";131 PIDLreb.Parameters.tau = 1*'s'; 132 PIDLreb.Parameters.tauSet=1*'s'; 133 133 PIDLreb.Parameters.bias = 0; 134 134 PIDLreb.Parameters.alpha=1; … … 136 136 PIDLreb.Parameters.beta=1; 137 137 PIDLreb.Parameters.gain=1; 138 PIDLreb.Parameters.intTime=100* "s";139 PIDLreb.Parameters.derivTime=1* "s";138 PIDLreb.Parameters.intTime=100*'s'; 139 PIDLreb.Parameters.derivTime=1*'s'; 140 140 PIDLreb.Options.action=-1; 141 141 PIDLreb.Options.clip=1; 142 142 PIDLreb.Options.autoMan=0; 143 PIDLreb.Ports.setPoint=(0.5 * "m"- Lrebmin)/(Lrebmax-Lrebmin);144 145 PIDLcond.Parameters.tau = 1* "s";146 PIDLcond.Parameters.tauSet=1* "s";143 PIDLreb.Ports.setPoint=(0.5 * 'm' - Lrebmin)/(Lrebmax-Lrebmin); 144 145 PIDLcond.Parameters.tau = 1*'s'; 146 PIDLcond.Parameters.tauSet=1*'s'; 147 147 PIDLcond.Parameters.bias = 0; 148 148 PIDLcond.Parameters.alpha=1; … … 150 150 PIDLcond.Parameters.beta=1; 151 151 PIDLcond.Parameters.gain=1; 152 PIDLcond.Parameters.intTime=10* "s";153 PIDLcond.Parameters.derivTime=1* "s";152 PIDLcond.Parameters.intTime=10*'s'; 153 PIDLcond.Parameters.derivTime=1*'s'; 154 154 PIDLcond.Options.action=-1; 155 155 PIDLcond.Options.clip=1; 156 156 PIDLcond.Options.autoMan=0; 157 PIDLcond.Ports.setPoint=(0.5 * "m"- Lcondmin)/(Lcondmax-Lcondmin);158 159 PIDTreb.Parameters.tau = 1* "s";160 PIDTreb.Parameters.tauSet=1* "s";157 PIDLcond.Ports.setPoint=(0.5 * 'm' - Lcondmin)/(Lcondmax-Lcondmin); 158 159 PIDTreb.Parameters.tau = 1*'s'; 160 PIDTreb.Parameters.tauSet=1*'s'; 161 161 PIDTreb.Parameters.bias = 0.2; 162 162 PIDTreb.Parameters.alpha=0.2; … … 164 164 PIDTreb.Parameters.beta=1; 165 165 PIDTreb.Parameters.gain=0.9; 166 PIDTreb.Parameters.intTime=10* "s";167 PIDTreb.Parameters.derivTime=1* "s";166 PIDTreb.Parameters.intTime=10*'s'; 167 PIDTreb.Parameters.derivTime=1*'s'; 168 168 PIDTreb.Options.action=1; 169 169 PIDTreb.Options.clip=1; 170 170 PIDTreb.Options.autoMan=0; 171 171 172 PIDTcond.Parameters.tau = 1* "s";173 PIDTcond.Parameters.tauSet=1* "s";172 PIDTcond.Parameters.tau = 1*'s'; 173 PIDTcond.Parameters.tauSet=1*'s'; 174 174 PIDTcond.Parameters.bias = 0.2; 175 175 PIDTcond.Parameters.alpha=0.2; … … 177 177 PIDTcond.Parameters.beta=1; 178 178 PIDTcond.Parameters.gain=1; 179 PIDTcond.Parameters.intTime=10* "s";180 PIDTcond.Parameters.derivTime=1* "s";179 PIDTcond.Parameters.intTime=10*'s'; 180 PIDTcond.Parameters.derivTime=1*'s'; 181 181 PIDTcond.Options.action=-1; 182 182 PIDTcond.Options.clip=1; … … 184 184 185 185 "Valores limites para normalizações" 186 Lrebmax=0.8* "m";187 Lrebmin=0.1* "m";188 Lcondmax=0.8* "m";189 Lcondmin=0.1* "m";190 Trebmax=400* "K";191 Trebmin=200* "K";192 Tcondmax=380* "K";193 Tcondmin=250* "K";194 195 col.cond.OutletV.F = 0 * "kmol/h";186 Lrebmax=0.8*'m'; 187 Lrebmin=0.1*'m'; 188 Lcondmax=0.8*'m'; 189 Lcondmin=0.1*'m'; 190 Trebmax=400*'K'; 191 Trebmin=200*'K'; 192 Tcondmax=380*'K'; 193 Tcondmin=250*'K'; 194 195 col.cond.OutletV.F = 0 * 'kmol/h'; 196 196 197 197 SET … … 201 201 col.cond.stoic = [-1, -1, 1, 1]; 202 202 col.reb.stoic = [-1, -1, 1, 1]; 203 col.cond.V = 6 * "l";204 col.cond.Across = 6 * "l/m";205 206 col.trays.V = 0.0961 * "m^3"; # 0.34* (3.14*0.6*0.6/4)207 col.trays.Ah = 0.04 * "m^2";#0.2 * "m^2";208 col.trays.lw = 0.457 * "m";209 col.trays.hw = 0.05 * "m";210 col.trays.Q = 0 * "kW";203 col.cond.V = 6 * 'l'; 204 col.cond.Across = 6 * 'l/m'; 205 206 col.trays.V = 0.0961 * 'm^3'; # 0.34* (3.14*0.6*0.6/4) 207 col.trays.Ah = 0.04 * 'm^2';#0.2 * 'm^2'; 208 col.trays.lw = 0.457 * 'm'; 209 col.trays.hw = 0.05 * 'm'; 210 col.trays.Q = 0 * 'kW'; 211 211 col.trays.beta = 0.8; 212 212 col.trays.alfa = 5; 213 col.trays.Ap = 0.07 * "m^2"; #0.24 * "m^2"; # 3.14*0.6*0.6/4 - 15%214 215 col.trays.Hr = 0 * "kJ/mol";216 col.cond.Hr = 0 * "kJ/mol";217 col.reb.Hr = 0 * "kJ/mol";218 col.reb.V = 20 * "l";219 col.reb.Across = 20 * "l/m";220 221 col.reb.Pstartup = 1 * "atm";222 col.trays.Pstartup = 1 * "atm";223 col.cond.Pstartup = 1 * "atm";213 col.trays.Ap = 0.07 * 'm^2'; #0.24 * 'm^2'; # 3.14*0.6*0.6/4 - 15% 214 215 col.trays.Hr = 0 * 'kJ/mol'; 216 col.cond.Hr = 0 * 'kJ/mol'; 217 col.reb.Hr = 0 * 'kJ/mol'; 218 col.reb.V = 20 * 'l'; 219 col.reb.Across = 20 * 'l/m'; 220 221 col.reb.Pstartup = 1 * 'atm'; 222 col.trays.Pstartup = 1 * 'atm'; 223 col.cond.Pstartup = 1 * 'atm'; 224 224 225 225 INITIAL 226 226 # condenser 227 col.cond.OutletL.T = 300 * "K";228 col.cond.Level = 0.1 * "m";227 col.cond.OutletL.T = 300 *'K'; 228 col.cond.Level = 0.1 * 'm'; 229 229 col.cond.OutletL.z([1:3]) = [0.4962, 0.4808, 0]; 230 230 231 231 # reboiler 232 col.reb.OutletL.T = 300 * "K";233 col.reb.Level = 0.1 * "m";232 col.reb.OutletL.T = 300 *'K'; 233 col.reb.Level = 0.1 * 'm'; 234 234 col.reb.OutletL.z([1:3]) = [0.4962, 0.4808, 0]; 235 235 236 236 # column trays 237 col.trays.OutletL.T = 300 * "K";237 col.trays.OutletL.T = 300 * 'K'; 238 238 col.trays.Level = 0.1 * col.trays.hw; 239 239 col.trays.OutletL.z([1:3]) = [0.4962, 0.4808, 0]; … … 241 241 OPTIONS 242 242 DAESolver = "dassl"; 243 relativeAccuracy = 1e-2; 244 time = [0:200, 210:10:2000, 2100:100:20000]; 243 RelativeAccuracy = 1e-2; 244 TimeEnd = 20000; 245 TimeStep = 100; 246 TimeUnit = 's'; 247 # time = [0:200, 210:10:2000, 2100:100:20000]; 245 248 end -
branches/newlanguage/sample/stage_separators/sample_condenser.mso
r86 r202 29 29 FlowSheet condenser_Test 30 30 PARAMETERS 31 PP as CalcObject(Brief="Physical Properties",File="vrpp");31 PP as Plugin(Brief="Physical Properties",File="vrpp"); 32 32 NComp as Integer; 33 33 … … 44 44 c1 as condenser; 45 45 sp as splitter; 46 s1 as s tream_therm;46 s1 as source; 47 47 48 48 CONNECTIONS … … 52 52 53 53 SPECIFY 54 s1.P = 152 * "kPa"; 55 s1.T = 298.6 * "K"; 56 s1.F = 153 * "kmol/h"; 57 s1.z = [0.664, 0.336]; 58 s1.v = 1.0; 54 s1.Outlet.P = 152 * 'kPa'; 55 s1.Outlet.T = 298.6 * 'K'; 56 s1.Outlet.F = 153 * 'kmol/h'; 57 s1.Outlet.z = [0.664, 0.336]; 59 58 60 59 sp.frac = 0.444445; 61 c1.OutletV.F = 0 * "kmol/h";62 c1.OutletL.F = 153 * "kmol/h";60 c1.OutletV.F = 0 * 'kmol/h'; 61 c1.OutletL.F = 153 * 'kmol/h'; 63 62 64 Q = -3.71e6 * "kJ/h";63 Q = -3.71e6 * 'kJ/h'; 65 64 66 65 SET 67 c1.V = 2 * "m^3";68 c1.Across = 1 * "m^2";66 c1.V = 2 * 'm^3'; 67 c1.Across = 1 * 'm^2'; 69 68 70 69 INITIAL 71 c1.OutletL.T = 280 * "K";72 c1.Level = 1 * "m";70 c1.OutletL.T = 280 *'K'; 71 c1.Level = 1 * 'm'; 73 72 c1.OutletL.z(1) = 0.65; 74 73 75 74 OPTIONS 76 time = [0:20:1000]; 75 TimeEnd = 1000; 76 TimeStep = 20; 77 77 end 78 78 79 79 FlowSheet condenserSteady_Test 80 80 PARAMETERS 81 PP as CalcObject(Brief="Physical Properties",File="vrpp");81 PP as Plugin(Brief="Physical Properties",File="vrpp"); 82 82 NComp as Integer; 83 83 … … 93 93 DEVICES 94 94 c1 as condenserSteady; 95 s1 as s tream_therm;95 s1 as source; 96 96 97 97 CONNECTIONS … … 100 100 101 101 SPECIFY 102 s1. P = 152 * "kPa";103 s1. T = 298.6 * "K";104 s1. F = 153 * "kmol/h";105 s1. z = [0.664, 0.336];106 s1.v = 1.0; 107 Q = 3.71e6 * "kJ/h";108 c1.DP = 100 * "kPa";102 s1.Outlet.P = 152 * 'kPa'; 103 s1.Outlet.T = 298.6 * 'K'; 104 s1.Outlet.F = 153 * 'kmol/h'; 105 s1.Outlet.z = [0.664, 0.336]; 106 107 Q = 3.71e6 * 'kJ/h'; 108 c1.DP = 100 * 'kPa'; 109 109 110 110 OPTIONS 111 mode = "steady"; 112 time = [0:20:1000]; 111 Dynamic = false; 113 112 end -
branches/newlanguage/sample/stage_separators/sample_flashPH.mso
r97 r202 27 27 FlowSheet FlashPHTest 28 28 PARAMETERS 29 PP as CalcObject(Brief="Physical Properties",File="vrpp");29 PP as Plugin(Brief="Physical Properties",File="vrpp"); 30 30 NComp as Integer; 31 31 … … 41 41 DEVICES 42 42 fl as FlashPHSteady; 43 s1 as s tream_therm;43 s1 as source; 44 44 45 45 CONNECTIONS … … 48 48 49 49 SPECIFY 50 s1.F = 496.3 * "kmol/h"; 51 s1.T = 338 * "K"; 52 s1.P = 507.1 * "kPa"; 53 s1.v = 0.1380; 54 s1.z = [0.1, 0.7,0.2]; 50 s1.Outlet.F = 496.3 * 'kmol/h'; 51 s1.Outlet.T = 338 * 'K'; 52 s1.Outlet.P = 507.1 * 'kPa'; 53 s1.Outlet.z = [0.1, 0.7,0.2]; 55 54 56 fl.OutletL.P = 2.5 * "atm";55 fl.OutletL.P = 2.5 * 'atm'; 57 56 58 Q = 0 * "kJ/h";59 #fl.OutletL.T = 315.06 * "K";57 Q = 0 * 'kJ/h'; 58 #fl.OutletL.T = 315.06 * 'K'; 60 59 61 60 OPTIONS 62 mode = "steady";61 Dynamic = false; 63 62 end -
branches/newlanguage/sample/stage_separators/sample_reboiler.mso
r86 r202 27 27 FlowSheet reboiler_Test 28 28 PARAMETERS 29 PP as CalcObject(Brief="Physical Properties",File="vrpp");29 PP as Plugin(Brief="Physical Properties",File="vrpp"); 30 30 NComp as Integer; 31 31 … … 41 41 DEVICES 42 42 r1 as reboiler; 43 feed as stream _therm;44 s1 as s tream_therm;43 feed as stream; 44 s1 as source; 45 45 46 46 CONNECTIONS … … 50 50 51 51 SPECIFY 52 feed.F = 0 * "kmol/h";53 feed.T = 328 * "K";54 feed.P = 180 * "kPa";52 feed.F = 0 * 'kmol/h'; 53 feed.T = 328 * 'K'; 54 feed.P = 180 * 'kPa'; 55 55 feed.z = [0.5, 0.5]; 56 56 feed.v = 0; 57 feed.h = 0 * 'kJ/kmol'; 57 58 58 s1.P = 185 * "kPa"; 59 s1.T = 327.7 * "K"; 60 s1.F = 180 * "kmol/h"; 61 s1.z = [0.006061, 0.9939]; 62 s1.v = 0.0; 59 s1.Outlet.P = 185 * 'kPa'; 60 s1.Outlet.T = 327.7 * 'K'; 61 s1.Outlet.F = 180 * 'kmol/h'; 62 s1.Outlet.z = [0.006061, 0.9939]; 63 63 64 r1.OutletL.F = 68.4 * "kmol/h";65 r1.OutletV.F = 111.6 * "kmol/h";64 r1.OutletL.F = 68.4 * 'kmol/h'; 65 r1.OutletV.F = 111.6 * 'kmol/h'; 66 66 67 Q = 3.7743e6 * "kJ/h";67 Q = 3.7743e6 * 'kJ/h'; 68 68 69 69 SET 70 r1.V = 2 * "m^3";71 r1.Across = 1 * "m^2";70 r1.V = 2 * 'm^3'; 71 r1.Across = 1 * 'm^2'; 72 72 73 73 INITIAL 74 r1.OutletL.T = 320 * "K";75 r1.Level = 1 * "m";74 r1.OutletL.T = 320 *'K'; 75 r1.Level = 1 * 'm'; 76 76 r1.OutletL.z(2) = 0.9; 77 77 78 78 OPTIONS 79 relativeAccuracy = 1e-5;80 81 time = [0:20:1000];79 RelativeAccuracy = 1e-5; 80 TimeEnd = 1000; 81 TimeStep = 20; 82 82 end 83 83 … … 85 85 FlowSheet reboilerSteady_Test 86 86 PARAMETERS 87 PP as CalcObject(Brief="Physical Properties",File="vrpp");87 PP as Plugin(Brief="Physical Properties",File="vrpp"); 88 88 NComp as Integer; 89 89 … … 99 99 DEVICES 100 100 r1 as reboilerSteady; 101 s1 as s tream_therm;101 s1 as source; 102 102 103 103 CONNECTIONS … … 106 106 107 107 SPECIFY 108 s1.P = 185 * "kPa"; 109 s1.T = 327.7 * "K"; 110 s1.F = 180 * "kmol/h"; 111 s1.z = [0.006061, 0.9939]; 112 s1.v = 0.0; 108 s1.Outlet.P = 185 * 'kPa'; 109 s1.Outlet.T = 327.7 * 'K'; 110 s1.Outlet.F = 180 * 'kmol/h'; 111 s1.Outlet.z = [0.006061, 0.9939]; 113 112 114 # Q = 3.7743e6 * "kJ/h";115 r1.OutletV.T = 350 * "K";113 # Q = 3.7743e6 * 'kJ/h'; 114 r1.OutletV.T = 350 * 'K'; 116 115 117 116 SET 118 r1.DP = 10 * "kPa";117 r1.DP = 10 * 'kPa'; 119 118 120 119 OPTIONS 121 relativeAccuracy = 1e-5;122 mode = "steady";120 RelativeAccuracy = 1e-5; 121 Dynamic = false; 123 122 end -
branches/newlanguage/sample/stage_separators/sample_stream.mso
r124 r202 45 45 46 46 SPECIFY 47 s1.Outlet.F = 496.3 * "kmol/h";48 s1.Outlet.T = 338 * "K";49 #s1.Outlet.P = 507.1 * "kPa";47 s1.Outlet.F = 496.3 * 'kmol/h'; 48 s1.Outlet.T = 338 * 'K'; 49 #s1.Outlet.P = 507.1 * 'kPa'; 50 50 s1.Outlet.v = 0.12; 51 51 s1.Outlet.z = [0.2379,0.3082,0.09958,0.1373,0.08872,0.1283]; … … 57 57 TimeStep = 0.1; 58 58 TimeEnd = 20; 59 TimeUnit = "h";59 TimeUnit = 'h'; 60 60 end -
branches/newlanguage/sample/stage_separators/sample_tray.mso
r86 r202 27 27 FlowSheet tray_Test 28 28 PARAMETERS 29 PP as CalcObject(Brief="Physical Properties",File="vrpp");29 PP as Plugin(Brief="Physical Properties",File="vrpp"); 30 30 NComp as Integer; 31 31 … … 38 38 DEVICES 39 39 t1 as tray; 40 feed as s tream_therm;41 inL as stream_therm;42 inV as stream_therm;40 feed as source; 41 inL as liquid_stream; 42 inV as vapour_stream; 43 43 44 44 CONNECTIONS … … 48 48 49 49 SPECIFY 50 feed.F = 113.4 * "kmol/h"; 51 feed.T = 291 * "K"; 52 feed.P = 1.66 * "atm"; 53 feed.z = [0.5, 0.5]; 54 feed.v = 0; 50 feed.Outlet.F = 113.4 * 'kmol/h'; 51 feed.Outlet.T = 291 * 'K'; 52 feed.Outlet.P = 1.66 * 'atm'; 53 feed.Outlet.z = [0.5, 0.5]; 55 54 56 inL.P = 165 * "kPa";57 inL.T = 310 * "K";58 inL.F = 61.99 * "kmol/h";55 inL.P = 165 * 'kPa'; 56 inL.T = 310 * 'K'; 57 inL.F = 61.99 * 'kmol/h'; 59 58 inL.z = [0.1641, 0.8359]; 60 inL.v = 0.0;61 59 62 inV.F = 147.1 * "kmol/h"; 63 inV.v = 1.0; 64 inV.P = 150 * "kPa"; 65 inV.T = 321 * "K"; 60 inV.F = 147.1 * 'kmol/h'; 61 inV.P = 150 * 'kPa'; 62 inV.T = 321 * 'K'; 66 63 inV.z = [0.0584, 0.9416]; 67 64 68 65 t1.Emv = 1; 69 t1.OutletV.F = 147.1 * "kmol/h";66 t1.OutletV.F = 147.1 * 'kmol/h'; 70 67 71 68 SET 72 t1.V = 4 * "ft^3";73 t1.Ah = 0.394 * "ft^2";74 t1.lw = 20.94 * "in";75 t1.hw = 0.125 * "ft";76 t1.Q = 0 * "kW";69 t1.V = 4 * 'ft^3'; 70 t1.Ah = 0.394 * 'ft^2'; 71 t1.lw = 20.94 * 'in'; 72 t1.hw = 0.125 * 'ft'; 73 t1.Q = 0 * 'kW'; 77 74 t1.beta = 0.6; 78 75 t1.alfa = 4; 79 t1.Ap = 3.94 * "ft^2";76 t1.Ap = 3.94 * 'ft^2'; 80 77 81 78 INITIAL 82 t1.OutletL.T = 290 * "K";79 t1.OutletL.T = 290 *'K'; 83 80 t1.Level = 0.9 * t1.hw; 84 81 t1.OutletL.z(1) = 0.5; 85 82 86 83 OPTIONS 87 relativeAccuracy = 1e-6;88 time = [0:1:100];84 RelativeAccuracy = 1e-6; 85 TimeEnd = 100; 89 86 end
Note: See TracChangeset
for help on using the changeset viewer.