cloudy
trunk
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
source
mole.h
Go to the documentation of this file.
1
/* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and
2
* others. For conditions of distribution and use see copyright notice in license.txt */
3
4
#ifndef _MOLE_H_
5
#define _MOLE_H_
6
7
/* mole.h */
8
10
extern
void
CO_drive
(
void
);
11
13
extern
void
CO_zero
(
void
);
14
16
extern
void
CO_create_react
(
void
);
17
19
extern
void
CO_Init
(
void
);
21
extern
void
CO_update_rks
(
void
);
22
23
extern
void
CO_update_species_cache
(
void
);
24
25
extern
double
CO_sink_rate
(
const
char
chSpecies
[]);
26
27
extern
double
CO_source_rate
(
const
char
chSpecies
[]);
28
29
extern
double
CO_dissoc_rate
(
const
char
chSpecies
[]);
30
31
struct
COmole_rate_s
*
CO_findrate_s
(
const
char
buf[]);
32
33
extern
double
CO_findrk
(
const
char
buf[]);
34
35
extern
double
CO_findrate
(
const
char
buf[]);
36
69
extern
struct
molecule
null_mole
;
70
71
EXTERN
struct
t_co
{
72
74
realnum
CODissHeat
,
76
codfrc
,
78
codtot
;
79
81
double
COCoolBigFrac
;
82
84
bool
lgCOCoolCaped
;
85
87
bool
lgNoCOMole
;
88
90
bool
lgCODoCalc
;
91
96
realnum
99
hydro_sink
[8],
100
hydro_source
[8];
101
107
double
hmole_mass
[
N_H_MOLEC
+1];
108
111
realnum
C12_C13_isotope_ratio
;
112
114
bool
lgH2Ozer
;
115
117
bool
lgUMISTrates
;
118
119
bool
lgFederman
;
120
124
bool
lgNonEquilChem
;
125
129
bool
lgProtElim
;
130
134
bool
lgNeutrals
;
135
136
double
h2lim
;
137
138
long
co_nzone
,
iteration_co
;
139
141
double
comole_eden
;
142
143
# if 0
144
145
bool
lgElem_in_CO_chem[
LIMELM
];
146
# endif
147
148
149
realnum
nitro_dissoc_rate
;
150
153
double
H_CH_C_H_H
;
154
double
H_OH_O_H_H
;
155
double
H_H2O_OH_H_H
;
156
double
H_COP_CO_HP
;
157
double
H_CH_C_H2
;
158
double
H_CHP_CP_H2
;
159
double
H_CH2_CH_H2
;
160
double
H_CH3P_CH2P_H2
;
161
double
H_OH_O_H2
;
162
double
H_H2O_OH_H2
;
163
double
Hminus_HCOP_CO_H2
;
164
double
Hminus_H3OP_H2O_H2
;
165
double
Hminus_H3OP_OH_H2_H
;
166
double
HP_CH_CHP_H
;
167
double
HP_CH2_CH2P_H
;
168
double
HP_H2O_H2OP_H
;
169
double
HP_O2_O2P_H
;
170
double
HP_OH_OHP_H
;
171
double
HP_SiO_SiOP_H
;
172
double
HP_CH2_CHP_H2
;
173
double
HP_SiH_SiP_H2
;
174
double
H2_CHP_CH2P_H
;
175
double
H2_CH2P_CH3P_H
;
176
double
H2_OHP_H2OP_H
;
177
double
H2_H2OP_H3OP_H
;
178
double
H2_COP_HCOP_H
;
179
double
H2_OP_OHP_H
;
180
double
H2_SiOP_SiOHP_H
;
181
double
H2_C_CH_H
;
182
double
H2_CP_CHP_H
;
183
double
H2_CH_CH2_H
;
184
double
H2_OH_H2O_H
;
185
double
H2_O_OH_H
;
186
double
H2_CH_C_H2_H
;
187
double
H2_OH_O_H2_H
;
188
double
H2_H2O_OH_H2_H
;
189
double
H2_O2_O_O_H2
;
190
double
H2_O2_OH_OH
;
191
double
H2s_CH_C_H2_H
;
192
double
H2s_OH_O_H2_H
;
193
double
H2s_H2O_OH_H2_H
;
194
double
H2s_O2_O_O_H2
;
195
double
H2P_C_CHP_H
;
196
double
H2P_CH_CH2P_H
;
197
double
H2P_CH2_CH3P_H
;
198
double
H2P_OH_H2OP_H
;
199
double
H2P_H2O_H3OP_H
;
200
double
H2P_CO_HCOP_H
;
201
double
H2P_O_OHP_H
;
202
double
H2P_CH_CHP_H2
;
203
double
H2P_CH2_CH2P_H2
;
204
double
H2P_CO_COP_H2
;
205
double
H2P_H2O_H2OP_H2
;
206
double
H2P_O2_O2P_H2
;
207
double
H2P_OH_OHP_H2
;
208
double
H3P_C_CHP_H2
;
209
double
H3P_CH_CH2P_H2
;
210
double
H3P_CH2_CH3P_H2
;
211
double
H3P_OH_H2OP_H2
;
212
double
H3P_H2O_H3OP_H2
;
213
double
H3P_CO_HCOP_H2
;
214
double
H3P_O_OHP_H2
;
215
double
H3P_SiH_SiH2P_H2
;
216
double
H3P_SiO_SiOHP_H2
;
217
double
H2s_CH_CH2_H
;
218
double
H2s_O_OH_H
;
219
double
H2s_OH_H2O_H
;
220
double
H2s_C_CH_H
;
221
double
H2s_CP_CHP_H
;
222
double
H_CH3_CH2_H2
;
223
double
H_CH4P_CH3P_H2
;
224
double
H_CH5P_CH4P_H2
;
225
double
H2_CH2_CH3_H
;
226
double
H2_CH3_CH4_H
;
227
double
H2_CH4P_CH5P_H
;
228
double
H2s_CH2_CH3_H
;
229
double
H2s_CH3_CH4_H
;
230
double
H2P_CH4_CH3P_H2
;
231
double
H2P_CH4_CH4P_H2
;
232
double
H2P_CH4_CH5P_H
;
233
double
H3P_CH3_CH4P_H2
;
234
double
H3P_CH4_CH5P_H2
;
235
double
HP_CH3_CH3P_H
;
236
double
HP_CH4_CH3P_H2
;
237
double
HP_CH4_CH4P_H
;
238
double
HP_HNC_HCN_HP
;
239
double
H_HNC_HCN_H
;
240
double
H2_HCNP_HCNHP_H
;
241
double
H3P_HCN_HCNHP_H2
;
242
double
H2s_OP_OHP_H
;
243
244
double
C_H3OP_HCOP_H2_1
,
245
C_OH_CO_H_1
,
246
CP_OH_CO_HP_1
,
247
CP_H2O_HCOP_H_1
,
248
CP_OH_COP_H_1
,
249
O_CH_CO_H_1
,
250
O_CHP_COP_H_1
,
251
O_CH2_CO_H_H_1
,
252
O_CH2_CO_H2_1
,
253
O_CH2P_HCOP_H_1
,
254
O_CH3P_HCOP_H2_1
,
255
O_H2OP_O2P_H2_1
,
256
O_OH_O2_H_1
,
257
O_OHP_O2P_H_1
,
258
O_SiH_SiO_H_1
,
259
O_SiH2P_SiOHP_H_1
,
260
OP_CH_COP_H_1
,
261
OP_OH_O2P_H_1
,
262
Si_OH_SiO_H_1
,
263
SiP_H2O_SiOHP_H_1
,
264
SiP_OH_SiOP_H_1
,
265
CHP_H2O_HCOP_H2_1
,
266
CHP_OH_COP_H2_1
,
267
H_C_CH_nu
,
268
H_CP_CHP_nu
,
269
H_OH_H2O_nu
,
270
Hminus_CH_CH2_e
,
271
Hminus_C_CH_e
,
272
Hminus_OH_H2O_e
,
273
Hminus_O_OH_e
,
274
H2_C_CH2_nu
,
275
H2_CP_CH2P_nu
,
276
H2_SiP_SiH2P_nu
,
277
HeP_CH_CP_He_H
,
278
HeP_CH2_CHP_He_H
,
279
HeP_OH_OP_He_H
,
280
HeP_H2O_OHP_He_H
,
281
HeP_SiH_SiP_He_H
,
282
HeP_H2O_OH_He_HP
,
283
HeP_CH2_CP_He_H2
,
284
crnu_CH_C_H
,
285
crnu_CHP_CP_H
,
286
crnu_H2O_OH_H
,
287
crnu_OH_O_H
,
288
crnu_SiH_Si_H
,
289
nu_CH_C_H
,
290
nu_CHP_CP_H
,
291
nu_CH2_CH_H
,
292
nu_CH2P_CHP_H
,
293
nu_CH3P_CH2P_H
,
294
nu_CH3P_CHP_H2
,
295
nu_H2O_OH_H
,
296
nu_OH_O_H
,
297
nu_OHP_O_HP
,
298
nu_SiH_Si_H
,
299
e_CHP_C_H
,
300
e_CH2P_CH_H
,
301
e_CH2P_C_H_H
,
302
e_CH2P_C_H2
,
303
e_CH3P_C_H2_H
,
304
e_CH3P_CH2_H
,
305
e_CH3P_CH_H_H
,
306
e_CH3P_CH_H2
,
307
e_H2OP_OH_H
,
308
e_H2OP_O_H_H
,
309
e_H2OP_O_H2
,
310
e_H3OP_H2O_H
,
311
e_H3OP_OH_H_H
,
312
e_H3OP_OH_H2
,
313
e_H3OP_O_H2_H
,
314
e_HCOP_CO_H
,
315
e_OHP_O_H
,
316
e_SiH2P_SiH_H
,
317
e_SiH2P_Si_H_H
,
318
e_SiH2P_Si_H2
,
319
e_SiOHP_SiO_H
,
320
H2_CH_CH3_nu
,
321
H2_CH3P_CH5P_nu
,
322
H2s_CH_CH3_nu
,
323
Hminus_CH2_CH3_e
,
324
Hminus_CH3_CH4_e
,
325
nu_CH3_CH2_H
,
326
nu_CH3_CH_H2
,
327
nu_CH4_CH3_H
,
328
nu_CH4_CH2_H2
,
329
nu_CH4_CH_H2
,
330
crnu_CH3_CH2_H
,
331
crnu_CH3_CH_H2
,
332
crnu_CH4_CH2_H2
,
333
e_CH5P_CH3_H2
,
334
e_CH5P_CH4_H
,
335
e_CH4P_CH3_H
,
336
e_CH4P_CH2_H_H
,
337
H2_N_NH_H
,
338
H2_NH_NH2_H
,
339
H2_NH2_NH3_H
,
340
H2_CN_HCN_H
,
341
HP_HNO_NOP_H2
,
342
HP_HS_SP_H2
,
343
H_HSP_SP_H2
,
344
H2P_N_NHP_H
,
345
H2_NP_NHP_H
,
346
H2_NHP_N_H3P
,
347
H2P_NH_NH2P_H
,
348
H2_NHP_NH2P_H
,
349
H2_NH2P_NH3P_H
,
350
H2_NH3P_NH4P_H
,
351
H2P_CN_HCNP_H
,
352
H2_CNP_HCNP_H
,
353
H2P_NO_HNOP_H
,
354
H2_SP_HSP_H
,
355
H2_CSP_HCSP_H
,
356
H3P_NH_NH2P_H2
,
357
H3P_NH2_NH3P_H2
,
358
H3P_NH3_NH4P_H2
,
359
H3P_CN_HCNP_H2
,
360
H3P_NO_HNOP_H2
,
361
H3P_S_HSP_H2
,
362
H3P_CS_HCSP_H2
,
363
H3P_NO2_NOP_OH_H2
,
364
HP_NH_NHP_H
,
365
HP_NH2_NH2P_H
,
366
HP_NH3_NH3P_H
,
367
H_CNP_CN_HP
,
368
HP_HCN_HCNP_H
,
369
H_HCNP_HCN_HP
,
370
H_N2P_N2_HP
,
371
HP_NO_NOP_H
,
372
HP_HS_HSP_H
,
373
HP_SiN_SiNP_H
,
374
HP_CS_CSP_H
,
375
HP_NS_NSP_H
,
376
HP_SO_SOP_H
,
377
HP_OCS_OCSP_H
,
378
HP_S2_S2P_H
,
379
H2P_NH_NHP_H2
,
380
H2P_NH2_NH2P_H2
,
381
H2P_NH3_NH3P_H2
,
382
H2P_CN_CNP_H2
,
383
H2P_HCN_HCNP_H2
,
384
H2P_NO_NOP_H2
,
385
H2_ClP_HClP_H
,
386
H2_HClP_H2ClP_H
,
387
H3P_Cl_HClP_H2
,
388
H3P_HCl_H2ClP_H2
,
389
HP_HCl_HClP_H
,
390
HP_C2_C2P_H
,
391
H2_S_HS_H
,
392
H2P_C2_C2P_H2
,
393
Hminus_NH4P_NH3_H2
,
394
Hminus_NP_N_H
,
395
HP_C2H2_C2H2P_H
,
396
HP_C2H2_C2HP_H2
,
397
HP_C3H_C3HP_H
,
398
HP_C3H_C3P_H2
,
399
H2P_C2H_C2H2P_H
,
400
H2P_C2H2_C2H2P_H2
,
401
H3P_C2H_C2H2P_H2
,
402
H3P_C3_C3HP_H2
,
403
H2_C2HP_C2H2P_H
,
404
H2_C3P_C3HP_H
,
405
H_C2H3P_C2H2P_H2
,
406
H3P_C2H2_C2H3P_H2
,
407
H2P_C2H2_C2H3P_H
,
408
HP_C3_C3P_H
,
409
HP_C2H_C2HP_H
,
410
H2P_C2_C2HP_H
,
411
H2P_C2H_C2HP_H2
,
412
H3P_C2_C2HP_H2
,
413
H2_C2P_C2HP_H
,
414
HP_C2H_C2P_H2
,
415
N2_H3P_N2HP_H2
;
416
}
co
;
417
418
EXTERN
struct
t_mole
{
419
420
422
double
H2_to_H_limit
;
423
426
long
int
n_h2_elec_states
;
427
430
bool
lgColl_gbar
;
431
433
bool
lgColl_deexec_Calc
;
434
436
bool
lgColl_dissoc_coll
;
437
440
bool
lgH2_grain_deexcitation
;
441
443
bool
lgH2_LTE
;
444
446
bool
lgH2_ortho_para_coll_on
;
447
450
bool
lgH2_He_ORNL
;
451
453
int
nH2_TRACE
;
454
456
bool
lgH2_NOISE
,
458
lgH2_NOISECOSMIC
;
459
461
int
nH2_trace_final
,
462
nH2_trace_iterations
,
463
nH2_trace_full
,
464
nH2_trace_matrix
;
465
468
bool
lgGrain_mole_deplete
;
469
471
double
xMeanNoise
,
xSTDNoise
;
472
474
bool
lgElem_in_chemistry
[
LIMELM
];
475
int
num_comole_calc
,
num_comole_tot
,
num_elements
;
476
479
double
**
source
, **
sink
;
480
482
realnum
***
xMoleChTrRate
;
/***[LIMELM][LIMELM+1][LIMELM+1];*/
483
double
**
amat
,
/* [NUM_COMOLE_CALC][NUM_COMOLE_CALC], */
484
*
b
,
/* [NUM_COMOLE_CALC], */
485
**
c
;
/* [NUM_COMOLE_TOT][NUM_COMOLE_CALC + 1]; */
486
}
mole
;
487
488
enum
{
CHARS_SPECIES
=7};
489
/* Structure containing molecule data, initially only CO */
490
EXTERN
struct
molecule
{
491
int
nElem
[
LIMELM
];
492
int
nelem_hevmol
;
493
char
label
[
CHARS_SPECIES
];
494
int
nElec
;
495
int
Excit
;
496
bool
lgGas_Phase
;
497
int
n_nuclei
;
498
realnum
hevmol
;
499
realnum
hev_reinit
;
/* this save first valid solution from previous iteration */
500
realnum
*
location
;
501
realnum
hevcol
;
502
realnum
hevcol_old
;
503
realnum
pdr_mole_co
;
504
/* realnum HevMolSav; ** the particle densities in first zone where CO computed,
505
* in last iteration */
506
realnum
xMoleFracMax
;
507
realnum
mole_mass
;
508
realnum
co_save
;
509
realnum
comole_save
;
510
realnum
hevmol_save
;
511
int
active
;
512
int
index
;
513
} **
COmole
;
514
515
516
extern
struct
molecule
*
findspecies
(
const
char
buf[]);
517
518
extern
void
CO_punch_mol
(FILE *punit,
const
char
chSpecies
[],
519
char
header[],
double
depth);
520
521
#endif
/* _MOLE_H_ */
Generated for cloudy by
1.8.1.1