ExampleScripts: hafke.mdl

File hafke.mdl, 6.3 KB (added by miha, 16 years ago)
Line 
1(define-module :class "Hafke_Reactor"
2  :super-classes ("module")
3  :documentation
4  "Ruehrkesselreaktor zur Oxidation von Ethanol zu Essigsaeure
5                  --- DIVA-Seminar-Version 1999 ohne Events---"
6        ;;================================================================
7  :variables
8  (
9         ;;================parameters==================================
10   ("NC"
11    :documentation "Anzahl der (C)Komponenten"
12    :system-theoretic "structure-parameter"
13    :value "4")
14         ;;
15   ("NR"
16    :documentation "Anzahl der Reaktionen"
17    :system-theoretic "structure-parameter"
18    :value "5")
19         ;;
20   ("NSUM"
21    :documentation "Upper index in the sum-reducer"
22    :system-theoretic "structure-parameter"
23    :value "3")
24         ;;
25   ("i"
26    :system-theoretic "index")
27         ;;
28   ("VR"
29    :documentation "Reaktorvolumen [m^3]"
30    :system-theoretic "real-parameter"
31    :value "2.9d-03" )
32   ("rho_cp"
33    :documentation "Therm. Speich. Reakt.-gem. und Kuehlmittel [kJ/(m^3 K)]"
34    :system-theoretic "real-parameter"
35    :value "4106.0"  )
36   ("Vk"
37    :documentation "Volumen Kuehlmantel  [m^3]"
38    :system-theoretic "real-parameter"
39    :value "1.0d-03" )
40   ("KWFK"
41    :documentation "Produkt aus Waermeuebergang und Flaeche"
42    :system-theoretic "real-parameter"
43    :value "0.14" )
44         ("Rgas"
45                :documentation "Allgemeine Gaskonstante [kJ/molK]"
46                :system-theoretic "real-parameter"
47                :value "0.8314d-02")
48         ("k0"
49                :documentation "Stossfaktoren der Reaktionsschritte"
50                :system-theoretic "real-parameter"
51                :indices ((:index "i" :lower "1" :upper "NR"))
52                :value   ("3.7d+13" "4.83d+14" "1.65d+10" "3.72d+05" "38333"))
53         ("E"
54                :documentation "Aktivierungsenergie der Teilreaktionen"
55                :system-theoretic "real-parameter"
56                :indices ((:index "i" :lower "1" :upper "NR"))
57                :value   ("105.5" "126.2" "88.33" "55.69" "45.04"))
58
59         ("DHR"
60                :documentation "Reaktionsenthalpie der Teilreaktionen 1-3"
61                :system-theoretic "real-parameter"
62                :indices ((:index "i" :lower "1" :upper "3"))
63                :value ("302.5" "385.9" "95.1"))
64
65         ("c_F_ges"
66                :documentation "Gesamteisenkonzentration [kg/m^3]"
67                :system-theoretic "real-parameter"
68                :value "6.54")
69         ;; die eigentlichen Eingangsgroessen werden hier als Parameter behandelt.
70         ("c_zu"
71                :documentation "Zulaufkonzentrationen [mol/m^3]"
72                :system-theoretic "real-parameter"
73                :indices ((:index "i" :lower "1" :upper "NC"))
74                :value ("3000.0" "0.0" "0.0" "6.54"))
75
76         ("Tzu"
77                :documentation "Zulauftemperatur Reaktionsgemisch [K]"
78                :system-theoretic "real-parameter"
79                :value "323.65")
80         ("Tkzu"
81                :documentation "Zulauftemperatur Kuehlmittel [K]"
82                :system-theoretic "real-parameter"
83                :value "314.0")
84         ("q"
85                :documentation "Zulaufstrom Reaktionsgemisch [m^3/s]"
86                :system-theoretic "real-parameter"
87                :value "1.84000d-06")
88         ("qknormal"
89                :documentation "Zulaufstrom Kuehlmittel [m^3/s]"
90                :system-theoretic "real-parameter"
91                :value "4.44d-05" )
92
93         ;;===============states=======================================
94         ("c_"
95                :documentation "Konzentration der Komponenten P E S F [mol/m^3]"
96                :is-a "variable"
97                :system-theoretic "state"
98                :indices ((:index "i" :lower "1" :upper "NC"))
99                :report "distributed"
100                :value "0.1"
101                :minimum "0.0"
102                :maximum "3000.0"
103                :absolute-error "1.0D-09")
104
105         ("Temp"
106                :documentation "Temperatur Reaktionsgemisch [K]"
107                :is-a "variable"
108                :system-theoretic "state"
109                :report "distributed"
110                :value "320.0"
111                :minimum "0.0"
112                :maximum "1000.0"
113                :absolute-error "1.0D-09")
114
115         ("Tk"
116                :documentation "Temperatur Kuehlmittel [K]"
117                :is-a "variable"
118                :system-theoretic "state"
119                :report "distributed"
120                :value "320.0"
121                :minimum "0.0"
122                :maximum "1000.0"
123                :absolute-error "1.0D-09")
124
125         ;;===============help variables===============================
126         ("qVR"
127                :documentation "Zeitkonstante q/VR"
128                :is-a "variable"
129                :system-theoretic "help"
130                :report "distributed"
131                :value "q/VR")
132
133         ("qVk"
134                :documentation "Zeitkonstante qk/Vk"
135                :is-a "variable"
136                :system-theoretic "help"
137                :report "distributed"
138                :value "qk/Vk")
139
140         ("qk"
141                :documentation "Kuehlmittelstrom mit nichtlinearer Kennlinie [m^3/s]"
142                :is-a "variable"
143                :system-theoretic "help"
144                :report "distributed"
145                :value "qknormal")
146
147         ("k_reak"
148                :documentation "Reaktionsgeschwindigkeitskoeffizienten"
149                :indices ((:index "i" :lower "1" :upper "NR"))
150                :is-a "variable"
151                :system-theoretic "help"
152                :report "distributed"
153                :value "k0[i]*:exp( -E[i]/(Rgas*Temp) )")
154
155         ("R_reak"
156                :documentation "Reaktionsgeschwindigkeit der Teilreaktion"
157                :indices ((:index "i" :lower "1" :upper "NR"))
158                :is-a "variable"
159                :system-theoretic "help"
160                :report "distributed"
161                :value "k_reak[i] * :cond(i==1, cP_cF,
162                             i==2, cP_cF * c_[2],
163                             i==3, cP_cF,
164                             i==4, c_[4] * :sqrt(c_[3]),
165                                   c_F_ges - c_[4])")
166
167         ("RCumsatz"
168                :documentation "Reaktionsumsaetze der Komponenten"
169                :indices ((:index "i" :lower "1" :upper "NC"))
170                :is-a "variable"
171                :system-theoretic "help"
172                :report "distributed"
173                :value ":cond(i==1, -R_reak[1] - R_reak[2] - R_reak[3],
174                 i==2,  R_reak[1] - R_reak[2],
175                 i==3,  R_reak[2],
176                       -R_reak[4] + R_reak[5]) ")
177
178         ("cP_cF"
179                :documentation "Produkt der Konz. P und F"
180                :is-a "variable"
181                :system-theoretic "help"
182                :report "distributed"
183                :value "c_[1]*c_[4]")
184
185         ("kappa"
186                :documentation "Waermedurchgangszahl [kJ/(K s)]"
187                :is-a "variable"
188                :system-theoretic "help"
189                :report "distributed"
190                :value "qk * rho_cp * ( 1 - :exp(-KWFK/(qk*rho_cp)) )")
191         )
192
193  :equations
194  (("KMB_Eq"
195    :documentation "Komponentenmaterialbilanzen. Falls kritisch = 1 ist,
196               wird nur noch Wasser eingeleitet, dh, c_zu wird nicht
197               beruecksichtigt"
198    :is-a "equation"
199    :indices ((:index "i" :lower "1" :upper "NC"))
200    :relation
201    ":diff<t> c_[i] == qVR * (c_zu[i] - c_[i]) + RCumsatz[i]")
202
203   ("Temp_Eq"
204    :is-a "equation"
205    :documentation "aus der Energiebilanz abgeleitete Differentialgleichung
206             fuer die Temperatur des Reaktionsgemischs"
207    :relation
208    ":diff<t> Temp == qVR*(Tzu - Temp) + kappa/VR/rho_cp*(Tk - Temp)
209             + :sum<i,1,NSUM>(R_reak[i]*DHR[i])/rho_cp")
210
211   ("Tk_Eq"
212    :is-a "equation"
213    :documentation "aus der Energiebilanz abgeleitete Differentialgleichung
214             fuer die Temperatur des Kuehlmittels"
215    :relation
216    ":diff<t> Tk == qVk*(Tkzu - Tk) + kappa/Vk/rho_cp*(Temp - Tk)")
217   )
218  )