\n", $T, $kT); $h = 6.626e-34; if ($mol==co) { $E1 = 3.8450*1.9878e-23; $E = (0.5*$J*($J+1))*$E1; if ($J==0) { $frest = 115.271e9; $A = 7.7e-8; } if ($J==1) { $frest = 230.538e9; $A = 7.4e-7; } if ($J==2) { $frest = 345.7959899e9; $A = 2.7e-06; } if ($J==3) { $frest = 461.0407682e9; $A = 6.5e-06; } if ($J==4) { $frest = 576267.9305e6; $A = 1.3e-05; } if ($J==5) { $frest = 691473.0763e6; $A = 2.3e-05; } if ($J==6) { $frest = 806651.8060e6; $A = 3.7e-05; } if ($J==7) { $frest = 921799.7000e6; $A = 5.5e-05; } if ($J==8) { $frest = 1036912.3930e6; $A = 7.8e-05; } if ($J==9) { $frest = 1151985.4520e6; $A = 1.1e-04; } } if ($mol==hcn) { $E1 = 2.9564*1.9878e-23; $E = (0.5*$J*($J+1))*$E1; // $mu = 2.98; //Debyes $mu = 2.942; //http://spec.jpl.nasa.gov/ftp/pub/catalog/doc/d027003.cat if ($J==0) { $frest = 88.6318470e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==1){ $frest = 177.2612230e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==2){ $frest = 265.8861800e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==3){ $frest = 354.5054759e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==4){ $frest = 443.1161554e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==5){ $frest = 531.7163875e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==6){ $frest = 620.30409525e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==7){ $frest = 708.8772081e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } } if ($mol==hco) { $E1 = 2.9750*1.9878e-23; $E = (0.5*$J*($J+1))*$E1; //$mu = 4.48; // Debyes - see MGB's sheet and Rohlfs p379 $mu = 3.888; //http://spec.jpl.nasa.gov/ftp/pub/catalog/doc/d029002.cat if ($J==0){ $frest = 89.188518e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==1){ $frest = 178.3750650e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==2){ $frest = 267.5576190e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==3){ $frest = 356.7342880e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==4){ $frest = 445.9029960e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==5){ $frest = 535.0617755e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==6){ $frest = 624.2086733e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); } if ($J==7){ $frest = 713.3420900e9; $A = (1.165e-11)*(pow(($frest*1e-9),3))*(pow($mu,2))*($J+1)/(2*$J+3); // spontanoeus EMISSION coefficient } } if ($mol==cs) { $E1 = 1.6342*1.9878e-23; $E = (0.5*$J*($J+1))*$E1; if ($J==0){ $frest = 48.9909780e9; $A = 1.74e-06; } if ($J==1){ $frest = 97.9809500e9; $A = 1.68e-05; } if ($J==2){ $frest = 146.9690330e9; $A = 6.05e-05; } if ($J==3){ $frest = 195.9542260e9; $A = 1.49e-04; } if ($J==4){ $frest = 244.93564350e9; $A = 2.97e-04; } if ($J==5){ $frest = 293.9122440e9; $A = 5.21e-04; } if ($J==6){ $frest = 342.8830000e9; $A = 8.37e-04; } if ($J==7){ $frest = 391.8470300e9; $A = 1.26e-03; } } // printf("J = %d A= %e freq = %e E1 = %e kT = %e
Freq not being reset properly
J appears to be okay
retaining last molecule in program\n", $J, $A, $frest, $E1, $kT); $blah = exp($E/$kT)/(1-(exp((-1*$h*$frest)/($kT)))); $gu = 2*($J+1)+1; $g = (2*$J)+1; $x = -1*($E1/$kT); $Q = 1; $j = 1; while (((2*$j)+1)*exp(0.5*$j*($j+1)*$x) > 0.001){ // printf("%f %e %e %e
\n", $j, $x, $E1, $kT); $Q = $Q + (((2*$j)+1)*exp(0.5*$j*($j+1)*$x)); $j = $j+1; //printf("%f \n", ((2*$j)+1)*exp(0.5*$j*($j+1)*$x)); } $f = $Q*$blah; $c = 3e5; $N = (8*3.1416*(pow($frest,3))*$f*(1.06*$tau*$v))/((pow($c,3))*$A*$gu*1e10); } else { //must go at bottom or form will submit itself! $z = $T1 = $tau = $v = 0; $red = "C"; $mol = "co"; $J = "0"; // $frest = $freq = $N = $temp = 0; $N = $temp = 0; } $mol_select = array("co", "hcn", "hco", "cs"); $mol_select[$mol] = "selected"; $J_select = array("0", "1", "2", "3", "4", "5", "6", "7"); //so pull downs remember values $J_select[$J] = "selected"; ?>


Column Density Calculator

This program will calculate the total column density from the rotational transitions (up to J = 7-->8) for the most commonly observed interstellar molecules (see Section 3.1 of Curran et al., 2004, MNRAS 352,563 ).

Molecule                   J =
Optical depth Line width km/s
Excitation
temperature
  K
Redshift dependent no yes no yes

Rest freq of GHz
redshifted to GHz.
Redshift, z =

Total column density is, N = cm-2 and Tex = K
Used Einstein A-coefficient of A = s-1

NASA JPL Catalogue     NIST Recommended Rest Frequencies for Observed Interstellar Molecular Microwave Transitions (LOVAS)

If there are other molecules/transitions you'd like included, just send me the Einstein A-coefficients/dipole moments.

OH transitions      Back