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 /*IonVanad do ionization balance for vanadium */ 00004 #include "cddefines.h" 00005 #include "dense.h" 00006 #include "ionbal.h" 00007 00008 void IonVanad(void) 00009 { 00010 const int NDIM = ipVANADIUM+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, 00014 0.200,0.240,0.260,0.190,0.120,0.350,0.066,0.10,0.13,0.23,0.14,0.11,0.}, 00015 {.456,.323,.310,.411,.359,.0975,.229,4.20,3.30,5.30,1.50,0.700,.600, 00016 .5,1.,0.,7.8,6.3,5.5,3.6,4.9,1.6,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,0.}, 00021 {8.97e4,1.71e5,2.73e5,3.49e5,5.29e5,4.69e5,6.54e5,1.32e6,1.33e6,1.41e6,1.52e6, 00022 1.51e6,1.82e6,1.84e6,2.31e6,0.,9.98e6,9.98e6,1.00e7,1.10e7,8.34e6,1.01e7,0.} 00023 }; 00024 static const double ditcrt[NDIM] = {6e3,2e4,4e4,5e4,7e4,8e4,8e4,3e4, 00025 3e4,3e4,3e4,9e4,4e4,5e4,3e4,9e5,2e5,2e5,2e5,2e5,1e5,7e4,1e20}; 00026 static const double aa[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 00027 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}; 00028 static const double bb[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 00029 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}; 00030 static const double cc[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 00031 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}; 00032 static const double dd[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 00033 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}; 00034 static const double ff[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 00035 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}; 00036 00037 DEBUG_ENTRY( "IonVanad()" ); 00038 00039 /* chromium nelem=23 00040 * based on iron 00041 * 00042 * Fe rates from Woods et al. Ap.J. 249, 399. 00043 * rec from +23, 24 25 from Arnauld et al 85 */ 00044 00045 /* Pequignot and Aldrovandi Ast Ap 161, 169. */ 00046 00047 if( !dense.lgElmtOn[ipVANADIUM] ) 00048 { 00049 return; 00050 } 00051 00052 ion_zero(ipVANADIUM); 00053 00054 ion_photo(ipVANADIUM,false); 00055 00056 /* find collisional ionization rates */ 00057 ion_collis(ipVANADIUM); 00058 00059 /* get recombination coefficients */ 00060 ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipVANADIUM); 00061 00062 /* solve for ionization balance */ 00063 ion_solver(ipVANADIUM,false); 00064 return; 00065 }