280 likes | 548 Views
Faculty of Chemistry and Chemical Engineering University of Maribor, Slovenia. Modeling and optimization of processes of bioethanol production with Mixed Integer Process SYNthesizer MIPSYN. Lidija Čuček, Zdravko Kravanja . Summer Workshop, Veszprém 2009. WHY BIOETHANOL ??.
E N D
Faculty of Chemistry and Chemical Engineering University of Maribor, Slovenia Modeling and optimization of processes of bioethanol production with Mixed Integer Process SYNthesizer MIPSYN Lidija Čuček, Zdravko Kravanja Summer Workshop, Veszprém 2009
WHY BIOETHANOL ?? • 1. Fossil fuels are non-renewable • 2. Growing concern about global warming • 3. Possible disruption in oil supply • 4. Alternative to gasoline, renewable energy • 5. The most important long-term objectives of the European Union and United States in the energy sector are: • Achieving independence of fossil fuel energy supplies • Achieving substantial improvement of energy efficiency of the whole supply chain from production, distribution, to consumption, while minimizing emissions and waste • Achieving 20 % increase in the share of renewable energy (RES) by 2020 • The share of renewable energy in all modes of transport has to be at least 10 % by 2020 Summer Workshop, Veszprém 2009
RAW MATERIALS • Bioethanol can be produced by fermentation of: • Sugars (molasses), • Starchy raw materials (corn, potato) • Lignocellulose (wood, agricultural residues, municipal solid waste) First-generation biofuels: produced by fermentation of plants containing starch or sugar. This production has a lot of downsides: plants are mainly food crops, affection of the supply of population with food products, limited quantity, affecting biodiversity, may cause more GHG than fossil fuels, using chemicals for plant production, impact on drinking water supply,... Second-generation biofuels: produced by fermentation of lignocelluloses (agricultural residues, forestry waste, fast-growing energy crops...). Many technical and economic issues related to their use before 2020. Third-generation biofuels: produced from algae, sigle-celled aquatic organisms. Summer Workshop, Veszprém 2009
OUR GOAL • Problems with using bioethanol: • Usage requires modifications to the engines • Consumption in engines is about 51 % higher compared to gasoline • Costs for bioethanol production are very high (investment, costs of raw materials , etc.) Therefore it is necessary to develop effective, economical and environment friendly technologies of bioethanol production. Consumption of raw materials, energy and water should be very carefully analyzed, planed and optimized. Development and application of optimization methods are becoming necessary in the technique. Goal: Detailed synthesis and optimization of various production processes of bioethanol production from different raw materials. Summer Workshop, Veszprém 2009
GENERAL OVERVIEW OF WORK • Modeling and optimization was performed for ethanol • production from: • starchy raw materials (corn, potato), dry milling process • sugars (molasses), direct fermentation • lignocelluloses: • from corn stover, acid prehydrolysis and enzymatic hydrolysis • from wheat straw, ammonia fiber explosion (AFEX) and • from wood chips, gasification and subsequent fermentation of the produced syngas Superstructures of the processes are modeled as MINLP problems, which include both discrete (topology) and continuous variables (operating conditions, dimensions of the process units). Synthesis was caried out with and without heat integration. Different alternatives with respect to the separation of solids and liquids and alternatives to the dehydration of ethanol. Summer Workshop, Veszprém 2009
STARCH-BASED PROCESS Summer Workshop, Veszprém 2009
SUGAR-BASED PROCESS Summer Workshop, Veszprém 2009
ACID PREHYDROLYSIS PROCESS Summer Workshop, Veszprém 2009
AFEX PROCESS Summer Workshop, Veszprém 2009
THERMOCHEMICAL PROCESS Summer Workshop, Veszprém 2009
MIPSYN Optimization was performed with equation-oriented process synthesizer MIPSYN. • package performs MINLP optimization on superstructures for process flowsheet • enables automated execution of simultaneous topology and parameter optimization of processes Modified OA/ER algorithm and modeling and decomposititon (M/D) strategy • The computer package MIPSYN enabled us to optimize the chemical processes Processes producing fuel ethanol from biomass are biochemical processes. Completion of MIPSYN’s library PROSLIB with modules for synthesis of the biochemical processes Summer Workshop, Veszprém 2009
MODUL - WASHER * =========================== * = W A S H I N G = * =========================== EQUATIONS WASHWA(WASH,COMPON) TOTAL STREAM OF WASHING WATER WASHCB(WASH,COMPON) COMPONENT BALANCE AT WASHING WASHT(IN,WASH) INLET TEMPERATURE RELATION AT WASHING WASHP(IN,WASH) INLET PRESSURE RELATION AT WASHING WASHSIZE(WASH) SIZE VARIABLE ; WASHWA(WASH,COMPON)$EXIST(WASH).. F('IN-2',WASH) =E= WASHMIN*WASHFRAC*F('IN-1',WASH); WASHCB(WASH,COMPON)$EXIST(WASH).. FC('OUT-1',WASH,COMPON) =E= SUM(IN$RELIOB(IN,WASH),FC(IN,WASH,COMPON)); WASHT(IN,WASH)$(RELIOB(IN,WASH)AND EXIST(WASH)).. T('OUT-1',WASH) =E= T(IN,WASH); WASHP(IN,WASH)$(RELIOB(IN,WASH)AND EXIST(WASH)).. P('OUT-1',WASH) =E= P(IN,WASH); WASHSIZE(WASH)$EXIST(WASH).. sizes(wash)*SIZE(WASH) =E= AREA(WASH) ; Summer Workshop, Veszprém 2009
MODUL – FLOTATION UNIT * =========================== * = F L O T A T I O N = * =========================== EQUATIONS FLOTCBH(FLOT) COMPONENT BALANCE FOR HYDROPHOBIC MOLECULE FLOTCBM(FLOT) COMPONENT BALANCE FOR WATER IN TOP FLOTCB(FLOT,COMPON) COMPONENT BALANCE FOR FLOTATION FLOTT(OUT,FLOT) TEMPERATURE RELATION FOR OUT FLOTP(OUT,FLOT) PRESSURE RELATION FOR OUTLET FLOTSIZE(FLOT) SIZE VARIABLE ; FLOTCBH(FLOT)$EXIST(FLOT).. FC('OUT-1',FLOT,'PROT') =E= FLOTREC*FC('IN-1',FLOT,'PROT'); FLOTCBM(FLOT)$EXIST(FLOT).. FC('OUT-1',FLOT,'WA') =E= FLOTREC*FLOTMOIST*FC('IN-1',FLOT,'PROT'); FLOTCB(FLOT,COMPON)$EXIST(FLOT).. FC('OUT-2',FLOT,COMPON) =E= FC('IN-1',FLOT,COMPON)-FC('OUT-1',FLOT,COMPON); FLOTT(OUT,FLOT)$(EXIST(FLOT) AND RELIOB(OUT,FLOT)).. T(OUT,FLOT) =E= T('IN-1',FLOT); FLOTP(OUT,FLOT)$(EXIST(FLOT) AND RELIOB(OUT,FLOT)).. P(OUT,FLOT) =E= P('IN-1',FLOT); FLOTSIZE(FLOT)$EXIST(FLOT).. sizes(flot)*SIZE(FLOT) =E= F('IN-1',FLOT)*fs*3.6; Summer Workshop, Veszprém 2009
MODUL – ADSORBER I * ============================= * = A D S O R P T I O N = * ============================= EQUATIONS ADSSIZE(ADS) REQUIRED BED SIZE ADSMBETHO(ADS,COMPON) FLOW BALANCE FOR ETHANOL FOR OUTLET ADSCBOUT(ADS,COMPON) COMPONENT BALANCE FOR OUTLET 2 ADSCBWA(ADS,COMPON) COMPONENT BALANCE FOR NON-ADSORBED WATER ADSCBWAADS(ADS,COMPON) COMPONENT BALANCE FOR ADSORBED WATER ADSTB(ADS) TOTAL BALANCE FOR ADSORBENT ADSCB(ADS,COMPON) ADDITIVE COMPONENT BALANCE IN ADSORBER ADSFCPH(ADS,COMPON) evaluation of FCPH QHPEQ(ADS) ENTHALPY OF STREAM ADSHB(ADS) HEAT BALANCE ADSP1(ADS) PRESSURE RELATION FOR OUTLET 1 ADSP2(ADS) PRESSURE RELATION FOR OUTLET 2 ADST(OUT,ADS) TEMPERATURE RELATION ; ADSSIZE(ADS)$(EXIST(ADS) AND (NOT MILP)).. SIZE(ADS)*sizes(ads) =E= ADSSATTIME*F('IN-2',ADS)*fs $BATINCLUDE "P_LINEAR.INC" ADS ; ADSMBETHO(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 6)).. FC('OUT-1',ADS,COMPON) =E= FC('IN-1',ADS,COMPON); ADSCBOUT(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) NE 1) AND (ORD(COMPON) NE 6)).. FC('OUT-2',ADS,COMPON) =E= FC('IN-2',ADS,COMPON); ADSCBWA(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 1) AND (NOT MILP)).. FC('OUT-1',ADS,COMPON) =E= (1.-ADSREMWA)*FC('IN-1',ADS,COMPON) $BATINCLUDE "P_LINEAR.INC" ADS ; Summer Workshop, Veszprém 2009
MODUL – ADSORBER II ADSCBWAADS(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 1) AND (NOT MILP)).. FC('OUT-2',ADS,COMPON) =E= ADSREMWA*FC('IN-1',ADS,COMPON)+ FC('IN-2',ADS,COMPON) $BATINCLUDE "P_LINEAR.INC" ADS ; ADSTB(ADS)$(EXIST(ADS) AND (NOT MILP)).. F('IN-2',ADS)*fs =E= (1./ADSPOT)*ADSREMWA*FC('IN-1',ADS,'WA')*fcs('wa') $BATINCLUDE "P_LINEAR.INC" ADS ; ADSCB(ADS,COMPON)$EXIST(ADS).. SUM(OUT$RELIOB(OUT,ADS), FC(OUT,ADS,COMPON)) =E= SUM(IN$RELIOB(IN,ADS), FC(IN,ADS,COMPON)); ADSFCPH(ADS,COMPON)$(EXIST(ADS) AND (ORD(COMPON) EQ 1)).. FCPH(ADS)*fcphs(ads) =E= FC('IN-1',ADS,COMPON)*fcs(compon) * DHADS; QHPEQ(ADS)$(EXIST(ADS) AND (NOT MILP)).. QHP(ADS)*qhps(ads) =E= ADSREMWA* FCPH(ADS)*fcphs(ads) $BATINCLUDE "P_LINEAR.INC" ADS ; ADSHB(ADS)$(EXIST(ADS) AND (NOT HIFL) AND (NOT HENFL)).. QC(ADS)*qcs(ads) =E= 3600. * NHOUR * 1.0E-9 * QHP(ADS)*qhps(ads); ADSP1(ADS)$EXIST(ADS).. P('OUT-1',ADS) =E= P('IN-1',ADS); ADSP2(ADS)$EXIST(ADS).. P('OUT-2',ADS) =E= P('IN-1',ADS); ADST(OUT,ADS)$(EXIST(ADS) AND RELIOB(OUT,ADS)).. T(OUT,ADS) =E= T('IN-2',ADS); Summer Workshop, Veszprém 2009
MODUL – RECTIFIER COLUMN I * ===================================== * = R E C T I F I E R C O L U M N = * ===================================== EQUATIONS RECCB(REC,COMPON) ADDITIVE COMPONENT BALANCE IN RECTIFIER COLUMN RECTOPH(REC,WE) COMPONENT BALANCE FOR HEAVY KEY - TOP RECTOPL(REC,WE) COMPONENT BALANCE FOR LIGHT KEY - TOP RECBOTH(REC,WE) COMPONENT BALANCE FOR HEAVY KEY - BOTTOM RECBOTL(REC,WE) COMPONENT BALANCE FOR LIGHT KEY - BOTTOM RECPT(REC) OUTLET PRESSURE RELATION (TOP) RECPB(REC) OUTLET PRESSURE RELATION (BOTTOM) NTHEOREC(REC) THEORETICAL NUMBER OF TRAYS NACTREC(REC) ACTUAL NUMBER OF TRAYS RECMFTOP(REC,WE) RELATION OF MOL AND MASS FRACTIONS FOR OUT TOP RECANTATOP(REC,WE) ANTOINE EQUATION FOR OUT TOP RECMFBOT(REC,WE) RELATION OF MOL AND MASS FRACTIONS FOR OUT BOTTOM RECANTABOT(REC,WE) ANTOINE EQUATION FOR OUTLET BOTTOM RECMFCL(REC) MOL FRAC IN THE CONDENSED VAPOR FOR LIGHT RECMFCH(REC) MOL FRAC IN THE CONDENSED VAPOR FOR HEAVY RECXC(REC,WE) RELATION OF MOL AND MASS FRACTION IN THE CONDENSER CONDHVREC(REC,WE) HEAT OF VAPORIZATION OF COMPONENTS IN CONDENSER FCPHREC(RECC) evaluation of FCPH IN CONDENSER QCONDREC(RECC) ENTHALPY OF HOT STREAM IN CONDENSER RECCONDHB(RECC) HEAT BALANCE IN CONDENSER REBHVREC(REC,WE) HEAT OF VAPORIZATION OF COMPONENTS IN REBOILER FCPCREC(RECR) evaluation of FCPC IN REBOILER QREBREC(RECR) ENTHALPY OF COLD STREAM IN REBOILER RECREBHB(RECR) HEAT BALANCE IN REBOILER RECSIZE(REC) SIZE VARIABLE ; Summer Workshop, Veszprém 2009
MODUL – RECTIFIER COLUMN II RECCB(REC,COMPON)$EXIST(REC).. SUM(OUT$RELIOB(OUT,REC), FC(OUT,REC,COMPON)) =E= FC('IN-1',REC,COMPON); RECTOPH(REC,WE)$(EXIST(REC) AND DHKEY(REC,WE) AND (NOT MILP)).. FC('OUT-1',REC,WE) =E= DHREC(REC)*FC('IN-1',REC,WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECTOPL(REC,WE)$(EXIST(REC) AND DLKEY(REC,WE)).. FC('OUT-1',REC,WE) =E= DLREC(REC)*FC('IN-1',REC,WE); RECBOTH(REC,WE)$(EXIST(REC) AND DHKEY(REC,WE) AND (NOT MILP)).. FC('OUT-2',REC,WE) =E= (1.-DHREC(REC))*FC('IN-1',REC,WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECBOTL(REC,WE)$(EXIST(REC) AND DLKEY(REC,WE)).. FC('OUT-2',REC,WE) =E= (1.-DLREC(REC))*FC('IN-1',REC,WE); RECPT(REC)$EXIST(REC).. P('OUT-1',REC) =E= P('IN-1',REC); RECPB(REC)$EXIST(REC).. P('OUT-2',REC) =E= P('IN-1',REC); NTHEOREC(REC)$(EXIST(REC) AND (NOT MILP)).. NTHEO(REC) =E= LOG((DLREC(REC)/(1.-DLREC(REC)))*((1-DHREC(REC))/DHREC(REC)))/LOG(AVEVLT) $BATINCLUDE "P_LINEAR.INC" REC ; NACTREC(REC)$(EXIST(REC) AND (NOT MILP)).. NACT(REC) =E= (NTHEO(REC)-1.)/TRAYEFF $BATINCLUDE "P_LINEAR.INC" REC ; Summer Workshop, Veszprém 2009
MODUL – RECTIFIER COLUMN III RECMFTOP(REC,WE)$(EXIST(REC) AND (NOT MILP)).. MF('OUT-1',REC,WE)*SUM(WE1, FC('OUT-1',REC,WE1)/MOLWT(WE1)) =E= FC('OUT-1',REC,WE)/MOLWT(WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECANTATOP(REC,WE)$(EXIST(REC) AND (NOT MILP) AND DLKEY(REC,WE)).. EXP(ANTA(WE)-ANTB(WE)/(ANTC(WE)+ T('OUT-1',REC)*100.)) =E= (P('OUT-1',REC)-DP/2.)*7600.* (MF('OUT-1',REC,'WA')*AVEVLT + MF('OUT-1',REC,'ETHO')) $BATINCLUDE "P_LINEAR.INC" REC ; RECMFBOT(REC,WE)$(EXIST(REC) AND (NOT MILP)).. MF('OUT-2',REC,WE)*SUM(WE1, FC('OUT-2',REC,WE1)/MOLWT(WE1)) =E= FC('OUT-2',REC,WE)/MOLWT(WE) $BATINCLUDE "P_LINEAR.INC" REC ; RECANTABOT(REC,WE)$(EXIST(REC) AND (NOT MILP) AND DHKEY(REC,WE)).. EXP(ANTA(WE)-ANTB(WE)/(ANTC(WE)+ T('OUT-2',REC)*100.))* (MF('OUT-2',REC,'WA') + AVEVLT*MF('OUT-2',REC,'ETHO')) =E= (P('OUT-2',REC)+DP/2.)*7600. $BATINCLUDE "P_LINEAR.INC" REC ; RECMFCL(REC)$(EXIST(REC) AND (NOT MILP)).. MFC(REC,'ETHO') =E= MF('OUT-1',REC,'ETHO')*(P('OUT-1',REC)-DP/2.)*7600./ EXP(ANTA('ETHO')-ANTB('ETHO')/(ANTC('ETHO')+T('OUT-1',REC)*100.)) $BATINCLUDE "P_LINEAR.INC" REC ; RECMFCH(REC)$EXIST(REC).. MFC(REC,'WA') =E= 1.- MFC(REC,'ETHO') ; Summer Workshop, Veszprém 2009
MODUL – RECTIFIER COLUMN IV RECXC(REC,WE)$(EXIST(REC) AND (NOT MILP)).. XC(REC,WE)*SUM(WE1,MFC(REC,WE1)*MOLWT(WE1)) =E= MFC(REC,WE)*MOLWT(WE) $BATINCLUDE "P_LINEAR.INC" REC ; CONDHVREC(REC,WE)$(EXIST(REC) AND (NOT MILP)).. DHV('OUT-1',REC,WE) =E= (HV(WE)/MOLWT(WE))* ((TC(WE)-T('OUT-1',REC)*100.)/(TC(WE)-TB(WE)))**NWATSON $BATINCLUDE "P_LINEAR.INC" REC ; FCPHREC(RECC)$SUM(REC$(ORD(REC) EQ ORD(RECC)), EXIST(REC) AND (NOT MILP)).. fcphs(recc)*FCPH(RECC) =E= SUM(REC$(ORD(REC) EQ ORD(RECC)), F('OUT-1',REC)*fs*REFLUX* SUM(WE, XC(REC,WE)*DHV('OUT-1',REC,WE))) $BATINCLUDE "P_LINEAR.INC" RECC ; QCONDREC(RECC)$SUM(REC$(ORD(REC) EQ ORD(RECC)), EXIST(REC) AND CONDFL(RECC)).. QHP(RECC)*qhps(recc) =E= fcphs(recc)*FCPH(RECC)*100.*0.01; RECCONDHB(RECC)$SUM(REC$(ORD(REC) EQ ORD(RECC)), EXIST(REC)).. QC(RECC) =E= 3600.*NHOUR*1.0E-9 * QHP(RECC)*qhps(recc); REBHVREC(REC,WE)$(EXIST(REC) AND DHKEY(REC,WE) AND (NOT MILP)).. DHV('OUT-2',REC,WE) =E= (HV(WE)/MOLWT(WE))*((TC(WE)-T('OUT-2',REC)*100.)/ (TC(WE)-TB(WE)))**NWATSON $BATINCLUDE "p_linear.inc" REC ; FCPCREC(RECR)$SUM(REC$(ORD(REC) EQ ORD(RECR)), EXIST(REC) AND (NOT MILP)).. FCPC(RECR)*fcpcs(recr) =E= SUM(REC$(ORD(REC) EQ ORD(RECR)),(F('OUT-1',REC)*fs*REFLUX-F('OUT-2',REC)*fs)* SUM(WE$DHKEY(REC,WE), DHV('OUT-2',REC,WE))) $BATINCLUDE "P_LINEAR.INC" RECR ; Summer Workshop, Veszprém 2009
MODUL – RECTIFIER COLUMN IV QREBREC(RECR)$SUM(REC$(ORD(REC) EQ ORD(RECR)), EXIST(REC) AND EVAPFL(RECR)).. QCP(RECR)*qcps(recr) =E= 100.*0.01*FCPC(RECR)*fcpcs(recr); RECREBHB(RECR)$SUM(REC$(ORD(REC) EQ ORD(RECR)), EXIST(REC)).. QH(RECR) =E= 3600.*NHOUR*1.0E-9 * QCP(RECR)*qcps(recr); RECSIZE(REC)$EXIST(REC).. SIZE(REC)*sizes(rec) =E= VOLUME(REC); Summer Workshop, Veszprém 2009
INPUT AND OUTPUT FILES The high level language GAMS (General Algebraic Modeling System) is interface for mathematical modeling with MIPSYN. Input and output files are written in GAMS language. User has to define (input files): 1.) the superstructure (p_struct) 2.) all data (datalib.gms) 3.) list of chemical components (p_compon) 4.) physical properties of components (if component is not defined) (compon) 5.) initialization scheme for non-existing modules in process flowsheet (initlib.gms) 6.) the additional modules equations (my_model.dat) 7.) components and their physical properties (p_dbase.lib). Output files: p_w.lst (listing file) optimum.res (optimal solution) p_b.res (MINLP iterations) Summer Workshop, Veszprém 2009
OPTIMIZATION Raw material mass flow (corn, potato, molasses, etc.): 18 kg/s Number of annual working hours: 8500 Objective: maximizing the profit Depreciation Product mass flow Price of product Need of utility Price of raw material Profit Utility price Depreciation period Raw material mass flow Investment was estimated by programme Aspen Icarus 2006.5. Solvers: for NLP suboptimization: local optimizer CONOPT 3, for MILP optimization: optimizer GAMS/CPLEX 10.1. Summer Workshop, Veszprém 2009
RESULTS Annual profit before taxes: Summer Workshop, Veszprém 2009
RESULTS Optimal productivity of products: Summer Workshop, Veszprém 2009
RESULTS Annual profit per kg of bioethanol (k€/a): Summer Workshop, Veszprém 2009
RESULTS Operating costs (k€/a): Summer Workshop, Veszprém 2009
RESULTS Payback period (a): Summer Workshop, Veszprém 2009
RESULTS Efficiency (%): Summer Workshop, Veszprém 2009