source: branches/newlanguage/eml/heat_exchangers/Mheatex.mso @ 176

Last change on this file since 176 was 176, checked in by Argimiro Resende Secchi, 16 years ago

Fix some new language syntax.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.0 KB
RevLine 
[78]1#*-------------------------------------------------------------------
2* EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC.
3*
4* This LIBRARY is free software; you can distribute it and/or modify
5* it under the therms of the ALSOC FREE LICENSE as available at
6* http://www.enq.ufrgs.br/alsoc.
7*
8* EMSO Copyright (C) 2004 - 2007 ALSOC, original code
9* from http://www.rps.eng.br Copyright (C) 2002-2004.
10* All rights reserved.
11*
12* EMSO is distributed under the therms of the ALSOC LICENSE as
13* available at http://www.enq.ufrgs.br/alsoc.
14*
15*
16*---------------------------------------------------------------------
[26]17* Model of a Multistream Heat Exchanger
[1]18*
[26]19*       Streams:
[131]20*               * Hot Inlet streams ....        at least one Hot material stream
21*               * Cold Inlet streams ....       at least one Cold material stream
22*               * Hot Outlet streams  ....      one material stream for each Hot Inlet
23*               * Cold Outlet streams  ....     one material stream for each Cold Inlet
[1]24*
[26]25*       Purpose:
[131]26*               * Heat Transfer between multiple hot and cold streams.
[1]27*
28*----------------------------------------------------------------------
29* Author: Gerson Balbueno Bicca
30* $Id: Mheatex.mso 176 2007-03-04 04:56:54Z arge $
31*--------------------------------------------------------------------*#
[45]32
[164]33using "HEX_Engine.mso";
[1]34
35Model Mheatex
[135]36       
37ATTRIBUTES
[139]38        Pallete = true;
[135]39        Brief = "Multistream heat exchangers";
40        Info =
41        "Heat Transfer between multiple hot and cold streams";
42       
[1]43PARAMETERS
44
[176]45outer PP                                        as Plugin       (Brief="Physical Properties", Type="PP");
[144]46outer   NComp                           as Integer      (Brief="Number of Components");
47        FlowDirection                   as Switcher(Brief="Flow Direction",Valid=["counter","cocurrent"],Default="cocurrent");
48        Ncold                                           as Integer      (Brief="Number of Inlet Cold Streams",Lower=1);
49        Nhot                                            as Integer      (Brief="Number of Inlet Hot Streams",Lower=1);
[45]50       
[1]51VARIABLES
52
[164]53in      InletHot(Nhot)                  as stream               (Brief="Inlet Hot Streams");           
54out     OutletHot(Nhot)                 as streamPH     (Brief="Outlet Hot Streams");
55in      InletCold(Ncold)                as stream               (Brief="Inlet Cold Streams");           
56out     OutletCold(Ncold)       as streamPH     (Brief="Outlet Cold Streams");
[1]57
[164]58        Method  as LMTD_Basic   (Brief="Log Mean Temperature Difference Method");
59        Q               as power                        (Brief="Heat Transfer", Default=7000, Lower=1e-6, Upper=1e10);
60        UA              as Real                 (Brief="UA product",Unit='W/K',Lower=1e-8);
[131]61       
[1]62EQUATIONS
63
64"Hot Flow"
[164]65        OutletHot.F = InletHot.F;       
[1]66
67"Cold Flow"
[164]68        OutletCold.F = InletCold.F;
[1]69       
70"Hot Composition"
[164]71        OutletHot.z = InletHot.z;
[1]72       
73"Cold Composition"
[164]74        OutletCold.z = InletCold.z;
[1]75       
76"Heat Duty Hot Stream"
[164]77        Q =  sum(InletHot.F*(InletHot.h- OutletHot.h));
[1]78       
79"Heat Duty Cold Stream"
[164]80        Q = -sum(InletCold.F*(InletCold.h- OutletCold.h));
[1]81       
82"Heat Duty"
[168]83        Q = UA*Method.LMTD*Method.Fc;
[1]84
[144]85switch FlowDirection
[1]86       
[140]87case    "cocurrent":
88
[131]89"Temperature Difference at Inlet"
[164]90        Method.DT0 = max(InletHot.T) - min(InletCold.T);
[131]91
92"Temperature Difference at Outlet"
[164]93        Method.DTL = min(OutletHot.T) - max(OutletCold.T);
[131]94       
[140]95case "counter":
[1]96       
[131]97"Temperature Difference at Inlet"
[164]98        Method.DT0 = max(InletHot.T) - max(OutletCold.T);
[131]99
100"Temperature Difference at Outlet"
[164]101        Method.DTL = min(OutletHot.T) - min(InletCold.T);
[131]102       
[1]103end
104
105end
Note: See TracBrowser for help on using the repository browser.