LCOV - code coverage report
Current view: top level - neu/test/src - neu_support.f90 (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 18 18
Test Date: 2025-05-08 18:23:42 Functions: 100.0 % 1 1

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

Generated by: LCOV version 2.0-1