#*------------------------------------------------------------------- * EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC. * * This LIBRARY is free software; you can distribute it and/or modify * it under the therms of the ALSOC FREE LICENSE as available at * http://www.enq.ufrgs.br/alsoc. * * EMSO Copyright (C) 2004 - 2007 ALSOC, original code * from http://www.rps.eng.br Copyright (C) 2002-2004. * All rights reserved. * * EMSO is distributed under the therms of the ALSOC LICENSE as * available at http://www.enq.ufrgs.br/alsoc. * *-------------------------------------------------------------------- * Sample of a Power Plant. *-------------------------------------------------------------------- * Author: Argimiro R. Secchi * $Id: sample_power_plant.mso 195 2007-03-07 20:30:12Z arge $ *-------------------------------------------------------------------*# using "water_steam/power_plant"; # Usina termoeletrica # Note: model w/o using mixers and splitters, for simplicity. FlowSheet USINA PARAMETERS propterm as Plugin(Brief="Steam tables", Type="water", File="propterm"); DEVICES TAP1 as Turbina_sangra; TAP2 as Turbina; TMP1 as Turbina_sangra; TMP2 as Turbina_sangra; TMP3 as Turbina_sangra; TMP4 as Turbina; TBP1 as Turbina_sangra; TBP2 as Turbina; COND as Condensador_2alim; TANQUE as Tanque; RAP1 as Condensador_2alim; RAP2 as Condensador; RBP1 as Condensador_2alim; RBP2 as Condensador; BBP as Bomba; BAP as Bomba; GV as Gerador_Vapor; GE as Gerador_Eletrico; TR_AP2 as Trocador; TR_AP1 as Trocador; TR_BP1 as Trocador; TR_BP2 as Trocador; TORRE as Torre; CONNECTIONS GV.Fout_sa to TAP1.Fin; GV.Fout_ra to TMP1.Fin; TAP1.Fout to TAP2.Fin; TAP1.Fouts to RAP2.Fin; TAP2.Fout to GV.Fin_ra; TMP1.Fout to TMP2.Fin; TMP1.Fouts to RAP1.Fin1; TMP2.Fout to TMP3.Fin; TMP2.Fouts to TANQUE.Fin1; TMP3.Fout to TMP4.Fin; TMP3.Fouts to RBP2.Fin; TMP4.Fout to TBP1.Fin; TBP1.Fout to TBP2.Fin; TBP1.Fouts to RBP1.Fin1; TBP2.Fout to COND.Fin1; COND.Fout to BBP.Fin; BBP.Fout to TR_BP1.Fin; TR_BP1.Fout to TR_BP2.Fin; TR_BP2.Fout to TANQUE.Fin3; TANQUE.Fout to BAP.Fin; BAP.Fout to TR_AP1.Fin; TR_AP1.Fout to TR_AP2.Fin; TR_AP2.Fout to GV.Fin_a; RBP2.Fout to RBP1.Fin2; RBP1.Fout to COND.Fin2; RAP2.Fout to RAP1.Fin2; RAP1.Fout to TANQUE.Fin2; VARIABLES EF_CIC as Eficiencia; POT_TAP as Potencia; POT_TMP as Potencia; POT_TBP as Potencia; POT_TURB as Potencia; EQUATIONS "Trocadores de Calor" COND.Q_COND = TORRE.Q; RBP1.Q_COND = TR_BP1.Q; RBP2.Q_COND = TR_BP2.Q; RAP1.Q_COND = TR_AP1.Q; RAP2.Q_COND = TR_AP2.Q; "Eficiencias das Turbinas" TAP2.EF_T = TAP1.EF_T; TMP1.EF_T = TAP2.EF_T; TMP2.EF_T = TMP1.EF_T; TMP3.EF_T = TMP2.EF_T; TMP4.EF_T = TMP3.EF_T; TBP1.EF_T = TMP4.EF_T; TBP2.EF_T = TBP1.EF_T; "Potencias das Turbinas" POT_TAP = TAP1.POT_TURB + TAP2.POT_TURB; POT_TMP = TMP1.POT_TURB + TMP2.POT_TURB + TMP3.POT_TURB + TMP4.POT_TURB; POT_TBP = TBP1.POT_TURB + TBP2.POT_TURB; POT_TURB = POT_TAP + POT_TMP + POT_TBP; "Potencia do Gerador Eletrico" GE.POT_GE = GE.EF_GE * POT_TURB; "Eficiencia do Ciclo" EF_CIC * GV.Q_GV = GE.POT_GE - BBP.POT_BMB - BAP.POT_BMB; SET BBP.v_esp = 1.01e-3*'m^3/kg'; BAP.v_esp = 1.01e-3*'m^3/kg'; GE.EF_GE = 0.96; TORRE.cpa = 4.186e-3*'MJ/kg/K'; SPECIFY # EF_CIC = 0.27; GV.Fin_a.F = (357/3.6)*'kg/s'; # GV.Fin_a.P = 134 * 0.101325 * 'MPa'; # GV.Fin_a.T = (197 + 273.15) * 'K'; GV.Feco.P = 120 * 'atm'; GV.Feco.T = (314 + 273.15)*'K'; GV.Fvap.P = 115 * 0.101325*'MPa'; GV.Fvap.T = (400 + 273.15)*'K'; # GV.Fout_sa.F = 357/3.6 * 'kg/s'; GV.Fout_sa.P = 110 * 0.101325*'MPa'; GV.Fout_sa.T = (480 + 273.15)*'K'; # GV.Fout_ra.F = 344/3.6 * 'kg/s'; GV.Fout_ra.P = 28 * 0.101325*'MPa'; GV.Fout_ra.T = (480 + 273.15)*'K'; # GV.EF_GV = 0.8; GV.Q_GV = 360 * 'MJ/s'; # POT_TURB = 100 * 'MW'; TAP1.EF_T = 0.8; TAP1.Fout.P = 35 * 0.101325*'MPa'; TAP1.y = 0.035; TAP2.Fout.P = 29 * 0.101325*'MPa'; # TAP2.Fout.T = (345 + 273.15) * 'K'; # TAP2.EF_T = 0.8; TMP1.Fout.P = 26 * 0.101325*'MPa'; TMP1.y = 0.035; TMP2.Fout.P = 23 * 0.101325*'MPa'; TMP2.y = 0.036; TMP3.Fout.P = 20 * 0.101325*'MPa'; TMP3.y = 0.037; TMP4.Fout.P = 15 * 0.101325*'MPa'; TBP1.Fout.P = 8 * 0.101325*'MPa'; TBP1.y = 0.03; TBP2.Fout.P = 0.2 * 0.101325*'MPa'; TANQUE.Fout.P = 20 * 0.101325*'MPa'; # COND.Fout.T = (34 + 273.15)* 'K'; # COND.Q_COND = 125 * 'MJ/s'; COND.G_S = 0*'K'; BBP.EF_B = 0.95; # BBP.POT_BMB = 2 * 0.105 * 'MW'; # duas bombas BBP.Fout.P = 10 * 0.101325*'MPa'; BAP.EF_B = 0.95; # BAP.POT_BMB = 2 * 6.84 * 'MW'; # duas bombas BAP.Fout.P = 130 * 0.101325*'MPa'; RAP1.G_S = 0*'K'; RAP2.G_S = 0*'K'; RBP1.G_S = 0*'K'; RBP2.G_S = 0*'K'; # TR_AP1.DP = 5 * 0.101325 * 'MPa'; # TR_AP2.DP = 5 * 0.101325 * 'MPa'; # TR_BP1.DP = 2 * 0.101325 * 'MPa'; # TR_BP2.DP = 2 * 0.101325 * 'MPa'; TR_AP1.Fout.P = 125 * 0.101325*'MPa'; TR_AP2.Fout.P = 120 * 0.101325*'MPa'; # TR_AP2.Fout.T = (197 + 273.15) * 'K'; TR_BP1.Fout.P = 8 * 0.101325*'MPa'; TR_BP2.Fout.P = 6 * 0.101325*'MPa'; TORRE.Th = (35 + 273.15)*'K'; # TORRE.Tc = (26 + 273.15) * 'K'; TORRE.Tar_c = (20 + 273.15)*'K'; TORRE.DTar = 10*'K'; TORRE.F = 7000*'kg/s'; OPTIONS # GuessFile = "USINA"; Dynamic = false; end # Somente a caldeira FlowSheet Caldeira DEVICES GV as Gerador_Vapor; FEED as Corrente; F_RA as Corrente; PARAMETERS propterm as Plugin(Brief="Steam tables", Type="water", File="propterm"); CONNECTIONS FEED to GV.Fin_a; F_RA to GV.Fin_ra; EQUATIONS [FEED.S,FEED.H] = propterm.propPTl(FEED.P,FEED.T); GV.Feco.F = GV.Fin_a.F; GV.Fin_ra.T = GV.Fout_ra.T-180*'K'; GV.Fin_ra.P = GV.Fout_ra.P+1*'MPa'; [GV.Fin_ra.S,GV.Fin_ra.H] = propterm.propPTv(GV.Fin_ra.P,GV.Fin_ra.T); SPECIFY FEED.F = 357/3.6 * 'kg/s'; FEED.P = 134 * 0.101325 * 'MPa'; FEED.T = (197 + 273.15) * 'K'; GV.Feco.P = 130 * 0.101325 * 'MPa'; GV.Feco.T = (314 + 273.15) * 'K'; GV.Fvap.P = 126 * 0.101325 * 'MPa'; GV.Fvap.T = (400 + 273.15) * 'K'; GV.Fout_sa.P = 121 * 0.101325 * 'MPa'; GV.Fout_sa.T = (525 + 273.15) * 'K'; GV.Fin_ra.F = 344/3.6 * 'kg/s'; GV.Fout_ra.P = 28 * 0.101325 * 'MPa'; GV.Fout_ra.T = (526 + 273.15) * 'K'; GV.EF_GV = 0.8; # GV.Q_GV = 230 * 'MJ/s'; OPTIONS Dynamic = false; end