Line data Source code
1 : module mo_nln_matrix 2 : use shr_kind_mod, only : r8 => shr_kind_r8 3 : private 4 : public :: nlnmat 5 : contains 6 4348047600 : subroutine nlnmat( mat, y, rxt, lmat, dti ) 7 : use chem_mods, only : gas_pcnst, rxntot, nzcnt 8 : implicit none 9 : !---------------------------------------------- 10 : ! ... dummy arguments 11 : !---------------------------------------------- 12 : real(r8), intent(in) :: dti 13 : real(r8), intent(in) :: lmat(nzcnt) 14 : real(r8), intent(in) :: y(gas_pcnst) 15 : real(r8), intent(in) :: rxt(rxntot) 16 : real(r8), intent(inout) :: mat(nzcnt) 17 4348047600 : call nlnmat_finit( mat, lmat, dti ) 18 4348047600 : end subroutine nlnmat 19 4348047600 : subroutine nlnmat_finit( mat, lmat, dti ) 20 : use chem_mods, only : gas_pcnst, rxntot, nzcnt 21 : implicit none 22 : !---------------------------------------------- 23 : ! ... dummy arguments 24 : !---------------------------------------------- 25 : real(r8), intent(in) :: dti 26 : real(r8), intent(in) :: lmat(nzcnt) 27 : real(r8), intent(inout) :: mat(nzcnt) 28 : !---------------------------------------------- 29 : ! ... local variables 30 : !---------------------------------------------- 31 : !---------------------------------------------- 32 : ! ... complete matrix entries implicit species 33 : !---------------------------------------------- 34 4348047600 : mat( 1) = lmat( 1) 35 4348047600 : mat( 2) = lmat( 2) 36 4348047600 : mat( 3) = lmat( 3) 37 4348047600 : mat( 4) = lmat( 4) 38 4348047600 : mat( 5) = lmat( 5) 39 4348047600 : mat( 6) = lmat( 6) 40 4348047600 : mat( 7) = lmat( 7) 41 4348047600 : mat( 8) = lmat( 8) 42 4348047600 : mat( 9) = lmat( 9) 43 4348047600 : mat( 10) = lmat( 10) 44 4348047600 : mat( 11) = lmat( 11) 45 4348047600 : mat( 12) = lmat( 12) 46 4348047600 : mat( 13) = lmat( 13) 47 4348047600 : mat( 14) = lmat( 14) 48 4348047600 : mat( 15) = lmat( 15) 49 4348047600 : mat( 16) = lmat( 16) 50 4348047600 : mat( 17) = lmat( 17) 51 4348047600 : mat( 18) = lmat( 18) 52 4348047600 : mat( 19) = lmat( 19) 53 4348047600 : mat( 20) = lmat( 20) 54 4348047600 : mat( 21) = lmat( 21) 55 4348047600 : mat( 22) = lmat( 22) 56 4348047600 : mat( 23) = lmat( 23) 57 4348047600 : mat( 24) = lmat( 24) 58 4348047600 : mat( 25) = lmat( 25) 59 4348047600 : mat( 26) = lmat( 26) 60 4348047600 : mat( 27) = lmat( 27) 61 4348047600 : mat( 28) = lmat( 28) 62 4348047600 : mat( 29) = lmat( 29) 63 4348047600 : mat( 30) = lmat( 30) 64 4348047600 : mat( 31) = lmat( 31) 65 4348047600 : mat( 32) = lmat( 32) 66 4348047600 : mat( 33) = lmat( 33) 67 4348047600 : mat( 34) = lmat( 34) 68 4348047600 : mat( 35) = lmat( 35) 69 4348047600 : mat( 1) = mat( 1) - dti 70 4348047600 : mat( 2) = mat( 2) - dti 71 4348047600 : mat( 3) = mat( 3) - dti 72 4348047600 : mat( 4) = mat( 4) - dti 73 4348047600 : mat( 5) = mat( 5) - dti 74 4348047600 : mat( 7) = mat( 7) - dti 75 4348047600 : mat( 9) = mat( 9) - dti 76 4348047600 : mat( 10) = mat( 10) - dti 77 4348047600 : mat( 11) = mat( 11) - dti 78 4348047600 : mat( 12) = mat( 12) - dti 79 4348047600 : mat( 14) = mat( 14) - dti 80 4348047600 : mat( 15) = mat( 15) - dti 81 4348047600 : mat( 16) = mat( 16) - dti 82 4348047600 : mat( 17) = mat( 17) - dti 83 4348047600 : mat( 18) = mat( 18) - dti 84 4348047600 : mat( 19) = mat( 19) - dti 85 4348047600 : mat( 20) = mat( 20) - dti 86 4348047600 : mat( 21) = mat( 21) - dti 87 4348047600 : mat( 22) = mat( 22) - dti 88 4348047600 : mat( 23) = mat( 23) - dti 89 4348047600 : mat( 24) = mat( 24) - dti 90 4348047600 : mat( 26) = mat( 26) - dti 91 4348047600 : mat( 27) = mat( 27) - dti 92 4348047600 : mat( 28) = mat( 28) - dti 93 4348047600 : mat( 29) = mat( 29) - dti 94 4348047600 : mat( 30) = mat( 30) - dti 95 4348047600 : mat( 31) = mat( 31) - dti 96 4348047600 : mat( 32) = mat( 32) - dti 97 4348047600 : mat( 34) = mat( 34) - dti 98 4348047600 : mat( 35) = mat( 35) - dti 99 4348047600 : end subroutine nlnmat_finit 100 : end module mo_nln_matrix