Line data Source code
1 : module neu_support
2 :
3 : use neu_def
4 : use neu_lib
5 : use math_lib
6 : use const_def, only: dp
7 : use utils_lib, only: mkdir, mesa_error
8 :
9 : implicit none
10 :
11 : contains
12 :
13 1 : subroutine do_test_neutrinos()
14 : real(dp), parameter :: logT_start = 6.d0, logT_end = 10.5d0
15 : real(dp), parameter :: logRho_start = 6.d0, logRho_end = 10.5d0
16 : real(dp), parameter :: abar_start = 1.d0, abar_end = 60d0
17 : real(dp), parameter :: zbar_start = 1.d0, zbar_end = 26d0
18 :
19 : integer, parameter :: num_temps = 10, num_rhos = 10, num_abars = 10, num_zbars = 10
20 :
21 3 : real(dp) :: T, logT, Rho, logRho, abar, zbar
22 :
23 : integer :: i, j, k, l, info
24 :
25 : logical :: flags(num_neu_types) ! true if should include the type
26 :
27 6 : real(dp) :: loss(num_neu_rvs) ! total from all sources
28 31 : real(dp) :: sources(num_neu_types, num_neu_rvs)
29 :
30 6 : flags = .true.
31 :
32 11 : do i = 1, num_temps
33 :
34 10 : logT = logT_start + (i - 1)*(logT_end - logT_start)/num_temps
35 10 : T = exp10(logT)
36 :
37 111 : do j = 1, num_rhos
38 100 : logRho = logRho_start + (j - 1)*(logRho_end - logRho_start)/num_rhos
39 100 : rho = exp10(logRho)
40 1110 : do k = 1, num_abars
41 1000 : abar = abar_start + (k - 1)*(abar_end - abar_start)/num_abars
42 :
43 11100 : do l = 1, num_zbars
44 10000 : zbar = zbar_start + (l - 1)*(zbar_end - zbar_start)/num_zbars
45 :
46 10000 : call neu_get(T, logT, Rho, logRho, abar, zbar, 7.5d0, flags, loss, sources, info)
47 :
48 11000 : write (*, '(99(1pe26.16))') logT, logRho, abar, zbar, loss, sources
49 : end do
50 : end do
51 : end do
52 : end do
53 :
54 1 : end subroutine do_test_neutrinos
55 :
56 : end module neu_support
57 :
|