110 likes | 218 Views
Research Updates Robust Thermodynamically-guided Algorithms for Design of Energy Efficient Distillation Networks. Seon B. Kim Ph.D. Candidate Date: March 24 th , 2011 Advisor: Dr. Andreas A. Linninger Laboratory for Product and Process Design, Department of Bioengineering, UIC.
E N D
Research Updates Robust Thermodynamically-guided Algorithms for Design of Energy Efficient Distillation Networks Seon B. Kim Ph.D. Candidate Date: March 24th, 2011 Advisor: Dr. Andreas A. Linninger Laboratory for Product and Process Design, Department of Bioengineering, UIC
Semester Plan • Paper 5: Optimal Separation Synthesis with GA. • Complete code porting to delphi (100%90%). • DLL conversion and running with GA server (100%90%). • Finding optimal design specification with GA optimizer. • REU/RET Activity • REU Selection in LPPD (done). • REU Selection outside (2 or 3 slots open). • RET application due extended to April 15th.
Delphi Code Description (Commuting between GA and Flowsheet) function GAApp1.test3: gContinuousGA ; var ga : gContinuousGA; I:integer; Chrom:gDoubleChrom; begin ga:=gContinuousGA.Create; FeedComp :=ProductComposition(NetworkID,2,reflux,Comp,FeedComp,FeedIn); FeedIn :=ProductFlowrate(NetworkID,2,reflux,Comp,FeedComp,FeedIn); ga.addVariableGene(x1,1.5,10); // add variable ga.addVariableGene(x2,0.000001,0.00999); // add variable ga.setCostFunction(F3); // add objective function ga.Solve(0.5,0.05,50,30); //sel ratio, mut ratio , maximum iteration, pop size ga.setConvergenceType(CONVERGENCE_COSTSUM); chrom:=ga.m_curPopulation.BESTFITNESSCHROM; reflux:=chrom.GetGene(0); Comp:=chrom.GetGene(1); result :=ga; end; function GAApp1.F3: double; //objective function begin reflux:=x1; Comp:=x2; result:=BPDFunction(Net_ID,3,reflux,Comp,FeedComp,FeedIn); end; function BPDFunction(NetworkID,ColumnID:integer; reflux,Comp:double; FeedComp:PDblMatrix; FeedIn:PDblArray): double; external ‘FindMinBPD.dll'; function ProductComposition(NetworkID,ColumnID:integer; reflux,Comp:double; FeedComp:PDblMatrix; FeedIn:PDblArray): PDblMatrix; external ‘FindMinBPD.dll'; function ProductFlowrate(NetworkID,ColumnID:integer; reflux,Comp:double; FeedComp:PDblMatrix; FeedIn:PDblArray): PDblArray; external ‘FindMinBPD.dll';
GA result 2 Net 8
GA result and comparison with previous version of Matlab 1 Net 8_Col 1 MATLABDELPHI (Same Design Specs)DELPHI (Optimized) MATLAB Column S1 BPD: 1.886e-3 BPT: 72.1738 reflux: 0.62 Fractional recovery: Fr1= [0.99999999, 0.501, 0.005, 1.0e-07] Product Stream = [38.21, 61.79] product 1 = [0.4659, 0.5305, 0.003626, 3.6719e-08] product 2 = [2.8807e-9, 0.3267, 0.4462, 0.2271] DELPHI Optimized Column S1 BPD: 1.623e-4 BPT: 73.84 GA var 1 - reflux: 0.9104 GA var 2 - Fractional recovery of xd2: 0.7325 Fr1=[0.9999, 0.7325, 0.0062, 1e-06] Product Stream = [47.18, 52.82] product 1=[0.3773, 0.6198, 0.002937, 2.974E-0008] product 2 =[3.37E-0007, 0.2125, 0.5219, 0.2656] • 1. Different integrator • MATLAB: ode15s - variable order solver, NDF, and BDF • DELPHI: DASSL - BDF with order of 1 through 5 2. Different root finding algorithm of the polynomials 3. Different element and node numbers to make finite element of profile
GA result and comparison with previous version of Matlab 2 Net 8_Col 2 MATLAB DELPHI (Optimized) MATLAB Column C2 BPD: 1.038e-2 BPT: 42.7955, 72.3288 reflux: 3.5 Fractional recovery: Fr1=[ 0.999, 0.004, 9.0e-6, 4.0e-6] Fr2=[ 9.99999999e-4, 0.985,0.015, 6.5e-4] Product Stream = [17.9433 , 40.2957, 41.76] Product 1 = [0.9909, 0.009018, 1.389e-05, 3.127e-06] Product 2 = [4.417e-04, 0.9890, 0.01031, 2.263e-04] Product 3 = [4.262e-13, 0.01065, 0.6535, 0.3357] DELPHI Optimized Column C2 BPD: 1.398e-3 BPT: 53.63, 94.63 GA var 1 - reflux: 3.1 GA var 2 - Fractional recovery of xd2: 0.0045 Fr1= [0.9999, 0.0045, 5e-07, 1e-07] Fr2= [0.000089, 0.985, 0.015, 0.00065] Product Stream 0 = [18.35, 40.29, 41.36] Product 1 = [0.9898, 0.0101, 1.387e-06, 5.462e-07] Product 2 = [4.406e-05, 0.9896, 0.01028, 9.724e-05] Product 3 = [4.276e-10, 0.007290, 0.6557, 0.3369]
Net 8_Col 3 MATLAB DELPHI (Optimized) MATLAB Column C2 BPD: 4.214e-8 BPT: 109.76 reflux: 1.767 Product Stream = [27.73, 14.03] Product 1 = [0.99, 0.01] Product 2 = [0.01, 0.99] DELPHI Optimized Column C2 BPD: 1.078e-3 BPT: 115.57 GA var 1 - reflux: 6.7 Fr1= [0.9999, 0.0045, 5e-07, 1e-07] Fr2= [0.000089, 0.985, 0.015, 0.00065] Product Stream 0 = [18.35, 40.29, 41.36] Product 1 = [6.478e-10, 0.0110, 0.9864, 0.002552] Product 2 = [1.258e-20, 2.144e-10, 0.01350, 0.9865]
GA result and comparison with previous version of Matlab 2 Net 10_Col 1 MATLABDELPHI (Same Design Specs) MATLAB Column S1 BPD: 7.807e-4 BPT: 84.91 reflux: 1.2 DELPHI (Same Design Spec) Column S1 BPD: 2.562e-3 BPT: 85.06 Reflux: 1.2 DELPHI (Optimized) Column S1 BPD: 1.708e-3 BPT: 80.37 GA var 1 - reflux: 0.8714 GA var 2 - xd2 : 0.8488 AspenPlusDELPHI (Optimized)
GA result and comparison with previous version of Matlab 2 Net 10_Col 2 MATLABDELPHI (Same Design Specs) MATLAB Column C2 BPD: 0.0070, 0.0092 BPT: 51.42, 100.72 reflux: 2.7 DELPHI (Same Design Spec) Column C2 BPD: 0.0029, 0.0096 BPT: 52.33, 100.70 Reflux: 2.7 DELPHI (Optimized) Column C2 BPD: 0.0035, 0.0021 BPT: 55.93, 105.13 GA var 1 - reflux: 2.0 GA var 2 – xp2,2 : 0.401446 AspenPlusDELPHI (Optimized)
GA result and comparison with previous version of Matlab 2 Net 10_Col 3 MATLAB MATLAB Column C3 BPD: 2.72e-3, 0.0015 BPT: 80.09, 117.45 Reflux: 1.9 DELPHI (Optimized) Column C3 BPD: 2.48e-3, 3.26e-3 BPT: 87.10, 120.11 GA var 1 - reflux: 3.856 GA var 2 – xp1,3 : 0.004 AspenPlusDELPHI (Optimized)