# $Id: hen-10sp1.in 2 2004-04-17 20:20:23Z ucecesf $ # # This input file is for solving the well known 10sp1 heat exchanger # network synthesis problem. One reference to it can be obtained in: # # Lewin, D R (1998). "A generalized method for HEN synthesis using # stochastic optimization -- II. The synthesis of cost-optimal # networks," Computers & Chemical Engineering 22(10) 1387-1405. # # It is a useful case study in that it severely penalizes the number # of units and is different, therefore from the other case studies. # # Copyright (c) 2001-2002, Eric S Fraga, All rights reserved. # ----------------------------------------------------------------- # # Make it easy to reference object types by specifying the base # package here: # use jacaranda.design # # the main input is the HEN synthesis problem definition which # consists of five cold and five hot streams. The definition of each # stream consists of the following information: # # htr task Tin Tout duty U # # where type is either "cool" or "heat" (you wish to cool hot streams # and heat cold streams). I prefer using this terminology as cold and # hot are relative terms and often the hot streams are colder than the # cold ones! The point is that the problem is one of cooling and # heating. U is the heat transfer coefficient in kW/K/m^2. # hen.HEN 10sp1hen # first specify the hot streams, streams which need cooling htr H1 cool "433" "366" " 8.79*(433-366)*kW" "5.75*kW/K/m^2" htr H2 cool "522" "411" "10.55*(522-411)*kW" "5.75*kW/K/m^2" htr H3 cool "544" "422" "12.56*(544-422)*kW" "5.75*kW/K/m^2" htr H4 cool "500" "339" "14.77*(500-339)*kW" "5.75*kW/K/m^2" htr H5 cool "472" "339" "17.73*(472-339)*kW" "5.75*kW/K/m^2" # and now the cold streams, those that need heating. htr C1 heat "355" "450" "17.28*(450-355)*kW" "1.47*kW/K/m^2" htr C2 heat "366" "478" "13.90*(478-366)*kW" "1.47*kW/K/m^2" htr C3 heat "311" "494" " 8.44*(494-311)*kW" "1.47*kW/K/m^2" htr C4 heat "333" "433" " 7.62*(433-333)*kW" "1.47*kW/K/m^2" htr C5 heat "389" "495" " 6.08*(495-389)*kW" "1.47*kW/K/m^2" end # # we also need to define the utilities that are available. The format # of this input is: # # type description Tin Tout TransferCoefficient Cost in $/J # # For this problem, we have only two utilities: steam for heating and # water for cooling. The steam exhibits no temperature change # (available heat is latent) whereas the water will go up # significantly. ps.DiscreteUtilities utilities hot "Steam" "509" "509" "5.0 *kW/K/m^2" "37.64/kW/(hpy*3600)" cold "Water" "311" "355" "1.0 *kW/K/m^2" "18.12/kW/(hpy*3600)" end # # The optimization criterion is the annualized cost, with capital cost # amortized over a period of a single year. This penalizes the use of # large numbers of units. The arguments to the criterion command are: # # criterion name operation expression units minimum format # ps.Criteria annualized criterion OneYear sum "opercost+capcost" "$/yr" 0.0 "#,##0" end # # We now define the base heat exhanger model for utility exchange. The # main input is the actual cost correlation to use for capital # costs. The operating costs come from the utilities used, as defined # above. # ps.HeatExchanger hex model deltain = abs(T1in-T2out) deltaout = abs(T1out-T2in) lmtd = (deltain - deltaout)/log(deltain/deltaout) A = Q/U/lmtd opercost = Cu*Q*hr*hpy capcost = 145.63 * A^0.6 end end # # tell the system the settings defined above. In particular, the # criterion for optimization, the heat exchanger, and the list of # utilities must be specified. # ps.Data data criteria annualized # ranking criterion hex hex # heat exchanger model utils utilities # utilities for other heating/cooling print end # # Finally, we can bring up the graphical display which will allow us # to investigate the different HEN options. The input to this object # is the HEN object (defined above) which has the definition of the # hot and cold streams. The utilities etc are automatically retrieved # from the global data object defined immediately above. Finally, the # default height and width of the display panel is changed to ensure a # reasonable discretization for this problem. In particular, you will # see that the two streams C3 and H3 are very close in duty amounts # and smaller panel widths will lead to these being treated as # identical in size. Of course, for early design, this may not be a # problem. However, the user is able to control the size of the panel, # and hence the level of discretization, easily. # visual.QDeltaT 10sp1 # the problem is defined by the heating and cooling requests in the # HEN object defined earlier. hen 10sp1hen # we now present the graphical view of the problem. This is the # basis for both user interaction and for optimization. width 800 height 600 view # having created the graphical view, we can now request an # optimization. the progress of the optimization will be shown # graphically! to enable this, uncomment the following line. The # line is commented out because, on slow systems, this can take an # appreciable amount of time and the optimization option is # available on the menu in any case. ### optimize end