/home66/gary/public_html/cloudy/c08_branch/source/ion_manga.cpp

Go to the documentation of this file.
00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and
00002  * others.  For conditions of distribution and use see copyright notice in license.txt */
00003 /*IonManga derive ionization balance for manganese */
00004 #include "cddefines.h"
00005 #include "dense.h"
00006 #include "ionbal.h"
00007 
00008 void IonManga(void)
00009 {
00010         const int NDIM = ipMANGANESE+1;
00011 
00012         static const double dicoef[2][NDIM] = {
00013                 {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,
00014                  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.},
00015                 {.456,.323,.310,.411,.359,.0975,.229,4.20,3.30,5.30,1.50,0.700,.600,.5,1.,0.,
00016                  7.8,6.3,5.5,3.6,4.9,1.6,4.2,.284,0.}
00017         };
00018         static const double dite[2][NDIM] = {
00019                 {6.00e4,1.94e5,3.31e5,4.32e5,6.28e5,7.50e5,7.73e5,2.62e5,2.50e5,2.57e5,2.84e5,
00020                  8.69e5,4.21e5,4.57e5,2.85e5,8.18e5,1.51e6,1.30e6,1.19e6,1.09e6,9.62e5,7.23e5,
00021                  4.23e5,5.84e7,0.},
00022                 {8.97e4,1.71e5,2.73e5,3.49e5,5.29e5,4.69e5,6.54e5,1.32e6,1.33e6,1.41e6,1.52e6,
00023                  1.51e6,1.82e6,1.84e6,2.31e6,0.,9.98e6,9.98e6,1.00e7,1.10e7,8.34e6,1.01e7,
00024                  1.07e7,1.17e7,0.}
00025         };
00026         static const double ditcrt[NDIM] = {6e3,2e4,4e4,5e4,7e4,8e4,8e4,3e4,
00027           3e4,3e4,3e4,9e4,4e4,5e4,3e4,9e5,2e5,2e5,2e5,2e5,1e5,7e4,4e4,
00028           6e6,1e20};
00029         static const double aa[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00030           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00031         static const double bb[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00032           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00033         static const double cc[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00034           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00035         static const double dd[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00036           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00037         static const double ff[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00038           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00039 
00040         DEBUG_ENTRY( "IonManga()" );
00041 
00042         /* manganese nelem=25
00043          * based on iron
00044          *
00045          * rates from Shull and van Steenberg, Ap.J. Sup 48, 95. */
00046 
00047         /* DATA FYIELD/2*.34,2*.35,.36,2*.37,.38,.39,.40,.41,.42,.43,.44,
00048          *  4.45,.46,2*.47,2*.48,2*.49, 3*0./
00049          * above fluorescent yields quoted in Krolik+Kallman Ap.J.(Let) 320, L5.
00050          *
00051          * GRDEFF is fraction of recombinations to ground state, used for
00052          * DATA GRDEFF/nelem*0.2/
00053          *
00054          * Fe rates from Woods et al. Ap.J. 249, 399.
00055          * rec from +23, 24 25 from Arnauld et al 85 */
00056 
00057         /* Pequignot and Aldrovandi Ast Ap 161, 169. */
00058 
00059         if( !dense.lgElmtOn[ipMANGANESE] )
00060         {
00061                 return;
00062         }
00063 
00064         ion_zero(ipMANGANESE);
00065 
00066         ion_photo(ipMANGANESE,false);
00067 
00068         /* find collisional ionization rates */
00069         ion_collis(ipMANGANESE);
00070 
00071         /* get recombination coefficients */
00072         ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipMANGANESE);
00073 
00074         /* solve for ionization balance */
00075         ion_solver(ipMANGANESE,false);
00076         return;
00077 }

Generated on Mon Feb 16 12:01:17 2009 for cloudy by  doxygen 1.4.7