/home66/gary/public_html/cloudy/c08_branch/source/hydrooscilstr.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 /*HydroOscilStr computes hydrogenic oscillator strengths, used in the function hdexct. */
00004 #include "cddefines.h"
00005 #include "physconst.h"
00006 #include "hydrooscilstr.h"
00007 
00008 double HydroOscilStr(double xLower, 
00009   double Upper)
00010 {
00011         double fosc_v, 
00012           gaunt, 
00013           gnt0, 
00014           gnt1, 
00015           gnt2, 
00016           x;
00017 
00018         DEBUG_ENTRY( "HydroOscilStr()" );
00019 
00020         /*      >>refer H1      As      Johnson L.C., 1972 ApJ 174 227*/
00021         /* check order, and that none negative */
00022         ASSERT( xLower < Upper );
00023         ASSERT( xLower*Upper >0 );
00024 
00025         x = 1.0 - POW2(xLower/Upper);
00026         if( xLower >= 3 )
00027         {
00028                 gnt0 = 0.9935 + 0.2328/xLower - 0.1296/xLower/xLower;
00029                 gnt1 = -(0.6282 - 0.5598/xLower + 0.5299/xLower/xLower)/xLower;
00030                 gnt2 = (0.3887 - 1.181/xLower + 1.470/xLower/xLower)/xLower/
00031                   xLower;
00032         }
00033         else if( xLower == 2 )
00034         {
00035                 gnt0 = 1.0785;
00036                 gnt1 = -.2319;
00037                 gnt2 = 0.02947;
00038         }
00039         else
00040         {
00041                 gnt0 = 1.1330;
00042                 gnt1 = -.4059;
00043                 gnt2 = 0.07014;
00044         }
00045         gaunt = gnt0 + gnt1/x + gnt2/x/x;
00046         fosc_v = 32./3./PI/sqrt(3.)*xLower/POW3(Upper)*gaunt/x/x/x;
00047         return( fosc_v );
00048 }

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