/*hmirat compute radiative association rate for H- */ #include "cddefines.h" #include "tepowers.h" #include "hmirat.h" double hmirat(double te) { double hmirat_v; # ifdef DEBUG_FUN fputs( "<+>hmirat()\n", debug_fp ); # endif /* fits to radiative association rate coefficients */ if( te < 31.62 ) { hmirat_v = 8.934e-18*TePowers.sqrte*TePowers.te003*TePowers.te001* TePowers.te001; } else if( te < 90. ) { hmirat_v = 5.159e-18*TePowers.sqrte*TePowers.te10*TePowers.te03* TePowers.te03*TePowers.te003*TePowers.te001; } else if( te < 1200. ) { hmirat_v = 2.042e-18*te/TePowers.te10/TePowers.te03; } else if( te < 3800. ) { hmirat_v = 8.861e-18*TePowers.te70/TePowers.te03/TePowers.te01* TePowers.te003; } else if( te <= 1.4e4 ) { /* following really only optimized up to 1e4 */ hmirat_v = 8.204e-17*TePowers.sqrte/TePowers.te10/TePowers.te01* TePowers.te003; } else { /* out of range of these approximations */ puts( "[Stop in hmirat]" ); exit(1); } # ifdef DEBUG_FUN fputs( " <->hmirat()\n", debug_fp ); # endif return( hmirat_v ); }