cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
iso.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 _ISO_H_
5 #define _ISO_H_
6 
10 
12 
14 #define HE1CSARRAY 10
15 
18 #define KILL_BELOW_PLASMA(E_) ( (rfield.lgPlasNu && ((E_)<rfield.plsfrq) ) ? 0.:1. )
19 
20 #define NUM_DR_TEMPS 19
21 
23 #define N_(A_) (StatesElem[ipISO][nelem][A_].n)
24 #define L_(A_) (StatesElem[ipISO][nelem][A_].l)
25 #define S_(A_) (StatesElem[ipISO][nelem][A_].S)
26 #define J_(A_) (StatesElem[ipISO][nelem][A_].j)
27 
28 #define IPRAD 0
29 #define IPCOLLIS 1
30 /*define IPENERGY 2*/
31 
32 /* following two macros used to define recombination coef arrays */
33 /* Max n desired in RRCoef file. */
36 /* Hydrogen and helium atoms will have precompiled recombination coefficients up to these maximum n. */
37 #define RREC_MAXN 40
38 
40 #define LIKE_RREC_MAXN( A_ ) ( A_ == ipHELIUM ? 40 : 20 )
41 
42 #define N_ISO_TE_RECOMB 41
43 
46 #define SumUpToThisN 1000
47 
48 #define RECOMBMAGIC (80405)
49 
54 void iso_cascade( long ipISO, long nelem );
55 
60 void iso_collapsed_bnl_print( long ipISO, long nelem );
61 
66 void iso_collapsed_bnl_set( long ipISO, long nelem );
67 
72 void iso_collapsed_Aul_update( long ipISO, long nelem );
73 
78 void iso_collapsed_lifetimes_update( long ipISO, long nelem );
79 
84 void iso_collide( long ipISO, long nelem );
85 
90 void iso_collisional_ionization( long ipISO, long nelem );
91 
96 void iso_continuum_lower( long ipISO , long nelem );
97 
102 void iso_cool( long ipISO , long nelem );
103 
106 void iso_create( void );
107 
113 double iso_dielec_recomb_rate( long ipISO, long nelem, long ipLo );
114 
119 void iso_error_generation( long ipISO, long nelem );
120 
126 long iso_get_total_num_levels( long ipISO, long nmaxResolved, long numCollapsed );
127 
132 void iso_ionize_recombine( long ipISO , long nelem );
133 
138 void iso_level( const long ipISO, const long nelem);
139 
144 void iso_photo( long ipISO , long nelem );
145 
151 void iso_prt_pops( long ipISO, long nelem, bool lgPrtDeparCoef );
152 
161 void iso_put_error( long ipISO, long nelem, long ipHi, long ipLo, long whichData, realnum errorToPut );
162 
167 void iso_radiative_recomb( long ipISO, long nelem );
168 
169 
174 void iso_radiative_recomb_effective( long ipISO, long nelem );
175 
183 double iso_recomb_check( long ipISO, long nelem, long level, double temperature );
184 
187 void iso_recomb_auxiliary_free( void );
188 
191 void iso_recomb_malloc( void );
192 
196 void iso_recomb_setup( long ipISO );
197 
203 double iso_RRCoef_Te( long ipISO, long nelem , long n );
204 
207 void iso_satellite_update( void );
208 
212 void iso_solve( long ipISO );
213 
218 void iso_suprathermal( long ipISO, long nelem );
219 
224 void iso_update_num_levels( long ipISO, long nelem );
225 
226 EXTERN struct t_iso
227 {
229 
230  const char *chISO[NISO];
231 
235 
242 
245  long int nLyman[NISO],
248 
252 
255 
259 
262 
265 
268 
271 
274 
278 
282 
286 
290 
294 
299 
304 
308 
313 
316 
320 
323 
326 
329 
336 
339 
343 
347 
350 
353 
357 
360 
363 
366 
370 
373 
376 
379 
382 
385 
389 
392 
394  double coll_ion[NISO][LIMELM];
395 
398 
401 
403  double dLTot[NISO][LIMELM];
404 
407 
410 
413 
416 
419 
426 
432 
435 
438 
441 
447 
452 
455 
460 
463 
466 
468  char chTypeAtomSet[NISO][10];
471 
472  /***********************************************/
473  /***********************************************/
474 
475  /* everything below here was originally part */
476  /* of the former helike structure, now */
477  /* generalized for iso */
480  /***********************************************/
481  /***********************************************/
482 
484  long int nCS[NISO];
485 
488 
493 
496  lgCS_None[NISO] ,
499  int nCS_new[NISO];//vals are 0, 1, and 2
500 
503 
506  bool lgFSM[NISO];
507 
510 
513 
516 
520 
524 
525  bool lgTopoff[NISO];
526 
529 
531  /* first dimension is iso,
532  * second is nelem,
533  * third is upper level,
534  * fourth is lower level,
535  * fifth is for radiative, collisional, or energy errors.
536  * MACROS are used for the last dimension: IPRAD, IPCOLLIS, and IPENERGY. */
538 
542 
544  double qTot2S[NISO][LIMELM];
545 
548 
551 
553  /* the departure coefficients of collapsed levels */
555 
556 } iso;
557 
558 #endif /* _ISO_H_ */

Generated for cloudy by doxygen 1.8.1.1