/*"oi3pcs.h" make collision strengths with electrons for 3P O I ground term. *>>refer Berrington, K.A. 1988, J.Phys.B, 21, 1083 for Te > 3000K *>>refer Bell, Berrington & Thomas 1998, MNRAS 293, L83 for 50K <= Te <= 3000K * numbers in cs variables refer to j value: j=0,1,2 (n=3,2,1 in 5 level atom) * written by Kirk Korista, 29 may 96 * adapted by Peter van Hoof, 30 march 99 (to include Bell et al. data) * all data above 3000K have been adjusted down by a constant factor to make * them line up with Bell et al. data. */ #include "cddefines.h" #include "tepowers.h" #include "phycon.h" #include "oi3pcs.h" void oi3Pcs(double *cs21, double *cs20, double *cs10) { double a, b, c, d; # ifdef DEBUG_FUN fputs( "<+>oi3Pcs()\n", debug_fp ); # endif /* local variables */ /* 3P2 - 3P1 */ if( phycon.te <= 3.0e3 ) { *cs21 = 1.49e-4*TePowers.sqrte/TePowers.te02/TePowers.te02; } else if( phycon.te <= 1.0e4 ) { a = -5.5634127e-04; b = 8.3458102e-08; c = 2.3068232e-04; *cs21 = 0.228f*(a + b*TePowers.te32 + c*TePowers.sqrte); } else { *cs21 = 0.228*MIN2(0.222,5.563e-06*phycon.te*TePowers.te05* TePowers.te02); } /* 3P2 - 3P0 */ if( phycon.te <= 3.0e3 ) { *cs20 = 4.98e-5*TePowers.sqrte; } else if( phycon.te <= 1.0e4 ) { a = -3.7178028e-04; b = 2.0569267e-08; c = 1.1898539e-04; *cs20 = 0.288*(a + b*TePowers.te32 + c*TePowers.sqrte); } else { *cs20 = 0.288*MIN2(0.0589,1.015e-05*phycon.te/TePowers.te10/ TePowers.te02/TePowers.te005); } /* 3P1 - 3P0 */ if( phycon.te <= 3.0e3 ) { *cs10 = 1.83e-9*phycon.te*TePowers.te30*TePowers.te05; } else if( phycon.te <= 1.0e4 ) { a = -5.9364373e-04; b = 0.02946867; c = 10768.675; d = 3871.9826; *cs10 = 0.0269*(a + b*exp(-0.5*POW2((phycon.te-c)/d))); } else { *cs10 = 0.0269*MIN2(0.074,7.794e-08*TePowers.te32/TePowers.te10/ TePowers.te01); } # ifdef DEBUG_FUN fputs( " <->oi3Pcs()\n", debug_fp ); # endif return; }