/home66/gary/public_html/cloudy/c08_branch/source/ion_neon.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 /*IonNeon ionization balance for neon */
00004 #include "cddefines.h"
00005 #include "dense.h"
00006 #include "trace.h"
00007 #include "ionbal.h"
00008 
00009 void IonNeon(void)
00010 {
00011         const int NDIM = ipNEON+1;
00012 
00013         static const double dicoef[2][NDIM] = {
00014                 {9.77e-4,2.65e-3,3.69e-3,1.12e-2,2.44e-2,3.02e-2,6.10e-3,2.52e-1,1.44e-1,0.},
00015                 {.073,.242,1.01,.391,2.52,.445,.254,.304,.296,0.}
00016         };
00017         static const double dite[2][NDIM] = {
00018                 {3.11e5,2.84e5,2.24e5,2.7e5,3.09e5,2.83e5,1.68e5,1.4e7,1.5e7,0.},
00019                 {2.06e5,3.07e5,2.94e5,5.50e5,9.91e5,1.73e6,6.13e5,1.80e6,2.24e6,0.}
00020         };
00021         static const double ditcrt[NDIM] = {3.0e4,3.3e4,3.3e4,3.5e4,3.6e4,3.6e4,2.9e4,1.5e6,3.8e6,1e20};
00022         static const double aa[NDIM] = {0.,0.0129,3.6781,-0.0254,-0.0141,19.9280,5.4751,0.,0.,0.};
00023         static const double bb[NDIM] = {0.,-0.1779,14.1481,5.5365,33.8479,235.0536,203.9751,0.,0.,0.};
00024         static const double cc[NDIM] = {0.,0.9353,17.1175,17.0727,43.1608,152.5096,86.9016,0.,0.,0.};
00025         static const double dd[NDIM] = {0.,-0.0682,-0.5017,-0.7225,-1.6072,9.1413,-7.4568,0.,0.,0.};
00026         static const double ff[NDIM] = {0.1,0.4516,0.2313,0.1702,0.1942,0.1282,2.5145,0.,0.,0.};
00027 
00028         DEBUG_ENTRY( "IonNeon()" );
00029 
00030         /* neon, atomic number 10 */
00031         if( !dense.lgElmtOn[ipNEON] )
00032         {
00033                 return;
00034         }
00035 
00036         ion_zero(ipNEON);
00037 
00038         ion_photo(ipNEON,false);
00039 
00040         /* find collisional ionization rates */
00041         ion_collis(ipNEON);
00042 
00043         /* get recombination coefficients */
00044         ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipNEON);
00045 
00046         /* solve for ionization balance */
00047         ion_solver(ipNEON,false);
00048 
00049         if( trace.lgTrace && trace.lgHeavyBug )
00050         {
00051                 fprintf( ioQQQ, "     IonNeon   returns; frac=" );
00052                 for( int i=0; i < 10; i++ )
00053                 {
00054                         fprintf( ioQQQ, "%10.3e", dense.xIonDense[ipNEON][i]/
00055                           dense.gas_phase[ipNEON] );
00056                 }
00057                 fprintf( ioQQQ, "\n" );
00058         }
00059         return;
00060 }

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