/[ascend]/trunk/models/johnpye/condenser.a4c
ViewVC logotype

Diff of /trunk/models/johnpye/condenser.a4c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 260 by johnpye, Thu Feb 2 15:28:05 2006 UTC revision 261 by johnpye, Thu Feb 2 16:15:32 2006 UTC
# Line 4  REQUIRE "johnpye/iapws95.a4c"; Line 4  REQUIRE "johnpye/iapws95.a4c";
4    
5  MODEL condenser_lmtd(  MODEL condenser_lmtd(
6      S_in WILL_BE thermo_state;      S_in WILL_BE thermo_state;
7        S_out WILL_BE thermo_state;
8    );
9        T_h1 ALIASES S_in.T;
10        T_h2 ALIASES S_out.T;
11    
12        mdot_in IS_A mass_rate;
13    
14        T_c1 IS_A temperature; (* cold inlet *)
15        T_c2 IS_A temperature; (* cold outlet *)
16    
17        LMTD IS_A delta_temperature;
18    
19        DT_1, DT_2 IS_A delta_temperature;
20        
21        DT_1 = T_h1 - T_c2;
22        DT_2 = T_h2 - T_c1;
23    
24        lmtd: LMTD = (DT_1 - DT_2) / ln(DT_1/DT_2);
25    
26        UA IS_A ua_value;
27        q IS_A energy_rate;
28    
29        q = UA * LMTD;
30    
31        q = mdot_in * (S_in.h - S_out.h);
32    
33        S_out.p = S_in.p;
34    
35    METHODS
36    METHOD specify;
37        FIX UA;
38        FIX T_c1;
39        FIX mdot_in;
40    END specify;
41    METHOD values;
42        UA := 1000 {W/m^2/K} * 4 {m} * 900 * 2*3.1415926* (0.01 {m})/2;
43        T_c1 := 273.15{K} + 200 {K};
44        mdot_in := 1 {kg/s};
45        (* free values *)
46        T_c2 := 273.15{K} + 240 {K};
47    END values;
48    METHOD bound_self;
49        DT_1.lower_bound := 0{K};
50        DT_2.lower_bound := 0{K};
51    END bound_self;
52    END condenser_lmtd;
53    
54    (*--------------------------*)
55    
56    (* test model for the above *)
57    MODEL condenser_lmtd_test;
58        S1 IS_A iapws95_1phase;
59        S2 IS_A iapws95_1phase;
60    
61        T_in ALIASES S1.T;
62        p_in ALIASES S1.p;
63    
64        C IS_A condenser_lmtd(S1,S2);
65    
66        q ALIASES C.q;
67    
68    METHODS
69    METHOD default_self;    
70        RUN reset; RUN values; RUN bound_self;
71    END default_self;
72    METHOD specify;
73        RUN C.specify;
74        FIX T_in;
75        FIX p_in;
76        FIX q;  
77    END specify;
78    METHOD values;
79        RUN C.values;
80        T_in := 273.15{K} + 280 {K};
81        p_in := 1{bar};
82        q := 4.2{kJ/s};
83    END values;
84    METHOD bound_self;
85        RUN C.bound_self;
86    END bound_self;
87    END condenser_lmtd_test;
88        
89    
90    (*--------------------------*)
91    MODEL condenser_lmtd_sat(
92        S_in WILL_BE thermo_state;
93        S_out WILL_BE thermo_state;
94  );  );
95      T_in ALIASES S_in.T;      T_in ALIASES S_in.T;
96    
# Line 29  MODEL condenser_lmtd( Line 116  MODEL condenser_lmtd(
116      q_fg = UA_fg * LMTD_fg;      q_fg = UA_fg * LMTD_fg;
117    
118      (* condensation point *)      (* condensation point *)
119      Sf IS_A iapws95_1phase;      Sf ALIASES S_out;
120    
121      sat IS_A iapws_sat_density;      sat IS_A iapws_sat_density;
122      sat.rhof, Sf.rho ARE_THE_SAME;      sat.rhof = Sf.rho;
123      sat.T, Sf.T ARE_THE_SAME;      sat.T = Sf.T;
124    
125      S_in.T = Sf.T;      S_in.T = Sf.T;
126    
# Line 46  END specify; Line 134  END specify;
134  METHOD values;  METHOD values;
135      UA_fg := 4000 {W/m^2/K} * 4 {m} * 900 * 2*3.1415926* (0.01 {m})/2;      UA_fg := 4000 {W/m^2/K} * 4 {m} * 900 * 2*3.1415926* (0.01 {m})/2;
136      T_c1 := 273.15{K} + 200 {K};      T_c1 := 273.15{K} + 200 {K};
137      mdot_in := 1 {kg/s};      mdot_in := 10 {kg/s};
138      (* free values *)      (* free values *)
139      T_c2 := 273.15{K} + 240 {K};          T_c2 := 273.15{K} + 240 {K};
140  END values;  END values;
141  METHOD bound_self;  METHOD bound_self;
142      Sf.tau.lower_bound := 1;      Sf.tau.lower_bound := 1;
143      DT_c_fg.lower_bound := 0{K};      DT_c_fg.lower_bound := 0{K};
144      DT_1.lower_bound := 0{K};      DT_1.lower_bound := 0{K};
145      DT_2.lower_bound := 0{K};      DT_2.lower_bound := 0{K};
146        Sf.rho.lower_bound := Sf.rhoc;
147  END bound_self;  END bound_self;
148  END condenser_lmtd;  END condenser_lmtd_sat;
149    
150    (*------------------------------*)
151    
152  MODEL condenser_lmtd_sat_input;  MODEL condenser_lmtd_sat_test;
153      Sg IS_A iapws95_1phase;      Sg IS_A iapws95_1phase;
154        Sf IS_A iapws95_1phase;
155    
156      sat IS_A iapws_sat_density;      sat IS_A iapws_sat_density;
157      sat.rhog, Sg.rho ARE_THE_SAME;      sat.rhog, Sg.rho ARE_THE_SAME;
158      sat.T, Sg.T ARE_THE_SAME;      sat.T, Sg.T ARE_THE_SAME;
159      T_in ALIASES Sg.T;      T_in ALIASES Sg.T;
160    
161      C IS_A condenser_lmtd(Sg);      C IS_A condenser_lmtd_sat(Sg,Sf);
162    
163  METHODS  METHODS
164  METHOD default_self;      METHOD default_self;    
# Line 81  METHOD values; Line 174  METHOD values;
174  END values;  END values;
175  METHOD bound_self;  METHOD bound_self;
176      RUN C.bound_self;      RUN C.bound_self;
     C.Sf.rho.lower_bound := C.Sf.rhoc;  
177  END bound_self;  END bound_self;
178    METHOD self_test;
179        ASSERT (C.q_fg - 15430{kW}) <  1{kW};
180    END self_test;
181    END condenser_lmtd_sat_test;
182    
183  END condenser_lmtd_sat_input;  (*-----------------------------*)
184    
185  MODEL condenser;  MODEL condenser;
186      (* assumptions:      (* assumptions:
# Line 130  METHOD specify; Line 226  METHOD specify;
226      FIX h_out;      FIX h_out;
227  END specify;  END specify;
228  METHOD values;  METHOD values;
229      mdot_gas_in := 10 {kg/s};      mdot_gas_in := 1 {kg/s};
230      S_in.p := 5 {bar};      S_in.p := 5 {bar};
231      S_in.T := 473.15 {K};      S_in.T := 473.15 {K};
232      h_out := 400{kJ/kg};      h_out := 400{kJ/kg};
233  END values;  END values;
   
234  END condenser;  END condenser;

Legend:
Removed from v.260  
changed lines
  Added in v.261

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22