cloudy
trunk
|
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 /*IonLithi compute ionization balance for lithium */ 00004 #include "cddefines.h" 00005 #include "dense.h" 00006 #include "ionbal.h" 00007 00008 void IonLithi(void) 00009 { 00010 const int NDIM = ipLITHIUM+1; 00011 00012 static const double dicoef[2][NDIM] = { {2.54e-3,6.15e-3,0.}, {4.42e-2,5.88e-2,0.} }; 00013 static const double dite[2][NDIM] = { {1.57e5,1.41e5,0.}, {3.74e5,1.41e5,0.} }; 00014 static const double ditcrt[NDIM] = {1.2e4,1.2e4,1e20}; 00015 static const double aa[NDIM] = {0.,0.,0.}; 00016 static const double bb[NDIM] = {0.,0.,0.}; 00017 static const double cc[NDIM] = {0.,0.,0.}; 00018 static const double dd[NDIM] = {0.,0.,0.}; 00019 static const double ff[NDIM] = {0.1,0.1,0.}; 00020 00021 DEBUG_ENTRY( "IonLithi()" ); 00022 00023 /* lithium nelem=3 00024 * data are for carbon 00025 * 00026 * fluorescent fields, first dim is stage of ionization, sec is shell 00027 * 00028 * rates from Shull and van Steenberg, Ap.J. Sup 48, 95. */ 00029 /* DATA GRDEFF/0.10,0.10,0.10/ 00030 * GRDEFF is fraction of recombinations to ground state, used for 00031 * outward diffuse fields 00032 * 00033 * rec from +3, +4 from Arnaud et al Ast Ap Sup 60 425. (1985) 00034 * rec from fully ionized uses Seaton '79 in ionrat */ 00035 /* Pequignot and Aldrovandi Ast Ap 161, 169. */ 00036 00037 if( !dense.lgElmtOn[ipLITHIUM] ) 00038 { 00039 return; 00040 } 00041 00042 /* zero out ionization balance arrays */ 00043 ion_zero(ipLITHIUM); 00044 00045 ion_photo(ipLITHIUM,false); 00046 00047 /* find collisional ionization rates */ 00048 ion_collis(ipLITHIUM); 00049 00050 /* get recombination coefficients */ 00051 ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipLITHIUM); 00052 00053 /* solve for ionization balance */ 00054 ion_solver(ipLITHIUM,false); 00055 return; 00056 }