/[ascend]/trunk/models/kchittur/eos-rk.a4c
ViewVC logotype

Diff of /trunk/models/kchittur/eos-rk.a4c

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

revision 1476 by kchittur, Mon Jun 4 16:44:46 2007 UTC revision 1805 by jpye, Mon Jul 21 08:48:03 2008 UTC
# Line 4  IMPORT "johnpye/extpy/extpy"; Line 4  IMPORT "johnpye/extpy/extpy";
4  IMPORT "kchittur/zplot";  IMPORT "kchittur/zplot";
5    
6  MODEL rk(P WILL_BE pressure;  MODEL rk(P WILL_BE pressure;
7  T WILL_BE temperature;      T WILL_BE temperature;
8  V WILL_BE molar_volume;      V WILL_BE molar_volume;
9  Z WILL_BE factor;      Z WILL_BE factor;
10  data WILL_BE td_component_constants;);      data WILL_BE td_component_constants;);
11    
12  R IS_A gas_constant;      R IS_A gas_constant;
13  Pc IS_A pressure;      Pc IS_A pressure;
14  Tc IS_A temperature;      Tc IS_A temperature;
15  T_degC IS_A factor;      T_degC IS_A factor;
16  alpha, beta, q,Tr, Pr, omega IS_A factor;      alpha, beta, q,Tr, Pr, omega IS_A factor;
17    
18  PSI, OMEGA, sigma, eps IS_A real_constant;      PSI, OMEGA, sigma, eps IS_A real_constant;
19    
20  PSI :== 0.42748;      PSI :== 0.42748;
21  OMEGA :== 0.08664;      OMEGA :== 0.08664;
22  sigma :== 1.0;      sigma :== 1.0;
23  eps :== 0.0;      eps :== 0.0;
24    
25  Pc = data.Pc;      Pc = data.Pc;
26  Tc = data.Tc;      Tc = data.Tc;
27  omega = data.omega;      omega = data.omega;
28    
29  eq1: Tr = T/Tc;      eq1: Tr = T/Tc;
30  eq2: Pr = P/Pc;      eq2: Pr = P/Pc;
31  eq3: T_degC = T/1{K} - 273.15;      eq3: T_degC = T/1{K} - 273.15;
32    
33  eq4: alpha = Tr^(0.5);      eq4: alpha = Tr^(0.5);
34  eq5: q = PSI*alpha/(OMEGA*Tr);      eq5: q = PSI*alpha/(OMEGA*Tr);
35  eq6: beta = OMEGA*Pr/Tr;      eq6: beta = OMEGA*Pr/Tr;
36  eq7: Z = 1.0 + beta - q*beta*(Z - beta)/((Z + eps*beta)*(Z + sigma*beta));      eq7: Z = 1.0 + beta - q*beta*(Z - beta)/((Z + eps*beta)*(Z + sigma*beta));
37  eq8: P*V = Z*R*T;      eq8: P*V = Z*R*T;
38  METHODS  METHODS
39      METHOD default_self;      METHOD default_self;
40      RUN ClearAll;          RUN ClearAll;
41      RUN specify;          RUN specify;
42      RUN values;          RUN values;
43      END default_self;      END default_self;
44          METHOD specify;      METHOD specify;
45          P.fixed := TRUE;          P.fixed := TRUE;
46          T_degC.fixed := FALSE;          T_degC.fixed := FALSE;
47          T.fixed := TRUE;          T.fixed := TRUE;
48          END specify;      END specify;
49          METHOD values;      METHOD values;
50          P := 12.0 {bar};          P := 12.0 {bar};
51          T := 298.15 {K};          T := 298.15 {K};
52          Z.lower_bound := 0.0;          Z.lower_bound := 0.0;
53          Z.upper_bound := 10.0;          Z.upper_bound := 10.0;
54          Z.nominal := 1.0;          Z.nominal := 1.0;
55          END values;      END values;
   
56  END rk;  END rk;
57    
58  MODEL testrk;  MODEL testrk;
59        c1 IS_A symbol_constant;
60        c1 :== 'ethylene';
61        cd IS_A components_data([c1],c1);
62        Tr, Pr IS_A factor;
63        P IS_A pressure;
64        T IS_A temperature;
65        V IS_A molar_volume;
66        Z IS_A factor;
67        trk IS_A rk(P,T,V,Z,cd.data[c1]);
68    
69  c1 IS_A symbol_constant;      eqTr: Tr = T/cd.data[c1].Tc;
70  c1 :== 'ethylene';      eqPr: Pr = P/cd.data[c1].Pc;
 cd IS_A components_data([c1],c1);  
 Tr, Pr IS_A factor;  
 P IS_A pressure;  
 T IS_A temperature;  
 V IS_A molar_volume;  
 Z IS_A factor;  
 trk IS_A rk(P,T,V,Z,cd.data[c1]);  
   
 eqTr: Tr = T/cd.data[c1].Tc;  
 eqPr: Pr = P/cd.data[c1].Pc;  
71    
72  METHODS  METHODS
73      METHOD default_self;      METHOD default_self;
74      RUN ClearAll;          RUN ClearAll;
75      RUN specify;          RUN specify;
76      RUN values;          RUN values;
77      END default_self;      END default_self;
78    
79      METHOD specify;      METHOD specify;
80      P.fixed := TRUE;          P.fixed := TRUE;
81      V.fixed := FALSE;          V.fixed := FALSE;
82      Z.fixed := FALSE;            Z.fixed := FALSE;  
83      T.fixed := TRUE;          T.fixed := TRUE;
84      RUN trk.specify;          RUN trk.specify;
85      END specify;      END specify;
86      METHOD values;      METHOD values;
87      P := 12.0 {bar};          P := 12.0 {bar};
88      T := 298.15 {K};          T := 298.15 {K};
89      RUN trk.values;          RUN trk.values;
90      END values;      END values;
91    
92      METHOD on_load;      METHOD on_load;
93      RUN default_self;          RUN default_self;
94      END on_load;      END on_load;
95    
96      METHOD fancyplot;      METHOD fancyplot;
97      EXTERNAL zplot(SELF);          EXTERNAL zplot(SELF);
98      END fancyplot;      END fancyplot;
99    
100  END testrk;  END testrk;

Legend:
Removed from v.1476  
changed lines
  Added in v.1805

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