cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ion_manga.cpp
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 /*IonManga derive ionization balance for manganese */
4 #include "cddefines.h"
5 #include "dense.h"
6 #include "ionbal.h"
7 
8 void IonManga(void)
9 {
10  const int NDIM = ipMANGANESE+1;
11 
12  static const double dicoef[2][NDIM] = {
13  {1.58e-3,8.38e-3,1.54e-2,3.75e-2,0.117,0.254,0.291,0.150,0.140,0.100,0.200,
14  0.240,0.260,0.190,0.120,0.350,0.066,0.10,0.13,0.23,0.14,0.11,0.041,0.747,0.},
15  {.456,.323,.310,.411,.359,.0975,.229,4.20,3.30,5.30,1.50,0.700,.600,.5,1.,0.,
16  7.8,6.3,5.5,3.6,4.9,1.6,4.2,.284,0.}
17  };
18  static const double dite[2][NDIM] = {
19  {6.00e4,1.94e5,3.31e5,4.32e5,6.28e5,7.50e5,7.73e5,2.62e5,2.50e5,2.57e5,2.84e5,
20  8.69e5,4.21e5,4.57e5,2.85e5,8.18e5,1.51e6,1.30e6,1.19e6,1.09e6,9.62e5,7.23e5,
21  4.23e5,5.84e7,0.},
22  {8.97e4,1.71e5,2.73e5,3.49e5,5.29e5,4.69e5,6.54e5,1.32e6,1.33e6,1.41e6,1.52e6,
23  1.51e6,1.82e6,1.84e6,2.31e6,0.,9.98e6,9.98e6,1.00e7,1.10e7,8.34e6,1.01e7,
24  1.07e7,1.17e7,0.}
25  };
26  static const double ditcrt[NDIM] = {6e3,2e4,4e4,5e4,7e4,8e4,8e4,3e4,
27  3e4,3e4,3e4,9e4,4e4,5e4,3e4,9e5,2e5,2e5,2e5,2e5,1e5,7e4,4e4,
28  6e6,1e20};
29  static const double aa[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
30  0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
31  static const double bb[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
32  0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
33  static const double cc[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
34  0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
35  static const double dd[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
36  0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
37  static const double ff[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
38  0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
39 
40  DEBUG_ENTRY( "IonManga()" );
41 
42  /* manganese nelem=25
43  * based on iron
44  *
45  * rates from Shull and van Steenberg, Ap.J. Sup 48, 95. */
46 
47  /* DATA FYIELD/2*.34,2*.35,.36,2*.37,.38,.39,.40,.41,.42,.43,.44,
48  * 4.45,.46,2*.47,2*.48,2*.49, 3*0./
49  * above fluorescent yields quoted in Krolik+Kallman Ap.J.(Let) 320, L5.
50  *
51  * GRDEFF is fraction of recombinations to ground state, used for
52  * DATA GRDEFF/nelem*0.2/
53  *
54  * Fe rates from Woods et al. Ap.J. 249, 399.
55  * rec from +23, 24 25 from Arnauld et al 85 */
56 
57  /* Pequignot and Aldrovandi Ast Ap 161, 169. */
58 
59  if( !dense.lgElmtOn[ipMANGANESE] )
60  {
61  return;
62  }
63 
65 
66  ion_photo(ipMANGANESE,false);
67 
68  /* find collisional ionization rates */
70 
71  /* get recombination coefficients */
72  ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipMANGANESE);
73 
74  /* solve for ionization balance */
75  ion_solver(ipMANGANESE,false);
76  return;
77 }

Generated for cloudy by doxygen 1.8.1.1