/[ascend]/trunk/models/simple_fs_ext.a4c
ViewVC logotype

Annotation of /trunk/models/simple_fs_ext.a4c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations) (download) (as text)
Fri Oct 29 20:54:12 2004 UTC (19 years, 11 months ago) by aw0a
File MIME type: text/x-ascend
File size: 3546 byte(s)
Setting up web subdirectory in repository
1 aw0a 1 REQUIRE "simple_fs.a4c";
2     (* => simple_fs.a4c, atoms.a4l, measures.a4l, system.a4l, basemodel.a4l *)
3     PROVIDE "simple_fs_ext.a4c";
4     (*
5     * This file is part of the ASCEND Modeling Library and is released
6     * under the GNU Public License as described at the end of this file.
7     *
8     * Use of this module is demonstrated by the associated script file
9     * simple_fs_cost.a4s.
10     *)
11    
12     UNIVERSAL MODEL stream_parameters;
13    
14     components IS_A set OF symbol_constant;
15     MW[components] IS_A molar_weight_constant;
16     SpGr[components] IS_A factor_constant;
17    
18     END stream_parameters;
19    
20    
21     MODEL mod_mixture REFINES mixture;
22    
23     sp IS_A stream_parameters;
24     MW_ave IS_A molar_mass;
25     SpGr_ave IS_A factor;
26    
27     sp.components,
28     components ARE_THE_SAME;
29    
30     yw[components],
31     yv_liq[components] IS_A fraction;
32    
33    
34     sp.MW['A'] :== 50{g/mol};
35     sp.MW['B'] :== 120{g/mol};
36     sp.MW['C'] :== 120{g/mol};
37    
38     sp.SpGr['A'] :== 0.8;
39     sp.SpGr['B'] :== 0.8;
40     sp.SpGr['C'] :== 0.8;
41    
42     FOR i IN components CREATE
43     yw_def[i]: yw[i]*MW_ave = y[i]*sp.MW[i];
44     END FOR;
45    
46     FOR i IN components CREATE
47     yv_liq_def[i]: yv_liq[i]*sp.SpGr[i] = yw[i]*SpGr_ave;
48     END FOR;
49    
50     sum_yw: SUM[yw[components]] = 1.0;
51     sum_yv_liq: SUM[yv_liq[components]] = 1.0;
52    
53    
54     METHODS
55    
56     METHOD clear;
57     y[components].fixed := FALSE;
58     yw[components].fixed := FALSE;
59     yv_liq[components].fixed := FALSE;
60     MW_ave.fixed := FALSE;
61     SpGr_ave.fixed := FALSE;
62     END clear;
63    
64     METHOD specify;
65     y[components].fixed := TRUE;
66     y[CHOICE[components]].fixed := FALSE;
67     END specify;
68    
69     END mod_mixture;
70    
71    
72     MODEL mod_stream REFINES molar_stream;
73    
74     Wtot,w[components] IS_A mass_rate;
75     Vtot_liq,v_liq[components] IS_A volume_rate;
76    
77     state IS_REFINED_TO mod_mixture;
78     state.components,
79     components ARE_THE_SAME;
80    
81     Wtot_def: Wtot = Ftot*state.MW_ave;
82     Vtot_liq_def: Vtot_liq = Wtot/state.SpGr_ave;
83    
84     FOR i IN components CREATE
85     w_def[i]: w[i] = state.yw[i]*Wtot;
86     END FOR;
87    
88     FOR i IN components CREATE
89     v_liq_def[i]: v_liq[i] = state.yv_liq[i]*Vtot_liq;
90     END FOR;
91    
92     METHODS
93    
94     METHOD clear;
95    
96     RUN state.clear;
97     Ftot.fixed := FALSE;
98     f[components].fixed := FALSE;
99     Wtot.fixed := FALSE;
100     w[components].fixed := FALSE;
101     Vtot_liq.fixed := FALSE;
102     v_liq[components].fixed := FALSE;
103     Wtot.fixed := FALSE;
104    
105     END clear;
106    
107     METHOD specify;
108     f[components].fixed := TRUE;
109     END specify;
110    
111     END mod_stream;
112    
113    
114     (*
115     * simple_fs_ext.a4c
116     * by Arthur W. Westerberg
117     * Part of the ASCEND Library
118     * $Date: 1998/06/17 19:43:48 $
119     * $Revision: 1.2 $
120     * $Author: mthomas $
121     * $Source: /afs/cs.cmu.edu/project/ascend/Repository/models/simple_fs_ext.a4c,v $
122     *
123     * This file is part of the ASCEND Modeling Library.
124     *
125     * Copyright (C) 1994-1998 Carnegie Mellon University
126     *
127     * The ASCEND Modeling Library is free software; you can redistribute
128     * it and/or modify it under the terms of the GNU General Public
129     * License as published by the Free Software Foundation; either
130     * version 2 of the License, or (at your option) any later version.
131     *
132     * The ASCEND Modeling Library is distributed in hope that it will be
133     * useful, but WITHOUT ANY WARRANTY; without even the implied
134     * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
135     * See the GNU General Public License for more details.
136     *
137     * You should have received a copy of the GNU General Public License
138     * along with the program; if not, write to the Free Software
139     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check
140     * the file named COPYING.
141     *)

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