module mC7H162521027 !USE mod_param_defs implicit none INTEGER, PARAMETER :: pr = SELECTED_REAL_KIND(14,300) REAL(KIND=pr) :: working_precision_variables integer, parameter :: nspec = 25 integer, parameter :: nreac = 210 integer, parameter :: isc_T = 1 integer, parameter :: neq = nspec + 1 ! QSS variables ! Number of QSS species integer, parameter :: nqss = 27 ! QSS species integer, dimension(nspec + nqss) :: iqss real(pr), dimension(nspec + nqss) :: W_sp,Cp_sp,h_sp,dh_sp character(len=15), dimension(nspec + nqss) :: gname character(len=5), dimension(nreac) :: rname ! Post processing variables ! Number of groups integer, parameter :: ng = 53 ! Max number of species in groups integer, parameter :: maxppn = 1 ! Number of species in each group integer, dimension(ng) :: ppn ! Species in each group integer, dimension(ng,maxppn) :: pp ! Name of species in each group character(len=30), dimension(ng) :: ppname ! Actual expression of each reaction character(len=65), dimension(nreac) :: reacexp ! Link between backward and forward rates integer, dimension(nreac) :: fofb ! Index of species integer, parameter :: sN2 = 1 integer, parameter :: sO = 2 integer, parameter :: sH2 = 3 integer, parameter :: sH = 4 integer, parameter :: sOH = 5 integer, parameter :: sH2O = 6 integer, parameter :: sO2 = 7 integer, parameter :: sHO2 = 8 integer, parameter :: sH2O2 = 9 integer, parameter :: sCH2O = 10 integer, parameter :: sCO2 = 11 integer, parameter :: sCO = 12 integer, parameter :: sCH3 = 13 integer, parameter :: sC2H6 = 14 integer, parameter :: sCH4 = 15 integer, parameter :: sCH3OH = 16 integer, parameter :: sCH2CO = 17 integer, parameter :: sHOCHO = 18 integer, parameter :: sC2H2 = 19 integer, parameter :: sC3H6 = 20 integer, parameter :: sC2H4 = 21 integer, parameter :: sC3H4XAXH4C3 = 22 integer, parameter :: sC4H6 = 23 integer, parameter :: sC4H8X1XC4H8 = 24 integer, parameter :: sNXC7H16 = 25 integer, parameter :: sCH = 26 integer, parameter :: sHCO = 27 integer, parameter :: sCH2 = 28 integer, parameter :: sCH2GSGXCH2 = 29 integer, parameter :: sCH3O = 30 integer, parameter :: sC2H5 = 31 integer, parameter :: sCH3O2 = 32 integer, parameter :: sCH3O2H = 33 integer, parameter :: sHCCO = 34 integer, parameter :: sC2H3 = 35 integer, parameter :: sCH2CHO = 36 integer, parameter :: sC2H5O = 37 integer, parameter :: sCH3CO = 38 integer, parameter :: sC2H5O2 = 39 integer, parameter :: sC3H2 = 40 integer, parameter :: sC3H3 = 41 integer, parameter :: sC3H5XAXC3H5 = 42 integer, parameter :: sNXC3H7 = 43 integer, parameter :: sNXC3H7O2 = 44 integer, parameter :: sC4H7 = 45 integer, parameter :: sPXC4H9 = 46 integer, parameter :: sPXC4H9O2 = 47 integer, parameter :: sC5H9 = 48 integer, parameter :: sC5H10X1XC5H10 = 49 integer, parameter :: sC5H11X1XC5H11 = 50 integer, parameter :: sC6H12X1XC6H12 = 51 integer, parameter :: sC7H15X2XC7H15 = 52 ! Index of reactions integer, parameter :: rH1f = 1 integer, parameter :: rH1b = 2 integer, parameter :: rH2 = 3 integer, parameter :: rH3f = 4 integer, parameter :: rH3b = 5 integer, parameter :: rH4f = 6 integer, parameter :: rH4b = 7 integer, parameter :: rH5f = 8 integer, parameter :: rH5b = 9 integer, parameter :: rH6 = 10 integer, parameter :: rH7 = 11 integer, parameter :: rH8 = 12 integer, parameter :: rH9 = 13 integer, parameter :: rH10 = 14 integer, parameter :: rH11 = 15 integer, parameter :: rH12 = 16 integer, parameter :: rH13 = 17 integer, parameter :: rH14 = 18 integer, parameter :: rH15 = 19 integer, parameter :: rH16 = 20 integer, parameter :: rH17 = 21 integer, parameter :: rH18 = 22 integer, parameter :: rH19f = 23 integer, parameter :: rH19b = 24 integer, parameter :: rH20 = 25 integer, parameter :: rH21f = 26 integer, parameter :: rH21b = 27 integer, parameter :: rH22 = 28 integer, parameter :: rH23 = 29 integer, parameter :: rH24f = 30 integer, parameter :: rH24b = 31 integer, parameter :: rH25f = 32 integer, parameter :: rH25b = 33 integer, parameter :: rH26 = 34 integer, parameter :: rH27 = 35 integer, parameter :: rH28 = 36 integer, parameter :: rH29f = 37 integer, parameter :: rH29b = 38 integer, parameter :: rH30 = 39 integer, parameter :: rH31f = 40 integer, parameter :: rH31b = 41 integer, parameter :: rH32 = 42 integer, parameter :: rH33 = 43 integer, parameter :: rH34f = 44 integer, parameter :: rH34b = 45 integer, parameter :: rH35 = 46 integer, parameter :: rH36 = 47 integer, parameter :: rH37f = 48 integer, parameter :: rH38 = 49 integer, parameter :: rH39 = 50 integer, parameter :: rH40f = 51 integer, parameter :: rH40b = 52 integer, parameter :: rH41f = 53 integer, parameter :: rH41b = 54 integer, parameter :: rH42 = 55 integer, parameter :: rH43f = 56 integer, parameter :: rH43b = 57 integer, parameter :: rH44 = 58 integer, parameter :: rH45 = 59 integer, parameter :: rH46 = 60 integer, parameter :: rH47 = 61 integer, parameter :: rH48 = 62 integer, parameter :: rH49 = 63 integer, parameter :: rH50 = 64 integer, parameter :: rH51 = 65 integer, parameter :: rH52 = 66 integer, parameter :: rH53 = 67 integer, parameter :: rH54 = 68 integer, parameter :: rH55 = 69 integer, parameter :: rH56 = 70 integer, parameter :: rH57 = 71 integer, parameter :: rH59 = 72 integer, parameter :: rH60 = 73 integer, parameter :: rH61 = 74 integer, parameter :: rH62 = 75 integer, parameter :: rH63f = 76 integer, parameter :: rH63b = 77 integer, parameter :: rH64 = 78 integer, parameter :: rH65 = 79 integer, parameter :: rH66 = 80 integer, parameter :: rH67 = 81 integer, parameter :: rH68 = 82 integer, parameter :: rH71f = 83 integer, parameter :: rH71b = 84 integer, parameter :: rH72 = 85 integer, parameter :: rH73 = 86 integer, parameter :: rH74 = 87 integer, parameter :: rH75 = 88 integer, parameter :: rH76 = 89 integer, parameter :: rH77 = 90 integer, parameter :: rH78 = 91 integer, parameter :: rH79 = 92 integer, parameter :: rH80 = 93 integer, parameter :: rH81 = 94 integer, parameter :: rH82 = 95 integer, parameter :: rH83 = 96 integer, parameter :: rH84f = 97 integer, parameter :: rH85f = 98 integer, parameter :: rH85b = 99 integer, parameter :: rH86 = 100 integer, parameter :: rH87 = 101 integer, parameter :: rH88 = 102 integer, parameter :: rH89 = 103 integer, parameter :: rH90 = 104 integer, parameter :: rH92 = 105 integer, parameter :: rH93 = 106 integer, parameter :: rH94 = 107 integer, parameter :: rH95 = 108 integer, parameter :: rH96 = 109 integer, parameter :: rH97f = 110 integer, parameter :: rH97b = 111 integer, parameter :: rH98 = 112 integer, parameter :: rH99 = 113 integer, parameter :: rH100 = 114 integer, parameter :: rH101f = 115 integer, parameter :: rH101b = 116 integer, parameter :: rH102 = 117 integer, parameter :: rH103 = 118 integer, parameter :: rH104 = 119 integer, parameter :: rH105f = 120 integer, parameter :: rH105b = 121 integer, parameter :: rH106 = 122 integer, parameter :: rH107 = 123 integer, parameter :: rH108 = 124 integer, parameter :: rH109f = 125 integer, parameter :: rH109b = 126 integer, parameter :: rH110 = 127 integer, parameter :: rH111 = 128 integer, parameter :: rH112 = 129 integer, parameter :: rH113 = 130 integer, parameter :: rH114 = 131 integer, parameter :: rH115f = 132 integer, parameter :: rH115b = 133 integer, parameter :: rH116 = 134 integer, parameter :: rH117 = 135 integer, parameter :: rH118 = 136 integer, parameter :: rH119f = 137 integer, parameter :: rH119b = 138 integer, parameter :: rH120 = 139 integer, parameter :: rH121 = 140 integer, parameter :: rH122 = 141 integer, parameter :: rH124 = 142 integer, parameter :: rH125 = 143 integer, parameter :: rH126 = 144 integer, parameter :: rH127 = 145 integer, parameter :: rH128 = 146 integer, parameter :: rH129 = 147 integer, parameter :: rH130 = 148 integer, parameter :: rH131 = 149 integer, parameter :: rH132 = 150 integer, parameter :: rH133f = 151 integer, parameter :: rH133b = 152 integer, parameter :: rH134f = 153 integer, parameter :: rH134b = 154 integer, parameter :: rH135f = 155 integer, parameter :: rH135b = 156 integer, parameter :: rH136 = 157 integer, parameter :: rH137 = 158 integer, parameter :: rH139 = 159 integer, parameter :: rH140 = 160 integer, parameter :: rH141 = 161 integer, parameter :: rH142 = 162 integer, parameter :: rH143 = 163 integer, parameter :: rH146 = 164 integer, parameter :: rH147f = 165 integer, parameter :: rH147b = 166 integer, parameter :: rH148 = 167 integer, parameter :: rH149 = 168 integer, parameter :: rH150 = 169 integer, parameter :: rH151 = 170 integer, parameter :: rH152 = 171 integer, parameter :: rH153 = 172 integer, parameter :: rH154 = 173 integer, parameter :: rH155 = 174 integer, parameter :: rH156 = 175 integer, parameter :: rH157f = 176 integer, parameter :: rH157b = 177 integer, parameter :: rH158f = 178 integer, parameter :: rH158b = 179 integer, parameter :: rH159 = 180 integer, parameter :: rH160f = 181 integer, parameter :: rH160b = 182 integer, parameter :: rH161 = 183 integer, parameter :: rH162 = 184 integer, parameter :: rH163 = 185 integer, parameter :: rH165 = 186 integer, parameter :: rH166 = 187 integer, parameter :: rHLP167 = 188 integer, parameter :: rHLP168 = 189 integer, parameter :: rHLP169f = 190 integer, parameter :: rH170 = 191 integer, parameter :: rHLP171 = 192 integer, parameter :: rHLP172 = 193 integer, parameter :: rHLP173 = 194 integer, parameter :: rHLP174 = 195 integer, parameter :: rHLP175 = 196 integer, parameter :: rHLP176 = 197 integer, parameter :: rHLP177 = 198 integer, parameter :: rHLP178 = 199 integer, parameter :: rH179 = 200 integer, parameter :: rHLP180 = 201 integer, parameter :: rHLP181 = 202 integer, parameter :: rHLP182 = 203 integer, parameter :: rHLP183 = 204 integer, parameter :: rHLP184 = 205 integer, parameter :: rHLP185 = 206 integer, parameter :: rHLP186 = 207 integer, parameter :: rH37b = 208 integer, parameter :: rH84b = 209 integer, parameter :: rHLP169b = 210 ! Index of third bodies integer, parameter :: mM9 = 1 integer, parameter :: mM7 = 2 integer, parameter :: mM8 = 3 integer, parameter :: mM2 = 4 integer, parameter :: mM12 = 5 integer, parameter :: mM4 = 6 integer, parameter :: mM10 = 7 integer, parameter :: mM11 = 8 integer, parameter :: mM3 = 9 integer, parameter :: mM5 = 10 integer, parameter :: mM6 = 11 contains ! Name of mechanism ! subroutine which_mechanism ! use parallel !implicit none ! if (irank.eq.iroot) print*, 'Using mechanism Spec_53_Reac_221_QSS_22.mech' ! return ! end subroutine which_mechanism ! Subroutine to define groups for post-processing subroutine pp_data implicit none ! Number of species in each group ppn(1) = 1 ppn(2) = 1 ppn(3) = 1 ppn(4) = 1 ppn(5) = 1 ppn(6) = 1 ppn(7) = 1 ppn(8) = 1 ppn(9) = 1 ppn(10) = 1 ppn(11) = 1 ppn(12) = 1 ppn(13) = 1 ppn(14) = 1 ppn(15) = 1 ppn(16) = 1 ppn(17) = 1 ppn(18) = 1 ppn(19) = 1 ppn(20) = 1 ppn(21) = 1 ppn(22) = 1 ppn(23) = 1 ppn(24) = 1 ppn(25) = 1 ppn(26) = 1 ppn(27) = 1 ppn(28) = 1 ppn(29) = 1 ppn(30) = 1 ppn(31) = 1 ppn(32) = 1 ppn(33) = 1 ppn(34) = 1 ppn(35) = 1 ppn(36) = 1 ppn(37) = 1 ppn(38) = 1 ppn(39) = 1 ppn(40) = 1 ppn(41) = 1 ppn(42) = 1 ppn(43) = 1 ppn(44) = 1 ppn(45) = 1 ppn(46) = 1 ppn(47) = 1 ppn(48) = 1 ppn(49) = 1 ppn(50) = 1 ppn(51) = 1 ppn(52) = 1 ppn(53) = 1 ! Indices of species in each group pp(1,1) = 1 pp(2,1) = 2 pp(3,1) = 3 pp(4,1) = 4 pp(5,1) = 5 pp(6,1) = 6 pp(7,1) = 7 pp(8,1) = 8 pp(9,1) = 9 pp(10,1) = 10 pp(11,1) = 11 pp(12,1) = 12 pp(13,1) = 13 pp(14,1) = 14 pp(15,1) = 15 pp(16,1) = 16 pp(17,1) = 17 pp(18,1) = 18 pp(19,1) = 19 pp(20,1) = 20 pp(21,1) = 21 pp(22,1) = 22 pp(23,1) = 23 pp(24,1) = 24 pp(25,1) = 25 pp(26,1) = 26 pp(27,1) = 27 pp(28,1) = 28 pp(29,1) = 29 pp(30,1) = 30 pp(31,1) = 31 pp(32,1) = 32 pp(33,1) = 33 pp(34,1) = 34 pp(35,1) = 35 pp(36,1) = 36 pp(37,1) = 37 pp(38,1) = 38 pp(39,1) = 39 pp(40,1) = 40 pp(41,1) = 41 pp(42,1) = 42 pp(43,1) = 43 pp(44,1) = 44 pp(45,1) = 45 pp(46,1) = 46 pp(47,1) = 47 pp(48,1) = 48 pp(49,1) = 49 pp(50,1) = 50 pp(51,1) = 51 pp(52,1) = 52 pp(53,1) = 1 ! Name of group of species ppname(1) = trim(gname(sN2)) ppname(2) = trim(gname(sO)) ppname(3) = trim(gname(sH2)) ppname(4) = trim(gname(sH)) ppname(5) = trim(gname(sOH)) ppname(6) = trim(gname(sH2O)) ppname(7) = trim(gname(sO2)) ppname(8) = trim(gname(sHO2)) ppname(9) = trim(gname(sH2O2)) ppname(10) = trim(gname(sCH)) ppname(11) = trim(gname(sHCO)) ppname(12) = trim(gname(sCH2)) ppname(13) = trim(gname(sCH2O)) ppname(14) = trim(gname(sCO2)) ppname(15) = trim(gname(sCO)) ppname(16) = trim(gname(sCH2GSGXCH2)) ppname(17) = trim(gname(sCH3)) ppname(18) = trim(gname(sC2H6)) ppname(19) = trim(gname(sCH4)) ppname(20) = trim(gname(sCH3O)) ppname(21) = trim(gname(sC2H5)) ppname(22) = trim(gname(sCH3OH)) ppname(23) = trim(gname(sCH2CO)) ppname(24) = trim(gname(sHOCHO)) ppname(25) = trim(gname(sCH3O2)) ppname(26) = trim(gname(sCH3O2H)) ppname(27) = trim(gname(sC2H2)) ppname(28) = trim(gname(sHCCO)) ppname(29) = trim(gname(sC2H3)) ppname(30) = trim(gname(sCH2CHO)) ppname(31) = trim(gname(sC3H6)) ppname(32) = trim(gname(sC2H4)) ppname(33) = trim(gname(sC2H5O)) ppname(34) = trim(gname(sCH3CO)) ppname(35) = trim(gname(sC2H5O2)) ppname(36) = trim(gname(sC3H2)) ppname(37) = trim(gname(sC3H3)) ppname(38) = trim(gname(sC3H4XAXH4C3)) ppname(39) = trim(gname(sC3H5XAXC3H5)) ppname(40) = trim(gname(sNXC3H7)) ppname(41) = trim(gname(sNXC3H7O2)) ppname(42) = trim(gname(sC4H6)) ppname(43) = trim(gname(sC4H7)) ppname(44) = trim(gname(sC4H8X1XC4H8)) ppname(45) = trim(gname(sPXC4H9)) ppname(46) = trim(gname(sPXC4H9O2)) ppname(47) = trim(gname(sC5H9)) ppname(48) = trim(gname(sC5H10X1XC5H10)) ppname(49) = trim(gname(sC5H11X1XC5H11)) ppname(50) = trim(gname(sC6H12X1XC6H12)) ppname(51) = trim(gname(sC7H15X2XC7H15)) ppname(52) = trim(gname(sNXC7H16)) ppname(53) = 'N2X' return end subroutine pp_data ! Molar mass subroutine molar_mass implicit none W_sp(sN2) = 0.02801348_pr W_sp(sO) = 0.0159994_pr W_sp(sH2) = 0.00201588_pr W_sp(sH) = 0.00100794_pr W_sp(sOH) = 0.01700734_pr W_sp(sH2O) = 0.01801528_pr W_sp(sO2) = 0.0319988_pr W_sp(sHO2) = 0.03300674_pr W_sp(sH2O2) = 0.03401468_pr W_sp(sCH) = 0.01301894_pr W_sp(sHCO) = 0.02901834_pr W_sp(sCH2) = 0.01402688_pr W_sp(sCH2O) = 0.03002628_pr W_sp(sCO2) = 0.0440098_pr W_sp(sCO) = 0.0280104_pr W_sp(sCH2GSGXCH2) = 0.01402688_pr W_sp(sCH3) = 0.01503482_pr W_sp(sC2H6) = 0.03006964_pr W_sp(sCH4) = 0.01604276_pr W_sp(sCH3O) = 0.03103422_pr W_sp(sC2H5) = 0.0290617_pr W_sp(sCH3OH) = 0.03204216_pr W_sp(sCH2CO) = 0.04203728_pr W_sp(sHOCHO) = 0.04602568_pr W_sp(sCH3O2) = 0.04703362_pr W_sp(sCH3O2H) = 0.04804156_pr W_sp(sC2H2) = 0.02603788_pr W_sp(sHCCO) = 0.04102934_pr W_sp(sC2H3) = 0.02704582_pr W_sp(sCH2CHO) = 0.04304522_pr W_sp(sC3H6) = 0.04208064_pr W_sp(sC2H4) = 0.02805376_pr W_sp(sC2H5O) = 0.0450611_pr W_sp(sCH3CO) = 0.04304522_pr W_sp(sC2H5O2) = 0.0610605_pr W_sp(sC3H2) = 0.03804888_pr W_sp(sC3H3) = 0.03905682_pr W_sp(sC3H4XAXH4C3) = 0.04006476_pr W_sp(sC3H5XAXC3H5) = 0.0410727_pr W_sp(sNXC3H7) = 0.04308858_pr W_sp(sNXC3H7O2) = 0.07508738_pr W_sp(sC4H6) = 0.05409164_pr W_sp(sC4H7) = 0.05509958_pr W_sp(sC4H8X1XC4H8) = 0.05610752_pr W_sp(sPXC4H9) = 0.05711546_pr W_sp(sPXC4H9O2) = 0.08911426_pr W_sp(sC5H9) = 0.06912646_pr W_sp(sC5H10X1XC5H10) = 0.0701344_pr W_sp(sC5H11X1XC5H11) = 0.07114234_pr W_sp(sC6H12X1XC6H12) = 0.08416128_pr W_sp(sC7H15X2XC7H15) = 0.0991961_pr W_sp(sNXC7H16) = 0.10020404_pr return end subroutine molar_mass ! Species names subroutine species_name implicit none gname(sN2) = 'N2' gname(sO) = 'O' gname(sH2) = 'H2' gname(sH) = 'H' gname(sOH) = 'OH' gname(sH2O) = 'H2O' gname(sO2) = 'O2' gname(sHO2) = 'HO2' gname(sH2O2) = 'H2O2' gname(sCH) = 'CH' gname(sHCO) = 'HCO' gname(sCH2) = 'CH2' gname(sCH2O) = 'CH2O' gname(sCO2) = 'CO2' gname(sCO) = 'CO' gname(sCH2GSGXCH2) = 'CH2GSG-CH2' gname(sCH3) = 'CH3' gname(sC2H6) = 'C2H6' gname(sCH4) = 'CH4' gname(sCH3O) = 'CH3O' gname(sC2H5) = 'C2H5' gname(sCH3OH) = 'CH3OH' gname(sCH2CO) = 'CH2CO' gname(sHOCHO) = 'HOCHO' gname(sCH3O2) = 'CH3O2' gname(sCH3O2H) = 'CH3O2H' gname(sC2H2) = 'C2H2' gname(sHCCO) = 'HCCO' gname(sC2H3) = 'C2H3' gname(sCH2CHO) = 'CH2CHO' gname(sC3H6) = 'C3H6' gname(sC2H4) = 'C2H4' gname(sC2H5O) = 'C2H5O' gname(sCH3CO) = 'CH3CO' gname(sC2H5O2) = 'C2H5O2' gname(sC3H2) = 'C3H2' gname(sC3H3) = 'C3H3' gname(sC3H4XAXH4C3) = 'C3H4-A-H4C3' gname(sC3H5XAXC3H5) = 'C3H5-A-C3H5' gname(sNXC3H7) = 'N-C3H7' gname(sNXC3H7O2) = 'N-C3H7O2' gname(sC4H6) = 'C4H6' gname(sC4H7) = 'C4H7' gname(sC4H8X1XC4H8) = 'C4H8-1-C4H8' gname(sPXC4H9) = 'P-C4H9' gname(sPXC4H9O2) = 'P-C4H9O2' gname(sC5H9) = 'C5H9' gname(sC5H10X1XC5H10) = 'C5H10-1-C5H10' gname(sC5H11X1XC5H11) = 'C5H11-1-C5H11' gname(sC6H12X1XC6H12) = 'C6H12-1-C6H12' gname(sC7H15X2XC7H15) = 'C7H15-2-C7H15' gname(sNXC7H16) = 'N-C7H16' return end subroutine species_name ! Reaction names subroutine reaction_name implicit none rname(rH1f) = 'H1f' rname(rH1b) = 'H1b' rname(rH2) = 'H2' rname(rH3f) = 'H3f' rname(rH3b) = 'H3b' rname(rH4f) = 'H4f' rname(rH4b) = 'H4b' rname(rH5f) = 'H5f' rname(rH5b) = 'H5b' rname(rH6) = 'H6' rname(rH7) = 'H7' rname(rH8) = 'H8' rname(rH9) = 'H9' rname(rH10) = 'H10' rname(rH11) = 'H11' rname(rH12) = 'H12' rname(rH13) = 'H13' rname(rH14) = 'H14' rname(rH15) = 'H15' rname(rH16) = 'H16' rname(rH17) = 'H17' rname(rH18) = 'H18' rname(rH19f) = 'H19f' rname(rH19b) = 'H19b' rname(rH20) = 'H20' rname(rH21f) = 'H21f' rname(rH21b) = 'H21b' rname(rH22) = 'H22' rname(rH23) = 'H23' rname(rH24f) = 'H24f' rname(rH24b) = 'H24b' rname(rH25f) = 'H25f' rname(rH25b) = 'H25b' rname(rH26) = 'H26' rname(rH27) = 'H27' rname(rH28) = 'H28' rname(rH29f) = 'H29f' rname(rH29b) = 'H29b' rname(rH30) = 'H30' rname(rH31f) = 'H31f' rname(rH31b) = 'H31b' rname(rH32) = 'H32' rname(rH33) = 'H33' rname(rH34f) = 'H34f' rname(rH34b) = 'H34b' rname(rH35) = 'H35' rname(rH36) = 'H36' rname(rH37f) = 'H37f' rname(rH38) = 'H38' rname(rH39) = 'H39' rname(rH40f) = 'H40f' rname(rH40b) = 'H40b' rname(rH41f) = 'H41f' rname(rH41b) = 'H41b' rname(rH42) = 'H42' rname(rH43f) = 'H43f' rname(rH43b) = 'H43b' rname(rH44) = 'H44' rname(rH45) = 'H45' rname(rH46) = 'H46' rname(rH47) = 'H47' rname(rH48) = 'H48' rname(rH49) = 'H49' rname(rH50) = 'H50' rname(rH51) = 'H51' rname(rH52) = 'H52' rname(rH53) = 'H53' rname(rH54) = 'H54' rname(rH55) = 'H55' rname(rH56) = 'H56' rname(rH57) = 'H57' rname(rH59) = 'H59' rname(rH60) = 'H60' rname(rH61) = 'H61' rname(rH62) = 'H62' rname(rH63f) = 'H63f' rname(rH63b) = 'H63b' rname(rH64) = 'H64' rname(rH65) = 'H65' rname(rH66) = 'H66' rname(rH67) = 'H67' rname(rH68) = 'H68' rname(rH71f) = 'H71f' rname(rH71b) = 'H71b' rname(rH72) = 'H72' rname(rH73) = 'H73' rname(rH74) = 'H74' rname(rH75) = 'H75' rname(rH76) = 'H76' rname(rH77) = 'H77' rname(rH78) = 'H78' rname(rH79) = 'H79' rname(rH80) = 'H80' rname(rH81) = 'H81' rname(rH82) = 'H82' rname(rH83) = 'H83' rname(rH84f) = 'H84f' rname(rH85f) = 'H85f' rname(rH85b) = 'H85b' rname(rH86) = 'H86' rname(rH87) = 'H87' rname(rH88) = 'H88' rname(rH89) = 'H89' rname(rH90) = 'H90' rname(rH92) = 'H92' rname(rH93) = 'H93' rname(rH94) = 'H94' rname(rH95) = 'H95' rname(rH96) = 'H96' rname(rH97f) = 'H97f' rname(rH97b) = 'H97b' rname(rH98) = 'H98' rname(rH99) = 'H99' rname(rH100) = 'H100' rname(rH101f) = 'H101f' rname(rH101b) = 'H101b' rname(rH102) = 'H102' rname(rH103) = 'H103' rname(rH104) = 'H104' rname(rH105f) = 'H105f' rname(rH105b) = 'H105b' rname(rH106) = 'H106' rname(rH107) = 'H107' rname(rH108) = 'H108' rname(rH109f) = 'H109f' rname(rH109b) = 'H109b' rname(rH110) = 'H110' rname(rH111) = 'H111' rname(rH112) = 'H112' rname(rH113) = 'H113' rname(rH114) = 'H114' rname(rH115f) = 'H115f' rname(rH115b) = 'H115b' rname(rH116) = 'H116' rname(rH117) = 'H117' rname(rH118) = 'H118' rname(rH119f) = 'H119f' rname(rH119b) = 'H119b' rname(rH120) = 'H120' rname(rH121) = 'H121' rname(rH122) = 'H122' rname(rH124) = 'H124' rname(rH125) = 'H125' rname(rH126) = 'H126' rname(rH127) = 'H127' rname(rH128) = 'H128' rname(rH129) = 'H129' rname(rH130) = 'H130' rname(rH131) = 'H131' rname(rH132) = 'H132' rname(rH133f) = 'H133f' rname(rH133b) = 'H133b' rname(rH134f) = 'H134f' rname(rH134b) = 'H134b' rname(rH135f) = 'H135f' rname(rH135b) = 'H135b' rname(rH136) = 'H136' rname(rH137) = 'H137' rname(rH139) = 'H139' rname(rH140) = 'H140' rname(rH141) = 'H141' rname(rH142) = 'H142' rname(rH143) = 'H143' rname(rH146) = 'H146' rname(rH147f) = 'H147f' rname(rH147b) = 'H147b' rname(rH148) = 'H148' rname(rH149) = 'H149' rname(rH150) = 'H150' rname(rH151) = 'H151' rname(rH152) = 'H152' rname(rH153) = 'H153' rname(rH154) = 'H154' rname(rH155) = 'H155' rname(rH156) = 'H156' rname(rH157f) = 'H157f' rname(rH157b) = 'H157b' rname(rH158f) = 'H158f' rname(rH158b) = 'H158b' rname(rH159) = 'H159' rname(rH160f) = 'H160f' rname(rH160b) = 'H160b' rname(rH161) = 'H161' rname(rH162) = 'H162' rname(rH163) = 'H163' rname(rH165) = 'H165' rname(rH166) = 'H166' rname(rHLP167) = 'HLP167' rname(rHLP168) = 'HLP168' rname(rHLP169f) = 'HLP169f' rname(rH170) = 'H170' rname(rHLP171) = 'HLP171' rname(rHLP172) = 'HLP172' rname(rHLP173) = 'HLP173' rname(rHLP174) = 'HLP174' rname(rHLP175) = 'HLP175' rname(rHLP176) = 'HLP176' rname(rHLP177) = 'HLP177' rname(rHLP178) = 'HLP178' rname(rH179) = 'H179' rname(rHLP180) = 'HLP180' rname(rHLP181) = 'HLP181' rname(rHLP182) = 'HLP182' rname(rHLP183) = 'HLP183' rname(rHLP184) = 'HLP184' rname(rHLP185) = 'HLP185' rname(rHLP186) = 'HLP186' rname(rH37b) = 'H37b' rname(rH84b) = 'H84b' rname(rHLP169b) = 'HLP169b' return end subroutine reaction_name ! List of QSS species subroutine QSS_list implicit none iqss(sN2) = 0 iqss(sO) = 0 iqss(sH2) = 0 iqss(sH) = 0 iqss(sOH) = 0 iqss(sH2O) = 0 iqss(sO2) = 0 iqss(sHO2) = 0 iqss(sH2O2) = 0 iqss(sCH) = 1 iqss(sHCO) = 1 iqss(sCH2) = 1 iqss(sCH2O) = 0 iqss(sCO2) = 0 iqss(sCO) = 0 iqss(sCH2GSGXCH2) = 1 iqss(sCH3) = 0 iqss(sC2H6) = 0 iqss(sCH4) = 0 iqss(sCH3O) = 1 iqss(sC2H5) = 1 iqss(sCH3OH) = 0 iqss(sCH2CO) = 0 iqss(sHOCHO) = 0 iqss(sCH3O2) = 1 iqss(sCH3O2H) = 1 iqss(sC2H2) = 0 iqss(sHCCO) = 1 iqss(sC2H3) = 1 iqss(sCH2CHO) = 1 iqss(sC3H6) = 0 iqss(sC2H4) = 0 iqss(sC2H5O) = 1 iqss(sCH3CO) = 1 iqss(sC2H5O2) = 1 iqss(sC3H2) = 1 iqss(sC3H3) = 1 iqss(sC3H4XAXH4C3) = 0 iqss(sC3H5XAXC3H5) = 1 iqss(sNXC3H7) = 1 iqss(sNXC3H7O2) = 1 iqss(sC4H6) = 0 iqss(sC4H7) = 1 iqss(sC4H8X1XC4H8) = 0 iqss(sPXC4H9) = 1 iqss(sPXC4H9O2) = 1 iqss(sC5H9) = 1 iqss(sC5H10X1XC5H10) = 1 iqss(sC5H11X1XC5H11) = 1 iqss(sC6H12X1XC6H12) = 1 iqss(sC7H15X2XC7H15) = 1 iqss(sNXC7H16) = 0 return end subroutine QSS_list ! Subroutine for pressure dependent coefficients real(pr) function getlindratecoeff (Tloc,k0,kinf,fc,concin,Ploc) implicit none real(pr) :: Tloc,k0,kinf,fc,Ploc real(pr), parameter :: R = 8.31434_pr real(pr) :: ntmp,ccoeff,dcoeff,lgknull real(pr) :: f real(pr) :: conc, concin if (concin.gt.0.0_pr) then conc = concin else conc = Ploc / ( R * Tloc ) end if ntmp = 0.75_pr - 1.27_pr * dlog10( fc ) ccoeff = - 0.4_pr - 0.67_pr * dlog10( fc ) dcoeff = 0.14_pr k0 = k0 * conc / max(kinf, 1.0e-60_pr) lgknull = dlog10(k0) f = (lgknull+ccoeff)/(ntmp-dcoeff*(lgknull+ccoeff)) f = fc**(1.0_pr / ( f * f + 1.0_pr )) getlindratecoeff = kinf * f * k0 / ( 1.0_pr + k0 ) end function getlindratecoeff subroutine YtoC(c,P,T,Y) implicit none real(pr), dimension(nspec) :: c,Y real(pr) :: bla, P, T integer :: K call molar_mass c(sN2) = Y(sN2) / W_sp(sN2) c(sO) = Y(sO) / W_sp(sO) c(sH2) = Y(sH2) / W_sp(sH2) c(sH) = Y(sH) / W_sp(sH) c(sOH) = Y(sOH) / W_sp(sOH) c(sH2O) = Y(sH2O) / W_sp(sH2O) c(sO2) = Y(sO2) / W_sp(sO2) c(sHO2) = Y(sHO2) / W_sp(sHO2) c(sH2O2) = Y(sH2O2) / W_sp(sH2O2) !c(sCH) = Y(sCH) / W_sp(sCH) !c(sHCO) = Y(sHCO) / W_sp(sHCO) !c(sCH2) = Y(sCH2) / W_sp(sCH2) c(sCH2O) = Y(sCH2O) / W_sp(sCH2O) c(sCO2) = Y(sCO2) / W_sp(sCO2) c(sCO) = Y(sCO) / W_sp(sCO) !c(sCH2GSGXCH2) = Y(sCH2GSGXCH2) / W_sp(sCH2GSGXCH2) c(sCH3) = Y(sCH3) / W_sp(sCH3) c(sC2H6) = Y(sC2H6) / W_sp(sC2H6) c(sCH4) = Y(sCH4) / W_sp(sCH4) !c(sCH3O) = Y(sCH3O) / W_sp(sCH3O) !c(sC2H5) = Y(sC2H5) / W_sp(sC2H5) c(sCH3OH) = Y(sCH3OH) / W_sp(sCH3OH) c(sCH2CO) = Y(sCH2CO) / W_sp(sCH2CO) c(sHOCHO) = Y(sHOCHO) / W_sp(sHOCHO) !c(sCH3O2) = Y(sCH3O2) / W_sp(sCH3O2) !c(sCH3O2H) = Y(sCH3O2H) / W_sp(sCH3O2H) c(sC2H2) = Y(sC2H2) / W_sp(sC2H2) !c(sHCCO) = Y(sHCCO) / W_sp(sHCCO) !c(sC2H3) = Y(sC2H3) / W_sp(sC2H3) !c(sCH2CHO) = Y(sCH2CHO) / W_sp(sCH2CHO) c(sC3H6) = Y(sC3H6) / W_sp(sC3H6) c(sC2H4) = Y(sC2H4) / W_sp(sC2H4) !c(sC2H5O) = Y(sC2H5O) / W_sp(sC2H5O) !c(sCH3CO) = Y(sCH3CO) / W_sp(sCH3CO) !c(sC2H5O2) = Y(sC2H5O2) / W_sp(sC2H5O2) !c(sC3H2) = Y(sC3H2) / W_sp(sC3H2) !c(sC3H3) = Y(sC3H3) / W_sp(sC3H3) c(sC3H4XAXH4C3) = Y(sC3H4XAXH4C3) / W_sp(sC3H4XAXH4C3) !c(sC3H5XAXC3H5) = Y(sC3H5XAXC3H5) / W_sp(sC3H5XAXC3H5) !c(sNXC3H7) = Y(sNXC3H7) / W_sp(sNXC3H7) !c(sNXC3H7O2) = Y(sNXC3H7O2) / W_sp(sNXC3H7O2) c(sC4H6) = Y(sC4H6) / W_sp(sC4H6) !c(sC4H7) = Y(sC4H7) / W_sp(sC4H7) c(sC4H8X1XC4H8) = Y(sC4H8X1XC4H8) / W_sp(sC4H8X1XC4H8) !c(sPXC4H9) = Y(sPXC4H9) / W_sp(sPXC4H9) !c(sPXC4H9O2) = Y(sPXC4H9O2) / W_sp(sPXC4H9O2) !c(sC5H9) = Y(sC5H9) / W_sp(sC5H9) !c(sC5H10X1XC5H10) = Y(sC5H10X1XC5H10) / W_sp(sC5H10X1XC5H10) !c(sC5H11X1XC5H11) = Y(sC5H11X1XC5H11) / W_sp(sC5H11X1XC5H11) !c(sC6H12X1XC6H12) = Y(sC6H12X1XC6H12) / W_sp(sC6H12X1XC6H12) !c(sC7H15X2XC7H15) = Y(sC7H15X2XC7H15) / W_sp(sC7H15X2XC7H15) c(sNXC7H16) = Y(sNXC7H16) / W_sp(sNXC7H16) bla = 0.0_pr DO K = 1, nspec bla = bla + c(K) ENDDO bla = P/(bla*T*8.31451_pr) DO K = 1, nspec c(K) = max(c(K),1.0e-60_pr) * bla ENDDO return end subroutine YtoC ! --- Thirdbodies --- ! subroutine get_thirdbodies(M,c) implicit none real(pr), dimension(nspec) :: c real(pr), dimension(12) :: M M(mM9) = (2.8_pr)*c(sCO2) & + (0.9_pr)*c(sCO) & + (5_pr)*c(sH2O) & + (1.5_pr)*c(sH2) & + sum(c) M(mM7) = (1_pr)*c(sH2) & + (1_pr)*c(sCO) & + (2_pr)*c(sCO2) & + (4_pr)*c(sH2O) & + sum(c) M(mM8) = (1.5_pr)*c(sH2) & + (2.8_pr)*c(sCO2) & + (0.9_pr)*c(sCO) & + (11_pr)*c(sH2O) & + sum(c) M(mM2) = (1.5_pr)*c(sH2) & + (11_pr)*c(sH2O) & + (2.8_pr)*c(sCO2) & + (0.9_pr)*c(sCO) & + sum(c) M(mM12) = 0.0_pr & + sum(c) M(mM4) = (2.8_pr)*c(sCO2) & + (0.9_pr)*c(sCO) & + (11_pr)*c(sH2O) & + (1.5_pr)*c(sH2) & + sum(c) M(mM10) = (1_pr)*c(sH2) & + (2_pr)*c(sC2H6) & + (0.5_pr)*c(sCO) & + (1_pr)*c(sCH4) & + (1_pr)*c(sCO2) & + (5_pr)*c(sH2O) & + sum(c) M(mM11) = (2_pr)*c(sCO2) & + (1_pr)*c(sCO) & + (4_pr)*c(sH2O) & + (1_pr)*c(sH2) & + sum(c) M(mM3) = (1.5_pr)*c(sH2) & + (11_pr)*c(sH2O) & + (2.8_pr)*c(sCO2) & + (0.9_pr)*c(sCO) & + sum(c) M(mM5) = 0.0_pr & + sum(c) M(mM6) = (2_pr)*c(sCO2) & + (1_pr)*c(sCO) & + (4_pr)*c(sH2O) & + (1_pr)*c(sH2) & + sum(c) return end subroutine get_thirdbodies ! --- Rate coefficients --- ! subroutine get_rate_coefficients(k,M,Tloc,Ploc) implicit none real(pr), dimension(nreac) :: k real(pr), dimension(12) :: M real(pr) :: Tloc,Ploc real(pr) :: kH6_0, kH6_inf, FCH6 real(pr) :: kH13_0, kH13_inf, FCH13 real(pr) :: kH32_0, kH32_inf, FCH32 real(pr) :: kH35_0, kH35_inf, FCH35 real(pr) :: kH38_0, kH38_inf, FCH38 real(pr) :: kH44_0, kH44_inf, FCH44 real(pr) :: kH45_0, kH45_inf, FCH45 real(pr) :: kH60_0, kH60_inf, FCH60 real(pr) :: kH76_0, kH76_inf, FCH76 real(pr) :: kH84f_0, kH84f_inf, FCH84f real(pr) :: kH106_0, kH106_inf, FCH106 real(pr) :: kH84b_0, kH84b_inf, FCH84b ! Rate coefficients k(rH1f) = (5.08000000e-02_pr)*Tloc**(2.670_pr)*& exp(-(2.633e+04_pr)/(8.314_pr*Tloc)) k(rH1b) = (2.23100000e-02_pr)*Tloc**(2.670_pr)*& exp(-(1.756e+04_pr)/(8.314_pr*Tloc)) k(rH2) = (2.25000000e+10_pr)*Tloc**(-2.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH3f) = (2.16000000e+02_pr)*Tloc**(1.510_pr)*& exp(-(1.435e+04_pr)/(8.314_pr*Tloc)) k(rH3b) = (9.35200000e+02_pr)*Tloc**(1.510_pr)*& exp(-(7.774e+04_pr)/(8.314_pr*Tloc)) k(rH4f) = (2.97000000e+00_pr)*Tloc**(2.020_pr)*& exp(-(5.607e+04_pr)/(8.314_pr*Tloc)) k(rH4b) = (3.01300000e-01_pr)*Tloc**(2.020_pr)*& exp(-(-1.611e+04_pr)/(8.314_pr*Tloc)) k(rH5f) = (1.97000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(6.920e+04_pr)/(8.314_pr*Tloc)) k(rH5b) = (1.55500000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.778e+03_pr)/(8.314_pr*Tloc)) kH6_0 = (3.50000000e+04_pr)*Tloc**(-0.410_pr)*& exp(-(-4.669e+03_pr)/(8.314_pr*Tloc)) kH6_inf = (1.47500000e+06_pr)*Tloc**(0.600_pr)* & exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) FCH6 = (5.000e-01_pr)* & exp(-Tloc/(1.000e-30_pr)) + (5.000e-01_pr)* & exp(-Tloc/(1.000e+30_pr)) + (1.000e+00_pr)* & exp(-(1.000e+100_pr)/Tloc) k(rH6) = & getlindratecoeff & (Tloc, kH6_0, kH6_inf, FCH6, M(mM4), Ploc ) k(rH7) = (3.25000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH8) = (2.89000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(-2.092e+03_pr)/(8.314_pr*Tloc)) k(rH9) = (7.08000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.255e+03_pr)/(8.314_pr*Tloc)) k(rH10) = (1.30000000e+05_pr)*Tloc**(0.000_pr)*& exp(-(-6.816e+03_pr)/(8.314_pr*Tloc)) k(rH11) = (4.20000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(5.012e+04_pr)/(8.314_pr*Tloc)) k(rH12) = (1.66000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(3.431e+03_pr)/(8.314_pr*Tloc)) kH13_0 = (3.25800000e+30_pr)*Tloc**(-5.798_pr)*& exp(-(2.280e+05_pr)/(8.314_pr*Tloc)) kH13_inf = (1.32400000e+20_pr)*Tloc**(-1.538_pr)* & exp(-(2.194e+05_pr)/(8.314_pr*Tloc)) FCH13 = (5.300e-01_pr)* & exp(-Tloc/(1.000e+02_pr)) + (4.700e-01_pr)* & exp(-Tloc/(2.000e+03_pr)) + (1.000e+00_pr)* & exp(-(1.000e+15_pr)/Tloc) k(rH13) = & getlindratecoeff & (Tloc, kH13_0, kH13_inf, FCH13, M(mM2), Ploc ) k(rH14) = (5.80000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(4.000e+04_pr)/(8.314_pr*Tloc)) k(rH15) = (3.30000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH16) = (3.29000000e+15_pr)*Tloc**(-3.300_pr)*& exp(-(1.200e+04_pr)/(8.314_pr*Tloc)) k(rH17) = (1.01000000e+15_pr)*Tloc**(-3.300_pr)*& exp(-(6.309e+03_pr)/(8.314_pr*Tloc)) k(rH18) = (3.29000000e+15_pr)*Tloc**(-3.300_pr)*& exp(-(1.200e+04_pr)/(8.314_pr*Tloc)) k(rH19f) = (1.00000000e+12_pr)*Tloc**(-1.560_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH19b) = (7.02600000e+11_pr)*Tloc**(-1.560_pr)*& exp(-(1.251e+04_pr)/(8.314_pr*Tloc)) k(rH20) = (5.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH21f) = (1.13000000e+01_pr)*Tloc**(2.000_pr)*& exp(-(1.255e+04_pr)/(8.314_pr*Tloc)) k(rH21b) = (3.43700000e+01_pr)*Tloc**(2.000_pr)*& exp(-(8.845e+04_pr)/(8.314_pr*Tloc)) k(rH22) = (7.28000000e+13_pr)*Tloc**(-2.540_pr)*& exp(-(7.569e+03_pr)/(8.314_pr*Tloc)) k(rH23) = (3.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH24f) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH24b) = (7.16100000e+09_pr)*Tloc**(-0.890_pr)*& exp(-(4.782e+04_pr)/(8.314_pr*Tloc)) k(rH25f) = (7.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH25b) = (2.48200000e+11_pr)*Tloc**(-0.890_pr)*& exp(-(6.749e+04_pr)/(8.314_pr*Tloc)) k(rH26) = (7.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH27) = (3.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH28) = (8.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH29f) = (9.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(6.318e+04_pr)/(8.314_pr*Tloc)) k(rH29b) = (1.81800000e+07_pr)*Tloc**(0.000_pr)*& exp(-(4.351e+04_pr)/(8.314_pr*Tloc)) k(rH30) = (7.47000000e+05_pr)*Tloc**(0.000_pr)*& exp(-(5.962e+04_pr)/(8.314_pr*Tloc)) k(rH31f) = (2.65000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(9.146e+03_pr)/(8.314_pr*Tloc)) k(rH31b) = (3.23600000e+04_pr)*Tloc**(0.890_pr)*& exp(-(5.067e+03_pr)/(8.314_pr*Tloc)) kH32_0 = (1.13500000e+24_pr)*Tloc**(-5.246_pr)*& exp(-(7.134e+03_pr)/(8.314_pr*Tloc)) kH32_inf = (9.21400000e+10_pr)*Tloc**(-1.170_pr)* & exp(-(2.660e+03_pr)/(8.314_pr*Tloc)) FCH32 = (5.950e-01_pr)* & exp(-Tloc/(1.120e+03_pr)) + (4.050e-01_pr)* & exp(-Tloc/(6.960e+01_pr)) + (1.000e+00_pr)* & exp(-(1.000e+15_pr)/Tloc) k(rH32) = & getlindratecoeff & (Tloc, kH32_0, kH32_inf, FCH32, M(mM6), Ploc ) k(rH33) = (2.25000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.799e+04_pr)/(8.314_pr*Tloc)) k(rH34f) = (3.00000000e+00_pr)*Tloc**(2.000_pr)*& exp(-(1.046e+04_pr)/(8.314_pr*Tloc)) k(rH34b) = (2.62300000e+00_pr)*Tloc**(2.000_pr)*& exp(-(5.422e+04_pr)/(8.314_pr*Tloc)) kH35_0 = (3.31000000e+18_pr)*Tloc**(-4.000_pr)*& exp(-(8.820e+03_pr)/(8.314_pr*Tloc)) kH35_inf = (2.13800000e+09_pr)*Tloc**(-0.400_pr)* & exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) FCH35 = (1.000e+00_pr)* & exp(-Tloc/(1.000e-15_pr)) + (0.000e+00_pr)* & exp(-Tloc/(1.000e-15_pr)) + (1.000e+00_pr)* & exp(-(4.000e+01_pr)/Tloc) k(rH35) = & getlindratecoeff & (Tloc, kH35_0, kH35_inf, FCH35, M(mM7), Ploc ) k(rH36) = (1.10000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH37f) = (6.84000000e+06_pr)*Tloc**(0.100_pr)*& exp(-(4.435e+04_pr)/(8.314_pr*Tloc)) kH38_0 = (1.29500000e+27_pr)*Tloc**(-6.553_pr)*& exp(-(8.122e+03_pr)/(8.314_pr*Tloc)) kH38_inf = (8.34300000e+04_pr)*Tloc**(0.797_pr)* & exp(-(-7.485e+03_pr)/(8.314_pr*Tloc)) FCH38 = (5.860e-01_pr)* & exp(-Tloc/(2.790e+02_pr)) + (4.140e-01_pr)* & exp(-Tloc/(5.459e+03_pr)) + (1.000e+00_pr)* & exp(-(1.000e+100_pr)/Tloc) k(rH38) = & getlindratecoeff & (Tloc, kH38_0, kH38_inf, FCH38, M(mM10), Ploc ) k(rH39) = (3.60000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH40f) = (1.72700000e-02_pr)*Tloc**(3.000_pr)*& exp(-(3.441e+04_pr)/(8.314_pr*Tloc)) k(rH40b) = (6.61000000e-04_pr)*Tloc**(3.000_pr)*& exp(-(3.240e+04_pr)/(8.314_pr*Tloc)) k(rH41f) = (1.93000000e-01_pr)*Tloc**(2.400_pr)*& exp(-(8.812e+03_pr)/(8.314_pr*Tloc)) k(rH41b) = (3.19900000e-02_pr)*Tloc**(2.400_pr)*& exp(-(7.021e+04_pr)/(8.314_pr*Tloc)) k(rH42) = (3.15000000e+06_pr)*Tloc**(0.500_pr)*& exp(-(4.305e+04_pr)/(8.314_pr*Tloc)) k(rH43f) = (1.40000000e-01_pr)*Tloc**(1.950_pr)*& exp(-(-5.636e+03_pr)/(8.314_pr*Tloc)) k(rH43b) = (1.56800000e+01_pr)*Tloc**(1.950_pr)*& exp(-(8.782e+04_pr)/(8.314_pr*Tloc)) kH44_0 = (1.35000000e+12_pr)*Tloc**(-2.788_pr)*& exp(-(1.754e+04_pr)/(8.314_pr*Tloc)) kH44_inf = (1.80000000e+04_pr)*Tloc**(0.000_pr)* & exp(-(9.975e+03_pr)/(8.314_pr*Tloc)) FCH44 = + (1.000e+00_pr)* & exp(-(0.000e+00_pr)/Tloc) k(rH44) = & getlindratecoeff & (Tloc, kH44_0, kH44_inf, FCH44, M(mM8), Ploc ) kH45_0 = (7.10300000e-06_pr)*Tloc**(1.783_pr)*& exp(-(-8.574e+04_pr)/(8.314_pr*Tloc)) kH45_inf = (5.91900000e-01_pr)*Tloc**(1.783_pr)* & exp(-(-3.675e+04_pr)/(8.314_pr*Tloc)) FCH45 = + (1.000e+00_pr)* & exp(-(0.000e+00_pr)/Tloc) k(rH45) = & getlindratecoeff & (Tloc, kH45_0, kH45_inf, FCH45, M(mM5), Ploc ) k(rH46) = (1.21000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH47) = (3.02000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH48) = (7.34000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH49) = (1.86000000e+11_pr)*Tloc**(-1.000_pr)*& exp(-(7.113e+04_pr)/(8.314_pr*Tloc)) k(rH50) = (1.02000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH51) = (3.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH52) = (7.58000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(1.715e+03_pr)/(8.314_pr*Tloc)) k(rH53) = (3.63600000e-12_pr)*Tloc**(5.420_pr)*& exp(-(4.176e+03_pr)/(8.314_pr*Tloc)) k(rH54) = (4.16000000e+05_pr)*Tloc**(0.570_pr)*& exp(-(1.156e+04_pr)/(8.314_pr*Tloc)) k(rH55) = (3.43000000e+03_pr)*Tloc**(1.180_pr)*& exp(-(-1.870e+03_pr)/(8.314_pr*Tloc)) k(rH56) = (9.33400000e+02_pr)*Tloc**(1.500_pr)*& exp(-(1.245e+04_pr)/(8.314_pr*Tloc)) k(rH57) = (5.50000000e+04_pr)*Tloc**(0.000_pr)*& exp(-(1.014e+04_pr)/(8.314_pr*Tloc)) k(rH59) = (7.46700000e+06_pr)*Tloc**(-0.020_pr)*& exp(-(3.274e+04_pr)/(8.314_pr*Tloc)) kH60_0 = (2.34400000e+19_pr)*Tloc**(-2.700_pr)*& exp(-(1.280e+05_pr)/(8.314_pr*Tloc)) kH60_inf = (5.45000000e+13_pr)*Tloc**(0.000_pr)* & exp(-(5.648e+04_pr)/(8.314_pr*Tloc)) FCH60 = + (1.000e+00_pr)* & exp(-(0.000e+00_pr)/Tloc) k(rH60) = & getlindratecoeff & (Tloc, kH60_0, kH60_inf, FCH60, M(mM5), Ploc ) k(rH61) = (1.00000000e+00_pr)*Tloc**(2.100_pr)*& exp(-(2.078e+03_pr)/(8.314_pr*Tloc)) k(rH62) = (3.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH63f) = (4.59300000e+18_pr)*Tloc**(-0.460_pr)*& exp(-(4.531e+05_pr)/(8.314_pr*Tloc)) k(rH63b) = (1.00000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH64) = (4.24000000e+00_pr)*Tloc**(2.100_pr)*& exp(-(2.037e+04_pr)/(8.314_pr*Tloc)) k(rH65) = (6.03000000e+07_pr)*Tloc**(-0.350_pr)*& exp(-(1.250e+04_pr)/(8.314_pr*Tloc)) k(rH66) = (2.62000000e+00_pr)*Tloc**(2.060_pr)*& exp(-(3.833e+03_pr)/(8.314_pr*Tloc)) k(rH67) = (1.85000000e+01_pr)*Tloc**(1.510_pr)*& exp(-(-4.025e+03_pr)/(8.314_pr*Tloc)) k(rH68) = (1.75000000e+04_pr)*Tloc**(0.000_pr)*& exp(-(-1.370e+04_pr)/(8.314_pr*Tloc)) k(rH71f) = (4.34300000e+21_pr)*Tloc**(-3.420_pr)*& exp(-(1.275e+05_pr)/(8.314_pr*Tloc)) k(rH71b) = (5.44000000e+13_pr)*Tloc**(-3.300_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH72) = (7.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(-4.184e+03_pr)/(8.314_pr*Tloc)) k(rH73) = (6.31000000e+14_pr)*Tloc**(0.000_pr)*& exp(-(1.770e+05_pr)/(8.314_pr*Tloc)) k(rH74) = (6.12000000e+00_pr)*Tloc**(2.000_pr)*& exp(-(7.950e+03_pr)/(8.314_pr*Tloc)) k(rH75) = (1.43000000e+01_pr)*Tloc**(2.000_pr)*& exp(-(7.950e+03_pr)/(8.314_pr*Tloc)) kH76_0 = (1.16400000e+33_pr)*Tloc**(-6.821_pr)*& exp(-(1.862e+05_pr)/(8.314_pr*Tloc)) kH76_inf = (1.60600000e+10_pr)*Tloc**(1.028_pr)* & exp(-(1.695e+05_pr)/(8.314_pr*Tloc)) FCH76 = (0.000e+00_pr)* & exp(-Tloc/(1.000e-15_pr)) + (1.000e+00_pr)* & exp(-Tloc/(6.750e+02_pr)) + (1.000e+00_pr)* & exp(-(1.000e+15_pr)/Tloc) k(rH76) = & getlindratecoeff & (Tloc, kH76_0, kH76_inf, FCH76, M(mM11), Ploc ) k(rH77) = (2.12000000e-12_pr)*Tloc**(6.000_pr)*& exp(-(3.968e+04_pr)/(8.314_pr*Tloc)) k(rH78) = (2.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.046e+04_pr)/(8.314_pr*Tloc)) k(rH79) = (3.50000000e+08_pr)*Tloc**(-0.610_pr)*& exp(-(2.201e+04_pr)/(8.314_pr*Tloc)) k(rH80) = (4.71200000e+53_pr)*Tloc**(-13.190_pr)*& exp(-(1.236e+05_pr)/(8.314_pr*Tloc)) k(rH81) = (1.70000000e+23_pr)*Tloc**(-5.310_pr)*& exp(-(2.720e+04_pr)/(8.314_pr*Tloc)) k(rH82) = (1.02000000e+01_pr)*Tloc**(1.880_pr)*& exp(-(7.490e+02_pr)/(8.314_pr*Tloc)) k(rH83) = (2.05000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(2.490e+04_pr)/(8.314_pr*Tloc)) kH84f_0 = (1.11200000e+22_pr)*Tloc**(-5.000_pr)*& exp(-(1.861e+04_pr)/(8.314_pr*Tloc)) kH84f_inf = (1.08100000e+06_pr)*Tloc**(0.450_pr)* & exp(-(7.623e+03_pr)/(8.314_pr*Tloc)) FCH84f = (0.000e+00_pr)* & exp(-Tloc/(1.000e-15_pr)) + (1.000e+00_pr)* & exp(-Tloc/(9.500e+01_pr)) + (1.000e+00_pr)* & exp(-(2.000e+02_pr)/Tloc) k(rH84f) = & getlindratecoeff & (Tloc, kH84f_0, kH84f_inf, FCH84f, M(mM12), Ploc ) k(rH85f) = (8.42000000e-09_pr)*Tloc**(4.620_pr)*& exp(-(1.081e+04_pr)/(8.314_pr*Tloc)) k(rH85b) = (5.72300000e-07_pr)*Tloc**(3.790_pr)*& exp(-(1.353e+04_pr)/(8.314_pr*Tloc)) k(rH86) = (3.39000000e+00_pr)*Tloc**(1.880_pr)*& exp(-(7.490e+02_pr)/(8.314_pr*Tloc)) k(rH87) = (6.62000000e-06_pr)*Tloc**(3.700_pr)*& exp(-(3.975e+04_pr)/(8.314_pr*Tloc)) k(rH88) = (3.20000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH89) = (1.22000000e+24_pr)*Tloc**(-5.760_pr)*& exp(-(4.226e+04_pr)/(8.314_pr*Tloc)) k(rH90) = (5.83100000e+05_pr)*Tloc**(0.599_pr)*& exp(-(-1.219e+04_pr)/(8.314_pr*Tloc)) k(rH92) = (5.80000000e+01_pr)*Tloc**(1.730_pr)*& exp(-(4.853e+03_pr)/(8.314_pr*Tloc)) k(rH93) = (1.30000000e+01_pr)*Tloc**(2.130_pr)*& exp(-(2.172e+04_pr)/(8.314_pr*Tloc)) k(rH94) = (5.54000000e-04_pr)*Tloc**(3.500_pr)*& exp(-(2.162e+04_pr)/(8.314_pr*Tloc)) k(rH95) = (8.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH96) = (2.40000000e+05_pr)*Tloc**(0.000_pr)*& exp(-(-3.573e+03_pr)/(8.314_pr*Tloc)) k(rH97f) = (1.10000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH97b) = (2.04600000e+06_pr)*Tloc**(0.890_pr)*& exp(-(1.164e+05_pr)/(8.314_pr*Tloc)) k(rH98) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH99) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(8.368e+03_pr)/(8.314_pr*Tloc)) k(rH100) = (1.10000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.423e+04_pr)/(8.314_pr*Tloc)) k(rH101f) = (2.00000000e+08_pr)*Tloc**(0.000_pr)*& exp(-(3.347e+04_pr)/(8.314_pr*Tloc)) k(rH101b) = (6.52200000e+05_pr)*Tloc**(0.000_pr)*& exp(-(3.515e+03_pr)/(8.314_pr*Tloc)) k(rH102) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(3.347e+04_pr)/(8.314_pr*Tloc)) k(rH103) = (1.75000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(5.648e+03_pr)/(8.314_pr*Tloc)) k(rH104) = (2.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.757e+04_pr)/(8.314_pr*Tloc)) k(rH105f) = (3.09400000e+15_pr)*Tloc**(-0.260_pr)*& exp(-(2.126e+05_pr)/(8.314_pr*Tloc)) k(rH105b) = (5.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(5.146e+04_pr)/(8.314_pr*Tloc)) kH106_0 = (1.20000000e+09_pr)*Tloc**(0.000_pr)*& exp(-(5.238e+04_pr)/(8.314_pr*Tloc)) kH106_inf = (3.00000000e+12_pr)*Tloc**(0.000_pr)* & exp(-(6.996e+04_pr)/(8.314_pr*Tloc)) FCH106 = + (1.000e+00_pr)* & exp(-(0.000e+00_pr)/Tloc) k(rH106) = & getlindratecoeff & (Tloc, kH106_0, kH106_inf, FCH106, M(mM5), Ploc ) k(rH107) = (1.35000000e+32_pr)*Tloc**(-6.960_pr)*& exp(-(9.958e+04_pr)/(8.314_pr*Tloc)) k(rH108) = (3.37000000e+55_pr)*Tloc**(-13.420_pr)*& exp(-(1.869e+05_pr)/(8.314_pr*Tloc)) k(rH109f) = (4.93000000e+50_pr)*Tloc**(-11.500_pr)*& exp(-(1.768e+05_pr)/(8.314_pr*Tloc)) k(rH109b) = (1.09000000e+42_pr)*Tloc**(-11.540_pr)*& exp(-(4.276e+04_pr)/(8.314_pr*Tloc)) k(rH110) = (5.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH111) = (5.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH112) = (5.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH113) = (3.01000000e+04_pr)*Tloc**(0.000_pr)*& exp(-(1.201e+04_pr)/(8.314_pr*Tloc)) k(rH114) = (1.17500000e+05_pr)*Tloc**(0.300_pr)*& exp(-(1.590e+02_pr)/(8.314_pr*Tloc)) k(rH115f) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH115b) = (1.34300000e+09_pr)*Tloc**(0.000_pr)*& exp(-(6.560e+04_pr)/(8.314_pr*Tloc)) k(rH116) = (1.00000000e+01_pr)*Tloc**(2.000_pr)*& exp(-(4.184e+03_pr)/(8.314_pr*Tloc)) k(rH117) = (2.00000000e+01_pr)*Tloc**(2.000_pr)*& exp(-(2.092e+04_pr)/(8.314_pr*Tloc)) k(rH118) = (7.80000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(6.694e+03_pr)/(8.314_pr*Tloc)) k(rH119f) = (6.66300000e+15_pr)*Tloc**(-0.430_pr)*& exp(-(2.645e+05_pr)/(8.314_pr*Tloc)) k(rH119b) = (2.40000000e+05_pr)*Tloc**(0.690_pr)*& exp(-(1.258e+04_pr)/(8.314_pr*Tloc)) k(rH120) = (3.33200000e+04_pr)*Tloc**(0.340_pr)*& exp(-(-2.326e+03_pr)/(8.314_pr*Tloc)) k(rH121) = (2.39700000e+48_pr)*Tloc**(-9.900_pr)*& exp(-(3.434e+05_pr)/(8.314_pr*Tloc)) k(rH122) = (6.30000000e+02_pr)*Tloc**(1.900_pr)*& exp(-(7.611e+04_pr)/(8.314_pr*Tloc)) k(rH124) = (1.81000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH125) = (4.88700000e+50_pr)*Tloc**(-12.250_pr)*& exp(-(1.175e+05_pr)/(8.314_pr*Tloc)) k(rH126) = (1.73000000e-01_pr)*Tloc**(2.500_pr)*& exp(-(1.043e+04_pr)/(8.314_pr*Tloc)) k(rH127) = (2.50000000e+01_pr)*Tloc**(1.760_pr)*& exp(-(3.180e+02_pr)/(8.314_pr*Tloc)) k(rH128) = (1.58000000e+01_pr)*Tloc**(1.760_pr)*& exp(-(-5.088e+03_pr)/(8.314_pr*Tloc)) k(rH129) = (3.12000000e+00_pr)*Tloc**(2.000_pr)*& exp(-(-1.247e+03_pr)/(8.314_pr*Tloc)) k(rH130) = (5.24000000e+05_pr)*Tloc**(0.700_pr)*& exp(-(2.462e+04_pr)/(8.314_pr*Tloc)) k(rH131) = (4.83000000e+27_pr)*Tloc**(-5.810_pr)*& exp(-(7.740e+04_pr)/(8.314_pr*Tloc)) k(rH132) = (3.00000000e+05_pr)*Tloc**(0.000_pr)*& exp(-(1.255e+04_pr)/(8.314_pr*Tloc)) k(rH133f) = (2.66700000e+15_pr)*Tloc**(-0.640_pr)*& exp(-(1.541e+05_pr)/(8.314_pr*Tloc)) k(rH133b) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.046e+04_pr)/(8.314_pr*Tloc)) k(rH134f) = (2.28400000e+14_pr)*Tloc**(-0.550_pr)*& exp(-(1.188e+05_pr)/(8.314_pr*Tloc)) k(rH134b) = (4.10000000e+05_pr)*Tloc**(0.000_pr)*& exp(-(3.014e+04_pr)/(8.314_pr*Tloc)) k(rH135f) = (3.36400000e+19_pr)*Tloc**(-1.320_pr)*& exp(-(1.496e+05_pr)/(8.314_pr*Tloc)) k(rH135b) = (4.52000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH136) = (1.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH137) = (1.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH139) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.966e+04_pr)/(8.314_pr*Tloc)) k(rH140) = (1.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH141) = (1.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH142) = (3.16000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH143) = (3.00000000e+05_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH146) = (8.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH147f) = (1.20000000e+14_pr)*Tloc**(0.000_pr)*& exp(-(2.063e+05_pr)/(8.314_pr*Tloc)) k(rH147b) = (4.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(5.439e+03_pr)/(8.314_pr*Tloc)) k(rH148) = (5.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH149) = (1.00000000e+11_pr)*Tloc**(0.000_pr)*& exp(-(1.548e+05_pr)/(8.314_pr*Tloc)) k(rH150) = (1.00000000e+03_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH151) = (7.23000000e-01_pr)*Tloc**(2.340_pr)*& exp(-(-4.393e+03_pr)/(8.314_pr*Tloc)) k(rH152) = (1.30000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(3.556e+03_pr)/(8.314_pr*Tloc)) k(rH153) = (2.25000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(9.276e+03_pr)/(8.314_pr*Tloc)) k(rH154) = (1.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH155) = (5.00000000e+05_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH156) = (5.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.632e+04_pr)/(8.314_pr*Tloc)) k(rH157f) = (5.00000000e+15_pr)*Tloc**(0.000_pr)*& exp(-(2.971e+05_pr)/(8.314_pr*Tloc)) k(rH157b) = (5.00000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH158f) = (1.15900000e+17_pr)*Tloc**(-1.170_pr)*& exp(-(1.597e+05_pr)/(8.314_pr*Tloc)) k(rH158b) = (1.00000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.213e+04_pr)/(8.314_pr*Tloc)) k(rH159) = (7.49700000e+17_pr)*Tloc**(-1.410_pr)*& exp(-(1.238e+05_pr)/(8.314_pr*Tloc)) k(rH160f) = (6.15500000e+19_pr)*Tloc**(-1.380_pr)*& exp(-(1.486e+05_pr)/(8.314_pr*Tloc)) k(rH160b) = (4.52000000e+06_pr)*Tloc**(0.000_pr)*& exp(-(0.000e+00_pr)/(8.314_pr*Tloc)) k(rH161) = (1.33900000e+15_pr)*Tloc**(-0.520_pr)*& exp(-(1.603e+05_pr)/(8.314_pr*Tloc)) k(rH162) = (2.50000000e+13_pr)*Tloc**(0.000_pr)*& exp(-(1.883e+05_pr)/(8.314_pr*Tloc)) k(rH163) = (5.12000000e+00_pr)*Tloc**(2.000_pr)*& exp(-(-1.247e+03_pr)/(8.314_pr*Tloc)) k(rH165) = (2.54000000e-01_pr)*Tloc**(2.560_pr)*& exp(-(-4.728e+03_pr)/(8.314_pr*Tloc)) k(rH166) = (2.80000000e+07_pr)*Tloc**(0.000_pr)*& exp(-(1.674e+04_pr)/(8.314_pr*Tloc)) k(rHLP167) = (7.30500000e+18_pr)*Tloc**(-1.767_pr)*& exp(-(1.252e+05_pr)/(8.314_pr*Tloc)) k(rHLP168) = (5.94800000e+17_pr)*Tloc**(-1.268_pr)*& exp(-(1.355e+05_pr)/(8.314_pr*Tloc)) k(rHLP169f) = (1.32500000e+15_pr)*Tloc**(-0.554_pr)*& exp(-(1.570e+05_pr)/(8.314_pr*Tloc)) k(rH170) = (1.00000000e+16_pr)*Tloc**(0.000_pr)*& exp(-(2.971e+05_pr)/(8.314_pr*Tloc)) k(rHLP171) = (1.00000000e+05_pr)*Tloc**(-0.000_pr)*& exp(-(-1.674e+04_pr)/(8.314_pr*Tloc)) k(rHLP172) = (5.31300000e+17_pr)*Tloc**(-1.411_pr)*& exp(-(1.315e+05_pr)/(8.314_pr*Tloc)) k(rHLP173) = (1.91700000e+02_pr)*Tloc**(0.871_pr)*& exp(-(-6.648e+03_pr)/(8.314_pr*Tloc)) k(rHLP174) = (3.73400000e+15_pr)*Tloc**(-0.927_pr)*& exp(-(1.240e+05_pr)/(8.314_pr*Tloc)) k(rHLP175) = (1.36800000e+17_pr)*Tloc**(-1.394_pr)*& exp(-(1.249e+05_pr)/(8.314_pr*Tloc)) k(rHLP176) = (2.61700000e+14_pr)*Tloc**(-0.654_pr)*& exp(-(1.245e+05_pr)/(8.314_pr*Tloc)) k(rHLP177) = (2.45400000e+18_pr)*Tloc**(-1.654_pr)*& exp(-(1.324e+05_pr)/(8.314_pr*Tloc)) k(rHLP178) = (7.51800000e+02_pr)*Tloc**(1.494_pr)*& exp(-(1.090e+03_pr)/(8.314_pr*Tloc)) k(rH179) = (1.41500000e+78_pr)*Tloc**(-17.710_pr)*& exp(-(5.050e+05_pr)/(8.314_pr*Tloc)) k(rHLP180) = (1.44200000e-02_pr)*Tloc**(2.573_pr)*& exp(-(2.901e+04_pr)/(8.314_pr*Tloc)) k(rHLP181) = (7.74100000e+06_pr)*Tloc**(0.203_pr)*& exp(-(7.379e+04_pr)/(8.314_pr*Tloc)) k(rHLP182) = (1.74900000e+00_pr)*Tloc**(2.600_pr)*& exp(-(1.825e+04_pr)/(8.314_pr*Tloc)) k(rHLP183) = (1.76600000e-01_pr)*Tloc**(2.802_pr)*& exp(-(9.478e+03_pr)/(8.314_pr*Tloc)) k(rHLP184) = (8.10000000e+77_pr)*Tloc**(-17.620_pr)*& exp(-(5.038e+05_pr)/(8.314_pr*Tloc)) k(rHLP185) = (5.64600000e+06_pr)*Tloc**(0.201_pr)*& exp(-(7.385e+04_pr)/(8.314_pr*Tloc)) k(rHLP186) = (2.68900000e+05_pr)*Tloc**(0.136_pr)*& exp(-(2.121e+04_pr)/(8.314_pr*Tloc)) k(rH37b) = (1.35039738e+11_pr)*Tloc**(-0.81_pr)*& exp(-(6.7179e+03_pr)/(8.314_pr*Tloc)) kH84b_0 = (3.30072675e+27_pr)*Tloc**(-4.90_pr)*& exp(-(1.7164e+05_pr)/(8.314_pr*Tloc)) kH84b_inf = (3.20871009e+11_pr)*Tloc**(0.55_pr)* & exp(-(1.6065e+05_pr)/(8.314_pr*Tloc)) FCH84b = (0.000e+00_pr)* & exp(-Tloc/(1.000e-15_pr)) + (1.000e+00_pr)* & exp(-Tloc/(9.500e+01_pr)) + (1.000e+00_pr)* & exp(-(2.000e+02_pr)/Tloc) k(rH84b) = & getlindratecoeff & (Tloc, kH84b_0, kH84b_inf, FCH84b, M(mM12), Ploc ) k(rHLP169b) = (7.50575257e+07_pr)*Tloc**(-0.28_pr)*& exp(-(1.8073e+04_pr)/(8.314_pr*Tloc)) return end subroutine get_rate_coefficients ! --- Reaction rates --- ! subroutine get_reaction_rates(w,k,m,c,cqss) implicit none real(pr), dimension(nspec) :: c real(pr), dimension(nqss) :: cqss real(pr), dimension(nreac) :: w,k real(pr), dimension(12) :: m w(rH1f) = k(rH1f) * c(sO) * c(sH2) w(rH1b) = k(rH1b) * c(sH) * c(sOH) w(rH2) = k(rH2) * c(sH) * c(sOH) * m(mM3) w(rH3f) = k(rH3f) * c(sOH) * c(sH2) w(rH3b) = k(rH3b) * c(sH) * c(sH2O) w(rH4f) = k(rH4f) * c(sO) * c(sH2O) w(rH4b) = k(rH4b) * c(sOH)**2_pr w(rH5f) = k(rH5f) * c(sH) * c(sO2) w(rH5b) = k(rH5b) * c(sO) * c(sOH) w(rH6) = k(rH6) * c(sH) * c(sO2) w(rH7) = k(rH7) * c(sHO2) * c(sO) w(rH8) = k(rH8) * c(sHO2) * c(sOH) w(rH9) = k(rH9) * c(sHO2) * c(sH) w(rH10) = k(rH10) * c(sHO2)**2_pr w(rH11) = k(rH11) * c(sHO2)**2_pr w(rH12) = k(rH12) * c(sHO2) * c(sH) w(rH13) = k(rH13) * c(sH2O2) w(rH14) = k(rH14) * c(sH2O2) * c(sOH) w(rH15) = k(rH15) * cqss(sCH-nspec) * c(sO2) w(rH16) = k(rH16) * cqss(sCH2-nspec) * c(sO2) w(rH17) = k(rH17) * cqss(sCH2-nspec) * c(sO2) w(rH18) = k(rH18) * cqss(sCH2-nspec) * c(sO2) w(rH19f) = k(rH19f) * cqss(sCH2-nspec) * c(sH) w(rH19b) = k(rH19b) * cqss(sCH-nspec) * c(sH2) w(rH20) = k(rH20) * cqss(sCH2-nspec) * c(sO) w(rH21f) = k(rH21f) * cqss(sCH2-nspec) * c(sOH) w(rH21b) = k(rH21b) * cqss(sCH-nspec) * c(sH2O) w(rH22) = k(rH22) * cqss(sCH2-nspec) * c(sO2) w(rH23) = k(rH23) * cqss(sCH2GSGXCH2-nspec) * c(sOH) w(rH24f) = k(rH24f) * cqss(sCH2GSGXCH2-nspec) * m(mM5) w(rH24b) = k(rH24b) * cqss(sCH2-nspec) * m(mM5) w(rH25f) = k(rH25f) * cqss(sCH2GSGXCH2-nspec) * c(sH2) w(rH25b) = k(rH25b) * c(sCH3) * c(sH) w(rH26) = k(rH26) * cqss(sCH2GSGXCH2-nspec) * c(sO2) w(rH27) = k(rH27) * cqss(sCH2GSGXCH2-nspec) * c(sH) w(rH28) = k(rH28) * c(sCH3) * c(sO) w(rH29f) = k(rH29f) * c(sCH3) * c(sH) w(rH29b) = k(rH29b) * cqss(sCH2-nspec) * c(sH2) w(rH30) = k(rH30) * c(sCH3) * c(sO2) w(rH31f) = k(rH31f) * c(sCH3) * c(sOH) w(rH31b) = k(rH31b) * cqss(sCH2GSGXCH2-nspec) * c(sH2O) w(rH32) = k(rH32) * c(sCH3)**2_pr w(rH33) = k(rH33) * c(sCH3) * c(sOH) w(rH34f) = k(rH34f) * c(sCH3) * c(sOH) w(rH34b) = k(rH34b) * cqss(sCH2-nspec) * c(sH2O) w(rH35) = k(rH35) * c(sCH3) * c(sH) w(rH36) = k(rH36) * c(sCH3) * c(sHO2) w(rH37f) = k(rH37f) * c(sCH3)**2_pr w(rH38) = k(rH38) * c(sOH) * c(sCH3) w(rH39) = k(rH39) * c(sCH3) * c(sHO2) w(rH40f) = k(rH40f) * c(sCH4) * c(sH) w(rH40b) = k(rH40b) * c(sCH3) * c(sH2) w(rH41f) = k(rH41f) * c(sCH4) * c(sOH) w(rH41b) = k(rH41b) * c(sCH3) * c(sH2O) w(rH42) = k(rH42) * c(sCH4) * c(sO) w(rH43f) = k(rH43f) * c(sCO) * c(sOH) w(rH43b) = k(rH43b) * c(sCO2) * c(sH) w(rH44) = k(rH44) * c(sCO) * c(sO) w(rH45) = k(rH45) * c(sCO) * cqss(sCH2-nspec) w(rH46) = k(rH46) * cqss(sHCO-nspec) * c(sCH3) w(rH47) = k(rH47) * cqss(sHCO-nspec) * c(sO) w(rH48) = k(rH48) * cqss(sHCO-nspec) * c(sH) w(rH49) = k(rH49) * cqss(sHCO-nspec) * m(mM9) w(rH50) = k(rH50) * cqss(sHCO-nspec) * c(sOH) w(rH51) = k(rH51) * cqss(sHCO-nspec) * c(sO) w(rH52) = k(rH52) * cqss(sHCO-nspec) * c(sO2) w(rH53) = k(rH53) * c(sCH2O) * c(sCH3) w(rH54) = k(rH54) * c(sCH2O) * c(sO) w(rH55) = k(rH55) * c(sCH2O) * c(sOH) w(rH56) = k(rH56) * c(sCH2O) * c(sH) w(rH57) = k(rH57) * cqss(sCH3O-nspec) * c(sO2) w(rH59) = k(rH59) * cqss(sCH3O-nspec) * c(sH2) w(rH60) = k(rH60) * cqss(sCH3O-nspec) w(rH61) = k(rH61) * c(sCH3OH) * c(sOH) w(rH62) = k(rH62) * cqss(sCH2GSGXCH2-nspec) * c(sCO2) w(rH63f) = k(rH63f) * c(sHOCHO) w(rH63b) = k(rH63b) * cqss(sHCO-nspec) * c(sOH) w(rH64) = k(rH64) * c(sHOCHO) * c(sH) w(rH65) = k(rH65) * c(sHOCHO) * c(sH) w(rH66) = k(rH66) * c(sHOCHO) * c(sOH) w(rH67) = k(rH67) * c(sHOCHO) * c(sOH) w(rH68) = k(rH68) * cqss(sCH3O2-nspec) * c(sHO2) w(rH71f) = k(rH71f) * cqss(sCH3O2-nspec) * m(mM5) w(rH71b) = k(rH71b) * c(sCH3) * c(sO2) * m(mM5) w(rH72) = k(rH72) * cqss(sCH3O2-nspec) * c(sCH3) w(rH73) = k(rH73) * cqss(sCH3O2H-nspec) w(rH74) = k(rH74) * c(sC2H2) * c(sO) w(rH75) = k(rH75) * c(sC2H2) * c(sO) w(rH76) = k(rH76) * cqss(sC2H3-nspec) w(rH77) = k(rH77) * cqss(sC2H3-nspec) * c(sO2) w(rH78) = k(rH78) * cqss(sC2H3-nspec) * c(sH) w(rH79) = k(rH79) * cqss(sC2H3-nspec) * c(sO2) w(rH80) = k(rH80) * cqss(sC2H3-nspec) * c(sCH3) w(rH81) = k(rH81) * cqss(sC2H3-nspec) * c(sO2) w(rH82) = k(rH82) * c(sC2H4) * c(sO) w(rH83) = k(rH83) * c(sC2H4) * c(sOH) w(rH84f) = k(rH84f) * c(sH) * c(sC2H4) w(rH85f) = k(rH85f) * c(sC2H4) * c(sH) w(rH85b) = k(rH85b) * cqss(sC2H3-nspec) * c(sH2) w(rH86) = k(rH86) * c(sC2H4) * c(sO) w(rH87) = k(rH87) * c(sC2H4) * c(sCH3) w(rH88) = k(rH88) * cqss(sC2H5-nspec) * c(sHO2) w(rH89) = k(rH89) * cqss(sC2H5-nspec) * c(sO2) w(rH90) = k(rH90) * c(sH) * cqss(sC2H5-nspec) w(rH92) = k(rH92) * c(sC2H6) * c(sOH) w(rH93) = k(rH93) * c(sC2H6) * c(sO) w(rH94) = k(rH94) * c(sC2H6) * c(sH) w(rH95) = k(rH95) * cqss(sHCCO-nspec) * c(sO) w(rH96) = k(rH96) * cqss(sHCCO-nspec) * c(sO2) w(rH97f) = k(rH97f) * cqss(sHCCO-nspec) * c(sH) w(rH97b) = k(rH97b) * cqss(sCH2GSGXCH2-nspec) * c(sCO) w(rH98) = k(rH98) * cqss(sHCCO-nspec) * c(sOH) w(rH99) = k(rH99) * c(sCH2CO) * c(sOH) w(rH100) = k(rH100) * c(sCH2CO) * c(sH) w(rH101f) = k(rH101f) * c(sCH2CO) * c(sH) w(rH101b) = k(rH101b) * cqss(sHCCO-nspec) * c(sH2) w(rH102) = k(rH102) * c(sCH2CO) * c(sO) w(rH103) = k(rH103) * c(sCH2CO) * c(sO) w(rH104) = k(rH104) * cqss(sCH2CHO-nspec) * c(sO2) w(rH105f) = k(rH105f) * cqss(sCH2CHO-nspec) w(rH105b) = k(rH105b) * c(sCH2CO) * c(sH) w(rH106) = k(rH106) * cqss(sCH3CO-nspec) w(rH107) = k(rH107) * cqss(sC2H5O-nspec) * m(mM5) w(rH108) = k(rH108) * cqss(sC2H5O2-nspec) w(rH109f) = k(rH109f) * cqss(sC2H5O2-nspec) w(rH109b) = k(rH109b) * cqss(sC2H5-nspec) * c(sO2) w(rH110) = k(rH110) * cqss(sC3H2-nspec) * c(sO2) w(rH111) = k(rH111) * cqss(sC3H2-nspec) * c(sOH) w(rH112) = k(rH112) * cqss(sC3H3-nspec) * c(sH) w(rH113) = k(rH113) * cqss(sC3H3-nspec) * c(sO2) w(rH114) = k(rH114) * cqss(sC3H3-nspec) * c(sHO2) w(rH115f) = k(rH115f) * cqss(sC3H3-nspec) * c(sOH) w(rH115b) = k(rH115b) * cqss(sC3H2-nspec) * c(sH2O) w(rH116) = k(rH116) * c(sC3H4XAXH4C3) * c(sOH) w(rH117) = k(rH117) * c(sC3H4XAXH4C3) * c(sH) w(rH118) = k(rH118) * c(sC3H4XAXH4C3) * c(sO) w(rH119f) = k(rH119f) * cqss(sC3H5XAXC3H5-nspec) w(rH119b) = k(rH119b) * c(sC3H4XAXH4C3) * c(sH) w(rH120) = k(rH120) * cqss(sC3H5XAXC3H5-nspec) * c(sHO2) w(rH121) = k(rH121) * cqss(sC3H5XAXC3H5-nspec) w(rH122) = k(rH122) * cqss(sC3H5XAXC3H5-nspec) * c(sCH2O) w(rH124) = k(rH124) * cqss(sC3H5XAXC3H5-nspec) * c(sH) w(rH125) = k(rH125) * cqss(sC3H5XAXC3H5-nspec) * c(sH) w(rH126) = k(rH126) * c(sC3H6) * c(sH) w(rH127) = k(rH127) * c(sC3H6) * c(sO) w(rH128) = k(rH128) * c(sC3H6) * c(sO) w(rH129) = k(rH129) * c(sC3H6) * c(sOH) w(rH130) = k(rH130) * c(sC3H6) * c(sO) w(rH131) = k(rH131) * c(sC3H6) * c(sH) w(rH132) = k(rH132) * cqss(sNXC3H7-nspec) * c(sO2) w(rH133f) = k(rH133f) * cqss(sNXC3H7-nspec) w(rH133b) = k(rH133b) * c(sH) * c(sC3H6) w(rH134f) = k(rH134f) * cqss(sNXC3H7-nspec) w(rH134b) = k(rH134b) * c(sCH3) * c(sC2H4) w(rH135f) = k(rH135f) * cqss(sNXC3H7O2-nspec) w(rH135b) = k(rH135b) * cqss(sNXC3H7-nspec) * c(sO2) w(rH136) = k(rH136) * c(sC4H6) * c(sO) w(rH137) = k(rH137) * c(sC4H6) * c(sOH) w(rH139) = k(rH139) * c(sC4H6) * c(sH) w(rH140) = k(rH140) * c(sC4H6) * c(sO) w(rH141) = k(rH141) * c(sC4H6) * c(sOH) w(rH142) = k(rH142) * c(sH) * cqss(sC4H7-nspec) w(rH143) = k(rH143) * cqss(sC4H7-nspec) * c(sHO2) w(rH146) = k(rH146) * cqss(sC4H7-nspec) * c(sCH3) w(rH147f) = k(rH147f) * cqss(sC4H7-nspec) w(rH147b) = k(rH147b) * c(sC4H6) * c(sH) w(rH148) = k(rH148) * c(sH) * cqss(sC4H7-nspec) w(rH149) = k(rH149) * cqss(sC4H7-nspec) w(rH150) = k(rH150) * cqss(sC4H7-nspec) * c(sO2) w(rH151) = k(rH151) * c(sC4H8X1XC4H8) * c(sO) w(rH152) = k(rH152) * c(sC4H8X1XC4H8) * c(sO) w(rH153) = k(rH153) * c(sC4H8X1XC4H8) * c(sOH) w(rH154) = k(rH154) * c(sC4H8X1XC4H8) * c(sOH) w(rH155) = k(rH155) * c(sC4H8X1XC4H8) * c(sOH) w(rH156) = k(rH156) * c(sC4H8X1XC4H8) * c(sH) w(rH157f) = k(rH157f) * c(sC4H8X1XC4H8) w(rH157b) = k(rH157b) * cqss(sC3H5XAXC3H5-nspec) * c(sCH3) w(rH158f) = k(rH158f) * cqss(sPXC4H9-nspec) w(rH158b) = k(rH158b) * c(sC4H8X1XC4H8) * c(sH) w(rH159) = k(rH159) * cqss(sPXC4H9-nspec) w(rH160f) = k(rH160f) * cqss(sPXC4H9O2-nspec) w(rH160b) = k(rH160b) * cqss(sPXC4H9-nspec) * c(sO2) w(rH161) = k(rH161) * cqss(sC5H9-nspec) w(rH162) = k(rH162) * cqss(sC5H9-nspec) w(rH163) = k(rH163) * cqss(sC5H10X1XC5H10-nspec) * c(sOH) w(rH165) = k(rH165) * cqss(sC5H10X1XC5H10-nspec) * c(sO) w(rH166) = k(rH166) * cqss(sC5H10X1XC5H10-nspec) * c(sH) w(rHLP167) = k(rHLP167) * cqss(sC5H11X1XC5H11-nspec) w(rHLP168) = k(rHLP168) * cqss(sC5H11X1XC5H11-nspec) w(rHLP169f) = k(rHLP169f) * cqss(sC5H11X1XC5H11-nspec) w(rH170) = k(rH170) * cqss(sC6H12X1XC6H12-nspec) w(rHLP171) = k(rHLP171) * cqss(sC6H12X1XC6H12-nspec) * c(sOH) w(rHLP172) = k(rHLP172) * cqss(sC7H15X2XC7H15-nspec) w(rHLP173) = k(rHLP173) * cqss(sC7H15X2XC7H15-nspec) * c(sHO2) w(rHLP174) = k(rHLP174) * cqss(sC7H15X2XC7H15-nspec) w(rHLP175) = k(rHLP175) * cqss(sC7H15X2XC7H15-nspec) w(rHLP176) = k(rHLP176) * cqss(sC7H15X2XC7H15-nspec) w(rHLP177) = k(rHLP177) * cqss(sC7H15X2XC7H15-nspec) w(rHLP178) = k(rHLP178) * c(sNXC7H16) * c(sOH) w(rH179) = k(rH179) * c(sNXC7H16) w(rHLP180) = k(rHLP180) * c(sNXC7H16) * c(sCH3) w(rHLP181) = k(rHLP181) * c(sNXC7H16) * c(sHO2) w(rHLP182) = k(rHLP182) * c(sNXC7H16) * c(sH) w(rHLP183) = k(rHLP183) * c(sNXC7H16) * c(sO) w(rHLP184) = k(rHLP184) * c(sNXC7H16) w(rHLP185) = k(rHLP185) * c(sNXC7H16) * cqss(sCH3O2-nspec) w(rHLP186) = k(rHLP186) * c(sNXC7H16) * cqss(sCH3O-nspec) w(rH37b) = k(rH37b) * c(sH) * cqss(sC2H5-nspec) w(rH84b) = k(rH84b) * cqss(sC2H5-nspec) w(rHLP169b) = k(rHLP169b) * cqss(sC5H10X1XC5H10-nspec) * c(sH) return end subroutine get_reaction_rates ! --- Production rates --- ! subroutine get_production_rates(cdot,w) implicit none real(pr), dimension(nspec) :: cdot real(pr), dimension(nreac) :: w cdot(sN2) = 0.0_pr cdot(sO) = 0.0_pr - & w(rH1f) + & w(rH1b) - & w(rH4f) + & w(rH4b) + & w(rH5f) - & w(rH5b) - & w(rH7) + & w(rH15) + & w(rH16) - & w(rH20) - & w(rH28) - & w(rH42) - & w(rH44) - & w(rH47) - & w(rH51) - & w(rH54) - & w(rH74) - & w(rH75) + & w(rH79) - & w(rH82) - & w(rH86) - & w(rH93) - & w(rH95) - & w(rH102) - & w(rH103) - & w(rH118) - & w(rH127) - & w(rH128) - & w(rH130) - & w(rH136) - & w(rH140) - & w(rH151) - & w(rH152) - & w(rH165) - & w(rHLP183) cdot(sH2) = 0.0_pr - & w(rH1f) + & w(rH1b) - & w(rH3f) + & w(rH3b) + & w(rH12) + & w(rH17) + & w(rH19f) - & w(rH19b) - & w(rH25f) + & w(rH25b) + & w(rH27) + & w(rH29f) - & w(rH29b) + & w(rH33) + & w(rH40f) - & w(rH40b) + & w(rH48) + & w(rH56) - & w(rH59) + & w(rH64) + & w(rH65) + & w(rH78) + & w(rH85f) - & w(rH85b) + & w(rH94) + & w(rH101f) - & w(rH101b) + & w(rH112) + & w(rH117) + & w(rH124) + & w(rH126) + & w(rH142) + & w(rH156) + & w(rH166) + & w(rHLP182) cdot(sH) = 0.0_pr + & w(rH1f) - & w(rH1b) - & w(rH2) + & w(rH3f) - & w(rH3b) - & w(rH5f) + & w(rH5b) - & w(rH6) - & w(rH9) - & w(rH12) + 2_pr * & w(rH18) - & w(rH19f) + & w(rH19b) + 2_pr * & w(rH20) + & w(rH23) + & w(rH25f) - & w(rH25b) + & w(rH26) - & w(rH27) + & w(rH28) - & w(rH29f) + & w(rH29b) - & w(rH35) + & w(rH37f) - & w(rH40f) + & w(rH40b) + & w(rH43f) - & w(rH43b) - & w(rH48) + & w(rH49) + & w(rH51) - & w(rH56) + & w(rH59) + & w(rH60) - & w(rH64) + & w(rH64) - & w(rH65) + & w(rH66) + & w(rH75) + & w(rH76) - & w(rH78) - & w(rH84f) - & w(rH85f) + & w(rH85b) + & w(rH86) - & w(rH90) - & w(rH94) + & w(rH95) - & w(rH97f) + & w(rH97b) cdot(sH) = cdot(sH) - & w(rH100) - & w(rH101f) + & w(rH101b) + & w(rH105f) - & w(rH105b) + & w(rH110) - & w(rH112) - & w(rH117) + & w(rH119f) - & w(rH119b) - & w(rH124) - & w(rH125) - & w(rH126) + & w(rH127) - & w(rH131) + & w(rH133f) - & w(rH133b) - & w(rH139) - & w(rH142) + & w(rH147f) - & w(rH147b) - & w(rH148) - & w(rH156) + & w(rH158f) - & w(rH158b) - & w(rH166) + & w(rHLP169f) - & w(rHLP182) - & w(rH37b) + & w(rH84b) - & w(rHLP169b) cdot(sOH) = 0.0_pr + & w(rH1f) - & w(rH1b) - & w(rH2) - & w(rH3f) + & w(rH3b) + 2_pr * & w(rH4f) - 2_pr * & w(rH4b) + & w(rH5f) - & w(rH5b) + & w(rH7) - & w(rH8) + 2_pr * & w(rH9) + 2_pr * & w(rH13) - & w(rH14) - & w(rH21f) + & w(rH21b) - & w(rH23) + & w(rH26) + & w(rH30) - & w(rH31f) + & w(rH31b) - & w(rH33) - & w(rH34f) + & w(rH34b) + & w(rH36) - & w(rH38) - & w(rH41f) + & w(rH41b) + & w(rH42) - & w(rH43f) + & w(rH43b) + & w(rH47) - & w(rH50) + & w(rH54) - & w(rH55) - & w(rH61) + & w(rH63f) - & w(rH63b) + & w(rH65) - & w(rH66) - & w(rH67) + & w(rH67) + & w(rH73) - & w(rH83) + & w(rH88) - & w(rH92) + & w(rH93) - & w(rH98) - & w(rH99) + & w(rH102) cdot(sOH) = cdot(sOH) + & w(rH104) - & w(rH111) - & w(rH115f) + & w(rH115b) - & w(rH116) - & w(rH129) + & w(rH130) - & w(rH137) - & w(rH141) - & w(rH153) - & w(rH154) - & w(rH155) - & w(rH163) + & w(rH165) - & w(rHLP171) - & w(rHLP178) + & w(rHLP183) cdot(sH2O) = 0.0_pr + & w(rH2) + & w(rH3f) - & w(rH3b) - & w(rH4f) + & w(rH4b) + & w(rH8) + & w(rH14) + & w(rH21f) - & w(rH21b) + & w(rH22) + & w(rH31f) - & w(rH31b) + & w(rH34f) - & w(rH34b) + & w(rH41f) - & w(rH41b) + & w(rH50) + & w(rH55) + & w(rH61) + & w(rH66) + & w(rH67) + & w(rH83) + & w(rH92) + & w(rH99) + & w(rH115f) - & w(rH115b) + & w(rH116) + & w(rH129) + & w(rH153) + & w(rH163) + & w(rHLP178) cdot(sO2) = 0.0_pr - & w(rH5f) + & w(rH5b) - & w(rH6) + & w(rH7) + & w(rH8) + & w(rH10) + & w(rH11) + & w(rH12) - & w(rH15) - & w(rH16) - & w(rH17) - & w(rH18) - & w(rH22) - & w(rH26) - & w(rH30) + & w(rH39) - & w(rH52) - & w(rH57) + & w(rH68) + & w(rH71f) - & w(rH71b) - & w(rH77) - & w(rH79) - & w(rH81) - & w(rH89) - & w(rH96) - & w(rH104) + & w(rH109f) - & w(rH109b) - & w(rH110) - & w(rH113) + & w(rH114) + & w(rH120) - & w(rH132) + & w(rH135f) - & w(rH135b) + & w(rH143) - & w(rH150) + & w(rH160f) - & w(rH160b) + & w(rHLP173) cdot(sHO2) = 0.0_pr + & w(rH6) - & w(rH7) - & w(rH8) - & w(rH9) - 2_pr * & w(rH10) - 2_pr * & w(rH11) - & w(rH12) + & w(rH14) - & w(rH36) - & w(rH39) + & w(rH52) + & w(rH57) - & w(rH68) + & w(rH77) - & w(rH88) + & w(rH89) + & w(rH108) - & w(rH114) - & w(rH120) + & w(rH132) - & w(rH143) + & w(rH150) - & w(rHLP173) - & w(rHLP181) cdot(sH2O2) = 0.0_pr + & w(rH10) + & w(rH11) - & w(rH13) - & w(rH14) + & w(rHLP181) !cdot(sCH) = 0.0_pr !cdot(sHCO) = 0.0_pr !cdot(sCH2) = 0.0_pr cdot(sCH2O) = 0.0_pr + & w(rH16) + & w(rH23) + & w(rH28) + & w(rH30) + & w(rH33) - & w(rH53) - & w(rH54) - & w(rH55) - & w(rH56) + & w(rH57) + & w(rH60) + & w(rH62) + & w(rH81) + & w(rH104) + & w(rH107) - & w(rH122) + & w(rH137) + & w(rH140) + & w(rH151) + & w(rH154) + & w(rHLP171) cdot(sCO2) = 0.0_pr + & w(rH17) + & w(rH18) + & w(rH43f) - & w(rH43b) + & w(rH44) + & w(rH51) - & w(rH62) + & w(rH64) + & w(rH66) + & w(rH96) + & w(rH103) cdot(sCO) = 0.0_pr + & w(rH20) + & w(rH22) + & w(rH26) - & w(rH43f) + & w(rH43b) - & w(rH44) - & w(rH45) + & w(rH46) + & w(rH47) + & w(rH48) + & w(rH49) + & w(rH50) + & w(rH52) + & w(rH62) + & w(rH65) + & w(rH67) + & w(rH74) + 2_pr * & w(rH95) + & w(rH97f) - & w(rH97b) + & w(rH100) + & w(rH104) + & w(rH106) + & w(rH110) + & w(rH118) !cdot(sCH2GSGXCH2) = 0.0_pr cdot(sCH3) = 0.0_pr + & w(rH25f) - & w(rH25b) - & w(rH28) - & w(rH29f) + & w(rH29b) - & w(rH30) - & w(rH31f) + & w(rH31b) - 2_pr * & w(rH32) - & w(rH33) - & w(rH34f) + & w(rH34b) - & w(rH35) - & w(rH36) - 2_pr * & w(rH37f) - & w(rH38) - & w(rH39) + & w(rH40f) - & w(rH40b) + & w(rH41f) - & w(rH41b) + & w(rH42) - & w(rH46) - & w(rH53) + & w(rH71f) - & w(rH71b) - & w(rH72) - & w(rH80) + & w(rH82) - & w(rH87) + & w(rH100) + & w(rH106) + & w(rH107) + & w(rH121) + & w(rH127) + & w(rH131) + & w(rH134f) - & w(rH134b) - & w(rH146) + & w(rH157f) - & w(rH157b) + & w(rH161) + & w(rHLP176) - & w(rHLP180) + 2_pr * & w(rH37b) cdot(sC2H6) = 0.0_pr + & w(rH32) + & w(rH90) - & w(rH92) - & w(rH93) - & w(rH94) + & w(rH155) cdot(sCH4) = 0.0_pr + & w(rH35) + & w(rH39) - & w(rH40f) + & w(rH40b) - & w(rH41f) + & w(rH41b) - & w(rH42) + & w(rH46) + & w(rH53) + & w(rH87) + & w(rH146) + & w(rHLP180) !cdot(sCH3O) = 0.0_pr !cdot(sC2H5) = 0.0_pr cdot(sCH3OH) = 0.0_pr + & w(rH38) + & w(rH59) - & w(rH61) + & w(rHLP186) cdot(sCH2CO) = 0.0_pr + & w(rH45) - & w(rH99) - & w(rH100) - & w(rH101f) + & w(rH101b) - & w(rH102) - & w(rH103) + & w(rH105f) - & w(rH105b) + & w(rH113) + & w(rH127) + & w(rH136) + & w(rH141) cdot(sHOCHO) = 0.0_pr - & w(rH63f) + & w(rH63b) - & w(rH64) - & w(rH65) - & w(rH66) - & w(rH67) !cdot(sCH3O2) = 0.0_pr !cdot(sCH3O2H) = 0.0_pr cdot(sC2H2) = 0.0_pr - & w(rH74) - & w(rH75) + & w(rH76) + & w(rH77) + & w(rH78) + & w(rH111) + & w(rH121) !cdot(sHCCO) = 0.0_pr !cdot(sC2H3) = 0.0_pr !cdot(sCH2CHO) = 0.0_pr cdot(sC3H6) = 0.0_pr + & w(rH80) + & w(rH120) + & w(rH122) + & w(rH125) - & w(rH126) - & w(rH127) - & w(rH128) - & w(rH129) - & w(rH130) - & w(rH131) + & w(rH132) + & w(rH133f) - & w(rH133b) + & w(rH151) + & w(rHLP168) + & w(rHLP172) cdot(sC2H4) = 0.0_pr - & w(rH82) - & w(rH83) - & w(rH84f) - & w(rH85f) + & w(rH85b) - & w(rH86) - & w(rH87) + & w(rH89) + & w(rH108) + & w(rH118) + & w(rH131) + & w(rH134f) - & w(rH134b) + & w(rH136) + & w(rH139) + & w(rH149) + & w(rH159) + & w(rH162) + & w(rHLP167) + & w(rHLP174) + & w(rH84b) !cdot(sC2H5O) = 0.0_pr !cdot(sCH3CO) = 0.0_pr !cdot(sC2H5O2) = 0.0_pr !cdot(sC3H2) = 0.0_pr !cdot(sC3H3) = 0.0_pr cdot(sC3H4XAXH4C3) = 0.0_pr + & w(rH114) - & w(rH116) - & w(rH117) - & w(rH118) + & w(rH119f) - & w(rH119b) + & w(rH124) + & w(rH140) !cdot(sC3H5XAXC3H5) = 0.0_pr !cdot(sNXC3H7) = 0.0_pr !cdot(sNXC3H7O2) = 0.0_pr cdot(sC4H6) = 0.0_pr - & w(rH136) - & w(rH137) - & w(rH139) - & w(rH140) - & w(rH141) + & w(rH142) + & w(rH146) + & w(rH147f) - & w(rH147b) + & w(rH150) + & w(rH161) !cdot(sC4H7) = 0.0_pr cdot(sC4H8X1XC4H8) = 0.0_pr + & w(rH143) + & w(rH148) - & w(rH151) - & w(rH152) - & w(rH153) - & w(rH154) - & w(rH155) - & w(rH156) - & w(rH157f) + & w(rH157b) + & w(rH158f) - & w(rH158b) + & w(rHLP177) !cdot(sPXC4H9) = 0.0_pr !cdot(sPXC4H9O2) = 0.0_pr !cdot(sC5H9) = 0.0_pr !cdot(sC5H10X1XC5H10) = 0.0_pr !cdot(sC5H11X1XC5H11) = 0.0_pr !cdot(sC6H12X1XC6H12) = 0.0_pr !cdot(sC7H15X2XC7H15) = 0.0_pr cdot(sNXC7H16) = 0.0_pr + & w(rHLP173) - & w(rHLP178) - & w(rH179) - & w(rHLP180) - & w(rHLP181) - & w(rHLP182) - & w(rHLP183) - & w(rHLP184) - & w(rHLP185) - & w(rHLP186) return end subroutine get_production_rates ! --- Actual reactions --- ! subroutine reaction_expressions implicit none reacexp(1) = 'O + H2 -> H + OH' reacexp(2) = 'H + OH -> O + H2' reacexp(3) = 'H + OH + M3 -> H2O + M3' reacexp(4) = 'OH + H2 -> H + H2O' reacexp(5) = 'H + H2O -> OH + H2' reacexp(6) = 'O + H2O -> 2 OH' reacexp(7) = '2 OH -> O + H2O' reacexp(8) = 'H + O2 -> O + OH' reacexp(9) = 'O + OH -> H + O2' reacexp(10) = 'H + O2 + M4 -> HO2 + M4' reacexp(11) = 'HO2 + O -> OH + O2' reacexp(12) = 'HO2 + OH -> H2O + O2' reacexp(13) = 'HO2 + H -> 2 OH' reacexp(14) = '2 HO2 -> H2O2 + O2' reacexp(15) = '2 HO2 -> H2O2 + O2' reacexp(16) = 'HO2 + H -> H2 + O2' reacexp(17) = 'H2O2 + M2 -> 2 OH + M2' reacexp(18) = 'H2O2 + OH -> H2O + HO2' reacexp(19) = 'CH + O2 -> HCO + O' reacexp(20) = 'CH2 + O2 -> CH2O + O' reacexp(21) = 'CH2 + O2 -> CO2 + H2' reacexp(22) = 'CH2 + O2 -> CO2 + 2 H' reacexp(23) = 'CH2 + H -> CH + H2' reacexp(24) = 'CH + H2 -> CH2 + H' reacexp(25) = 'CH2 + O -> CO + 2 H' reacexp(26) = 'CH2 + OH -> CH + H2O' reacexp(27) = 'CH + H2O -> CH2 + OH' reacexp(28) = 'CH2 + O2 -> CO + H2O' reacexp(29) = 'CH2GSG-CH2 + OH -> CH2O + H' reacexp(30) = 'CH2GSG-CH2 + M5 -> CH2 + M5' reacexp(31) = 'CH2 + M5 -> CH2GSG-CH2 + M5' reacexp(32) = 'CH2GSG-CH2 + H2 -> CH3 + H' reacexp(33) = 'CH3 + H -> CH2GSG-CH2 + H2' reacexp(34) = 'CH2GSG-CH2 + O2 -> CO + OH + H' reacexp(35) = 'CH2GSG-CH2 + H -> CH + H2' reacexp(36) = 'CH3 + O -> CH2O + H' reacexp(37) = 'CH3 + H -> CH2 + H2' reacexp(38) = 'CH2 + H2 -> CH3 + H' reacexp(39) = 'CH3 + O2 -> CH2O + OH' reacexp(40) = 'CH3 + OH -> CH2GSG-CH2 + H2O' reacexp(41) = 'CH2GSG-CH2 + H2O -> CH3 + OH' reacexp(42) = '2 CH3 + M6 -> C2H6 + M6' reacexp(43) = 'CH3 + OH -> CH2O + H2' reacexp(44) = 'CH3 + OH -> CH2 + H2O' reacexp(45) = 'CH2 + H2O -> CH3 + OH' reacexp(46) = 'CH3 + H + M7 -> CH4 + M7' reacexp(47) = 'CH3 + HO2 -> CH3O + OH' reacexp(48) = '2 CH3 -> H + C2H5' reacexp(49) = 'OH + CH3 + M10 -> CH3OH + M10' reacexp(50) = 'CH3 + HO2 -> CH4 + O2' reacexp(51) = 'CH4 + H -> CH3 + H2' reacexp(52) = 'CH3 + H2 -> CH4 + H' reacexp(53) = 'CH4 + OH -> CH3 + H2O' reacexp(54) = 'CH3 + H2O -> CH4 + OH' reacexp(55) = 'CH4 + O -> CH3 + OH' reacexp(56) = 'CO + OH -> CO2 + H' reacexp(57) = 'CO2 + H -> CO + OH' reacexp(58) = 'CO + O + M8 -> CO2 + M8' reacexp(59) = 'CO + CH2 + M5 -> CH2CO + M5' reacexp(60) = 'HCO + CH3 -> CH4 + CO' reacexp(61) = 'HCO + O -> CO + OH' reacexp(62) = 'HCO + H -> CO + H2' reacexp(63) = 'HCO + M9 -> H + CO + M9' reacexp(64) = 'HCO + OH -> CO + H2O' reacexp(65) = 'HCO + O -> CO2 + H' reacexp(66) = 'HCO + O2 -> CO + HO2' reacexp(67) = 'CH2O + CH3 -> HCO + CH4' reacexp(68) = 'CH2O + O -> HCO + OH' reacexp(69) = 'CH2O + OH -> HCO + H2O' reacexp(70) = 'CH2O + H -> HCO + H2' reacexp(71) = 'CH3O + O2 -> CH2O + HO2' reacexp(72) = 'CH3O + H2 -> CH3OH + H' reacexp(73) = 'CH3O + M5 -> CH2O + H + M5' reacexp(74) = 'CH3OH + OH -> CH3O + H2O' reacexp(75) = 'CH2GSG-CH2 + CO2 -> CH2O + CO' reacexp(76) = 'HOCHO -> HCO + OH' reacexp(77) = 'HCO + OH -> HOCHO' reacexp(78) = 'HOCHO + H -> H2 + CO2 + H' reacexp(79) = 'HOCHO + H -> H2 + CO + OH' reacexp(80) = 'HOCHO + OH -> H2O + CO2 + H' reacexp(81) = 'HOCHO + OH -> H2O + CO + OH' reacexp(82) = 'CH3O2 + HO2 -> CH3O2H + O2' reacexp(83) = 'CH3O2 + M5 -> CH3 + O2 + M5' reacexp(84) = 'CH3 + O2 + M5 -> CH3O2 + M5' reacexp(85) = 'CH3O2 + CH3 -> 2 CH3O' reacexp(86) = 'CH3O2H -> CH3O + OH' reacexp(87) = 'C2H2 + O -> CH2 + CO' reacexp(88) = 'C2H2 + O -> HCCO + H' reacexp(89) = 'C2H3 + M11 -> H + C2H2 + M11' reacexp(90) = 'C2H3 + O2 -> C2H2 + HO2' reacexp(91) = 'C2H3 + H -> C2H2 + H2' reacexp(92) = 'C2H3 + O2 -> CH2CHO + O' reacexp(93) = 'C2H3 + CH3 -> C3H6' reacexp(94) = 'C2H3 + O2 -> CH2O + HCO' reacexp(95) = 'C2H4 + O -> CH3 + HCO' reacexp(96) = 'C2H4 + OH -> C2H3 + H2O' reacexp(97) = 'H + C2H4 + M12 -> C2H5 + M12' reacexp(98) = 'C2H4 + H -> C2H3 + H2' reacexp(99) = 'C2H3 + H2 -> C2H4 + H' reacexp(100) = 'C2H4 + O -> CH2CHO + H' reacexp(101) = 'C2H4 + CH3 -> C2H3 + CH4' reacexp(102) = 'C2H5 + HO2 -> C2H5O + OH' reacexp(103) = 'C2H5 + O2 -> C2H4 + HO2' reacexp(104) = 'H + C2H5 -> C2H6' reacexp(105) = 'C2H6 + OH -> C2H5 + H2O' reacexp(106) = 'C2H6 + O -> C2H5 + OH' reacexp(107) = 'C2H6 + H -> C2H5 + H2' reacexp(108) = 'HCCO + O -> H + 2 CO' reacexp(109) = 'HCCO + O2 -> CO2 + HCO' reacexp(110) = 'HCCO + H -> CH2GSG-CH2 + CO' reacexp(111) = 'CH2GSG-CH2 + CO -> HCCO + H' reacexp(112) = 'HCCO + OH -> 2 HCO' reacexp(113) = 'CH2CO + OH -> HCCO + H2O' reacexp(114) = 'CH2CO + H -> CH3 + CO' reacexp(115) = 'CH2CO + H -> HCCO + H2' reacexp(116) = 'HCCO + H2 -> CH2CO + H' reacexp(117) = 'CH2CO + O -> HCCO + OH' reacexp(118) = 'CH2CO + O -> CH2 + CO2' reacexp(119) = 'CH2CHO + O2 -> CH2O + CO + OH' reacexp(120) = 'CH2CHO -> CH2CO + H' reacexp(121) = 'CH2CO + H -> CH2CHO' reacexp(122) = 'CH3CO + M5 -> CH3 + CO + M5' reacexp(123) = 'C2H5O + M5 -> CH3 + CH2O + M5' reacexp(124) = 'C2H5O2 -> C2H4 + HO2' reacexp(125) = 'C2H5O2 -> C2H5 + O2' reacexp(126) = 'C2H5 + O2 -> C2H5O2' reacexp(127) = 'C3H2 + O2 -> HCCO + CO + H' reacexp(128) = 'C3H2 + OH -> C2H2 + HCO' reacexp(129) = 'C3H3 + H -> C3H2 + H2' reacexp(130) = 'C3H3 + O2 -> CH2CO + HCO' reacexp(131) = 'C3H3 + HO2 -> C3H4-A-H4C3 + O2' reacexp(132) = 'C3H3 + OH -> C3H2 + H2O' reacexp(133) = 'C3H2 + H2O -> C3H3 + OH' reacexp(134) = 'C3H4-A-H4C3 + OH -> C3H3 + H2O' reacexp(135) = 'C3H4-A-H4C3 + H -> C3H3 + H2' reacexp(136) = 'C3H4-A-H4C3 + O -> C2H4 + CO' reacexp(137) = 'C3H5-A-C3H5 -> C3H4-A-H4C3 + H' reacexp(138) = 'C3H4-A-H4C3 + H -> C3H5-A-C3H5' reacexp(139) = 'C3H5-A-C3H5 + HO2 -> C3H6 + O2' reacexp(140) = 'C3H5-A-C3H5 -> C2H2 + CH3' reacexp(141) = 'C3H5-A-C3H5 + CH2O -> C3H6 + HCO' reacexp(142) = 'C3H5-A-C3H5 + H -> C3H4-A-H4C3 + H2' reacexp(143) = 'C3H5-A-C3H5 + H -> C3H6' reacexp(144) = 'C3H6 + H -> C3H5-A-C3H5 + H2' reacexp(145) = 'C3H6 + O -> CH2CO + CH3 + H' reacexp(146) = 'C3H6 + O -> C2H5 + HCO' reacexp(147) = 'C3H6 + OH -> C3H5-A-C3H5 + H2O' reacexp(148) = 'C3H6 + O -> C3H5-A-C3H5 + OH' reacexp(149) = 'C3H6 + H -> C2H4 + CH3' reacexp(150) = 'N-C3H7 + O2 -> C3H6 + HO2' reacexp(151) = 'N-C3H7 -> H + C3H6' reacexp(152) = 'H + C3H6 -> N-C3H7' reacexp(153) = 'N-C3H7 -> CH3 + C2H4' reacexp(154) = 'CH3 + C2H4 -> N-C3H7' reacexp(155) = 'N-C3H7O2 -> N-C3H7 + O2' reacexp(156) = 'N-C3H7 + O2 -> N-C3H7O2' reacexp(157) = 'C4H6 + O -> C2H4 + CH2CO' reacexp(158) = 'C4H6 + OH -> CH2O + C3H5-A-C3H5' reacexp(159) = 'C4H6 + H -> C2H3 + C2H4' reacexp(160) = 'C4H6 + O -> CH2O + C3H4-A-H4C3' reacexp(161) = 'C4H6 + OH -> C2H5 + CH2CO' reacexp(162) = 'H + C4H7 -> C4H6 + H2' reacexp(163) = 'C4H7 + HO2 -> C4H8-1-C4H8 + O2' reacexp(164) = 'C4H7 + CH3 -> C4H6 + CH4' reacexp(165) = 'C4H7 -> C4H6 + H' reacexp(166) = 'C4H6 + H -> C4H7' reacexp(167) = 'H + C4H7 -> C4H8-1-C4H8' reacexp(168) = 'C4H7 -> C2H4 + C2H3' reacexp(169) = 'C4H7 + O2 -> C4H6 + HO2' reacexp(170) = 'C4H8-1-C4H8 + O -> C3H6 + CH2O' reacexp(171) = 'C4H8-1-C4H8 + O -> CH3CO + C2H5' reacexp(172) = 'C4H8-1-C4H8 + OH -> C4H7 + H2O' reacexp(173) = 'C4H8-1-C4H8 + OH -> N-C3H7 + CH2O' reacexp(174) = 'C4H8-1-C4H8 + OH -> CH3CO + C2H6' reacexp(175) = 'C4H8-1-C4H8 + H -> C4H7 + H2' reacexp(176) = 'C4H8-1-C4H8 -> C3H5-A-C3H5 + CH3' reacexp(177) = 'C3H5-A-C3H5 + CH3 -> C4H8-1-C4H8' reacexp(178) = 'P-C4H9 -> C4H8-1-C4H8 + H' reacexp(179) = 'C4H8-1-C4H8 + H -> P-C4H9' reacexp(180) = 'P-C4H9 -> C2H5 + C2H4' reacexp(181) = 'P-C4H9O2 -> P-C4H9 + O2' reacexp(182) = 'P-C4H9 + O2 -> P-C4H9O2' reacexp(183) = 'C5H9 -> C4H6 + CH3' reacexp(184) = 'C5H9 -> C3H5-A-C3H5 + C2H4' reacexp(185) = 'C5H10-1-C5H10 + OH -> C5H9 + H2O' reacexp(186) = 'C5H10-1-C5H10 + O -> C5H9 + OH' reacexp(187) = 'C5H10-1-C5H10 + H -> C5H9 + H2' reacexp(188) = 'C5H11-1-C5H11 -> C2H4 + N-C3H7' reacexp(189) = 'C5H11-1-C5H11 -> C3H6 + C2H5' reacexp(190) = 'C5H11-1-C5H11 -> C5H10-1-C5H10 + H' reacexp(191) = 'C6H12-1-C6H12 -> N-C3H7 + C3H5-A-C3H5' reacexp(192) = 'C6H12-1-C6H12 + OH -> C5H11-1-C5H11 + CH2O' reacexp(193) = 'C7H15-2-C7H15 -> P-C4H9 + C3H6' reacexp(194) = 'C7H15-2-C7H15 + HO2 -> N-C7H16 + O2' reacexp(195) = 'C7H15-2-C7H15 -> C5H11-1-C5H11 + C2H4' reacexp(196) = 'C7H15-2-C7H15 -> C2H5 + C5H10-1-C5H10' reacexp(197) = 'C7H15-2-C7H15 -> C6H12-1-C6H12 + CH3' reacexp(198) = 'C7H15-2-C7H15 -> C4H8-1-C4H8 + N-C3H7' reacexp(199) = 'N-C7H16 + OH -> C7H15-2-C7H15 + H2O' reacexp(200) = 'N-C7H16 -> P-C4H9 + N-C3H7' reacexp(201) = 'N-C7H16 + CH3 -> C7H15-2-C7H15 + CH4' reacexp(202) = 'N-C7H16 + HO2 -> C7H15-2-C7H15 + H2O2' reacexp(203) = 'N-C7H16 + H -> C7H15-2-C7H15 + H2' reacexp(204) = 'N-C7H16 + O -> C7H15-2-C7H15 + OH' reacexp(205) = 'N-C7H16 -> C5H11-1-C5H11 + C2H5' reacexp(206) = 'N-C7H16 + CH3O2 -> C7H15-2-C7H15 + CH3O2H' reacexp(207) = 'N-C7H16 + CH3O -> C7H15-2-C7H15 + CH3OH' reacexp(208) = 'Reverse of 2 CH3 -> H + C2H5' reacexp(209) = 'Reverse of H + C2H4 + M12 -> C2H5 + M12' reacexp(210) = 'Reverse of C5H11-1-C5H11 -> C5H10-1-C5H10 + H' return end subroutine reaction_expressions ! --- Forward/Backward link --- ! subroutine reverse_reactions implicit none fofb = 0 ! Attach corresponding forward reaction to each backward reaction fofb(2) = 1 fofb(5) = 4 fofb(7) = 6 fofb(9) = 8 fofb(24) = 23 fofb(27) = 26 fofb(31) = 30 fofb(33) = 32 fofb(38) = 37 fofb(41) = 40 fofb(45) = 44 fofb(52) = 51 fofb(54) = 53 fofb(57) = 56 fofb(77) = 76 fofb(84) = 83 fofb(99) = 98 fofb(111) = 110 fofb(116) = 115 fofb(121) = 120 fofb(126) = 125 fofb(133) = 132 fofb(138) = 137 fofb(152) = 151 fofb(154) = 153 fofb(156) = 155 fofb(166) = 165 fofb(177) = 176 fofb(179) = 178 fofb(182) = 181 fofb(208) = 48 fofb(209) = 97 fofb(210) = 190 return end subroutine reverse_reactions ! --- Evaluation of QSS concentrations --- ! subroutine get_QSS(cqss,c,k,M) implicit none real(pr), dimension(nqss) :: cqss real(pr), dimension(nspec) :: c real(pr), dimension(nreac) :: k real(pr), dimension(12) :: M real(pr) :: NXC3H7_denom1& , NXC3H7_ct1& , NXC3H7_denom2& , NXC3H7_ct2 real(pr) :: CH2GSGXCH2_denom1& , CH2GSGXCH2_ct1& , CH2GSGXCH2_denom2& , CH2GSGXCH2_ct2& , CH2GSGXCH2_HCCO& , CH2GSGXCH2_HCCO_coeff real(pr) :: C5H11X1XC5H11_denom1& , C5H11X1XC5H11_ct1& , C5H11X1XC5H11_denom2& , C5H11X1XC5H11_ct2 real(pr) :: C2H5O2_denom1& , C2H5O2_ct1& , C2H5O2_denom2& , C2H5O2_ct2& , C2H5O2_C2H5& , C2H5O2_C2H5_coeff real(pr) :: C3H2_denom1& , C3H2_ct1& , C3H2_denom2& , C3H2_ct2& , C3H2_C3H3& , C3H2_C3H3_coeff real(pr) :: CH2_denom1& , CH2_ct1& , CH2_denom2& , CH2_ct2& , CH2_CH& , CH2_CH2GSGXCH2& , CH2_HCCO& , CH2_CH_coeff& , CH2_CH2GSGXCH2_coeff& , CH2_HCCO_coeff real(pr) :: C2H5_denom1& , C2H5_ct1& , C2H5_denom2& , C2H5_ct2 real(pr) :: HCCO_denom1& , HCCO_ct1& , HCCO_denom2& , HCCO_ct2 real(pr) :: PXC4H9O2_denom1& , PXC4H9O2_ct1& , PXC4H9O2_denom2& , PXC4H9O2_ct2& , PXC4H9O2_PXC4H9& , PXC4H9O2_PXC4H9_coeff real(pr) :: NXC3H7O2_denom1& , NXC3H7O2_ct1& , NXC3H7O2_denom2& , NXC3H7O2_ct2& , NXC3H7O2_NXC3H7& , NXC3H7O2_NXC3H7_coeff real(pr) :: CH_denom1& , CH_ct1& , CH_denom2& , CH_ct2& , CH_CH2GSGXCH2& , CH_HCCO& , CH_CH2GSGXCH2_coeff& , CH_HCCO_coeff real(pr) :: C5H10X1XC5H10_denom1& , C5H10X1XC5H10_ct1& , C5H10X1XC5H10_denom2& , C5H10X1XC5H10_ct2& , C5H10X1XC5H10_C5H11X1XC5H11& , C5H10X1XC5H10_C5H11X1XC5H11_coeff real(pr) :: PXC4H9_denom1& , PXC4H9_ct1& , PXC4H9_denom2& , PXC4H9_ct2 real(pr) :: C3H3_denom1& , C3H3_ct1& , C3H3_denom2& , C3H3_ct2 ! cqss(sC4H7) (uncoupled) -------------------- cqss(sC4H7-nspec) = ( 0.0_pr & + k(rH147b) * c(sC4H6) * c(sH) & + k(rH153) * c(sC4H8X1XC4H8) * c(sOH) & + k(rH156) * c(sC4H8X1XC4H8) * c(sH) & ) / ( tiny(1.0_pr) + ( & + k(rH142) * c(sH) & + k(rH143) * c(sHO2) & + k(rH146) * c(sCH3) & + k(rH147f) & + k(rH148) * c(sH) & + k(rH149) & + k(rH150) * c(sO2) ) ) ! cqss(sC2H3) (uncoupled) -------------------- cqss(sC2H3-nspec) = ( 0.0_pr & + k(rH83) * c(sC2H4) * c(sOH) & + k(rH85f) * c(sC2H4) * c(sH) & + k(rH87) * c(sC2H4) * c(sCH3) & + k(rH139) * c(sC4H6) * c(sH) & + k(rH149) * cqss(sC4H7-nspec) & ) / ( tiny(1.0_pr) + ( & + k(rH76) & + k(rH77) * c(sO2) & + k(rH78) * c(sH) & + k(rH79) * c(sO2) & + k(rH80) * c(sCH3) & + k(rH81) * c(sO2) & + k(rH85b) * c(sH2) ) ) ! cqss(sCH2CHO) (uncoupled) -------------------- cqss(sCH2CHO-nspec) = ( 0.0_pr & + k(rH79) * cqss(sC2H3-nspec) *c(sO2) & + k(rH86) * c(sC2H4) * c(sO) & + k(rH105b) * c(sCH2CO) * c(sH) & ) / ( tiny(1.0_pr) + ( & + k(rH104) * c(sO2) & + k(rH105f) ) ) ! c(sC3H2) c(sC3H3) (coupled) -------------------- ! Primary denominators----------------------- C3H2_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH110) * c(sO2) & + k(rH111) * c(sOH) & + k(rH115b) * c(sH2O) & ) C3H3_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH112) * c(sH) & + k(rH113) * c(sO2) & + k(rH114) * c(sHO2) & + k(rH115f) * c(sOH) & ) ! Primary constant parts ----------------------- C3H2_ct1 = ( 0.0_pr ) C3H3_ct1 = ( 0.0_pr & + k(rH116) * c(sC3H4XAXH4C3) * c(sOH) & + k(rH117) * c(sC3H4XAXH4C3) * c(sH) ) ! C3H2 --------------------------------------- C3H2_denom2 = tiny(1.0_pr) + ( C3H2_denom1 ) C3H2_ct2 = ( C3H2_ct1 & ) / C3H2_denom2 C3H2_C3H3 = ( 0.0_pr & + k(rH112) * c(sH)+ k(rH115f) * c(sOH) & ) / C3H2_denom2 C3H2_C3H3_coeff = ( 0.0_pr & + k(rH115b) * c(sH2O) & ) ! C3H3 --------------------------------------- C3H3_denom2 = tiny(1.0_pr) + ( C3H3_denom1 & - C3H2_C3H3_coeff * C3H2_C3H3 ) C3H3_ct2 = ( C3H3_ct1 & + C3H2_C3H3_coeff * C3H2_ct2 & ) / C3H3_denom2 ! Reconstruction ------------------------------------ cqss(sC3H3-nspec) = ( C3H3_ct2 ) cqss(sC3H2-nspec) = ( C3H2_ct2 & + C3H2_C3H3 * cqss(sC3H3-nspec) ) ! c(sCH2) c(sCH) c(sCH2GSGXCH2) c(sHCCO) (coupled) -------------------- ! Primary denominators----------------------- CH2_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH16) * c(sO2) & + k(rH17) * c(sO2) & + k(rH18) * c(sO2) & + k(rH19f) * c(sH) & + k(rH20) * c(sO) & + k(rH21f) * c(sOH) & + k(rH22) * c(sO2) & + k(rH24b) * M(mM5) & + k(rH29b) * c(sH2) & + k(rH34b) * c(sH2O) & + k(rH45) * c(sCO) & ) CH_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH15) * c(sO2) & + k(rH19b) * c(sH2) & + k(rH21b) * c(sH2O) & ) CH2GSGXCH2_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH23) * c(sOH) & + k(rH24f) * M(mM5) & + k(rH25f) * c(sH2) & + k(rH26) * c(sO2) & + k(rH27) * c(sH) & + k(rH31b) * c(sH2O) & + k(rH62) * c(sCO2) & + k(rH97b) * c(sCO) & ) HCCO_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH95) * c(sO) & + k(rH96) * c(sO2) & + k(rH97f) * c(sH) & + k(rH98) * c(sOH) & + k(rH101b) * c(sH2) & ) ! Primary constant parts ----------------------- CH2_ct1 = ( 0.0_pr & + k(rH29f) * c(sCH3) * c(sH) & + k(rH34f) * c(sCH3) * c(sOH) & + k(rH74) * c(sC2H2) * c(sO) & + k(rH103) * c(sCH2CO) * c(sO) ) CH_ct1 = ( 0.0_pr ) CH2GSGXCH2_ct1 = ( 0.0_pr & + k(rH25b) * c(sCH3) * c(sH) & + k(rH31f) * c(sCH3) * c(sOH) ) HCCO_ct1 = ( 0.0_pr & + k(rH75) * c(sC2H2) * c(sO) & + k(rH99) * c(sCH2CO) * c(sOH) & + k(rH101f) * c(sCH2CO) * c(sH) & + k(rH102) * c(sCH2CO) * c(sO) & + k(rH110) * cqss(sC3H2-nspec) *c(sO2) ) ! CH2 --------------------------------------- CH2_denom2 = tiny(1.0_pr) + ( CH2_denom1 ) CH2_ct2 = ( CH2_ct1 & ) / CH2_denom2 CH2_CH = ( 0.0_pr & + k(rH19b) * c(sH2)+ k(rH21b) * c(sH2O) & ) / CH2_denom2 CH2_CH2GSGXCH2 = ( 0.0_pr & + k(rH24f) * M(mM5) & ) / CH2_denom2 CH2_HCCO = ( 0.0_pr & ) / CH2_denom2 CH2_CH_coeff = ( 0.0_pr & + k(rH19f) * c(sH)+ k(rH21f) * c(sOH) & ) CH2_CH2GSGXCH2_coeff = ( 0.0_pr & + k(rH24b) * M(mM5) & ) CH2_HCCO_coeff = ( 0.0_pr & ) ! CH --------------------------------------- CH_denom2 = tiny(1.0_pr) + ( CH_denom1 & - CH2_CH_coeff * CH2_CH ) CH_ct2 = ( CH_ct1 & + CH2_CH_coeff * CH2_ct2 & ) / CH_denom2 CH_CH2GSGXCH2 = ( 0.0_pr & + k(rH27) * c(sH) & + CH2_CH_coeff * CH2_CH2GSGXCH2& ) / CH_denom2 CH_HCCO = ( 0.0_pr & + CH2_CH_coeff * CH2_HCCO& ) / CH_denom2 CH_CH2GSGXCH2_coeff = ( 0.0_pr & + CH2_CH2GSGXCH2_coeff * CH2_CH & ) CH_HCCO_coeff = ( 0.0_pr & + CH2_HCCO_coeff * CH2_CH & ) ! CH2GSGXCH2 --------------------------------------- CH2GSGXCH2_denom2 = tiny(1.0_pr) + ( CH2GSGXCH2_denom1 & - CH2_CH2GSGXCH2_coeff * CH2_CH2GSGXCH2 & - CH_CH2GSGXCH2_coeff * CH_CH2GSGXCH2 ) CH2GSGXCH2_ct2 = ( CH2GSGXCH2_ct1 & + CH2_CH2GSGXCH2_coeff * CH2_ct2 & + CH_CH2GSGXCH2_coeff * CH_ct2 & ) / CH2GSGXCH2_denom2 CH2GSGXCH2_HCCO = ( 0.0_pr & + k(rH97f) * c(sH) & + CH2_CH2GSGXCH2_coeff * CH2_HCCO& + CH_CH2GSGXCH2_coeff * CH_HCCO& ) / CH2GSGXCH2_denom2 CH2GSGXCH2_HCCO_coeff = ( 0.0_pr & + k(rH97b) * c(sCO) & + CH2_HCCO_coeff * CH2_CH2GSGXCH2 & + CH_HCCO_coeff * CH_CH2GSGXCH2 & ) ! HCCO --------------------------------------- HCCO_denom2 = tiny(1.0_pr) + ( HCCO_denom1 & - CH2_HCCO_coeff * CH2_HCCO & - CH_HCCO_coeff * CH_HCCO & - CH2GSGXCH2_HCCO_coeff * CH2GSGXCH2_HCCO ) HCCO_ct2 = ( HCCO_ct1 & + CH2_HCCO_coeff * CH2_ct2 & + CH_HCCO_coeff * CH_ct2 & + CH2GSGXCH2_HCCO_coeff * CH2GSGXCH2_ct2 & ) / HCCO_denom2 ! Reconstruction ------------------------------------ cqss(sHCCO-nspec) = ( HCCO_ct2 ) cqss(sCH2GSGXCH2-nspec) = ( CH2GSGXCH2_ct2 & + CH2GSGXCH2_HCCO * cqss(sHCCO-nspec) ) cqss(sCH-nspec) = ( CH_ct2 & + CH_CH2GSGXCH2 * cqss(sCH2GSGXCH2-nspec)& + CH_HCCO * cqss(sHCCO-nspec) ) cqss(sCH2-nspec) = ( CH2_ct2 & + CH2_CH * cqss(sCH-nspec)& + CH2_CH2GSGXCH2 * cqss(sCH2GSGXCH2-nspec)& + CH2_HCCO * cqss(sHCCO-nspec) ) ! cqss(sCH3O2) (uncoupled) -------------------- cqss(sCH3O2-nspec) = ( 0.0_pr & + k(rH71b) * c(sCH3) * c(sO2) * M(mM5) & ) / ( tiny(1.0_pr) + ( & + k(rH68) * c(sHO2) & + k(rH71f) * M(mM5) & + k(rH72) * c(sCH3) & + k(rHLP185) * c(sNXC7H16) ) ) ! cqss(sCH3O2H) (uncoupled) -------------------- cqss(sCH3O2H-nspec) = ( 0.0_pr & + k(rH68) * cqss(sCH3O2-nspec) *c(sHO2) & + k(rHLP185) * c(sNXC7H16) * cqss(sCH3O2-nspec) & ) / ( tiny(1.0_pr) + ( & + k(rH73) ) ) ! cqss(sCH3O) (uncoupled) -------------------- cqss(sCH3O-nspec) = ( 0.0_pr & + k(rH36) * c(sCH3) * c(sHO2) & + k(rH61) * c(sCH3OH) * c(sOH) & + k(rH72) * 2.0 * cqss(sCH3O2-nspec) *c(sCH3) & + k(rH73) * cqss(sCH3O2H-nspec) & ) / ( tiny(1.0_pr) + ( & + k(rH57) * c(sO2) & + k(rH59) * c(sH2) & + k(rH60) & + k(rHLP186) * c(sNXC7H16) ) ) ! cqss(sC7H15X2XC7H15) (uncoupled) -------------------- cqss(sC7H15X2XC7H15-nspec) = ( 0.0_pr & + k(rHLP178) * c(sNXC7H16) * c(sOH) & + k(rHLP180) * c(sNXC7H16) * c(sCH3) & + k(rHLP181) * c(sNXC7H16) * c(sHO2) & + k(rHLP182) * c(sNXC7H16) * c(sH) & + k(rHLP183) * c(sNXC7H16) * c(sO) & + k(rHLP185) * c(sNXC7H16) * cqss(sCH3O2-nspec) & + k(rHLP186) * c(sNXC7H16) * cqss(sCH3O-nspec) & ) / ( tiny(1.0_pr) + ( & + k(rHLP172) & + k(rHLP173) * c(sHO2) & + k(rHLP174) & + k(rHLP175) & + k(rHLP176) & + k(rHLP177) ) ) ! cqss(sCH3CO) (uncoupled) -------------------- cqss(sCH3CO-nspec) = ( 0.0_pr & + k(rH152) * c(sC4H8X1XC4H8) * c(sO) & + k(rH155) * c(sC4H8X1XC4H8) * c(sOH) & ) / ( tiny(1.0_pr) + ( & + k(rH106) ) ) ! cqss(sC6H12X1XC6H12) (uncoupled) -------------------- cqss(sC6H12X1XC6H12-nspec) = ( 0.0_pr & + k(rHLP176) * cqss(sC7H15X2XC7H15-nspec) & ) / ( tiny(1.0_pr) + ( & + k(rH170) & + k(rHLP171) * c(sOH) ) ) ! c(sC5H10X1XC5H10) c(sC5H11X1XC5H11) (coupled) -------------------- ! Primary denominators----------------------- C5H10X1XC5H10_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH163) * c(sOH) & + k(rH165) * c(sO) & + k(rH166) * c(sH) & + k(rHLP169b) * c(sH) & ) C5H11X1XC5H11_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rHLP167) & + k(rHLP168) & + k(rHLP169f) & ) ! Primary constant parts ----------------------- C5H10X1XC5H10_ct1 = ( 0.0_pr & + k(rHLP175) * cqss(sC7H15X2XC7H15-nspec) ) C5H11X1XC5H11_ct1 = ( 0.0_pr & + k(rHLP171) * cqss(sC6H12X1XC6H12-nspec) *c(sOH) & + k(rHLP174) * cqss(sC7H15X2XC7H15-nspec) & + k(rHLP184) * c(sNXC7H16) ) ! C5H10X1XC5H10 --------------------------------------- C5H10X1XC5H10_denom2 = tiny(1.0_pr) + ( C5H10X1XC5H10_denom1 ) C5H10X1XC5H10_ct2 = ( C5H10X1XC5H10_ct1 & ) / C5H10X1XC5H10_denom2 C5H10X1XC5H10_C5H11X1XC5H11 = ( 0.0_pr & + k(rHLP169f) & ) / C5H10X1XC5H10_denom2 C5H10X1XC5H10_C5H11X1XC5H11_coeff = ( 0.0_pr & + k(rHLP169b) * c(sH) & ) ! C5H11X1XC5H11 --------------------------------------- C5H11X1XC5H11_denom2 = tiny(1.0_pr) + ( C5H11X1XC5H11_denom1 & - C5H10X1XC5H10_C5H11X1XC5H11_coeff * C5H10X1XC5H10_C5H11X1XC5H11 ) C5H11X1XC5H11_ct2 = ( C5H11X1XC5H11_ct1 & + C5H10X1XC5H10_C5H11X1XC5H11_coeff * C5H10X1XC5H10_ct2 & ) / C5H11X1XC5H11_denom2 ! Reconstruction ------------------------------------ cqss(sC5H11X1XC5H11-nspec) = ( C5H11X1XC5H11_ct2 ) cqss(sC5H10X1XC5H10-nspec) = ( C5H10X1XC5H10_ct2 & + C5H10X1XC5H10_C5H11X1XC5H11 * cqss(sC5H11X1XC5H11-nspec) ) ! c(sNXC3H7O2) c(sNXC3H7) (coupled) -------------------- ! Primary denominators----------------------- NXC3H7O2_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH135f) & ) NXC3H7_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH132) * c(sO2) & + k(rH133f) & + k(rH134f) & + k(rH135b) * c(sO2) & ) ! Primary constant parts ----------------------- NXC3H7O2_ct1 = ( 0.0_pr ) NXC3H7_ct1 = ( 0.0_pr & + k(rH133b) * c(sH) * c(sC3H6) & + k(rH134b) * c(sCH3) * c(sC2H4) & + k(rH154) * c(sC4H8X1XC4H8) * c(sOH) & + k(rHLP167) * cqss(sC5H11X1XC5H11-nspec) & + k(rH170) * cqss(sC6H12X1XC6H12-nspec) & + k(rHLP177) * cqss(sC7H15X2XC7H15-nspec) & + k(rH179) * c(sNXC7H16) ) ! NXC3H7O2 --------------------------------------- NXC3H7O2_denom2 = tiny(1.0_pr) + ( NXC3H7O2_denom1 ) NXC3H7O2_ct2 = ( NXC3H7O2_ct1 & ) / NXC3H7O2_denom2 NXC3H7O2_NXC3H7 = ( 0.0_pr & + k(rH135b) * c(sO2) & ) / NXC3H7O2_denom2 NXC3H7O2_NXC3H7_coeff = ( 0.0_pr & + k(rH135f) & ) ! NXC3H7 --------------------------------------- NXC3H7_denom2 = tiny(1.0_pr) + ( NXC3H7_denom1 & - NXC3H7O2_NXC3H7_coeff * NXC3H7O2_NXC3H7 ) NXC3H7_ct2 = ( NXC3H7_ct1 & + NXC3H7O2_NXC3H7_coeff * NXC3H7O2_ct2 & ) / NXC3H7_denom2 ! Reconstruction ------------------------------------ cqss(sNXC3H7-nspec) = ( NXC3H7_ct2 ) cqss(sNXC3H7O2-nspec) = ( NXC3H7O2_ct2 & + NXC3H7O2_NXC3H7 * cqss(sNXC3H7-nspec) ) ! cqss(sC5H9) (uncoupled) -------------------- cqss(sC5H9-nspec) = ( 0.0_pr & + k(rH163) * cqss(sC5H10X1XC5H10-nspec) *c(sOH) & + k(rH165) * cqss(sC5H10X1XC5H10-nspec) *c(sO) & + k(rH166) * cqss(sC5H10X1XC5H10-nspec) *c(sH) & ) / ( tiny(1.0_pr) + ( & + k(rH161) & + k(rH162) ) ) ! cqss(sC3H5XAXC3H5) (uncoupled) -------------------- cqss(sC3H5XAXC3H5-nspec) = ( 0.0_pr & + k(rH119b) * c(sC3H4XAXH4C3) * c(sH) & + k(rH126) * c(sC3H6) * c(sH) & + k(rH129) * c(sC3H6) * c(sOH) & + k(rH130) * c(sC3H6) * c(sO) & + k(rH137) * c(sC4H6) * c(sOH) & + k(rH157f) * c(sC4H8X1XC4H8) & + k(rH162) * cqss(sC5H9-nspec) & + k(rH170) * cqss(sC6H12X1XC6H12-nspec) & ) / ( tiny(1.0_pr) + ( & + k(rH119f) & + k(rH120) * c(sHO2) & + k(rH121) & + k(rH122) * c(sCH2O) & + k(rH124) * c(sH) & + k(rH125) * c(sH) & + k(rH157b) * c(sCH3) ) ) ! c(sPXC4H9O2) c(sPXC4H9) (coupled) -------------------- ! Primary denominators----------------------- PXC4H9O2_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH160f) & ) PXC4H9_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH158f) & + k(rH159) & + k(rH160b) * c(sO2) & ) ! Primary constant parts ----------------------- PXC4H9O2_ct1 = ( 0.0_pr ) PXC4H9_ct1 = ( 0.0_pr & + k(rH158b) * c(sC4H8X1XC4H8) * c(sH) & + k(rHLP172) * cqss(sC7H15X2XC7H15-nspec) & + k(rH179) * c(sNXC7H16) ) ! PXC4H9O2 --------------------------------------- PXC4H9O2_denom2 = tiny(1.0_pr) + ( PXC4H9O2_denom1 ) PXC4H9O2_ct2 = ( PXC4H9O2_ct1 & ) / PXC4H9O2_denom2 PXC4H9O2_PXC4H9 = ( 0.0_pr & + k(rH160b) * c(sO2) & ) / PXC4H9O2_denom2 PXC4H9O2_PXC4H9_coeff = ( 0.0_pr & + k(rH160f) & ) ! PXC4H9 --------------------------------------- PXC4H9_denom2 = tiny(1.0_pr) + ( PXC4H9_denom1 & - PXC4H9O2_PXC4H9_coeff * PXC4H9O2_PXC4H9 ) PXC4H9_ct2 = ( PXC4H9_ct1 & + PXC4H9O2_PXC4H9_coeff * PXC4H9O2_ct2 & ) / PXC4H9_denom2 ! Reconstruction ------------------------------------ cqss(sPXC4H9-nspec) = ( PXC4H9_ct2 ) cqss(sPXC4H9O2-nspec) = ( PXC4H9O2_ct2 & + PXC4H9O2_PXC4H9 * cqss(sPXC4H9-nspec) ) ! c(sC2H5O2) c(sC2H5) (coupled) -------------------- ! Primary denominators----------------------- C2H5O2_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH108) & + k(rH109f) & ) C2H5_denom1 = tiny(1.0_pr) + ( 0.0_pr & + k(rH37b) * c(sH) & + k(rH84b) & + k(rH88) * c(sHO2) & + k(rH89) * c(sO2) & + k(rH90) * c(sH) & + k(rH109b) * c(sO2) & ) ! Primary constant parts ----------------------- C2H5O2_ct1 = ( 0.0_pr ) C2H5_ct1 = ( 0.0_pr & + k(rH37f) * c(sCH3) * c(sCH3) & + k(rH84f) * c(sH) * c(sC2H4) & + k(rH92) * c(sC2H6) * c(sOH) & + k(rH93) * c(sC2H6) * c(sO) & + k(rH94) * c(sC2H6) * c(sH) & + k(rH128) * c(sC3H6) * c(sO) & + k(rH141) * c(sC4H6) * c(sOH) & + k(rH152) * c(sC4H8X1XC4H8) * c(sO) & + k(rH159) * cqss(sPXC4H9-nspec) & + k(rHLP168) * cqss(sC5H11X1XC5H11-nspec) & + k(rHLP175) * cqss(sC7H15X2XC7H15-nspec) & + k(rHLP184) * c(sNXC7H16) ) ! C2H5O2 --------------------------------------- C2H5O2_denom2 = tiny(1.0_pr) + ( C2H5O2_denom1 ) C2H5O2_ct2 = ( C2H5O2_ct1 & ) / C2H5O2_denom2 C2H5O2_C2H5 = ( 0.0_pr & + k(rH109b) * c(sO2) & ) / C2H5O2_denom2 C2H5O2_C2H5_coeff = ( 0.0_pr & + k(rH109f) & ) ! C2H5 --------------------------------------- C2H5_denom2 = tiny(1.0_pr) + ( C2H5_denom1 & - C2H5O2_C2H5_coeff * C2H5O2_C2H5 ) C2H5_ct2 = ( C2H5_ct1 & + C2H5O2_C2H5_coeff * C2H5O2_ct2 & ) / C2H5_denom2 ! Reconstruction ------------------------------------ cqss(sC2H5-nspec) = ( C2H5_ct2 ) cqss(sC2H5O2-nspec) = ( C2H5O2_ct2 & + C2H5O2_C2H5 * cqss(sC2H5-nspec) ) ! cqss(sC2H5O) (uncoupled) -------------------- cqss(sC2H5O-nspec) = ( 0.0_pr & + k(rH88) * cqss(sC2H5-nspec) *c(sHO2) & ) / ( tiny(1.0_pr) + ( & + k(rH107) * M(mM5) ) ) ! cqss(sHCO) (uncoupled) -------------------- cqss(sHCO-nspec) = ( 0.0_pr & + k(rH15) * cqss(sCH-nspec) *c(sO2) & + k(rH53) * c(sCH2O) * c(sCH3) & + k(rH54) * c(sCH2O) * c(sO) & + k(rH55) * c(sCH2O) * c(sOH) & + k(rH56) * c(sCH2O) * c(sH) & + k(rH63f) * c(sHOCHO) & + k(rH81) * cqss(sC2H3-nspec) *c(sO2) & + k(rH82) * c(sC2H4) * c(sO) & + k(rH96) * cqss(sHCCO-nspec) *c(sO2) & + k(rH98) * 2.0 * cqss(sHCCO-nspec) *c(sOH) & + k(rH111) * cqss(sC3H2-nspec) *c(sOH) & + k(rH113) * cqss(sC3H3-nspec) *c(sO2) & + k(rH122) * cqss(sC3H5XAXC3H5-nspec) *c(sCH2O) & + k(rH128) * c(sC3H6) * c(sO) & ) / ( tiny(1.0_pr) + ( & + k(rH46) * c(sCH3) & + k(rH47) * c(sO) & + k(rH48) * c(sH) & + k(rH49) * M(mM9) & + k(rH50) * c(sOH) & + k(rH51) * c(sO) & + k(rH52) * c(sO2) & + k(rH63b) * c(sOH) ) ) return end subroutine get_QSS !subroutine INTERNALAVBP(P, T, c, WDOT) !implicit none !real(pr), dimension(nspec) :: c, WDOT !real(pr), dimension(nqss) :: cqss !real(pr), dimension(nreac) :: w,k !real(pr), dimension(12) :: m !real(pr) :: T,P !CALL get_thirdbodies(M,c) !CALL get_rate_coefficients(k,M,T,P) !CALL get_QSS(cqss,c,k,M) !CALL get_reaction_rates(w,k,M,c,cqss) !CALL get_production_rates(WDOT,w) !return !end subroutine INTERNALAVBP end module mC7H162521027 !subroutine TEST(P, T, Y, WDOT) !subroutine externe au module pour CANTERA subroutine customkinetics(P, T, Y, WDOT) use mC7H162521027 implicit none real(pr), dimension(nspec) :: Y,c,WDOT real(pr), dimension(nspec + nqss) :: H,dH,Cp real(pr), dimension(nqss) :: cqss real(pr), dimension(nreac) :: w,k real(pr), dimension(12) :: m real(pr) :: T,P CALL YtoC(c,P,T,Y) CALL get_thirdbodies(M,c) CALL get_rate_coefficients(k,M,T,P) CALL get_QSS(cqss,c,k,M) CALL get_reaction_rates(w,k,M,c,cqss) CALL get_production_rates(WDOT,w) return end subroutine customkinetics !SUBROUTINE MYMECHANISM ( nnode,neqs,rhoinv,press,tempe,w_spec,wmol,source_spec ) !USE mod_param_defs !USE mod_MYMECHANISM, ONLY: INTERNALAVBP !IMPLICIT NONE !! IN/OUT !INTEGER, INTENT(IN) :: nnode, neqs !REAL(pr), DIMENSION(1:neqs), INTENT(IN) :: wmol !REAL(pr), DIMENSION(1:nnode), INTENT(IN) :: rhoinv,press,tempe !REAL(pr), DIMENSION(1:neqs,1:nnode), INTENT(IN) :: w_spec !REAL(pr), DIMENSION(1:neqs,1:nnode), INTENT(OUT) ::source_spec !! LOCAL !REAL(pr), DIMENSION(1:neqs) :: C !REAL(pr), DIMENSION(1:neqs) :: source_spec_buf !REAL(pr) :: P,T !INTEGER :: n,k !DO n=1,nnode ! P = press(n) ! T = tempe(n) ! !Activity concentrations ! DO k=1,neqs ! C(k) = min( w_spec(k,n), one/rhoinv(n) ) ! C(k) = C(k) / wmol(k) ! C(k) = max(C(k),1.0e-10_pr) ! END DO ! ! The internal YARC routine is called ! CALL INTERNALAVBP ( P, T, C, source_spec_buf ) ! ! Conversion from mol/m3/s to kg/m3/s ! DO k=1,neqs ! source_spec(k,n) = source_spec_buf(k) * wmol(k) ! END DO !END DO !END SUBROUTINE MYMECHANISM