! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! The Stoichiometric Chemical Model File ! ! Generated by KPP-2.2 symbolic chemistry Kinetics PreProcessor ! (http://www.cs.vt.edu/~asandu/Software/KPP) ! KPP is distributed under GPL, the general public licence ! (http://www.gnu.org/copyleft/gpl.html) ! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa ! (C) 1997-2005, A. Sandu, Michigan Tech, Virginia Tech ! With important contributions from: ! M. Damian, Villanova University, USA ! R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany ! ! File : gckpp_Stoichiom.f90 ! Time : Tue Mar 16 10:29:04 2010 ! Working directory : /mnt/lstr04/srv/home/c/ccarouge/KPP/geoschem_kppfiles/v8-03-01/Paulot_scheme ! Equation file : gckpp.kpp ! Output root filename : gckpp ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MODULE gckpp_Stoichiom USE gckpp_Parameters USE gckpp_StoichiomSP IMPLICIT NONE CONTAINS ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! ReactantProd - Reactant Products in each equation ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! ARP - Reactant product in each equation ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE ReactantProd ( V, F, ARP ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! ARP - Reactant product in each equation REAL(kind=dp) :: ARP(NREACT) ! Reactant Products in each equation are useful in the ! stoichiometric formulation of mass action law ARP(1) = V(134)*V(135) ARP(2) = V(132)*V(135) ARP(3) = V(135)*V(136) ARP(4) = V(128)*V(135) ARP(5) = V(133)*V(135) ARP(6) = V(132)*V(132) ARP(7) = V(132)*V(132) ARP(8) = V(132)*V(136) ARP(9) = V(46)*V(132) ARP(10) = V(134)*V(136) ARP(11) = V(136)*V(136) ARP(12) = V(132)*F(4) ARP(13) = V(91)*V(132) ARP(14) = V(132)*F(1) ARP(15) = V(133)*V(134) ARP(16) = V(133)*V(136) ARP(17) = V(133)*V(133) ARP(18) = V(133)*V(133) ARP(19) = V(62)*V(132) ARP(20) = V(62)*V(132) ARP(21) = V(63)*V(132) ARP(22) = V(63)*V(132) ARP(23) = V(114)*V(132) ARP(24) = V(128)*V(132) ARP(25) = V(99)*V(132) ARP(26) = V(132)*V(134) ARP(27) = V(53)*V(132) ARP(28) = V(128)*V(136) ARP(29) = V(59) ARP(30) = V(59)*V(132) ARP(31) = V(129)*V(136) ARP(32) = V(129)*V(134) ARP(33) = V(129)*V(132) ARP(34) = V(128)*V(129) ARP(35) = V(55) ARP(36) = V(72)*V(132) ARP(37) = V(132)*F(6) ARP(38) = V(128)*V(129) ARP(39) = V(114)*V(129) ARP(40) = V(115)*V(132) ARP(41) = V(115)*V(129) ARP(42) = V(128)*V(130) ARP(43) = V(49) ARP(44) = V(130)*V(134) ARP(45) = V(52)*V(132) ARP(46) = V(112)*V(134) ARP(47) = V(44)*V(132) ARP(48) = V(44)*V(132) ARP(49) = V(94)*V(134) ARP(50) = V(109)*V(134) ARP(51) = V(51)*V(132) ARP(52) = V(126)*V(134) ARP(53) = V(126)*V(134) ARP(54) = V(116)*V(134) ARP(55) = V(108)*V(134) ARP(56) = V(106)*V(134) ARP(57) = V(123)*V(134) ARP(58) = V(101)*V(134) ARP(59) = V(105)*V(134) ARP(60) = V(97)*V(134) ARP(61) = V(98)*V(134) ARP(62) = V(117)*V(134) ARP(63) = V(117)*V(129) ARP(64) = V(117)*V(117) ARP(65) = V(110)*V(134) ARP(66) = V(51)*V(129) ARP(67) = V(132)*V(137) ARP(68) = V(89)*V(132) ARP(69) = V(127)*V(132) ARP(70) = V(113)*V(128) ARP(71) = V(45) ARP(72) = V(122)*V(128) ARP(73) = V(79) ARP(74) = V(113)*V(134) ARP(75) = V(122)*V(134) ARP(76) = V(127)*V(129) ARP(77) = V(85)*V(132) ARP(78) = V(85)*V(132) ARP(79) = V(94)*V(133) ARP(80) = V(109)*V(133) ARP(81) = V(126)*V(136) ARP(82) = V(116)*V(136) ARP(83) = V(108)*V(136) ARP(84) = V(106)*V(136) ARP(85) = V(123)*V(136) ARP(86) = V(101)*V(136) ARP(87) = V(105)*V(136) ARP(88) = V(97)*V(136) ARP(89) = V(98)*V(136) ARP(90) = V(117)*V(136) ARP(91) = V(110)*V(136) ARP(92) = V(131)*V(132) ARP(93) = V(112)*V(133) ARP(94) = V(129)*V(131) ARP(95) = V(126)*V(133) ARP(96) = V(116)*V(133) ARP(97) = V(108)*V(133) ARP(98) = V(106)*V(133) ARP(99) = V(123)*V(133) ARP(100) = V(123)*V(123) ARP(101) = V(111)*V(133) ARP(102) = V(101)*V(133) ARP(103) = V(105)*V(133) ARP(104) = V(97)*V(133) ARP(105) = V(98)*V(133) ARP(106) = V(117)*V(133) ARP(107) = V(110)*V(133) ARP(108) = V(132)*F(3) ARP(109) = V(88)*V(132) ARP(110) = V(112)*V(112) ARP(111) = V(112)*V(112) ARP(112) = V(112)*V(136) ARP(113) = V(94)*V(136) ARP(114) = V(109)*V(136) ARP(115) = V(130)*V(136) ARP(116) = V(113)*V(136) ARP(117) = V(122)*V(136) ARP(118) = V(86)*V(132) ARP(119) = V(86)*V(135) ARP(120) = V(79)*V(132) ARP(121) = V(95)*V(134) ARP(122) = V(95)*V(136) ARP(123) = V(79)*V(135) ARP(124) = V(75)*V(128) ARP(125) = V(65) ARP(126) = V(75)*V(134) ARP(127) = V(75)*V(136) ARP(128) = V(100)*V(132) ARP(129) = V(100)*V(132) ARP(130) = V(86)*V(129) ARP(131) = V(90)*V(132) ARP(132) = V(118)*V(132) ARP(133) = V(90)*V(129) ARP(134) = V(118)*V(129) ARP(135) = V(81)*V(132) ARP(136) = V(120)*V(132) ARP(137) = V(121)*V(132) ARP(138) = V(119)*V(132) ARP(139) = V(119)*V(132) ARP(140) = V(94)*V(130) ARP(141) = V(109)*V(130) ARP(142) = V(94)*V(130) ARP(143) = V(109)*V(130) ARP(144) = V(81)*V(135) ARP(145) = V(120)*V(135) ARP(146) = V(121)*V(135) ARP(147) = V(81)*V(129) ARP(148) = V(121)*V(129) ARP(149) = V(121)*V(129) ARP(150) = V(113)*V(133) ARP(151) = V(122)*V(133) ARP(152) = V(113)*V(133) ARP(153) = V(122)*V(133) ARP(154) = V(71)*V(132) ARP(155) = V(71)*V(132) ARP(156) = V(67)*V(132) ARP(157) = V(61)*V(132) ARP(158) = V(56)*V(132) ARP(159) = V(57)*V(132) ARP(160) = V(66)*V(132) ARP(161) = V(58)*V(132) ARP(162) = V(69)*V(132) ARP(163) = V(74)*V(132) ARP(164) = V(74)*V(132) ARP(165) = V(47)*V(132) ARP(166) = V(84)*V(136) ARP(167) = V(84)*V(134) ARP(168) = V(76)*V(132) ARP(169) = V(73)*V(132) ARP(170) = V(70)*V(132) ARP(171) = V(70)*V(132) ARP(172) = V(64)*V(132) ARP(173) = V(64)*V(132) ARP(174) = V(102)*V(130) ARP(175) = V(102)*V(130) ARP(176) = V(102)*V(133) ARP(177) = V(102)*V(102) ARP(178) = V(102)*V(136) ARP(179) = V(102)*V(134) ARP(180) = V(102)*V(134) ARP(181) = V(54)*V(132) ARP(182) = V(52)*V(129) ARP(183) = V(124)*V(135) ARP(184) = V(130)*V(130) ARP(185) = V(130)*V(133) ARP(186) = V(130)*V(133) ARP(187) = V(126)*V(130) ARP(188) = V(108)*V(130) ARP(189) = V(106)*V(130) ARP(190) = V(123)*V(130) ARP(191) = V(111)*V(130) ARP(192) = V(101)*V(130) ARP(193) = V(105)*V(130) ARP(194) = V(98)*V(130) ARP(195) = V(116)*V(130) ARP(196) = V(97)*V(130) ARP(197) = V(117)*V(130) ARP(198) = V(110)*V(130) ARP(199) = V(126)*V(130) ARP(200) = V(108)*V(130) ARP(201) = V(106)*V(130) ARP(202) = V(123)*V(130) ARP(203) = V(111)*V(130) ARP(204) = V(101)*V(130) ARP(205) = V(105)*V(130) ARP(206) = V(116)*V(130) ARP(207) = V(97)*V(130) ARP(208) = V(117)*V(130) ARP(209) = V(110)*V(130) ARP(210) = V(98)*V(130) ARP(211) = V(112)*V(130) ARP(212) = V(112)*V(130) ARP(213) = V(113)*V(130) ARP(214) = V(122)*V(130) ARP(215) = V(129)*V(129) ARP(216) = F(2) ARP(217) = F(2) ARP(218) = F(2) ARP(219) = F(2) ARP(220) = F(2) ARP(221) = F(2) ARP(222) = F(2) ARP(223) = F(2) ARP(224) = F(2) ARP(225) = F(2) ARP(226) = F(2) ARP(227) = F(2) ARP(228) = F(2) ARP(229) = F(2) ARP(230) = F(2) ARP(231) = F(2) ARP(232) = F(2) ARP(233) = F(2) ARP(234) = V(128) ARP(235) = V(50) ARP(236) = V(135) ARP(237) = V(49) ARP(238) = V(65) ARP(239) = V(99) ARP(240) = V(114) ARP(241) = V(55) ARP(242) = V(46) ARP(243) = V(79) ARP(244) = V(45) ARP(245) = V(137) ARP(246) = V(47) ARP(247) = V(74) ARP(248) = V(125) ARP(249) = V(82) ARP(250) = V(82)*V(135) ARP(251) = V(125)*V(135) ARP(252) = V(96) ARP(253) = V(104) ARP(254) = V(93) ARP(255) = V(72) ARP(256) = V(89) ARP(257) = V(128) ARP(258) = V(129) ARP(259) = V(55) ARP(260) = V(60)*V(132) ARP(261) = V(60)*V(132) ARP(262) = V(60)*V(129) ARP(263) = V(48)*V(132) ARP(264) = V(124)*V(132) ARP(265) = V(111)*V(134) ARP(266) = V(111)*V(134) ARP(267) = V(111)*V(136) ARP(268) = V(125)*V(132) ARP(269) = V(82)*V(132) ARP(270) = V(103)*V(134) ARP(271) = V(103)*V(134) ARP(272) = V(103)*V(136) ARP(273) = V(107)*V(134) ARP(274) = V(107)*V(134) ARP(275) = V(107)*V(136) ARP(276) = V(80)*V(132) ARP(277) = V(93)*V(132) ARP(278) = V(104)*V(132) ARP(279) = V(92)*V(134) ARP(280) = V(92)*V(136) ARP(281) = V(92)*V(128) ARP(282) = V(50) ARP(283) = V(77)*V(132) ARP(284) = V(83)*V(134) ARP(285) = V(83)*V(134) ARP(286) = V(83)*V(136) ARP(287) = V(78)*V(132) ARP(288) = V(87)*V(134) ARP(289) = V(87)*V(134) ARP(290) = V(87)*V(136) ARP(291) = V(78)*V(135) ARP(292) = V(68)*V(132) ARP(293) = V(96)*V(132) ARP(294) = V(18)*V(132) ARP(295) = V(22)*V(132) ARP(296) = V(26)*V(132) ARP(297) = V(17)*V(136) ARP(298) = V(17)*V(134) ARP(299) = V(21)*V(136) ARP(300) = V(21)*V(134) ARP(301) = V(25)*V(136) ARP(302) = V(25)*V(134) ARP(303) = V(30)*V(132) ARP(304) = V(29)*V(136) ARP(305) = V(29)*V(134) ARP(306) = V(135) ARP(307) = V(128) ARP(308) = V(46) ARP(309) = V(62) ARP(310) = V(114) ARP(311) = V(114) ARP(312) = V(99) ARP(313) = V(53) ARP(314) = V(59) ARP(315) = V(129) ARP(316) = V(129) ARP(317) = V(55) ARP(318) = V(55) ARP(319) = V(59) ARP(320) = V(115) ARP(321) = V(115) ARP(322) = V(49) ARP(323) = V(127) ARP(324) = V(85) ARP(325) = V(85) ARP(326) = V(131) ARP(327) = V(100) ARP(328) = V(90) ARP(329) = V(90) ARP(330) = V(118) ARP(331) = V(118) ARP(332) = V(120) ARP(333) = V(120) ARP(334) = V(120) ARP(335) = V(121) ARP(336) = V(121) ARP(337) = V(119) ARP(338) = V(71) ARP(339) = V(67) ARP(340) = V(61) ARP(341) = V(56) ARP(342) = V(57) ARP(343) = V(66) ARP(344) = V(69) ARP(345) = V(58) ARP(346) = V(74) ARP(347) = V(76) ARP(348) = V(80) ARP(349) = V(73) ARP(350) = V(70) ARP(351) = V(64) ARP(352) = V(137) ARP(353) = V(54) ARP(354) = V(104) ARP(355) = V(93) ARP(356) = V(82) ARP(357) = V(125) ARP(358) = V(96) ARP(359) = V(63) ARP(360) = V(65) ARP(361) = V(65) END SUBROUTINE ReactantProd ! End of ReactantProd function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ! JacReactantProd - Jacobian of Reactant Products vector ! Arguments : ! V - Concentrations of variable species (local) ! F - Concentrations of fixed species (local) ! JVRP - d ARP(1:NREACT)/d VAR (1:NVAR) ! ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE JacReactantProd ( V, F, JVRP ) ! V - Concentrations of variable species (local) REAL(kind=dp) :: V(NVAR) ! F - Concentrations of fixed species (local) REAL(kind=dp) :: F(NFIX) ! JVRP - d ARP(1:NREACT)/d VAR (1:NVAR) REAL(kind=dp) :: JVRP(NJVRP) ! Reactant Products in each equation are useful in the ! stoichiometric formulation of mass action law ! Below we compute the Jacobian of the Reactant Products vector ! w.r.t. variable species: d ARP(1:NREACT) / d Var(1:NVAR) ! JVRP(1) = dARP(1)/dV(134) JVRP(1) = V(135) ! JVRP(2) = dARP(1)/dV(135) JVRP(2) = V(134) ! JVRP(3) = dARP(2)/dV(132) JVRP(3) = V(135) ! JVRP(4) = dARP(2)/dV(135) JVRP(4) = V(132) ! JVRP(5) = dARP(3)/dV(135) JVRP(5) = V(136) ! JVRP(6) = dARP(3)/dV(136) JVRP(6) = V(135) ! JVRP(7) = dARP(4)/dV(128) JVRP(7) = V(135) ! JVRP(8) = dARP(4)/dV(135) JVRP(8) = V(128) ! JVRP(9) = dARP(5)/dV(133) JVRP(9) = V(135) ! JVRP(10) = dARP(5)/dV(135) JVRP(10) = V(133) ! JVRP(11) = dARP(6)/dV(132) JVRP(11) = 2*V(132) ! JVRP(12) = dARP(7)/dV(132) JVRP(12) = 2*V(132) ! JVRP(13) = dARP(8)/dV(132) JVRP(13) = V(136) ! JVRP(14) = dARP(8)/dV(136) JVRP(14) = V(132) ! JVRP(15) = dARP(9)/dV(46) JVRP(15) = V(132) ! JVRP(16) = dARP(9)/dV(132) JVRP(16) = V(46) ! JVRP(17) = dARP(10)/dV(134) JVRP(17) = V(136) ! JVRP(18) = dARP(10)/dV(136) JVRP(18) = V(134) ! JVRP(19) = dARP(11)/dV(136) JVRP(19) = 2*V(136) ! JVRP(20) = dARP(12)/dV(132) JVRP(20) = F(4) ! JVRP(21) = dARP(13)/dV(91) JVRP(21) = V(132) ! JVRP(22) = dARP(13)/dV(132) JVRP(22) = V(91) ! JVRP(23) = dARP(14)/dV(132) JVRP(23) = F(1) ! JVRP(24) = dARP(15)/dV(133) JVRP(24) = V(134) ! JVRP(25) = dARP(15)/dV(134) JVRP(25) = V(133) ! JVRP(26) = dARP(16)/dV(133) JVRP(26) = V(136) ! JVRP(27) = dARP(16)/dV(136) JVRP(27) = V(133) ! JVRP(28) = dARP(17)/dV(133) JVRP(28) = 2*V(133) ! JVRP(29) = dARP(18)/dV(133) JVRP(29) = 2*V(133) ! JVRP(30) = dARP(19)/dV(62) JVRP(30) = V(132) ! JVRP(31) = dARP(19)/dV(132) JVRP(31) = V(62) ! JVRP(32) = dARP(20)/dV(62) JVRP(32) = V(132) ! JVRP(33) = dARP(20)/dV(132) JVRP(33) = V(62) ! JVRP(34) = dARP(21)/dV(63) JVRP(34) = V(132) ! JVRP(35) = dARP(21)/dV(132) JVRP(35) = V(63) ! JVRP(36) = dARP(22)/dV(63) JVRP(36) = V(132) ! JVRP(37) = dARP(22)/dV(132) JVRP(37) = V(63) ! JVRP(38) = dARP(23)/dV(114) JVRP(38) = V(132) ! JVRP(39) = dARP(23)/dV(132) JVRP(39) = V(114) ! JVRP(40) = dARP(24)/dV(128) JVRP(40) = V(132) ! JVRP(41) = dARP(24)/dV(132) JVRP(41) = V(128) ! JVRP(42) = dARP(25)/dV(99) JVRP(42) = V(132) ! JVRP(43) = dARP(25)/dV(132) JVRP(43) = V(99) ! JVRP(44) = dARP(26)/dV(132) JVRP(44) = V(134) ! JVRP(45) = dARP(26)/dV(134) JVRP(45) = V(132) ! JVRP(46) = dARP(27)/dV(53) JVRP(46) = V(132) ! JVRP(47) = dARP(27)/dV(132) JVRP(47) = V(53) ! JVRP(48) = dARP(28)/dV(128) JVRP(48) = V(136) ! JVRP(49) = dARP(28)/dV(136) JVRP(49) = V(128) ! JVRP(50) = dARP(29)/dV(59) JVRP(50) = 1 ! JVRP(51) = dARP(30)/dV(59) JVRP(51) = V(132) ! JVRP(52) = dARP(30)/dV(132) JVRP(52) = V(59) ! JVRP(53) = dARP(31)/dV(129) JVRP(53) = V(136) ! JVRP(54) = dARP(31)/dV(136) JVRP(54) = V(129) ! JVRP(55) = dARP(32)/dV(129) JVRP(55) = V(134) ! JVRP(56) = dARP(32)/dV(134) JVRP(56) = V(129) ! JVRP(57) = dARP(33)/dV(129) JVRP(57) = V(132) ! JVRP(58) = dARP(33)/dV(132) JVRP(58) = V(129) ! JVRP(59) = dARP(34)/dV(128) JVRP(59) = V(129) ! JVRP(60) = dARP(34)/dV(129) JVRP(60) = V(128) ! JVRP(61) = dARP(35)/dV(55) JVRP(61) = 1 ! JVRP(62) = dARP(36)/dV(72) JVRP(62) = V(132) ! JVRP(63) = dARP(36)/dV(132) JVRP(63) = V(72) ! JVRP(64) = dARP(37)/dV(132) JVRP(64) = F(6) ! JVRP(65) = dARP(38)/dV(128) JVRP(65) = V(129) ! JVRP(66) = dARP(38)/dV(129) JVRP(66) = V(128) ! JVRP(67) = dARP(39)/dV(114) JVRP(67) = V(129) ! JVRP(68) = dARP(39)/dV(129) JVRP(68) = V(114) ! JVRP(69) = dARP(40)/dV(115) JVRP(69) = V(132) ! JVRP(70) = dARP(40)/dV(132) JVRP(70) = V(115) ! JVRP(71) = dARP(41)/dV(115) JVRP(71) = V(129) ! JVRP(72) = dARP(41)/dV(129) JVRP(72) = V(115) ! JVRP(73) = dARP(42)/dV(128) JVRP(73) = V(130) ! JVRP(74) = dARP(42)/dV(130) JVRP(74) = V(128) ! JVRP(75) = dARP(43)/dV(49) JVRP(75) = 1 ! JVRP(76) = dARP(44)/dV(130) JVRP(76) = V(134) ! JVRP(77) = dARP(44)/dV(134) JVRP(77) = V(130) ! JVRP(78) = dARP(45)/dV(52) JVRP(78) = V(132) ! JVRP(79) = dARP(45)/dV(132) JVRP(79) = V(52) ! JVRP(80) = dARP(46)/dV(112) JVRP(80) = V(134) ! JVRP(81) = dARP(46)/dV(134) JVRP(81) = V(112) ! JVRP(82) = dARP(47)/dV(44) JVRP(82) = V(132) ! JVRP(83) = dARP(47)/dV(132) JVRP(83) = V(44) ! JVRP(84) = dARP(48)/dV(44) JVRP(84) = V(132) ! JVRP(85) = dARP(48)/dV(132) JVRP(85) = V(44) ! JVRP(86) = dARP(49)/dV(94) JVRP(86) = V(134) ! JVRP(87) = dARP(49)/dV(134) JVRP(87) = V(94) ! JVRP(88) = dARP(50)/dV(109) JVRP(88) = V(134) ! JVRP(89) = dARP(50)/dV(134) JVRP(89) = V(109) ! JVRP(90) = dARP(51)/dV(51) JVRP(90) = V(132) ! JVRP(91) = dARP(51)/dV(132) JVRP(91) = V(51) ! JVRP(92) = dARP(52)/dV(126) JVRP(92) = V(134) ! JVRP(93) = dARP(52)/dV(134) JVRP(93) = V(126) ! JVRP(94) = dARP(53)/dV(126) JVRP(94) = V(134) ! JVRP(95) = dARP(53)/dV(134) JVRP(95) = V(126) ! JVRP(96) = dARP(54)/dV(116) JVRP(96) = V(134) ! JVRP(97) = dARP(54)/dV(134) JVRP(97) = V(116) ! JVRP(98) = dARP(55)/dV(108) JVRP(98) = V(134) ! JVRP(99) = dARP(55)/dV(134) JVRP(99) = V(108) ! JVRP(100) = dARP(56)/dV(106) JVRP(100) = V(134) ! JVRP(101) = dARP(56)/dV(134) JVRP(101) = V(106) ! JVRP(102) = dARP(57)/dV(123) JVRP(102) = V(134) ! JVRP(103) = dARP(57)/dV(134) JVRP(103) = V(123) ! JVRP(104) = dARP(58)/dV(101) JVRP(104) = V(134) ! JVRP(105) = dARP(58)/dV(134) JVRP(105) = V(101) ! JVRP(106) = dARP(59)/dV(105) JVRP(106) = V(134) ! JVRP(107) = dARP(59)/dV(134) JVRP(107) = V(105) ! JVRP(108) = dARP(60)/dV(97) JVRP(108) = V(134) ! JVRP(109) = dARP(60)/dV(134) JVRP(109) = V(97) ! JVRP(110) = dARP(61)/dV(98) JVRP(110) = V(134) ! JVRP(111) = dARP(61)/dV(134) JVRP(111) = V(98) ! JVRP(112) = dARP(62)/dV(117) JVRP(112) = V(134) ! JVRP(113) = dARP(62)/dV(134) JVRP(113) = V(117) ! JVRP(114) = dARP(63)/dV(117) JVRP(114) = V(129) ! JVRP(115) = dARP(63)/dV(129) JVRP(115) = V(117) ! JVRP(116) = dARP(64)/dV(117) JVRP(116) = 2*V(117) ! JVRP(117) = dARP(65)/dV(110) JVRP(117) = V(134) ! JVRP(118) = dARP(65)/dV(134) JVRP(118) = V(110) ! JVRP(119) = dARP(66)/dV(51) JVRP(119) = V(129) ! JVRP(120) = dARP(66)/dV(129) JVRP(120) = V(51) ! JVRP(121) = dARP(67)/dV(132) JVRP(121) = V(137) ! JVRP(122) = dARP(67)/dV(137) JVRP(122) = V(132) ! JVRP(123) = dARP(68)/dV(89) JVRP(123) = V(132) ! JVRP(124) = dARP(68)/dV(132) JVRP(124) = V(89) ! JVRP(125) = dARP(69)/dV(127) JVRP(125) = V(132) ! JVRP(126) = dARP(69)/dV(132) JVRP(126) = V(127) ! JVRP(127) = dARP(70)/dV(113) JVRP(127) = V(128) ! JVRP(128) = dARP(70)/dV(128) JVRP(128) = V(113) ! JVRP(129) = dARP(71)/dV(45) JVRP(129) = 1 ! JVRP(130) = dARP(72)/dV(122) JVRP(130) = V(128) ! JVRP(131) = dARP(72)/dV(128) JVRP(131) = V(122) ! JVRP(132) = dARP(73)/dV(79) JVRP(132) = 1 ! JVRP(133) = dARP(74)/dV(113) JVRP(133) = V(134) ! JVRP(134) = dARP(74)/dV(134) JVRP(134) = V(113) ! JVRP(135) = dARP(75)/dV(122) JVRP(135) = V(134) ! JVRP(136) = dARP(75)/dV(134) JVRP(136) = V(122) ! JVRP(137) = dARP(76)/dV(127) JVRP(137) = V(129) ! JVRP(138) = dARP(76)/dV(129) JVRP(138) = V(127) ! JVRP(139) = dARP(77)/dV(85) JVRP(139) = V(132) ! JVRP(140) = dARP(77)/dV(132) JVRP(140) = V(85) ! JVRP(141) = dARP(78)/dV(85) JVRP(141) = V(132) ! JVRP(142) = dARP(78)/dV(132) JVRP(142) = V(85) ! JVRP(143) = dARP(79)/dV(94) JVRP(143) = V(133) ! JVRP(144) = dARP(79)/dV(133) JVRP(144) = V(94) ! JVRP(145) = dARP(80)/dV(109) JVRP(145) = V(133) ! JVRP(146) = dARP(80)/dV(133) JVRP(146) = V(109) ! JVRP(147) = dARP(81)/dV(126) JVRP(147) = V(136) ! JVRP(148) = dARP(81)/dV(136) JVRP(148) = V(126) ! JVRP(149) = dARP(82)/dV(116) JVRP(149) = V(136) ! JVRP(150) = dARP(82)/dV(136) JVRP(150) = V(116) ! JVRP(151) = dARP(83)/dV(108) JVRP(151) = V(136) ! JVRP(152) = dARP(83)/dV(136) JVRP(152) = V(108) ! JVRP(153) = dARP(84)/dV(106) JVRP(153) = V(136) ! JVRP(154) = dARP(84)/dV(136) JVRP(154) = V(106) ! JVRP(155) = dARP(85)/dV(123) JVRP(155) = V(136) ! JVRP(156) = dARP(85)/dV(136) JVRP(156) = V(123) ! JVRP(157) = dARP(86)/dV(101) JVRP(157) = V(136) ! JVRP(158) = dARP(86)/dV(136) JVRP(158) = V(101) ! JVRP(159) = dARP(87)/dV(105) JVRP(159) = V(136) ! JVRP(160) = dARP(87)/dV(136) JVRP(160) = V(105) ! JVRP(161) = dARP(88)/dV(97) JVRP(161) = V(136) ! JVRP(162) = dARP(88)/dV(136) JVRP(162) = V(97) ! JVRP(163) = dARP(89)/dV(98) JVRP(163) = V(136) ! JVRP(164) = dARP(89)/dV(136) JVRP(164) = V(98) ! JVRP(165) = dARP(90)/dV(117) JVRP(165) = V(136) ! JVRP(166) = dARP(90)/dV(136) JVRP(166) = V(117) ! JVRP(167) = dARP(91)/dV(110) JVRP(167) = V(136) ! JVRP(168) = dARP(91)/dV(136) JVRP(168) = V(110) ! JVRP(169) = dARP(92)/dV(131) JVRP(169) = V(132) ! JVRP(170) = dARP(92)/dV(132) JVRP(170) = V(131) ! JVRP(171) = dARP(93)/dV(112) JVRP(171) = V(133) ! JVRP(172) = dARP(93)/dV(133) JVRP(172) = V(112) ! JVRP(173) = dARP(94)/dV(129) JVRP(173) = V(131) ! JVRP(174) = dARP(94)/dV(131) JVRP(174) = V(129) ! JVRP(175) = dARP(95)/dV(126) JVRP(175) = V(133) ! JVRP(176) = dARP(95)/dV(133) JVRP(176) = V(126) ! JVRP(177) = dARP(96)/dV(116) JVRP(177) = V(133) ! JVRP(178) = dARP(96)/dV(133) JVRP(178) = V(116) ! JVRP(179) = dARP(97)/dV(108) JVRP(179) = V(133) ! JVRP(180) = dARP(97)/dV(133) JVRP(180) = V(108) ! JVRP(181) = dARP(98)/dV(106) JVRP(181) = V(133) ! JVRP(182) = dARP(98)/dV(133) JVRP(182) = V(106) ! JVRP(183) = dARP(99)/dV(123) JVRP(183) = V(133) ! JVRP(184) = dARP(99)/dV(133) JVRP(184) = V(123) ! JVRP(185) = dARP(100)/dV(123) JVRP(185) = 2*V(123) ! JVRP(186) = dARP(101)/dV(111) JVRP(186) = V(133) ! JVRP(187) = dARP(101)/dV(133) JVRP(187) = V(111) ! JVRP(188) = dARP(102)/dV(101) JVRP(188) = V(133) ! JVRP(189) = dARP(102)/dV(133) JVRP(189) = V(101) ! JVRP(190) = dARP(103)/dV(105) JVRP(190) = V(133) ! JVRP(191) = dARP(103)/dV(133) JVRP(191) = V(105) ! JVRP(192) = dARP(104)/dV(97) JVRP(192) = V(133) ! JVRP(193) = dARP(104)/dV(133) JVRP(193) = V(97) ! JVRP(194) = dARP(105)/dV(98) JVRP(194) = V(133) ! JVRP(195) = dARP(105)/dV(133) JVRP(195) = V(98) ! JVRP(196) = dARP(106)/dV(117) JVRP(196) = V(133) ! JVRP(197) = dARP(106)/dV(133) JVRP(197) = V(117) ! JVRP(198) = dARP(107)/dV(110) JVRP(198) = V(133) ! JVRP(199) = dARP(107)/dV(133) JVRP(199) = V(110) ! JVRP(200) = dARP(108)/dV(132) JVRP(200) = F(3) ! JVRP(201) = dARP(109)/dV(88) JVRP(201) = V(132) ! JVRP(202) = dARP(109)/dV(132) JVRP(202) = V(88) ! JVRP(203) = dARP(110)/dV(112) JVRP(203) = 2*V(112) ! JVRP(204) = dARP(111)/dV(112) JVRP(204) = 2*V(112) ! JVRP(205) = dARP(112)/dV(112) JVRP(205) = V(136) ! JVRP(206) = dARP(112)/dV(136) JVRP(206) = V(112) ! JVRP(207) = dARP(113)/dV(94) JVRP(207) = V(136) ! JVRP(208) = dARP(113)/dV(136) JVRP(208) = V(94) ! JVRP(209) = dARP(114)/dV(109) JVRP(209) = V(136) ! JVRP(210) = dARP(114)/dV(136) JVRP(210) = V(109) ! JVRP(211) = dARP(115)/dV(130) JVRP(211) = V(136) ! JVRP(212) = dARP(115)/dV(136) JVRP(212) = V(130) ! JVRP(213) = dARP(116)/dV(113) JVRP(213) = V(136) ! JVRP(214) = dARP(116)/dV(136) JVRP(214) = V(113) ! JVRP(215) = dARP(117)/dV(122) JVRP(215) = V(136) ! JVRP(216) = dARP(117)/dV(136) JVRP(216) = V(122) ! JVRP(217) = dARP(118)/dV(86) JVRP(217) = V(132) ! JVRP(218) = dARP(118)/dV(132) JVRP(218) = V(86) ! JVRP(219) = dARP(119)/dV(86) JVRP(219) = V(135) ! JVRP(220) = dARP(119)/dV(135) JVRP(220) = V(86) ! JVRP(221) = dARP(120)/dV(79) JVRP(221) = V(132) ! JVRP(222) = dARP(120)/dV(132) JVRP(222) = V(79) ! JVRP(223) = dARP(121)/dV(95) JVRP(223) = V(134) ! JVRP(224) = dARP(121)/dV(134) JVRP(224) = V(95) ! JVRP(225) = dARP(122)/dV(95) JVRP(225) = V(136) ! JVRP(226) = dARP(122)/dV(136) JVRP(226) = V(95) ! JVRP(227) = dARP(123)/dV(79) JVRP(227) = V(135) ! JVRP(228) = dARP(123)/dV(135) JVRP(228) = V(79) ! JVRP(229) = dARP(124)/dV(75) JVRP(229) = V(128) ! JVRP(230) = dARP(124)/dV(128) JVRP(230) = V(75) ! JVRP(231) = dARP(125)/dV(65) JVRP(231) = 1 ! JVRP(232) = dARP(126)/dV(75) JVRP(232) = V(134) ! JVRP(233) = dARP(126)/dV(134) JVRP(233) = V(75) ! JVRP(234) = dARP(127)/dV(75) JVRP(234) = V(136) ! JVRP(235) = dARP(127)/dV(136) JVRP(235) = V(75) ! JVRP(236) = dARP(128)/dV(100) JVRP(236) = V(132) ! JVRP(237) = dARP(128)/dV(132) JVRP(237) = V(100) ! JVRP(238) = dARP(129)/dV(100) JVRP(238) = V(132) ! JVRP(239) = dARP(129)/dV(132) JVRP(239) = V(100) ! JVRP(240) = dARP(130)/dV(86) JVRP(240) = V(129) ! JVRP(241) = dARP(130)/dV(129) JVRP(241) = V(86) ! JVRP(242) = dARP(131)/dV(90) JVRP(242) = V(132) ! JVRP(243) = dARP(131)/dV(132) JVRP(243) = V(90) ! JVRP(244) = dARP(132)/dV(118) JVRP(244) = V(132) ! JVRP(245) = dARP(132)/dV(132) JVRP(245) = V(118) ! JVRP(246) = dARP(133)/dV(90) JVRP(246) = V(129) ! JVRP(247) = dARP(133)/dV(129) JVRP(247) = V(90) ! JVRP(248) = dARP(134)/dV(118) JVRP(248) = V(129) ! JVRP(249) = dARP(134)/dV(129) JVRP(249) = V(118) ! JVRP(250) = dARP(135)/dV(81) JVRP(250) = V(132) ! JVRP(251) = dARP(135)/dV(132) JVRP(251) = V(81) ! JVRP(252) = dARP(136)/dV(120) JVRP(252) = V(132) ! JVRP(253) = dARP(136)/dV(132) JVRP(253) = V(120) ! JVRP(254) = dARP(137)/dV(121) JVRP(254) = V(132) ! JVRP(255) = dARP(137)/dV(132) JVRP(255) = V(121) ! JVRP(256) = dARP(138)/dV(119) JVRP(256) = V(132) ! JVRP(257) = dARP(138)/dV(132) JVRP(257) = V(119) ! JVRP(258) = dARP(139)/dV(119) JVRP(258) = V(132) ! JVRP(259) = dARP(139)/dV(132) JVRP(259) = V(119) ! JVRP(260) = dARP(140)/dV(94) JVRP(260) = V(130) ! JVRP(261) = dARP(140)/dV(130) JVRP(261) = V(94) ! JVRP(262) = dARP(141)/dV(109) JVRP(262) = V(130) ! JVRP(263) = dARP(141)/dV(130) JVRP(263) = V(109) ! JVRP(264) = dARP(142)/dV(94) JVRP(264) = V(130) ! JVRP(265) = dARP(142)/dV(130) JVRP(265) = V(94) ! JVRP(266) = dARP(143)/dV(109) JVRP(266) = V(130) ! JVRP(267) = dARP(143)/dV(130) JVRP(267) = V(109) ! JVRP(268) = dARP(144)/dV(81) JVRP(268) = V(135) ! JVRP(269) = dARP(144)/dV(135) JVRP(269) = V(81) ! JVRP(270) = dARP(145)/dV(120) JVRP(270) = V(135) ! JVRP(271) = dARP(145)/dV(135) JVRP(271) = V(120) ! JVRP(272) = dARP(146)/dV(121) JVRP(272) = V(135) ! JVRP(273) = dARP(146)/dV(135) JVRP(273) = V(121) ! JVRP(274) = dARP(147)/dV(81) JVRP(274) = V(129) ! JVRP(275) = dARP(147)/dV(129) JVRP(275) = V(81) ! JVRP(276) = dARP(148)/dV(121) JVRP(276) = V(129) ! JVRP(277) = dARP(148)/dV(129) JVRP(277) = V(121) ! JVRP(278) = dARP(149)/dV(121) JVRP(278) = V(129) ! JVRP(279) = dARP(149)/dV(129) JVRP(279) = V(121) ! JVRP(280) = dARP(150)/dV(113) JVRP(280) = V(133) ! JVRP(281) = dARP(150)/dV(133) JVRP(281) = V(113) ! JVRP(282) = dARP(151)/dV(122) JVRP(282) = V(133) ! JVRP(283) = dARP(151)/dV(133) JVRP(283) = V(122) ! JVRP(284) = dARP(152)/dV(113) JVRP(284) = V(133) ! JVRP(285) = dARP(152)/dV(133) JVRP(285) = V(113) ! JVRP(286) = dARP(153)/dV(122) JVRP(286) = V(133) ! JVRP(287) = dARP(153)/dV(133) JVRP(287) = V(122) ! JVRP(288) = dARP(154)/dV(71) JVRP(288) = V(132) ! JVRP(289) = dARP(154)/dV(132) JVRP(289) = V(71) ! JVRP(290) = dARP(155)/dV(71) JVRP(290) = V(132) ! JVRP(291) = dARP(155)/dV(132) JVRP(291) = V(71) ! JVRP(292) = dARP(156)/dV(67) JVRP(292) = V(132) ! JVRP(293) = dARP(156)/dV(132) JVRP(293) = V(67) ! JVRP(294) = dARP(157)/dV(61) JVRP(294) = V(132) ! JVRP(295) = dARP(157)/dV(132) JVRP(295) = V(61) ! JVRP(296) = dARP(158)/dV(56) JVRP(296) = V(132) ! JVRP(297) = dARP(158)/dV(132) JVRP(297) = V(56) ! JVRP(298) = dARP(159)/dV(57) JVRP(298) = V(132) ! JVRP(299) = dARP(159)/dV(132) JVRP(299) = V(57) ! JVRP(300) = dARP(160)/dV(66) JVRP(300) = V(132) ! JVRP(301) = dARP(160)/dV(132) JVRP(301) = V(66) ! JVRP(302) = dARP(161)/dV(58) JVRP(302) = V(132) ! JVRP(303) = dARP(161)/dV(132) JVRP(303) = V(58) ! JVRP(304) = dARP(162)/dV(69) JVRP(304) = V(132) ! JVRP(305) = dARP(162)/dV(132) JVRP(305) = V(69) ! JVRP(306) = dARP(163)/dV(74) JVRP(306) = V(132) ! JVRP(307) = dARP(163)/dV(132) JVRP(307) = V(74) ! JVRP(308) = dARP(164)/dV(74) JVRP(308) = V(132) ! JVRP(309) = dARP(164)/dV(132) JVRP(309) = V(74) ! JVRP(310) = dARP(165)/dV(47) JVRP(310) = V(132) ! JVRP(311) = dARP(165)/dV(132) JVRP(311) = V(47) ! JVRP(312) = dARP(166)/dV(84) JVRP(312) = V(136) ! JVRP(313) = dARP(166)/dV(136) JVRP(313) = V(84) ! JVRP(314) = dARP(167)/dV(84) JVRP(314) = V(134) ! JVRP(315) = dARP(167)/dV(134) JVRP(315) = V(84) ! JVRP(316) = dARP(168)/dV(76) JVRP(316) = V(132) ! JVRP(317) = dARP(168)/dV(132) JVRP(317) = V(76) ! JVRP(318) = dARP(169)/dV(73) JVRP(318) = V(132) ! JVRP(319) = dARP(169)/dV(132) JVRP(319) = V(73) ! JVRP(320) = dARP(170)/dV(70) JVRP(320) = V(132) ! JVRP(321) = dARP(170)/dV(132) JVRP(321) = V(70) ! JVRP(322) = dARP(171)/dV(70) JVRP(322) = V(132) ! JVRP(323) = dARP(171)/dV(132) JVRP(323) = V(70) ! JVRP(324) = dARP(172)/dV(64) JVRP(324) = V(132) ! JVRP(325) = dARP(172)/dV(132) JVRP(325) = V(64) ! JVRP(326) = dARP(173)/dV(64) JVRP(326) = V(132) ! JVRP(327) = dARP(173)/dV(132) JVRP(327) = V(64) ! JVRP(328) = dARP(174)/dV(102) JVRP(328) = V(130) ! JVRP(329) = dARP(174)/dV(130) JVRP(329) = V(102) ! JVRP(330) = dARP(175)/dV(102) JVRP(330) = V(130) ! JVRP(331) = dARP(175)/dV(130) JVRP(331) = V(102) ! JVRP(332) = dARP(176)/dV(102) JVRP(332) = V(133) ! JVRP(333) = dARP(176)/dV(133) JVRP(333) = V(102) ! JVRP(334) = dARP(177)/dV(102) JVRP(334) = 2*V(102) ! JVRP(335) = dARP(178)/dV(102) JVRP(335) = V(136) ! JVRP(336) = dARP(178)/dV(136) JVRP(336) = V(102) ! JVRP(337) = dARP(179)/dV(102) JVRP(337) = V(134) ! JVRP(338) = dARP(179)/dV(134) JVRP(338) = V(102) ! JVRP(339) = dARP(180)/dV(102) JVRP(339) = V(134) ! JVRP(340) = dARP(180)/dV(134) JVRP(340) = V(102) ! JVRP(341) = dARP(181)/dV(54) JVRP(341) = V(132) ! JVRP(342) = dARP(181)/dV(132) JVRP(342) = V(54) ! JVRP(343) = dARP(182)/dV(52) JVRP(343) = V(129) ! JVRP(344) = dARP(182)/dV(129) JVRP(344) = V(52) ! JVRP(345) = dARP(183)/dV(124) JVRP(345) = V(135) ! JVRP(346) = dARP(183)/dV(135) JVRP(346) = V(124) ! JVRP(347) = dARP(184)/dV(130) JVRP(347) = 2*V(130) ! JVRP(348) = dARP(185)/dV(130) JVRP(348) = V(133) ! JVRP(349) = dARP(185)/dV(133) JVRP(349) = V(130) ! JVRP(350) = dARP(186)/dV(130) JVRP(350) = V(133) ! JVRP(351) = dARP(186)/dV(133) JVRP(351) = V(130) ! JVRP(352) = dARP(187)/dV(126) JVRP(352) = V(130) ! JVRP(353) = dARP(187)/dV(130) JVRP(353) = V(126) ! JVRP(354) = dARP(188)/dV(108) JVRP(354) = V(130) ! JVRP(355) = dARP(188)/dV(130) JVRP(355) = V(108) ! JVRP(356) = dARP(189)/dV(106) JVRP(356) = V(130) ! JVRP(357) = dARP(189)/dV(130) JVRP(357) = V(106) ! JVRP(358) = dARP(190)/dV(123) JVRP(358) = V(130) ! JVRP(359) = dARP(190)/dV(130) JVRP(359) = V(123) ! JVRP(360) = dARP(191)/dV(111) JVRP(360) = V(130) ! JVRP(361) = dARP(191)/dV(130) JVRP(361) = V(111) ! JVRP(362) = dARP(192)/dV(101) JVRP(362) = V(130) ! JVRP(363) = dARP(192)/dV(130) JVRP(363) = V(101) ! JVRP(364) = dARP(193)/dV(105) JVRP(364) = V(130) ! JVRP(365) = dARP(193)/dV(130) JVRP(365) = V(105) ! JVRP(366) = dARP(194)/dV(98) JVRP(366) = V(130) ! JVRP(367) = dARP(194)/dV(130) JVRP(367) = V(98) ! JVRP(368) = dARP(195)/dV(116) JVRP(368) = V(130) ! JVRP(369) = dARP(195)/dV(130) JVRP(369) = V(116) ! JVRP(370) = dARP(196)/dV(97) JVRP(370) = V(130) ! JVRP(371) = dARP(196)/dV(130) JVRP(371) = V(97) ! JVRP(372) = dARP(197)/dV(117) JVRP(372) = V(130) ! JVRP(373) = dARP(197)/dV(130) JVRP(373) = V(117) ! JVRP(374) = dARP(198)/dV(110) JVRP(374) = V(130) ! JVRP(375) = dARP(198)/dV(130) JVRP(375) = V(110) ! JVRP(376) = dARP(199)/dV(126) JVRP(376) = V(130) ! JVRP(377) = dARP(199)/dV(130) JVRP(377) = V(126) ! JVRP(378) = dARP(200)/dV(108) JVRP(378) = V(130) ! JVRP(379) = dARP(200)/dV(130) JVRP(379) = V(108) ! JVRP(380) = dARP(201)/dV(106) JVRP(380) = V(130) ! JVRP(381) = dARP(201)/dV(130) JVRP(381) = V(106) ! JVRP(382) = dARP(202)/dV(123) JVRP(382) = V(130) ! JVRP(383) = dARP(202)/dV(130) JVRP(383) = V(123) ! JVRP(384) = dARP(203)/dV(111) JVRP(384) = V(130) ! JVRP(385) = dARP(203)/dV(130) JVRP(385) = V(111) ! JVRP(386) = dARP(204)/dV(101) JVRP(386) = V(130) ! JVRP(387) = dARP(204)/dV(130) JVRP(387) = V(101) ! JVRP(388) = dARP(205)/dV(105) JVRP(388) = V(130) ! JVRP(389) = dARP(205)/dV(130) JVRP(389) = V(105) ! JVRP(390) = dARP(206)/dV(116) JVRP(390) = V(130) ! JVRP(391) = dARP(206)/dV(130) JVRP(391) = V(116) ! JVRP(392) = dARP(207)/dV(97) JVRP(392) = V(130) ! JVRP(393) = dARP(207)/dV(130) JVRP(393) = V(97) ! JVRP(394) = dARP(208)/dV(117) JVRP(394) = V(130) ! JVRP(395) = dARP(208)/dV(130) JVRP(395) = V(117) ! JVRP(396) = dARP(209)/dV(110) JVRP(396) = V(130) ! JVRP(397) = dARP(209)/dV(130) JVRP(397) = V(110) ! JVRP(398) = dARP(210)/dV(98) JVRP(398) = V(130) ! JVRP(399) = dARP(210)/dV(130) JVRP(399) = V(98) ! JVRP(400) = dARP(211)/dV(112) JVRP(400) = V(130) ! JVRP(401) = dARP(211)/dV(130) JVRP(401) = V(112) ! JVRP(402) = dARP(212)/dV(112) JVRP(402) = V(130) ! JVRP(403) = dARP(212)/dV(130) JVRP(403) = V(112) ! JVRP(404) = dARP(213)/dV(113) JVRP(404) = V(130) ! JVRP(405) = dARP(213)/dV(130) JVRP(405) = V(113) ! JVRP(406) = dARP(214)/dV(122) JVRP(406) = V(130) ! JVRP(407) = dARP(214)/dV(130) JVRP(407) = V(122) ! JVRP(408) = dARP(215)/dV(129) JVRP(408) = 2*V(129) ! JVRP(409) = dARP(234)/dV(128) JVRP(409) = 1 ! JVRP(410) = dARP(235)/dV(50) JVRP(410) = 1 ! JVRP(411) = dARP(236)/dV(135) JVRP(411) = 1 ! JVRP(412) = dARP(237)/dV(49) JVRP(412) = 1 ! JVRP(413) = dARP(238)/dV(65) JVRP(413) = 1 ! JVRP(414) = dARP(239)/dV(99) JVRP(414) = 1 ! JVRP(415) = dARP(240)/dV(114) JVRP(415) = 1 ! JVRP(416) = dARP(241)/dV(55) JVRP(416) = 1 ! JVRP(417) = dARP(242)/dV(46) JVRP(417) = 1 ! JVRP(418) = dARP(243)/dV(79) JVRP(418) = 1 ! JVRP(419) = dARP(244)/dV(45) JVRP(419) = 1 ! JVRP(420) = dARP(245)/dV(137) JVRP(420) = 1 ! JVRP(421) = dARP(246)/dV(47) JVRP(421) = 1 ! JVRP(422) = dARP(247)/dV(74) JVRP(422) = 1 ! JVRP(423) = dARP(248)/dV(125) JVRP(423) = 1 ! JVRP(424) = dARP(249)/dV(82) JVRP(424) = 1 ! JVRP(425) = dARP(250)/dV(82) JVRP(425) = V(135) ! JVRP(426) = dARP(250)/dV(135) JVRP(426) = V(82) ! JVRP(427) = dARP(251)/dV(125) JVRP(427) = V(135) ! JVRP(428) = dARP(251)/dV(135) JVRP(428) = V(125) ! JVRP(429) = dARP(252)/dV(96) JVRP(429) = 1 ! JVRP(430) = dARP(253)/dV(104) JVRP(430) = 1 ! JVRP(431) = dARP(254)/dV(93) JVRP(431) = 1 ! JVRP(432) = dARP(255)/dV(72) JVRP(432) = 1 ! JVRP(433) = dARP(256)/dV(89) JVRP(433) = 1 ! JVRP(434) = dARP(257)/dV(128) JVRP(434) = 1 ! JVRP(435) = dARP(258)/dV(129) JVRP(435) = 1 ! JVRP(436) = dARP(259)/dV(55) JVRP(436) = 1 ! JVRP(437) = dARP(260)/dV(60) JVRP(437) = V(132) ! JVRP(438) = dARP(260)/dV(132) JVRP(438) = V(60) ! JVRP(439) = dARP(261)/dV(60) JVRP(439) = V(132) ! JVRP(440) = dARP(261)/dV(132) JVRP(440) = V(60) ! JVRP(441) = dARP(262)/dV(60) JVRP(441) = V(129) ! JVRP(442) = dARP(262)/dV(129) JVRP(442) = V(60) ! JVRP(443) = dARP(263)/dV(48) JVRP(443) = V(132) ! JVRP(444) = dARP(263)/dV(132) JVRP(444) = V(48) ! JVRP(445) = dARP(264)/dV(124) JVRP(445) = V(132) ! JVRP(446) = dARP(264)/dV(132) JVRP(446) = V(124) ! JVRP(447) = dARP(265)/dV(111) JVRP(447) = V(134) ! JVRP(448) = dARP(265)/dV(134) JVRP(448) = V(111) ! JVRP(449) = dARP(266)/dV(111) JVRP(449) = V(134) ! JVRP(450) = dARP(266)/dV(134) JVRP(450) = V(111) ! JVRP(451) = dARP(267)/dV(111) JVRP(451) = V(136) ! JVRP(452) = dARP(267)/dV(136) JVRP(452) = V(111) ! JVRP(453) = dARP(268)/dV(125) JVRP(453) = V(132) ! JVRP(454) = dARP(268)/dV(132) JVRP(454) = V(125) ! JVRP(455) = dARP(269)/dV(82) JVRP(455) = V(132) ! JVRP(456) = dARP(269)/dV(132) JVRP(456) = V(82) ! JVRP(457) = dARP(270)/dV(103) JVRP(457) = V(134) ! JVRP(458) = dARP(270)/dV(134) JVRP(458) = V(103) ! JVRP(459) = dARP(271)/dV(103) JVRP(459) = V(134) ! JVRP(460) = dARP(271)/dV(134) JVRP(460) = V(103) ! JVRP(461) = dARP(272)/dV(103) JVRP(461) = V(136) ! JVRP(462) = dARP(272)/dV(136) JVRP(462) = V(103) ! JVRP(463) = dARP(273)/dV(107) JVRP(463) = V(134) ! JVRP(464) = dARP(273)/dV(134) JVRP(464) = V(107) ! JVRP(465) = dARP(274)/dV(107) JVRP(465) = V(134) ! JVRP(466) = dARP(274)/dV(134) JVRP(466) = V(107) ! JVRP(467) = dARP(275)/dV(107) JVRP(467) = V(136) ! JVRP(468) = dARP(275)/dV(136) JVRP(468) = V(107) ! JVRP(469) = dARP(276)/dV(80) JVRP(469) = V(132) ! JVRP(470) = dARP(276)/dV(132) JVRP(470) = V(80) ! JVRP(471) = dARP(277)/dV(93) JVRP(471) = V(132) ! JVRP(472) = dARP(277)/dV(132) JVRP(472) = V(93) ! JVRP(473) = dARP(278)/dV(104) JVRP(473) = V(132) ! JVRP(474) = dARP(278)/dV(132) JVRP(474) = V(104) ! JVRP(475) = dARP(279)/dV(92) JVRP(475) = V(134) ! JVRP(476) = dARP(279)/dV(134) JVRP(476) = V(92) ! JVRP(477) = dARP(280)/dV(92) JVRP(477) = V(136) ! JVRP(478) = dARP(280)/dV(136) JVRP(478) = V(92) ! JVRP(479) = dARP(281)/dV(92) JVRP(479) = V(128) ! JVRP(480) = dARP(281)/dV(128) JVRP(480) = V(92) ! JVRP(481) = dARP(282)/dV(50) JVRP(481) = 1 ! JVRP(482) = dARP(283)/dV(77) JVRP(482) = V(132) ! JVRP(483) = dARP(283)/dV(132) JVRP(483) = V(77) ! JVRP(484) = dARP(284)/dV(83) JVRP(484) = V(134) ! JVRP(485) = dARP(284)/dV(134) JVRP(485) = V(83) ! JVRP(486) = dARP(285)/dV(83) JVRP(486) = V(134) ! JVRP(487) = dARP(285)/dV(134) JVRP(487) = V(83) ! JVRP(488) = dARP(286)/dV(83) JVRP(488) = V(136) ! JVRP(489) = dARP(286)/dV(136) JVRP(489) = V(83) ! JVRP(490) = dARP(287)/dV(78) JVRP(490) = V(132) ! JVRP(491) = dARP(287)/dV(132) JVRP(491) = V(78) ! JVRP(492) = dARP(288)/dV(87) JVRP(492) = V(134) ! JVRP(493) = dARP(288)/dV(134) JVRP(493) = V(87) ! JVRP(494) = dARP(289)/dV(87) JVRP(494) = V(134) ! JVRP(495) = dARP(289)/dV(134) JVRP(495) = V(87) ! JVRP(496) = dARP(290)/dV(87) JVRP(496) = V(136) ! JVRP(497) = dARP(290)/dV(136) JVRP(497) = V(87) ! JVRP(498) = dARP(291)/dV(78) JVRP(498) = V(135) ! JVRP(499) = dARP(291)/dV(135) JVRP(499) = V(78) ! JVRP(500) = dARP(292)/dV(68) JVRP(500) = V(132) ! JVRP(501) = dARP(292)/dV(132) JVRP(501) = V(68) ! JVRP(502) = dARP(293)/dV(96) JVRP(502) = V(132) ! JVRP(503) = dARP(293)/dV(132) JVRP(503) = V(96) ! JVRP(504) = dARP(294)/dV(18) JVRP(504) = V(132) ! JVRP(505) = dARP(294)/dV(132) JVRP(505) = V(18) ! JVRP(506) = dARP(295)/dV(22) JVRP(506) = V(132) ! JVRP(507) = dARP(295)/dV(132) JVRP(507) = V(22) ! JVRP(508) = dARP(296)/dV(26) JVRP(508) = V(132) ! JVRP(509) = dARP(296)/dV(132) JVRP(509) = V(26) ! JVRP(510) = dARP(297)/dV(17) JVRP(510) = V(136) ! JVRP(511) = dARP(297)/dV(136) JVRP(511) = V(17) ! JVRP(512) = dARP(298)/dV(17) JVRP(512) = V(134) ! JVRP(513) = dARP(298)/dV(134) JVRP(513) = V(17) ! JVRP(514) = dARP(299)/dV(21) JVRP(514) = V(136) ! JVRP(515) = dARP(299)/dV(136) JVRP(515) = V(21) ! JVRP(516) = dARP(300)/dV(21) JVRP(516) = V(134) ! JVRP(517) = dARP(300)/dV(134) JVRP(517) = V(21) ! JVRP(518) = dARP(301)/dV(25) JVRP(518) = V(136) ! JVRP(519) = dARP(301)/dV(136) JVRP(519) = V(25) ! JVRP(520) = dARP(302)/dV(25) JVRP(520) = V(134) ! JVRP(521) = dARP(302)/dV(134) JVRP(521) = V(25) ! JVRP(522) = dARP(303)/dV(30) JVRP(522) = V(132) ! JVRP(523) = dARP(303)/dV(132) JVRP(523) = V(30) ! JVRP(524) = dARP(304)/dV(29) JVRP(524) = V(136) ! JVRP(525) = dARP(304)/dV(136) JVRP(525) = V(29) ! JVRP(526) = dARP(305)/dV(29) JVRP(526) = V(134) ! JVRP(527) = dARP(305)/dV(134) JVRP(527) = V(29) ! JVRP(528) = dARP(306)/dV(135) JVRP(528) = 1 ! JVRP(529) = dARP(307)/dV(128) JVRP(529) = 1 ! JVRP(530) = dARP(308)/dV(46) JVRP(530) = 1 ! JVRP(531) = dARP(309)/dV(62) JVRP(531) = 1 ! JVRP(532) = dARP(310)/dV(114) JVRP(532) = 1 ! JVRP(533) = dARP(311)/dV(114) JVRP(533) = 1 ! JVRP(534) = dARP(312)/dV(99) JVRP(534) = 1 ! JVRP(535) = dARP(313)/dV(53) JVRP(535) = 1 ! JVRP(536) = dARP(314)/dV(59) JVRP(536) = 1 ! JVRP(537) = dARP(315)/dV(129) JVRP(537) = 1 ! JVRP(538) = dARP(316)/dV(129) JVRP(538) = 1 ! JVRP(539) = dARP(317)/dV(55) JVRP(539) = 1 ! JVRP(540) = dARP(318)/dV(55) JVRP(540) = 1 ! JVRP(541) = dARP(319)/dV(59) JVRP(541) = 1 ! JVRP(542) = dARP(320)/dV(115) JVRP(542) = 1 ! JVRP(543) = dARP(321)/dV(115) JVRP(543) = 1 ! JVRP(544) = dARP(322)/dV(49) JVRP(544) = 1 ! JVRP(545) = dARP(323)/dV(127) JVRP(545) = 1 ! JVRP(546) = dARP(324)/dV(85) JVRP(546) = 1 ! JVRP(547) = dARP(325)/dV(85) JVRP(547) = 1 ! JVRP(548) = dARP(326)/dV(131) JVRP(548) = 1 ! JVRP(549) = dARP(327)/dV(100) JVRP(549) = 1 ! JVRP(550) = dARP(328)/dV(90) JVRP(550) = 1 ! JVRP(551) = dARP(329)/dV(90) JVRP(551) = 1 ! JVRP(552) = dARP(330)/dV(118) JVRP(552) = 1 ! JVRP(553) = dARP(331)/dV(118) JVRP(553) = 1 ! JVRP(554) = dARP(332)/dV(120) JVRP(554) = 1 ! JVRP(555) = dARP(333)/dV(120) JVRP(555) = 1 ! JVRP(556) = dARP(334)/dV(120) JVRP(556) = 1 ! JVRP(557) = dARP(335)/dV(121) JVRP(557) = 1 ! JVRP(558) = dARP(336)/dV(121) JVRP(558) = 1 ! JVRP(559) = dARP(337)/dV(119) JVRP(559) = 1 ! JVRP(560) = dARP(338)/dV(71) JVRP(560) = 1 ! JVRP(561) = dARP(339)/dV(67) JVRP(561) = 1 ! JVRP(562) = dARP(340)/dV(61) JVRP(562) = 1 ! JVRP(563) = dARP(341)/dV(56) JVRP(563) = 1 ! JVRP(564) = dARP(342)/dV(57) JVRP(564) = 1 ! JVRP(565) = dARP(343)/dV(66) JVRP(565) = 1 ! JVRP(566) = dARP(344)/dV(69) JVRP(566) = 1 ! JVRP(567) = dARP(345)/dV(58) JVRP(567) = 1 ! JVRP(568) = dARP(346)/dV(74) JVRP(568) = 1 ! JVRP(569) = dARP(347)/dV(76) JVRP(569) = 1 ! JVRP(570) = dARP(348)/dV(80) JVRP(570) = 1 ! JVRP(571) = dARP(349)/dV(73) JVRP(571) = 1 ! JVRP(572) = dARP(350)/dV(70) JVRP(572) = 1 ! JVRP(573) = dARP(351)/dV(64) JVRP(573) = 1 ! JVRP(574) = dARP(352)/dV(137) JVRP(574) = 1 ! JVRP(575) = dARP(353)/dV(54) JVRP(575) = 1 ! JVRP(576) = dARP(354)/dV(104) JVRP(576) = 1 ! JVRP(577) = dARP(355)/dV(93) JVRP(577) = 1 ! JVRP(578) = dARP(356)/dV(82) JVRP(578) = 1 ! JVRP(579) = dARP(357)/dV(125) JVRP(579) = 1 ! JVRP(580) = dARP(358)/dV(96) JVRP(580) = 1 ! JVRP(581) = dARP(359)/dV(63) JVRP(581) = 1 ! JVRP(582) = dARP(360)/dV(65) JVRP(582) = 1 ! JVRP(583) = dARP(361)/dV(65) JVRP(583) = 1 END SUBROUTINE JacReactantProd ! End of JacReactantProd function ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Begin Derivative w.r.t. Rate Coefficients ! ------------------------------------------------------------------------------ ! Subroutine for the derivative of Fun with respect to rate coefficients ! ----------------------------------------------------------------------------- SUBROUTINE dFun_dRcoeff( V, F, NCOEFF, JCOEFF, DFDR ) USE gckpp_Parameters USE gckpp_StoichiomSP IMPLICIT NONE ! V - Concentrations of variable/radical/fixed species REAL(kind=dp) V(NVAR), F(NFIX) ! NCOEFF - the number of rate coefficients with respect to which we differentiate INTEGER NCOEFF ! JCOEFF - a vector of integers containing the indices of reactions (rate ! coefficients) with respect to which we differentiate INTEGER JCOEFF(NCOEFF) ! DFDR - a matrix containg derivative values; specifically, ! column j contains d Fun(1:NVAR) / d RCT( JCOEFF(j) ) ! for each 1 <= j <= NCOEFF ! This matrix is stored in a column-wise linearized format REAL(kind=dp) DFDR(NVAR*NCOEFF) ! Local vector with reactant products REAL(kind=dp) A_RPROD(NREACT) REAL(kind=dp) aj INTEGER i,j,k ! Compute the reactant products of all reactions CALL ReactantProd ( V, F, A_RPROD ) ! Compute the derivatives by multiplying column JCOEFF(j) of the stoichiometric matrix with A_RPROD DO j=1,NCOEFF ! Initialize the j-th column of derivative matrix to zero DO i=1,NVAR DFDR(i+NVAR*(j-1)) = 0.0_dp END DO ! Column JCOEFF(j) in the stoichiometric matrix times the ! reactant product of the JCOEFF(j)-th reaction ! give the j-th column of the derivative matrix aj = A_RPROD(JCOEFF(j)) DO k=CCOL_STOICM(JCOEFF(j)),CCOL_STOICM(JCOEFF(j)+1)-1 DFDR(IROW_STOICM(k)+NVAR*(j-1)) = STOICM(k)*aj END DO END DO END SUBROUTINE dFun_dRcoeff ! End Derivative w.r.t. Rate Coefficients ! Begin Jacobian Derivative w.r.t. Rate Coefficients ! ------------------------------------------------------------------------------ ! Subroutine for the derivative of Jac with respect to rate coefficients ! Times a user vector ! ----------------------------------------------------------------------------- SUBROUTINE dJac_dRcoeff( V, F, U, NCOEFF, JCOEFF, DJDR ) USE gckpp_Parameters USE gckpp_StoichiomSP IMPLICIT NONE ! V - Concentrations of variable/fixed species REAL(kind=dp) V(NVAR), F(NFIX) ! U - User-supplied Vector REAL(kind=dp) U(NVAR) ! NCOEFF - the number of rate coefficients with respect to which we differentiate INTEGER NCOEFF ! JCOEFF - a vector of integers containing the indices of reactions (rate ! coefficients) with respect to which we differentiate INTEGER JCOEFF(NCOEFF) ! DFDR - a matrix containg derivative values; specifically, ! column j contains d Jac(1:NVAR) / d RCT( JCOEFF(j) ) * U ! for each 1 <= j <= NCOEFF ! This matrix is stored in a column-wise linearized format REAL(kind=dp) DJDR(NVAR*NCOEFF) ! Local vector for Jacobian of reactant products REAL(kind=dp) JV_RPROD(NJVRP) REAL(kind=dp) aj INTEGER i,j,k ! Compute the Jacobian of all reactant products CALL JacReactantProd( V, F, JV_RPROD ) ! Compute the derivatives by multiplying column JCOEFF(j) of the stoichiometric matrix with A_PROD DO j=1,NCOEFF ! Initialize the j-th column of derivative matrix to zero DO i=1,NVAR DJDR(i+NVAR*(j-1)) = 0.0_dp END DO ! Column JCOEFF(j) in the stoichiometric matrix times the ! ( Gradient of reactant product of the JCOEFF(j)-th reaction X user vector ) ! give the j-th column of the derivative matrix ! ! Row JCOEFF(j) of JV_RPROD times the user vector aj = 0.0_dp DO k=CROW_JVRP(JCOEFF(j)),CROW_JVRP(JCOEFF(j)+1)-1 aj = aj + JV_RPROD(k)*U(ICOL_JVRP(k)) END DO ! Column JCOEFF(j) of Stoichiom. matrix times aj DO k=CCOL_STOICM(JCOEFF(j)),CCOL_STOICM(JCOEFF(j)+1)-1 DJDR(IROW_STOICM(k)+NVAR*(j-1)) = STOICM(k)*aj END DO END DO END SUBROUTINE dJac_dRcoeff ! End Jacobian Derivative w.r.t. Rate Coefficients END MODULE gckpp_Stoichiom