Changeset 607 for trunk/sample/stage_separators
 Timestamp:
 Aug 23, 2008, 7:06:59 PM (15 years ago)
 Location:
 trunk/sample/stage_separators
 Files:

 1 added
 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/sample/stage_separators/Sample_Distillation_kettle_cond_Eff.mso
r593 r607 382 382 383 383 RR = 1; 384 384 385 col.trays.psi=1; 386 col.trays.psi1=1; 387 385 388 col.cond.OutletV.F = 0 * 'kmol/h'; 386 389 Qr.OutletQ.Q = 1854471.14 * 'W'; 387 col.pump1.dP = 0.00000000 01* 'kPa';390 col.pump1.dP = 0.000000001* 'kPa'; 388 391 389 392 col.alfaTopo = 2; 390 393 391 #*col.trays.Emv = [0.47806479394 #*col.trays.Emv = [0.47806479 392 395 0.53702951 393 396 0.59429546 … … 396 399 0.7437489 397 400 0.76615292 398 0.79338953]; 399 *# 401 0.79338953];*# 402 400 403 #eff model 401 404 col.trays.Dv = 3.2556e6*'m^2/s'; … … 742 745 end 743 746 744 747 FlowSheet Sample_Distillation_kettle_cond_EffFund_Dual 748 PARAMETERS 749 PP as Plugin(Brief="Physical Properties", 750 Type="PP", 751 Components = [ "propane", "propylene" ], 752 LiquidModel = "PR", 753 VapourModel = "PR" 754 ); 755 NComp as Integer; 756 iLK as Integer; 757 iHK as Integer; 758 759 Pcmin as pressure (Brief="Minimum column temperature"); 760 Pcmax as pressure (Brief="Minimum column temperature"); 761 Qcmin as heat_rate (Brief="Minimum Condenser Heat supplied"); 762 Qcmax as heat_rate (Brief="Maximum Condenser Heat supplied"); 763 Hmint as length (Brief="Minimum liquid level in top tank"); 764 Hmaxt as length (Brief="Maximum liquid level in top tank"); 765 Hminb as length (Brief="Minimum liquid level in reboiler"); 766 Hmaxb as length (Brief="Maximum liquid level in reboiler"); 767 Frmin as flow_mol (Brief="Minimum bottom flow rate"); 768 Frmax as flow_mol (Brief="Maximum bottom flow rate"); 769 Fcmin as flow_mol (Brief="Minimum reflux flow rate"); 770 Fcmax as flow_mol (Brief="Maximum reflux flow rate"); 771 772 VARIABLES 773 Qc as energy_source (Brief="Heat rate removed from condenser"); 774 Qr as energy_source (Brief="Heat rate supplied to reboiler"); 775 Padc as Real (Brief="Dimensionless pressure"); 776 Had_top as Real (Brief="Dimensionless condenser level"); 777 Had_bot as Real (Brief="Dimensionless reboiler level"); 778 DF as fraction (Brief="Distillation to feed ratio"); 779 RR as Real (Brief="Reflux ratio"); 780 781 SET 782 NComp = PP.NumberOfComponents; 783 784 DEVICES 785 786 col as Distillation_kettle_cond_EffFund; 787 feed as source; 788 zero as stream; 789 LCtop as PIDIncr; 790 LCbot as PIDIncr; 791 PCcond as PIDIncr; 792 793 794 SET 795 col.NTrays = 8; 796 col.trays.tray_type = "Dualflow"; 797 798 CONNECTIONS 799 feed.Outlet to col.trays(4).Inlet; 800 zero to col.reb.Inlet; 801 zero to col.trays([1:3]).Inlet; 802 zero to col.trays([5:col.NTrays]).Inlet; 803 Qc.OutletQ to col.cond.InletQ; 804 Qr.OutletQ to col.reb.InletQ; 805 806 EQUATIONS 807 808 "Pressure Controller Cond" 809 PCcond.Parameters.tau = 0*'s'; 810 PCcond.Parameters.tauSet = 0*'s'; 811 PCcond.Parameters.alpha = 0.3; 812 PCcond.Parameters.bias = 0.67; 813 PCcond.Parameters.gamma = 1; 814 PCcond.Parameters.beta = 1; 815 PCcond.Options.action = 1; 816 PCcond.Options.clip = 1; 817 PCcond.Options.autoMan = 0; 818 PCcond.Parameters.intTime = 60*'s'; 819 PCcond.Parameters.gain = 0.6; 820 PCcond.Parameters.derivTime = 1*'s'; 821 PCcond.Ports.setPoint = (10 * 'bar'  Pcmin)/(PcmaxPcmin); 822 PCcond.Ports.input = Padc; 823 Padc = (col.cond.OutletL.PPcmin)/(PcmaxPcmin); 824 Qc.OutletQ.Q = Qcmin+(QcmaxQcmin)*PCcond.Ports.output; 825 826 "Ttop Level Controller" 827 LCtop.Parameters.tau = 0*'s'; 828 LCtop.Parameters.tauSet = 0*'s'; 829 LCtop.Parameters.alpha = 0.3; 830 LCtop.Parameters.bias = 0.5; 831 LCtop.Parameters.gamma = 1; 832 LCtop.Parameters.beta = 1; 833 LCtop.Options.action = 1; 834 LCtop.Options.clip = 1; 835 LCtop.Options.autoMan = 0; 836 LCtop.Parameters.intTime = 20*'min'; 837 LCtop.Parameters.gain = 0.9; 838 LCtop.Parameters.derivTime = 0*'s'; 839 LCtop.Ports.setPoint = (2 * 'm'  Hmint)/(HmaxtHmint); 840 LCtop.Ports.input = Had_top; 841 Had_top = (col.cond.LevelHmint)/(HmaxtHmint); 842 col.sptop.Outlet2.F = Fcmin + (FcmaxFcmin) * LCtop.Ports.output; 843 844 "Tbottom Level Controller" 845 LCbot.Parameters.tau = 0*'s'; 846 LCbot.Parameters.tauSet = 0*'s'; 847 LCbot.Parameters.alpha = 0.3; 848 LCbot.Parameters.bias = 0.5; 849 LCbot.Parameters.gamma = 1; 850 LCbot.Parameters.beta = 1; 851 LCbot.Options.action = 1; 852 LCbot.Options.clip = 1; 853 LCbot.Options.autoMan = 0; 854 LCbot.Parameters.intTime = 20*'min'; 855 LCbot.Parameters.gain = 0.9; 856 LCbot.Parameters.derivTime = 0*'s'; 857 LCbot.Ports.setPoint = (2 * 'm'  Hminb)/(HmaxbHminb); 858 LCbot.Ports.input = Had_bot; 859 Had_bot = (col.reb.LevelHminb)/(HmaxbHminb); 860 col.reb.OutletL.F = Frmin + (FrmaxFrmin) * LCbot.Ports.output; 861 862 DF = col.sptop.Outlet1.F / feed.Outlet.F; 863 RR * (col.sptop.Outlet1.F + col.cond.OutletV.F) = col.sptop.Outlet2.F; 864 865 "Correction factor of liquid entrainment in dualflow trays" 866 col.trays.psi=1.9771*col.trays.ff1.4857; 867 col.trays.psi1=0.9333*col.trays.ff+0.94; 868 869 SPECIFY 870 feed.Outlet.F = 800 * 'kmol/h'; 871 feed.Outlet.T = (33.1+273.15) * 'K'; 872 feed.Outlet.P = 11.25 * 'bar'; 873 feed.Outlet.z(1) = 0.1; 874 feed.Outlet.z(2)=0.9; 875 876 zero.F = 0 * 'kmol/h'; 877 zero.T = 300 * 'K'; 878 zero.P = 1 * 'atm'; 879 zero.z = 1/NComp; 880 zero.v = 0; 881 zero.h = 0 * 'J/mol'; 882 883 RR = 15; 884 885 col.cond.OutletV.F = 0 * 'kmol/h'; 886 Qr.OutletQ.Q = 27582461.8 * 'W'; 887 col.pump1.dP = 0.0000000001* 'kPa'; 888 889 890 col.alfaTopo = 2; 891 892 #col.trays.Emv = 0.75; 893 894 #para modelo de eff 895 col.trays.Dv = 4.64e7*'m^2/s'; 896 col.trays.Dl = 1.3e8*'m^2/s'; 897 col.trays.sigma=[0.00762423 898 0.00750252 899 0.00738331 900 0.00726649 901 0.00715206 902 0.00703969 903 0.00692930 904 0.00682079]*'N/m'; 905 906 SET 907 908 #para modelo de eff 909 #col.trays.z = 1.35*'m'; 910 col.trays.d = 4.4*'m'; 911 col.trays.fi= 0.2074; 912 col.trays.Ts= 0.4*'m'; 913 col.trays.T= 0.0025*'m'; 914 col.trays.Aa=15.205*'m^2'; 915 col.trays.dh=0.009*'m'; 916 917 col.trays.V = 6.08 * 'm^3'; 918 col.trays.Ah = 3.15447 * 'm^2'; 919 col.trays.hw = 0.052 * 'm'; 920 col.trays.lw = 1.264 * 'm'; 921 col.trays.Q = 0 * 'kW'; 922 col.trays.beta = 0.25;#fluxo de liquido 923 col.trays.alfa =80;#parametro de ajuste para queda de pressão 924 col.trays.Ap = 15.205 * 'm^2'; 925 926 col.cond.V = 10*6.08 * 'm^3'; 927 col.cond.Across = 18 * 'm^2'; 928 929 col.reb.V = 10*6.08 * 'm^3'; 930 col.reb.Across = 20 * 'm^2'; 931 932 # Controllers type 933 PCcond.PID_Select = "Ideal_AW"; 934 LCtop.PID_Select = "Ideal_AW"; 935 LCbot.PID_Select = "Ideal_AW"; 936 937 Frmin = 120 * 'kmol/h'; 938 Frmax = 400 * 'kmol/h'; 939 Fcmin = 6800 * 'kmol/h'; 940 Fcmax = 7500 * 'kmol/h'; 941 Hmint = 0.01 * 'm'; 942 Hmaxt = 2.5 * 'm'; 943 Hminb = 0.01 * 'm'; 944 Hmaxb = 2.5 * 'm'; 945 Pcmin = 8 * 'bar'; 946 Pcmax = 12 * 'bar'; 947 Qcmax = 15e6 * 'W'; 948 Qcmin = 30e6 * 'W'; 949 950 951 INITIAL 952 # condenser 953 col.cond.OutletL.T = 292.473621*'K'; 954 col.cond.Level = 2* 'm'; 955 col.cond.OutletL.z([1]) = [0.0842132]; 956 957 # reboiler 958 col.reb.OutletL.T = 299.8068 *'K'; 959 col.reb.Level = 1 * 'm'; 960 col.reb.OutletL.z([1]) = [0.1236802]; 961 962 # column trays 963 col.trays.OutletL.T = [292.497341 964 293.463727 965 294.413253 966 295.346614 967 296.263841 968 297.167167 969 298.05727 970 298.934812] * 'K'; 971 972 col.trays.Level = 1 * col.trays.hw; 973 col.trays.OutletL.z([1]) = [0.08822571 974 0.09221042 975 0.09616891 976 0.10010309 977 0.1038177 978 0.10781901 979 0.11213108 980 0.1167803]; 981 982 983 OPTIONS 984 TimeStep = 100; 985 TimeEnd = 3600; 986 TimeUnit = 's'; 987 NLASolver (File="sundials"); 988 DAESolver (File="mebdf", RelativeAccuracy=1e4, AbsoluteAccuracy=1e4); 989 InitialFile="Sample_Distillation_kettle_cond_EffFund_Dual1.rlt"; 990 #Dynamic = false; 991 end
Note: See TracChangeset
for help on using the changeset viewer.