DISPATCH
cooling_Rosen_etal.f90
1 ! cooling_Rosen_etal.f90 $Id: c62cd4cb0c03e121d4c521ac90d4328f6f193196 $
2 !***********************************************************************
3 FUNCTION cooling_rosen_etal (self, temp)
4  implicit none
5  class(cooling_t):: self
6  real(kind=dp) cooling_rosen_etal, temp, qq
7  real(kind=dp), parameter:: &
8  te1=10.0, & ! extended down to 10 K from 300 K.
9  te2=2000.0, &
10  te3=8000.0, &
11  te4=1.0e5, &
12  te5=4.0e7, &
13  c1=2.0, &
14  c2=1.5, &
15  c3=2.867, &
16  c4=-0.65, &
17  c5=0.5, &
18 ! The coefficients below are the ones from Rosen, Bregman & Normman 1993,
19 ! with a factor of 1e20 multiplied on the coefficients, which is cancelled
20 ! by dividing not with 2e-24**2, but with 4e-28. The factor 2e-24 is the
21 ! approximate molecular weight of ISM particles (without electrons), and
22 ! converts between hydrogen number density and mass density. With the
23 ! original coefficients the cooling is obtained by multiplying the cooling
24 ! function with CGS number density squared, while with these much larger
25 ! coefficients one multiplies instead with CHS mass density squared. The
26 ! expression in the paper has a multiplication with "rho^2", but this should
27 ! be number density squared (N^2). The expression in Rosen & Bregman 1995,
28 ! which has a factor pressure squared, is also incorrect. Rosen et al state
29 ! that the expressions take account of the varying degree of ionization (the
30 ! cooling is really proportional to N_H * N_e).
31  h1=2.2380e-32, &
32  h2=1.0012e-30, &
33  h3=4.6240e-16, &
34  h4=1.7800e-18, &
35  h5=3.2217e-27
36 !.......................................................................
37  if (temp .le. t_mc) then
38  qq = 0.
39  else if (temp .le. te2) then
40  qq = h1*temp**c1
41  else if (temp .le. te3) then
42  qq = h2*temp**c2
43  else if (temp .le. te4) then
44  qq = h3*temp**c3*1e-20
45  else if (temp .le. te5) then
46  qq = h4*temp**c4
47  else
48  qq = h5*temp**c5
49  end if
50  cooling_rosen_etal=qq
51 END FUNCTION