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

Contents of /trunk/models/johnpye/pump.a4c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 186 - (show annotations) (download) (as text)
Fri Jan 13 03:36:44 2006 UTC (19 years ago) by johnpye
File MIME type: text/x-ascend
File size: 1978 byte(s)
Modularising the 'loop' components in my steam system test case.
Changing some models to use the new 'FIX varlist' syntax (bug 204)
1 REQUIRE "clfr-models/thermo_types.a4c";
2 REQUIRE "atoms.a4l";
3
4 MODEL pump;
5 (* Ignore and changes in enthalpy, just model pressure changes *)
6
7 S1, S2
8 in WILL_BE steam_stream;
9 out WILL_BE steam_stream;
10 )WHERE(
11 in.cd, out.cd WILL_BE_THE_SAME;
12 in.pd, out.pd WILL_BE_THE_SAME;
13 in.flow, out.flow WILL_BE_THE_SAME;
14 in.f[in.components], out.f[out.components] WILL_BE_THE_SAME;
15 );
16 isen IS_A stream(in.cd, in.pd, in.equilibrated);
17
18 isen.f[in.components] = in.f[out.components];
19 isen.flow = in.flow;
20
21 H_max IS_A distance;
22 H_2 IS_A distance;
23 H_1 IS_A distance;
24 Q_ref IS_A volume_rate;
25 Q_2 IS_A volume_rate;
26 Q_1 IS_A volume_rate;
27 N IS_A frequency;
28 N_ref IS_A frequency;
29 N_r IS_A factor;
30
31 C_0 IS_A factor;
32 C_1 IS_A factor;
33 C_2 IS_A factor;
34 eta IS_A factor;
35
36 V IS_A volume;
37
38 M IS_A mass;
39 DP IS_A pressure;
40
41 h_is IS_A specific_enthalpy;
42 T_is IS_A temperature;
43 rho_is IS_A mass_density;
44
45 (* Pump curve, pressure decreases as flow rate increases *)
46 VolFlowRate: Q_2 / in.V_flow = in.flow;
47 VolFlowRate1: Q_1 = Q_2 / N_r; (* vol flow rate at equivalent conditions at reference speed *)
48 Head1: H_1 = C_0 + C_1*Q_1 + C_2*Q_1^2; (* head at equivalent conditions' speed. C0, C1, C2 are pump curve params (const) *)
49 Head2: H_2 = H_1 * N_r; (* head in metres at actual speed *)
50
51 PressureRise: DP = (in.rho * gravity_constant * H_2);
52 PressureRise2: out.p = (in.P + DP);
53
54 MassHoldUp: M = V / (0.5*(1/in.rho + 1/out.rho));
55
56 (* Isentropic exit state *)
57 isen.S = in.S;
58 isen.P = out.P;
59
60 (* Pump efficiency *)
61 out.h - in.h = (in.h - isen.h)/eta;
62
63 END pump;
64
65 MODEL pump_test;
66 cd IS_A components_data(['water'], 'water');
67 pd IS_A phases_data('V', 'Pitzer_vapor_mixture','none', 'none');
68 equilibrated IS_A boolean;
69
70 S1 IS_A stream(cd, pd, equilibrated);
71 S2 IS_A stream(cd, pd, equilibrated);
72
73 PU IS_A pump(S1,S2);
74
75 METHODS
76 METHOD ClearAll;
77 END ClearAll;
78
79 METHOD specify;
80 END specify;
81
82 METHOD values;
83 END values;
84
85 END pump_test;

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