source: branches/gui/eml/costs/HeatExchangerDetailed_cost.mso @ 577

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

Adding the cost models in the EML.

File size: 4.6 KB
Line 
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* Author: Núbia do Carmo Ferreira
17* $Id: HeatExchangerDetailed.mso 197 2007-03-08 14:31:57Z bicca $
18*------------------------------------------------------------------*#
19
20using "heat_exchangers/HeatExchangerDetailed";
21
22Model  ShellandTubes_NTU_cost as ShellandTubes_NTU
23        ATTRIBUTES
24        Pallete = true;
25        Icon    = "icon/ShellandTubes_NTU";     
26        Brief  = "Shell and Tubes Heat Exchangers";
27        Info  =
28        "to be documented";
29
30        PARAMETERS
31        Material as Switcher (Valid = ["Stainless steel 316", "Stainless steel 304", "Stainless steel 347", "Nickel 200", "Monel 400", "Inconel 600", "Incoloy 825", "Titanium", "Hastelloy"],
32                        Default = "Stainless steel 316");
33        Cost(8,3) as Real;
34
35        VARIABLES
36        Ce as currency          (Brief="Capital Cost");
37        Cb as currency          (Brief="Basic Cost");
38        Fd as positive          (Brief="Cost Factor based on the type of the heat exchanger");
39        Fp as positive          (Brief="Cost Factor based on the project pressure");
40        Fm as positive          (Brief="Cost Factor based on the construction material");
41        Pmax  as pressure       (Brief="Average  Pressure");
42
43        EQUATIONS
44        "Average pressure"
45        Pmax = max( [Tubes.Properties.Average.P , Shell.Properties.Average.P] );
46               
47        "Capital Cost"
48        Ce = Cb*Fd*Fp*Fm;
49       
50        "Basic Cost"
51        Cb = 'US$'*exp(Cost(1,1) + Cost(1,2)*ln(Details.A/'m^2') + Cost(1,3)*(ln(Details.A/'m^2'))^2);
52
53        "Cost Factor based on the type of the heat exchanger"
54        Fd = exp(Cost(2,1) + Cost(2,2)*ln(Details.A/'m^2') + Cost(2,3)*ln(Details.A/'m^2'));
55
56        if Pmax <= 700 * 'kPa' then
57                "Cost Factor based on the project pressure" # verificar
58                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
59        else if 700 * 'kPa' < Pmax and Pmax < 2100 * 'kPa' then
60                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
61        else if 2100 * 'kPa' < Pmax and Pmax < 4200 * 'kPa' then
62                Fp = Cost(6,1) + Cost(6,2)*ln(Details.A/'m^2');
63        else if 4200 * 'kPa' < Pmax and Pmax < 6200 * 'kPa' then
64                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2');
65        else
66                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2'); # verificar
67        end
68        end
69        end
70        end
71       
72        "Cost Factor based on the construction material"
73        Fm = Cost(8,1) + Cost(8,2)*ln(Details.A/'m^2');
74       
75end
76
77
78Model ShellandTubes_LMTD_cost as ShellandTubes_LMTD
79        ATTRIBUTES
80        Pallete = true;
81        Icon    = "icon/ShellandTubes_LMTD";   
82        Brief  = "Shell and Tubes Heat Exchangers";
83        Info  =
84        "to be documented.";
85
86        PARAMETERS
87        Material as Switcher (Valid = ["Stainless steel 316", "Stainless steel 304", "Stainless steel 347", "Nickel 200", "Monel 400", "Inconel 600", "Incoloy 825", "Titanium", "Hastelloy"],
88                        Default = "Stainless steel 316");
89        Cost(8,3) as Real;
90
91        VARIABLES
92        Ce as currency          (Brief="Capital Cost");
93        Cb as currency          (Brief="Basic Cost");
94        Fd as positive          (Brief="Cost Factor based on the type of the heat exchanger");
95        Fp as positive          (Brief="Cost Factor based on the project pressure");
96        Fm as positive          (Brief="Cost Factor based on the construction material");
97        Pmax  as pressure       (Brief="Average  Pressure");
98
99        EQUATIONS
100        "Average pressure"
101        Pmax = max( [Tubes.Properties.Average.P , Shell.Properties.Average.P] );
102               
103        "Capital Cost"
104        Ce = Cb*Fd*Fp*Fm;
105       
106        "Basic Cost"
107        Cb = 'US$'*exp(Cost(1,1) + Cost(1,2)*ln(Details.A/'m^2') + Cost(1,3)*(ln(Details.A/'m^2'))^2);
108
109        "Cost Factor based on the type of the heat exchanger"
110        Fd = exp(Cost(2,1) + Cost(2,2)*ln(Details.A/'m^2') + Cost(2,3)*ln(Details.A/'m^2'));
111
112        if Pmax <= 700 * 'kPa' then
113                "Cost Factor based on the project pressure" # verificar
114                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
115        else if 700 * 'kPa' < Pmax and Pmax < 2100 * 'kPa' then
116                Fp = Cost(5,1) + Cost(5,2)*ln(Details.A/'m^2');
117        else if 2100 * 'kPa' < Pmax and Pmax < 4200 * 'kPa' then
118                Fp = Cost(6,1) + Cost(6,2)*ln(Details.A/'m^2');
119        else if 4200 * 'kPa' < Pmax and Pmax < 6200 * 'kPa' then
120                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2');
121        else
122                Fp = Cost(7,1) + Cost(7,2)*ln(Details.A/'m^2'); # verificar
123        end
124        end
125        end
126        end
127       
128        "Cost Factor based on the construction material"
129        Fm = Cost(8,1) + Cost(8,2)*ln(Details.A/'m^2');
130       
131end
Note: See TracBrowser for help on using the repository browser.