cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ion_zinc.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 /*IonZinc ionization balance for zinc */
4 #include "cddefines.h"
5 #include "dense.h"
6 #include "ionbal.h"
7 
8 void IonZinc(void)
9 {
10  const int NDIM = ipZINC+1;
11 
12  static const double dicoef[2][NDIM] = {
13  {1.41e-3,5.2e-3,.0138,.023,.0419,.0683,.122,.300,.15,.697,.709,.644,.525,.446,
14  .363,.302,.102,.27,.0467,.0835,.0996,.199,.24,.115,.0316,.803,.575,.575,.575,0.},
15  {.469,.357,.281,.128,.0417,.0558,.0346,0.,1.9,.277,.135,.134,.192,.332,.337,.121,
16  .0514,.183,7.56,4.55,4.87,2.19,1.15,1.23,.132,.289,.286,.286,.286,0.}
17  };
18  static const double dite[2][NDIM] = {
19  {9.82e4,2.01e5,3.05e5,4.20e5,5.56e5,6.72e5,7.93e5,9.00e5,1.00e6,7.81e5,7.64e5,
20  7.44e5,6.65e5,5.97e5,5.24e5,4.96e5,4.46e5,8.46e6,1.36e6,1.23e6,1.06e6,1.25e6,
21  1.23e6,3.32e5,6.45e5,6.65e7,6.81e7,6.81e7,6.81e7,0.},
22  {1.01e5,1.91e5,2.32e5,3.18e5,4.55e5,5.51e5,5.28e5,0.,5.50e5,8.87e5,1.80e6,1.25e6,
23  1.89e6,8.84e5,1.29e6,6.24e5,1.59e6,8.01e6,9.32e6,9.45e6,9.45e6,8.01e6,7.57e6,
24  2.64e6,1.93e6,1.19e7,9.08e6,9.08e6,9.08e6,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,6e6,1e20,1e20,1e20,1e20,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.,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.,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.,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.,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.,0.,0.,0.,0.,0.};
39 
40  DEBUG_ENTRY( "IonZinc()" );
41 
42  /* zinc nelem=30
43  * rates from Shull and van Steenberg, Ap.J. Sup 48, 95. */
44 
45  /* Pequignot and Aldrovandi Ast Ap 161, 169. */
46 
47  if( !dense.lgElmtOn[ipZINC] )
48  {
49  return;
50  }
51 
53 
54  ion_photo(ipZINC,false);
55 
56  /* find collisional ionization rates */
58 
59  /* get recombination coefficients */
60  ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipZINC);
61 
62  /* solve for ionization balance */
63  ion_solver(ipZINC,false);
64  return;
65 }

Generated for cloudy by doxygen 1.8.3.1