/*S2cs compute [sii] collision strengths * compute collision strengths for [SII] transitions * w/in S II ground term. From *>>refer Ramsbottom, C.A., Bell, K.L., Stafford, R.P. 1996, *>>refer At. Data Nucl. Data Tables, 63, 57 * written by Kirk Korista */ #include "cddefines.h" #include "s2cs.h" void S2cs(double telog, double *cs12, double *cs13, double *cs14, double *cs15, double *cs23, double *cs24, double *cs25, double *cs34, double *cs35, double *cs45) { double a, b, c, telogn1; # ifdef DEBUG_FUN fputs( "<+>S2cs()\n", debug_fp ); # endif /* limit to stop exceeding bounds */ telogn1 = MAX2(3.5,telog); telogn1 = MIN2(telogn1,5.0); /* 2D5/2 - 2P3/2 S II 10320.4 A=0.179 (3-->5) */ a = 18.335524; b = -5.1180248; c = 0.44482438; *cs35 = MIN2(5.82,a+b*telogn1+c*telogn1*telogn1); *cs35 = MAX2(3.87,*cs35); /* 2D3/2 - 2P3/2 10286.7 A=0.1335 (2-->5) */ a = 6.690242; b = -1.061514; c = 0.034535506; *cs25 = MIN2(3.38,a+b*telogn1+c*telogn1*telogn1); *cs25 = MAX2(2.24,*cs25); /* 2D5/2 - 2P1/2 10373.3 A=0.0779 (3-->4) */ a = 4.2250081; b = -0.46549935; c = -0.010172139; *cs34 = MIN2(2.46,a+b*telogn1+c*telogn1*telogn1); *cs34 = MAX2(1.64,*cs34); /* 2D3/2 - 2P1/2 10336.3 A=0.1626 (2-->4) */ a = 8.274085; b = -2.6223732; c = 0.2502924; *cs24 = MIN2(2.14,a+b*telogn1+c*telogn1*telogn1); *cs24 = MAX2(1.42,*cs24); /* 2P1/2 - 2P3/2 */ a = -5.1994665; b = 49.334586; c = -70.93344; *cs45 = MIN2(3.07,a+b/telogn1+c/(telogn1*telogn1)); *cs45 = MAX2(1.85,*cs45); /* 2D3/2 - 2D5/2 */ a = -27.497273; b = 247.27405; c = -429.9142; *cs23 = MIN2(8.01,a+b/telogn1+c/(telogn1*telogn1)); *cs23 = MAX2(4.79,*cs23); /* 4S3/2 - 2P3/2 4068.6 A=0.220 */ a = 2.6106784; b = -3.2766908e-05; c = 6.5105436; *cs15 = a+b*pow(telogn1,c); *cs15 = MIN2(2.46,*cs15); *cs15 = MAX2(1.45,*cs15); /* 4S3/2 - 2P1/2 4076.4 A=0.091 */ *cs14 = 0.5**cs15; /* 4S3/2 - 2D5/2 6716.5 A=2.601e-04 */ a = 8.1458628; b = -0.5389108; c = 1.4486586; *cs13 = a+b*pow(telogn1,c); *cs13 = MIN2(4.77,*cs13); *cs13 = MAX2(2.54,*cs13); /* 4S3/2 - 2D3/2 6730.8 A=8.82e-04 */ *cs12 = *cs13/1.5; /* option to print values, usually commented out * write(6,*) 10.**telog * write(6,*) cs12 * write(6,*) cs13 * write(6,*) cs14 * write(6,*) cs15 * write(6,*) cs23 * write(6,*) cs24 * write(6,*) cs25 * write(6,*) cs34 * write(6,*) cs35 * write(6,*) cs45 * stop * */ # ifdef DEBUG_FUN fputs( " <->S2cs()\n", debug_fp ); # endif return; }