cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ion_sodiu.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 /*IonSodiu ionization balance for sodium */
4 #include "cddefines.h"
5 #include "trace.h"
6 #include "dense.h"
7 #include "ionbal.h"
8 
9 void IonSodiu(void)
10 {
11  const int NDIM = ipSODIUM+1;
12 
13  static const double dicoef[2][NDIM] = {
14  {1.0e-3,2.6e-3,6.0e-3,1.1e-2,8.0e-3,1.0e-2,3.2e-2,1.2e-2,2.2e-1,1.8e-1,0.},
15  {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}
16  };
17  static const double dite[2][NDIM] = {
18  {3.6e5,3.8e5,3.4e5,3.0e5,2.7e5,2.8e5,3.2e5,1.9e5,1.2e7,1.3e7,0.},
19  {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}
20  };
21  static const double ditcrt[NDIM] = {0.,1.3e5,4.4e5,7.2e4,2.8e5,4.0e5,
22  1.3e6,1.6e6,1.9e6,3.4e4,0.};
23  static const double aa[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
24  static const double bb[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
25  static const double cc[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
26  static const double dd[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
27  static const double ff[NDIM] = {0.1,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
28 
29  DEBUG_ENTRY( "IonSodiu()" );
30 
31  /* sodium nelem=11
32  *
33  * rates taken from Mg Shull and van Steenberg, Ap.J. Sup 48, 95. */
34 
35  /* from Aldrovandi and Pequignot Revista Brasileira de Fisica, 4, 491, */
36  /* Pequignot and Aldrovandi Ast Ap 161, 169. */
37 
38  if( !dense.lgElmtOn[ipSODIUM] )
39  {
40  return;
41  }
42 
44 
45  ion_photo(ipSODIUM,false);
46 
47  /* find collisional ionization rates */
49 
50  /* get recombination coefficients */
51  ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipSODIUM);
52 
53  /* solve for ionization balance */
54  ion_solver(ipSODIUM,false);
55 
56  if( trace.lgTrace && trace.lgHeavyBug )
57  {
58  fprintf( ioQQQ, " IonSodiu returns; frac=" );
59  for( int i=0; i < 10; i++ )
60  {
61  fprintf( ioQQQ, "%10.3e", dense.xIonDense[ipSODIUM][i]/
63  }
64  fprintf( ioQQQ, "\n" );
65  }
66  return;
67 }

Generated for cloudy by doxygen 1.8.3.1