LCOV - code coverage report
Current view: top level - num/private - decsol_done.dek (source / functions) Coverage Total Hit
Test: coverage.info Lines: 33.3 % 27 9
Test Date: 2025-05-08 18:23:42 Functions: 100.0 % 1 1

            Line data    Source code
       1        25299 :       subroutine decsol_done(n,fjac,ldjac,fmas,ldmas,mlmas,mumas,
       2              :      &            m1,m2,nm1,fac1,e1_1D,lde1,ip1,ak,ier,ijob,calhes,iphes,
       3              :      &            mle,mue,mbjac,mbb,mdiag,mdiff,mbdiag,
       4              :      &            decsol,decsols,decsolblk,
       5              :      &            caller_id, nvar, nz, lblk, dblk, ublk,
       6        25299 :      &            sparse_jac,nzmax,isparse,ia,ja,sa,
       7              :      &            lrd,rpar_decsol,lid,ipar_decsol)
       8              :       implicit none
       9              :       interface
      10              : #include "mtx_decsol.dek"
      11              : #include "mtx_decsols.dek"
      12              : #include "mtx_decsolblk.dek"
      13              :       end interface
      14              :       integer, intent(in) :: caller_id, nvar, nz
      15              :       real(dp), dimension(:), pointer, intent(inout) :: lblk, dblk, ublk ! =(nvar,nvar,nz)
      16              :       integer :: ia(:) ! (n+1)
      17              :       integer :: ja(:) ! (nzmax)
      18              :       integer :: n, ldjac, ldmas, mlmas, mumas, m1, m2, nm1, lde1, ier, ijob
      19              :       integer :: mle, mue, mbjac, mbb, mdiag, mdiff, mbdiag, nzmax, isparse, lrd, lid
      20              :       real(dp) :: sparse_jac(:) ! (nzmax)
      21              :       real(dp) :: sa(:) ! (nzmax)
      22              :       real(dp), intent(inout), pointer :: rpar_decsol(:) ! (lrd)
      23              :       integer, intent(inout), pointer :: ipar_decsol(:) ! (lid)
      24              :       real(dp) :: fac1, fjac(ldjac,n), fmas(ldmas,nm1)
      25              :       logical :: calhes
      26              :       integer :: iphes(n)
      27              :       integer, pointer :: ip1(:) ! (nm1)
      28              :       real(dp), pointer :: e1_1D(:) ! =(lde1,nm1)
      29              :       real(dp), pointer :: ak(:)
      30              : 
      31              :       !write(*,*) 'decsol_done ijob', ijob
      32              : 
      33              : 
      34        25299 :       ier = 0
      35        25299 :       if (nvar > 0) then
      36              :          call decsolblk(
      37            0 :      &      2,caller_id,nvar,nz,lblk,dblk,ublk,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
      38            0 :          return
      39              :       end if
      40              : 
      41        25299 :       GOTO (1,2,3,4,5,6,55,8,9,55,11,12,13,14,15), ijob
      42              : !
      43              : ! -----------------------------------------------------------
      44              : !
      45              :    1  continue
      46              : ! ---  b=identity, jacobian a full matrix
      47        17412 :       call decsol(2,n,lde1,e1_1D,n,n,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
      48        17412 :       return
      49              : !
      50              : ! -----------------------------------------------------------
      51              : !
      52              :    8  continue
      53              : ! ---  b=identity, jacobian a sparse matrix
      54              :       !write(*,*) 'decsol_done call decsols'
      55            0 :       call decsols(2,n,nzmax,ia,ja,sa,ak,lrd,rpar_decsol,lid,ipar_decsol,ier)
      56              :       !write(*,*) 'back decsols'
      57            0 :       return
      58              : !
      59              : ! -----------------------------------------------------------
      60              : !
      61              :   11  continue
      62              : ! ---  b=identity, jacobian a full matrix, second order
      63            0 :       call decsol(2,nm1,lde1,e1_1D,nm1,nm1,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
      64            0 :       return
      65              : !
      66              : ! -----------------------------------------------------------
      67              : !
      68              :    2  continue
      69              : ! ---  b=identity, jacobian a banded matrix
      70         7887 :       call decsol(2,n,lde1,e1_1D,mle,mue,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
      71         7887 :       return
      72              : !
      73              : ! -----------------------------------------------------------
      74              : !
      75              :   12  continue
      76              : ! ---  b=identity, jacobian a banded matrix, second order
      77            0 :       call decsol(2,nm1,lde1,e1_1D,mle,mue,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
      78            0 :       return
      79              : !
      80              : ! -----------------------------------------------------------
      81              : !
      82              :    3  continue
      83              : ! ---  b is a banded matrix, jacobian a full matrix
      84            0 :       call decsol(2,n,lde1,e1_1D,n,n,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
      85            0 :       return
      86              : !
      87              : ! -----------------------------------------------------------
      88              : !
      89              :    9  continue
      90              : ! ---  b is a banded matrix, jacobian a sparse matrix
      91            0 :       call decsols(2,n,nzmax,ia,ja,sa,ak,lrd,rpar_decsol,lid,ipar_decsol,ier)
      92            0 :       return
      93              : !
      94              : ! -----------------------------------------------------------
      95              : !
      96              :   13  continue
      97              : ! ---  b is a banded matrix, jacobian a full matrix, second order
      98              :       GOTO 5
      99              : !
     100              : ! -----------------------------------------------------------
     101              : !
     102              :    4  continue
     103              : ! ---  b is a banded matrix, jacobian a banded matrix
     104            0 :       call decsol(2,n,lde1,e1_1D,mle,mue,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
     105            0 :       return
     106              : !
     107              : ! -----------------------------------------------------------
     108              : !
     109              :   14  continue
     110              : ! ---  b is a banded matrix, jacobian a banded matrix, second order
     111              :       GOTO 12
     112              : !
     113              : ! -----------------------------------------------------------
     114              : !
     115              :    5  continue
     116              : ! ---  b is a full matrix, jacobian a full matrix
     117            0 :       call decsol(2,n,lde1,e1_1D,n,n,ak,ip1,lrd,rpar_decsol,lid,ipar_decsol,ier)
     118            0 :       return
     119              : !
     120              : ! -----------------------------------------------------------
     121              : !
     122              :   15  continue
     123              : ! ---  b is a full matrix, jacobian a full matrix, second order
     124              :       GOTO 5
     125              : !
     126              : ! -----------------------------------------------------------
     127              : !
     128              :    6  continue
     129              : ! ---  b is a full matrix, jacobian a banded matrix
     130              : ! ---  this option is not provided
     131              :       return
     132              : !
     133              : ! -----------------------------------------------------------
     134              : !
     135              :   55  continue
     136            0 :        write(*,*) 'decsol_done: invalid ijob', ijob
     137            0 :        call mesa_error(__FILE__,__LINE__) ! decsol_done
     138              :       end subroutine decsol_done
        

Generated by: LCOV version 2.0-1