1507 lines
38 KiB
Fortran
1507 lines
38 KiB
Fortran
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!
|
|
! 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_adj_Stoichiom.f90
|
|
! Time : Tue May 14 19:43:54 2013
|
|
! Working directory : /home/daven/kpp-2.2.1/GC_KPP
|
|
! Equation file : gckpp_adj.kpp
|
|
! Output root filename : gckpp_adj
|
|
!
|
|
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
MODULE gckpp_adj_Stoichiom
|
|
|
|
USE gckpp_adj_Parameters
|
|
USE gckpp_adj_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(85)*V(89)
|
|
ARP(2) = V(83)*V(89)
|
|
ARP(3) = V(84)*V(89)
|
|
ARP(4) = V(82)*V(89)
|
|
ARP(5) = V(89)*V(90)
|
|
ARP(6) = V(83)*V(83)
|
|
ARP(7) = V(83)*V(83)
|
|
ARP(8) = V(83)*V(84)
|
|
ARP(9) = V(17)*V(83)
|
|
ARP(10) = V(84)*V(85)
|
|
ARP(11) = V(84)*V(84)
|
|
ARP(12) = V(83)*F(9)
|
|
ARP(13) = V(47)*V(83)
|
|
ARP(14) = V(83)*F(2)
|
|
ARP(15) = V(85)*V(90)
|
|
ARP(16) = V(84)*V(90)
|
|
ARP(17) = V(90)*V(90)
|
|
ARP(18) = V(90)*V(90)
|
|
ARP(19) = V(28)*V(83)
|
|
ARP(20) = V(28)*V(83)
|
|
ARP(21) = V(69)*V(83)
|
|
ARP(22) = V(82)*V(83)
|
|
ARP(23) = V(56)*V(83)
|
|
ARP(24) = V(83)*V(85)
|
|
ARP(25) = V(24)*V(83)
|
|
ARP(26) = V(82)*V(84)
|
|
ARP(27) = V(29)
|
|
ARP(28) = V(29)*V(83)
|
|
ARP(29) = V(84)*V(87)
|
|
ARP(30) = V(85)*V(87)
|
|
ARP(31) = V(83)*V(87)
|
|
ARP(32) = V(82)*V(87)
|
|
ARP(33) = V(25)
|
|
ARP(34) = V(83)*F(11)
|
|
ARP(35) = V(83)*F(13)
|
|
ARP(36) = V(82)*V(87)
|
|
ARP(37) = V(69)*V(87)
|
|
ARP(38) = V(71)*V(83)
|
|
ARP(39) = V(71)*V(87)
|
|
ARP(40) = V(82)*V(86)
|
|
ARP(41) = V(21)
|
|
ARP(42) = V(85)*V(86)
|
|
ARP(43) = V(23)*V(83)
|
|
ARP(44) = V(74)*V(85)
|
|
ARP(45) = V(16)*V(83)
|
|
ARP(46) = V(16)*V(83)
|
|
ARP(47) = V(52)*V(85)
|
|
ARP(48) = V(70)*V(85)
|
|
ARP(49) = V(22)*V(83)
|
|
ARP(50) = V(72)*V(85)
|
|
ARP(51) = V(72)*V(85)
|
|
ARP(52) = V(54)*V(85)
|
|
ARP(53) = V(62)*V(85)
|
|
ARP(54) = V(60)*V(85)
|
|
ARP(55) = V(79)*V(85)
|
|
ARP(56) = V(79)*V(85)
|
|
ARP(57) = V(57)*V(85)
|
|
ARP(58) = V(57)*V(85)
|
|
ARP(59) = V(66)*V(85)
|
|
ARP(60) = V(65)*V(85)
|
|
ARP(61) = V(64)*V(85)
|
|
ARP(62) = V(64)*V(85)
|
|
ARP(63) = V(59)*V(85)
|
|
ARP(64) = V(59)*V(85)
|
|
ARP(65) = V(51)*V(85)
|
|
ARP(66) = V(55)*V(85)
|
|
ARP(67) = V(53)*V(85)
|
|
ARP(68) = V(67)*V(85)
|
|
ARP(69) = V(63)*V(85)
|
|
ARP(70) = V(22)*V(87)
|
|
ARP(71) = V(73)*V(83)
|
|
ARP(72) = V(83)*F(1)
|
|
ARP(73) = V(68)*V(83)
|
|
ARP(74) = V(81)*V(82)
|
|
ARP(75) = V(18)
|
|
ARP(76) = V(82)*V(88)
|
|
ARP(77) = V(19)
|
|
ARP(78) = V(78)*V(82)
|
|
ARP(79) = V(44)
|
|
ARP(80) = V(82)*F(5)
|
|
ARP(81) = F(7)
|
|
ARP(82) = V(81)*V(85)
|
|
ARP(83) = V(85)*V(88)
|
|
ARP(84) = V(78)*V(85)
|
|
ARP(85) = V(85)*F(5)
|
|
ARP(86) = V(68)*V(87)
|
|
ARP(87) = V(49)*V(83)
|
|
ARP(88) = V(49)*V(83)
|
|
ARP(89) = V(52)*V(90)
|
|
ARP(90) = V(70)*V(90)
|
|
ARP(91) = V(72)*V(84)
|
|
ARP(92) = V(54)*V(84)
|
|
ARP(93) = V(62)*V(84)
|
|
ARP(94) = V(60)*V(84)
|
|
ARP(95) = V(79)*V(84)
|
|
ARP(96) = V(57)*V(84)
|
|
ARP(97) = V(66)*V(84)
|
|
ARP(98) = V(65)*V(84)
|
|
ARP(99) = V(64)*V(84)
|
|
ARP(100) = V(59)*V(84)
|
|
ARP(101) = V(51)*V(84)
|
|
ARP(102) = V(55)*V(84)
|
|
ARP(103) = V(53)*V(84)
|
|
ARP(104) = V(67)*V(84)
|
|
ARP(105) = V(63)*V(84)
|
|
ARP(106) = V(76)*V(83)
|
|
ARP(107) = V(74)*V(90)
|
|
ARP(108) = V(76)*V(87)
|
|
ARP(109) = V(72)*V(90)
|
|
ARP(110) = V(54)*V(90)
|
|
ARP(111) = V(62)*V(90)
|
|
ARP(112) = V(60)*V(90)
|
|
ARP(113) = V(79)*V(90)
|
|
ARP(114) = V(57)*V(90)
|
|
ARP(115) = V(66)*V(90)
|
|
ARP(116) = V(65)*V(90)
|
|
ARP(117) = V(64)*V(90)
|
|
ARP(118) = V(59)*V(90)
|
|
ARP(119) = V(51)*V(90)
|
|
ARP(120) = V(55)*V(90)
|
|
ARP(121) = V(53)*V(90)
|
|
ARP(122) = V(67)*V(90)
|
|
ARP(123) = V(63)*V(90)
|
|
ARP(124) = V(83)*F(4)
|
|
ARP(125) = V(83)*F(16)
|
|
ARP(126) = V(74)*V(74)
|
|
ARP(127) = V(74)*V(74)
|
|
ARP(128) = V(74)*V(84)
|
|
ARP(129) = V(52)*V(84)
|
|
ARP(130) = V(70)*V(84)
|
|
ARP(131) = V(84)*V(86)
|
|
ARP(132) = V(81)*V(84)
|
|
ARP(133) = V(84)*V(88)
|
|
ARP(134) = V(78)*V(84)
|
|
ARP(135) = V(84)*F(5)
|
|
ARP(136) = V(48)*V(83)
|
|
ARP(137) = V(48)*V(89)
|
|
ARP(138) = V(44)*V(83)
|
|
ARP(139) = V(44)*V(89)
|
|
ARP(140) = V(50)*V(83)
|
|
ARP(141) = V(48)*V(87)
|
|
ARP(142) = V(83)*F(8)
|
|
ARP(143) = V(75)*V(83)
|
|
ARP(144) = V(87)*F(8)
|
|
ARP(145) = V(75)*V(87)
|
|
ARP(146) = V(46)*V(83)
|
|
ARP(147) = V(77)*V(83)
|
|
ARP(148) = V(80)*V(83)
|
|
ARP(149) = V(61)*V(83)
|
|
ARP(150) = V(52)*V(86)
|
|
ARP(151) = V(70)*V(86)
|
|
ARP(152) = V(52)*V(86)
|
|
ARP(153) = V(70)*V(86)
|
|
ARP(154) = V(46)*V(89)
|
|
ARP(155) = V(77)*V(89)
|
|
ARP(156) = V(80)*V(89)
|
|
ARP(157) = V(46)*V(87)
|
|
ARP(158) = V(80)*V(87)
|
|
ARP(159) = V(80)*V(87)
|
|
ARP(160) = V(81)*V(90)
|
|
ARP(161) = V(88)*V(90)
|
|
ARP(162) = V(78)*V(90)
|
|
ARP(163) = V(90)*F(5)
|
|
ARP(164) = V(81)*V(90)
|
|
ARP(165) = V(88)*V(90)
|
|
ARP(166) = V(78)*V(90)
|
|
ARP(167) = V(90)*F(5)
|
|
ARP(168) = V(39)*V(83)
|
|
ARP(169) = V(38)*V(83)
|
|
ARP(170) = V(35)*V(83)
|
|
ARP(171) = V(31)*V(83)
|
|
ARP(172) = V(32)*V(83)
|
|
ARP(173) = V(30)*V(83)
|
|
ARP(174) = V(33)*V(83)
|
|
ARP(175) = V(37)*V(83)
|
|
ARP(176) = V(36)*V(83)
|
|
ARP(177) = V(83)*F(6)
|
|
ARP(178) = V(45)*V(83)
|
|
ARP(179) = V(41)*V(83)
|
|
ARP(180) = V(43)*V(83)
|
|
ARP(181) = V(42)*V(83)
|
|
ARP(182) = V(40)*V(83)
|
|
ARP(183) = V(26)*V(83)
|
|
ARP(184) = V(27)*V(83)
|
|
ARP(185) = V(23)*V(87)
|
|
ARP(186) = V(83)*F(12)
|
|
ARP(187) = V(58)*V(83)
|
|
ARP(188) = V(58)*V(89)
|
|
ARP(189) = V(86)*V(86)
|
|
ARP(190) = V(86)*V(90)
|
|
ARP(191) = V(86)*V(90)
|
|
ARP(192) = V(72)*V(86)
|
|
ARP(193) = V(62)*V(86)
|
|
ARP(194) = V(60)*V(86)
|
|
ARP(195) = V(79)*V(86)
|
|
ARP(196) = V(57)*V(86)
|
|
ARP(197) = V(66)*V(86)
|
|
ARP(198) = V(65)*V(86)
|
|
ARP(199) = V(64)*V(86)
|
|
ARP(200) = V(59)*V(86)
|
|
ARP(201) = V(53)*V(86)
|
|
ARP(202) = V(54)*V(86)
|
|
ARP(203) = V(51)*V(86)
|
|
ARP(204) = V(55)*V(86)
|
|
ARP(205) = V(67)*V(86)
|
|
ARP(206) = V(63)*V(86)
|
|
ARP(207) = V(72)*V(86)
|
|
ARP(208) = V(62)*V(86)
|
|
ARP(209) = V(60)*V(86)
|
|
ARP(210) = V(79)*V(86)
|
|
ARP(211) = V(57)*V(86)
|
|
ARP(212) = V(66)*V(86)
|
|
ARP(213) = V(64)*V(86)
|
|
ARP(214) = V(59)*V(86)
|
|
ARP(215) = V(54)*V(86)
|
|
ARP(216) = V(65)*V(86)
|
|
ARP(217) = V(51)*V(86)
|
|
ARP(218) = V(55)*V(86)
|
|
ARP(219) = V(67)*V(86)
|
|
ARP(220) = V(63)*V(86)
|
|
ARP(221) = V(53)*V(86)
|
|
ARP(222) = V(74)*V(86)
|
|
ARP(223) = V(74)*V(86)
|
|
ARP(224) = V(81)*V(86)
|
|
ARP(225) = V(86)*V(88)
|
|
ARP(226) = V(78)*V(86)
|
|
ARP(227) = V(86)*F(5)
|
|
ARP(228) = V(87)*V(87)
|
|
ARP(229) = F(3)
|
|
ARP(230) = F(3)
|
|
ARP(231) = F(3)
|
|
ARP(232) = F(3)
|
|
ARP(233) = F(3)
|
|
ARP(234) = F(3)
|
|
ARP(235) = F(3)
|
|
ARP(236) = F(3)
|
|
ARP(237) = F(3)
|
|
ARP(238) = F(3)
|
|
ARP(239) = F(3)
|
|
ARP(240) = F(3)
|
|
ARP(241) = F(3)
|
|
ARP(242) = F(3)
|
|
ARP(243) = V(82)
|
|
ARP(244) = V(89)
|
|
ARP(245) = V(21)
|
|
ARP(246) = V(56)
|
|
ARP(247) = V(69)
|
|
ARP(248) = V(25)
|
|
ARP(249) = V(17)
|
|
ARP(250) = V(44)
|
|
ARP(251) = V(18)
|
|
ARP(252) = V(73)
|
|
ARP(253) = V(84)
|
|
ARP(254) = V(82)
|
|
ARP(255) = V(87)
|
|
ARP(256) = V(25)
|
|
ARP(257) = V(34)*V(83)
|
|
ARP(258) = V(34)*V(83)
|
|
ARP(259) = V(34)*V(87)
|
|
ARP(260) = V(20)*V(83)
|
|
ARP(261) = V(89)
|
|
ARP(262) = V(82)
|
|
ARP(263) = V(17)
|
|
ARP(264) = V(28)
|
|
ARP(265) = V(69)
|
|
ARP(266) = V(69)
|
|
ARP(267) = V(56)
|
|
ARP(268) = V(24)
|
|
ARP(269) = V(29)
|
|
ARP(270) = V(87)
|
|
ARP(271) = V(87)
|
|
ARP(272) = V(25)
|
|
ARP(273) = V(25)
|
|
ARP(274) = V(29)
|
|
ARP(275) = V(71)
|
|
ARP(276) = V(71)
|
|
ARP(277) = V(21)
|
|
ARP(278) = V(68)
|
|
ARP(279) = V(49)
|
|
ARP(280) = V(49)
|
|
ARP(281) = V(76)
|
|
ARP(282) = F(12)
|
|
ARP(283) = V(50)
|
|
ARP(284) = F(8)
|
|
ARP(285) = F(8)
|
|
ARP(286) = V(75)
|
|
ARP(287) = V(75)
|
|
ARP(288) = V(77)
|
|
ARP(289) = V(77)
|
|
ARP(290) = V(77)
|
|
ARP(291) = V(80)
|
|
ARP(292) = V(80)
|
|
ARP(293) = V(61)
|
|
ARP(294) = V(39)
|
|
ARP(295) = V(38)
|
|
ARP(296) = V(35)
|
|
ARP(297) = V(31)
|
|
ARP(298) = V(32)
|
|
ARP(299) = V(30)
|
|
ARP(300) = V(37)
|
|
ARP(301) = V(33)
|
|
ARP(302) = V(36)
|
|
ARP(303) = F(6)
|
|
ARP(304) = V(45)
|
|
ARP(305) = V(41)
|
|
ARP(306) = V(43)
|
|
ARP(307) = V(42)
|
|
ARP(308) = V(40)
|
|
ARP(309) = V(26)
|
|
ARP(310) = V(73)
|
|
ARP(311) = V(27)
|
|
|
|
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(85)
|
|
JVRP(1) = V(89)
|
|
! JVRP(2) = dARP(1)/dV(89)
|
|
JVRP(2) = V(85)
|
|
! JVRP(3) = dARP(2)/dV(83)
|
|
JVRP(3) = V(89)
|
|
! JVRP(4) = dARP(2)/dV(89)
|
|
JVRP(4) = V(83)
|
|
! JVRP(5) = dARP(3)/dV(84)
|
|
JVRP(5) = V(89)
|
|
! JVRP(6) = dARP(3)/dV(89)
|
|
JVRP(6) = V(84)
|
|
! JVRP(7) = dARP(4)/dV(82)
|
|
JVRP(7) = V(89)
|
|
! JVRP(8) = dARP(4)/dV(89)
|
|
JVRP(8) = V(82)
|
|
! JVRP(9) = dARP(5)/dV(89)
|
|
JVRP(9) = V(90)
|
|
! JVRP(10) = dARP(5)/dV(90)
|
|
JVRP(10) = V(89)
|
|
! JVRP(11) = dARP(6)/dV(83)
|
|
JVRP(11) = 2*V(83)
|
|
! JVRP(12) = dARP(7)/dV(83)
|
|
JVRP(12) = 2*V(83)
|
|
! JVRP(13) = dARP(8)/dV(83)
|
|
JVRP(13) = V(84)
|
|
! JVRP(14) = dARP(8)/dV(84)
|
|
JVRP(14) = V(83)
|
|
! JVRP(15) = dARP(9)/dV(17)
|
|
JVRP(15) = V(83)
|
|
! JVRP(16) = dARP(9)/dV(83)
|
|
JVRP(16) = V(17)
|
|
! JVRP(17) = dARP(10)/dV(84)
|
|
JVRP(17) = V(85)
|
|
! JVRP(18) = dARP(10)/dV(85)
|
|
JVRP(18) = V(84)
|
|
! JVRP(19) = dARP(11)/dV(84)
|
|
JVRP(19) = 2*V(84)
|
|
! JVRP(20) = dARP(12)/dV(83)
|
|
JVRP(20) = F(9)
|
|
! JVRP(21) = dARP(13)/dV(47)
|
|
JVRP(21) = V(83)
|
|
! JVRP(22) = dARP(13)/dV(83)
|
|
JVRP(22) = V(47)
|
|
! JVRP(23) = dARP(14)/dV(83)
|
|
JVRP(23) = F(2)
|
|
! JVRP(24) = dARP(15)/dV(85)
|
|
JVRP(24) = V(90)
|
|
! JVRP(25) = dARP(15)/dV(90)
|
|
JVRP(25) = V(85)
|
|
! JVRP(26) = dARP(16)/dV(84)
|
|
JVRP(26) = V(90)
|
|
! JVRP(27) = dARP(16)/dV(90)
|
|
JVRP(27) = V(84)
|
|
! JVRP(28) = dARP(17)/dV(90)
|
|
JVRP(28) = 2*V(90)
|
|
! JVRP(29) = dARP(18)/dV(90)
|
|
JVRP(29) = 2*V(90)
|
|
! JVRP(30) = dARP(19)/dV(28)
|
|
JVRP(30) = V(83)
|
|
! JVRP(31) = dARP(19)/dV(83)
|
|
JVRP(31) = V(28)
|
|
! JVRP(32) = dARP(20)/dV(28)
|
|
JVRP(32) = V(83)
|
|
! JVRP(33) = dARP(20)/dV(83)
|
|
JVRP(33) = V(28)
|
|
! JVRP(34) = dARP(21)/dV(69)
|
|
JVRP(34) = V(83)
|
|
! JVRP(35) = dARP(21)/dV(83)
|
|
JVRP(35) = V(69)
|
|
! JVRP(36) = dARP(22)/dV(82)
|
|
JVRP(36) = V(83)
|
|
! JVRP(37) = dARP(22)/dV(83)
|
|
JVRP(37) = V(82)
|
|
! JVRP(38) = dARP(23)/dV(56)
|
|
JVRP(38) = V(83)
|
|
! JVRP(39) = dARP(23)/dV(83)
|
|
JVRP(39) = V(56)
|
|
! JVRP(40) = dARP(24)/dV(83)
|
|
JVRP(40) = V(85)
|
|
! JVRP(41) = dARP(24)/dV(85)
|
|
JVRP(41) = V(83)
|
|
! JVRP(42) = dARP(25)/dV(24)
|
|
JVRP(42) = V(83)
|
|
! JVRP(43) = dARP(25)/dV(83)
|
|
JVRP(43) = V(24)
|
|
! JVRP(44) = dARP(26)/dV(82)
|
|
JVRP(44) = V(84)
|
|
! JVRP(45) = dARP(26)/dV(84)
|
|
JVRP(45) = V(82)
|
|
! JVRP(46) = dARP(27)/dV(29)
|
|
JVRP(46) = 1
|
|
! JVRP(47) = dARP(28)/dV(29)
|
|
JVRP(47) = V(83)
|
|
! JVRP(48) = dARP(28)/dV(83)
|
|
JVRP(48) = V(29)
|
|
! JVRP(49) = dARP(29)/dV(84)
|
|
JVRP(49) = V(87)
|
|
! JVRP(50) = dARP(29)/dV(87)
|
|
JVRP(50) = V(84)
|
|
! JVRP(51) = dARP(30)/dV(85)
|
|
JVRP(51) = V(87)
|
|
! JVRP(52) = dARP(30)/dV(87)
|
|
JVRP(52) = V(85)
|
|
! JVRP(53) = dARP(31)/dV(83)
|
|
JVRP(53) = V(87)
|
|
! JVRP(54) = dARP(31)/dV(87)
|
|
JVRP(54) = V(83)
|
|
! JVRP(55) = dARP(32)/dV(82)
|
|
JVRP(55) = V(87)
|
|
! JVRP(56) = dARP(32)/dV(87)
|
|
JVRP(56) = V(82)
|
|
! JVRP(57) = dARP(33)/dV(25)
|
|
JVRP(57) = 1
|
|
! JVRP(58) = dARP(34)/dV(83)
|
|
JVRP(58) = F(11)
|
|
! JVRP(59) = dARP(35)/dV(83)
|
|
JVRP(59) = F(13)
|
|
! JVRP(60) = dARP(36)/dV(82)
|
|
JVRP(60) = V(87)
|
|
! JVRP(61) = dARP(36)/dV(87)
|
|
JVRP(61) = V(82)
|
|
! JVRP(62) = dARP(37)/dV(69)
|
|
JVRP(62) = V(87)
|
|
! JVRP(63) = dARP(37)/dV(87)
|
|
JVRP(63) = V(69)
|
|
! JVRP(64) = dARP(38)/dV(71)
|
|
JVRP(64) = V(83)
|
|
! JVRP(65) = dARP(38)/dV(83)
|
|
JVRP(65) = V(71)
|
|
! JVRP(66) = dARP(39)/dV(71)
|
|
JVRP(66) = V(87)
|
|
! JVRP(67) = dARP(39)/dV(87)
|
|
JVRP(67) = V(71)
|
|
! JVRP(68) = dARP(40)/dV(82)
|
|
JVRP(68) = V(86)
|
|
! JVRP(69) = dARP(40)/dV(86)
|
|
JVRP(69) = V(82)
|
|
! JVRP(70) = dARP(41)/dV(21)
|
|
JVRP(70) = 1
|
|
! JVRP(71) = dARP(42)/dV(85)
|
|
JVRP(71) = V(86)
|
|
! JVRP(72) = dARP(42)/dV(86)
|
|
JVRP(72) = V(85)
|
|
! JVRP(73) = dARP(43)/dV(23)
|
|
JVRP(73) = V(83)
|
|
! JVRP(74) = dARP(43)/dV(83)
|
|
JVRP(74) = V(23)
|
|
! JVRP(75) = dARP(44)/dV(74)
|
|
JVRP(75) = V(85)
|
|
! JVRP(76) = dARP(44)/dV(85)
|
|
JVRP(76) = V(74)
|
|
! JVRP(77) = dARP(45)/dV(16)
|
|
JVRP(77) = V(83)
|
|
! JVRP(78) = dARP(45)/dV(83)
|
|
JVRP(78) = V(16)
|
|
! JVRP(79) = dARP(46)/dV(16)
|
|
JVRP(79) = V(83)
|
|
! JVRP(80) = dARP(46)/dV(83)
|
|
JVRP(80) = V(16)
|
|
! JVRP(81) = dARP(47)/dV(52)
|
|
JVRP(81) = V(85)
|
|
! JVRP(82) = dARP(47)/dV(85)
|
|
JVRP(82) = V(52)
|
|
! JVRP(83) = dARP(48)/dV(70)
|
|
JVRP(83) = V(85)
|
|
! JVRP(84) = dARP(48)/dV(85)
|
|
JVRP(84) = V(70)
|
|
! JVRP(85) = dARP(49)/dV(22)
|
|
JVRP(85) = V(83)
|
|
! JVRP(86) = dARP(49)/dV(83)
|
|
JVRP(86) = V(22)
|
|
! JVRP(87) = dARP(50)/dV(72)
|
|
JVRP(87) = V(85)
|
|
! JVRP(88) = dARP(50)/dV(85)
|
|
JVRP(88) = V(72)
|
|
! JVRP(89) = dARP(51)/dV(72)
|
|
JVRP(89) = V(85)
|
|
! JVRP(90) = dARP(51)/dV(85)
|
|
JVRP(90) = V(72)
|
|
! JVRP(91) = dARP(52)/dV(54)
|
|
JVRP(91) = V(85)
|
|
! JVRP(92) = dARP(52)/dV(85)
|
|
JVRP(92) = V(54)
|
|
! JVRP(93) = dARP(53)/dV(62)
|
|
JVRP(93) = V(85)
|
|
! JVRP(94) = dARP(53)/dV(85)
|
|
JVRP(94) = V(62)
|
|
! JVRP(95) = dARP(54)/dV(60)
|
|
JVRP(95) = V(85)
|
|
! JVRP(96) = dARP(54)/dV(85)
|
|
JVRP(96) = V(60)
|
|
! JVRP(97) = dARP(55)/dV(79)
|
|
JVRP(97) = V(85)
|
|
! JVRP(98) = dARP(55)/dV(85)
|
|
JVRP(98) = V(79)
|
|
! JVRP(99) = dARP(56)/dV(79)
|
|
JVRP(99) = V(85)
|
|
! JVRP(100) = dARP(56)/dV(85)
|
|
JVRP(100) = V(79)
|
|
! JVRP(101) = dARP(57)/dV(57)
|
|
JVRP(101) = V(85)
|
|
! JVRP(102) = dARP(57)/dV(85)
|
|
JVRP(102) = V(57)
|
|
! JVRP(103) = dARP(58)/dV(57)
|
|
JVRP(103) = V(85)
|
|
! JVRP(104) = dARP(58)/dV(85)
|
|
JVRP(104) = V(57)
|
|
! JVRP(105) = dARP(59)/dV(66)
|
|
JVRP(105) = V(85)
|
|
! JVRP(106) = dARP(59)/dV(85)
|
|
JVRP(106) = V(66)
|
|
! JVRP(107) = dARP(60)/dV(65)
|
|
JVRP(107) = V(85)
|
|
! JVRP(108) = dARP(60)/dV(85)
|
|
JVRP(108) = V(65)
|
|
! JVRP(109) = dARP(61)/dV(64)
|
|
JVRP(109) = V(85)
|
|
! JVRP(110) = dARP(61)/dV(85)
|
|
JVRP(110) = V(64)
|
|
! JVRP(111) = dARP(62)/dV(64)
|
|
JVRP(111) = V(85)
|
|
! JVRP(112) = dARP(62)/dV(85)
|
|
JVRP(112) = V(64)
|
|
! JVRP(113) = dARP(63)/dV(59)
|
|
JVRP(113) = V(85)
|
|
! JVRP(114) = dARP(63)/dV(85)
|
|
JVRP(114) = V(59)
|
|
! JVRP(115) = dARP(64)/dV(59)
|
|
JVRP(115) = V(85)
|
|
! JVRP(116) = dARP(64)/dV(85)
|
|
JVRP(116) = V(59)
|
|
! JVRP(117) = dARP(65)/dV(51)
|
|
JVRP(117) = V(85)
|
|
! JVRP(118) = dARP(65)/dV(85)
|
|
JVRP(118) = V(51)
|
|
! JVRP(119) = dARP(66)/dV(55)
|
|
JVRP(119) = V(85)
|
|
! JVRP(120) = dARP(66)/dV(85)
|
|
JVRP(120) = V(55)
|
|
! JVRP(121) = dARP(67)/dV(53)
|
|
JVRP(121) = V(85)
|
|
! JVRP(122) = dARP(67)/dV(85)
|
|
JVRP(122) = V(53)
|
|
! JVRP(123) = dARP(68)/dV(67)
|
|
JVRP(123) = V(85)
|
|
! JVRP(124) = dARP(68)/dV(85)
|
|
JVRP(124) = V(67)
|
|
! JVRP(125) = dARP(69)/dV(63)
|
|
JVRP(125) = V(85)
|
|
! JVRP(126) = dARP(69)/dV(85)
|
|
JVRP(126) = V(63)
|
|
! JVRP(127) = dARP(70)/dV(22)
|
|
JVRP(127) = V(87)
|
|
! JVRP(128) = dARP(70)/dV(87)
|
|
JVRP(128) = V(22)
|
|
! JVRP(129) = dARP(71)/dV(73)
|
|
JVRP(129) = V(83)
|
|
! JVRP(130) = dARP(71)/dV(83)
|
|
JVRP(130) = V(73)
|
|
! JVRP(131) = dARP(72)/dV(83)
|
|
JVRP(131) = F(1)
|
|
! JVRP(132) = dARP(73)/dV(68)
|
|
JVRP(132) = V(83)
|
|
! JVRP(133) = dARP(73)/dV(83)
|
|
JVRP(133) = V(68)
|
|
! JVRP(134) = dARP(74)/dV(81)
|
|
JVRP(134) = V(82)
|
|
! JVRP(135) = dARP(74)/dV(82)
|
|
JVRP(135) = V(81)
|
|
! JVRP(136) = dARP(75)/dV(18)
|
|
JVRP(136) = 1
|
|
! JVRP(137) = dARP(76)/dV(82)
|
|
JVRP(137) = V(88)
|
|
! JVRP(138) = dARP(76)/dV(88)
|
|
JVRP(138) = V(82)
|
|
! JVRP(139) = dARP(77)/dV(19)
|
|
JVRP(139) = 1
|
|
! JVRP(140) = dARP(78)/dV(78)
|
|
JVRP(140) = V(82)
|
|
! JVRP(141) = dARP(78)/dV(82)
|
|
JVRP(141) = V(78)
|
|
! JVRP(142) = dARP(79)/dV(44)
|
|
JVRP(142) = 1
|
|
! JVRP(143) = dARP(80)/dV(82)
|
|
JVRP(143) = F(5)
|
|
! JVRP(144) = dARP(82)/dV(81)
|
|
JVRP(144) = V(85)
|
|
! JVRP(145) = dARP(82)/dV(85)
|
|
JVRP(145) = V(81)
|
|
! JVRP(146) = dARP(83)/dV(85)
|
|
JVRP(146) = V(88)
|
|
! JVRP(147) = dARP(83)/dV(88)
|
|
JVRP(147) = V(85)
|
|
! JVRP(148) = dARP(84)/dV(78)
|
|
JVRP(148) = V(85)
|
|
! JVRP(149) = dARP(84)/dV(85)
|
|
JVRP(149) = V(78)
|
|
! JVRP(150) = dARP(85)/dV(85)
|
|
JVRP(150) = F(5)
|
|
! JVRP(151) = dARP(86)/dV(68)
|
|
JVRP(151) = V(87)
|
|
! JVRP(152) = dARP(86)/dV(87)
|
|
JVRP(152) = V(68)
|
|
! JVRP(153) = dARP(87)/dV(49)
|
|
JVRP(153) = V(83)
|
|
! JVRP(154) = dARP(87)/dV(83)
|
|
JVRP(154) = V(49)
|
|
! JVRP(155) = dARP(88)/dV(49)
|
|
JVRP(155) = V(83)
|
|
! JVRP(156) = dARP(88)/dV(83)
|
|
JVRP(156) = V(49)
|
|
! JVRP(157) = dARP(89)/dV(52)
|
|
JVRP(157) = V(90)
|
|
! JVRP(158) = dARP(89)/dV(90)
|
|
JVRP(158) = V(52)
|
|
! JVRP(159) = dARP(90)/dV(70)
|
|
JVRP(159) = V(90)
|
|
! JVRP(160) = dARP(90)/dV(90)
|
|
JVRP(160) = V(70)
|
|
! JVRP(161) = dARP(91)/dV(72)
|
|
JVRP(161) = V(84)
|
|
! JVRP(162) = dARP(91)/dV(84)
|
|
JVRP(162) = V(72)
|
|
! JVRP(163) = dARP(92)/dV(54)
|
|
JVRP(163) = V(84)
|
|
! JVRP(164) = dARP(92)/dV(84)
|
|
JVRP(164) = V(54)
|
|
! JVRP(165) = dARP(93)/dV(62)
|
|
JVRP(165) = V(84)
|
|
! JVRP(166) = dARP(93)/dV(84)
|
|
JVRP(166) = V(62)
|
|
! JVRP(167) = dARP(94)/dV(60)
|
|
JVRP(167) = V(84)
|
|
! JVRP(168) = dARP(94)/dV(84)
|
|
JVRP(168) = V(60)
|
|
! JVRP(169) = dARP(95)/dV(79)
|
|
JVRP(169) = V(84)
|
|
! JVRP(170) = dARP(95)/dV(84)
|
|
JVRP(170) = V(79)
|
|
! JVRP(171) = dARP(96)/dV(57)
|
|
JVRP(171) = V(84)
|
|
! JVRP(172) = dARP(96)/dV(84)
|
|
JVRP(172) = V(57)
|
|
! JVRP(173) = dARP(97)/dV(66)
|
|
JVRP(173) = V(84)
|
|
! JVRP(174) = dARP(97)/dV(84)
|
|
JVRP(174) = V(66)
|
|
! JVRP(175) = dARP(98)/dV(65)
|
|
JVRP(175) = V(84)
|
|
! JVRP(176) = dARP(98)/dV(84)
|
|
JVRP(176) = V(65)
|
|
! JVRP(177) = dARP(99)/dV(64)
|
|
JVRP(177) = V(84)
|
|
! JVRP(178) = dARP(99)/dV(84)
|
|
JVRP(178) = V(64)
|
|
! JVRP(179) = dARP(100)/dV(59)
|
|
JVRP(179) = V(84)
|
|
! JVRP(180) = dARP(100)/dV(84)
|
|
JVRP(180) = V(59)
|
|
! JVRP(181) = dARP(101)/dV(51)
|
|
JVRP(181) = V(84)
|
|
! JVRP(182) = dARP(101)/dV(84)
|
|
JVRP(182) = V(51)
|
|
! JVRP(183) = dARP(102)/dV(55)
|
|
JVRP(183) = V(84)
|
|
! JVRP(184) = dARP(102)/dV(84)
|
|
JVRP(184) = V(55)
|
|
! JVRP(185) = dARP(103)/dV(53)
|
|
JVRP(185) = V(84)
|
|
! JVRP(186) = dARP(103)/dV(84)
|
|
JVRP(186) = V(53)
|
|
! JVRP(187) = dARP(104)/dV(67)
|
|
JVRP(187) = V(84)
|
|
! JVRP(188) = dARP(104)/dV(84)
|
|
JVRP(188) = V(67)
|
|
! JVRP(189) = dARP(105)/dV(63)
|
|
JVRP(189) = V(84)
|
|
! JVRP(190) = dARP(105)/dV(84)
|
|
JVRP(190) = V(63)
|
|
! JVRP(191) = dARP(106)/dV(76)
|
|
JVRP(191) = V(83)
|
|
! JVRP(192) = dARP(106)/dV(83)
|
|
JVRP(192) = V(76)
|
|
! JVRP(193) = dARP(107)/dV(74)
|
|
JVRP(193) = V(90)
|
|
! JVRP(194) = dARP(107)/dV(90)
|
|
JVRP(194) = V(74)
|
|
! JVRP(195) = dARP(108)/dV(76)
|
|
JVRP(195) = V(87)
|
|
! JVRP(196) = dARP(108)/dV(87)
|
|
JVRP(196) = V(76)
|
|
! JVRP(197) = dARP(109)/dV(72)
|
|
JVRP(197) = V(90)
|
|
! JVRP(198) = dARP(109)/dV(90)
|
|
JVRP(198) = V(72)
|
|
! JVRP(199) = dARP(110)/dV(54)
|
|
JVRP(199) = V(90)
|
|
! JVRP(200) = dARP(110)/dV(90)
|
|
JVRP(200) = V(54)
|
|
! JVRP(201) = dARP(111)/dV(62)
|
|
JVRP(201) = V(90)
|
|
! JVRP(202) = dARP(111)/dV(90)
|
|
JVRP(202) = V(62)
|
|
! JVRP(203) = dARP(112)/dV(60)
|
|
JVRP(203) = V(90)
|
|
! JVRP(204) = dARP(112)/dV(90)
|
|
JVRP(204) = V(60)
|
|
! JVRP(205) = dARP(113)/dV(79)
|
|
JVRP(205) = V(90)
|
|
! JVRP(206) = dARP(113)/dV(90)
|
|
JVRP(206) = V(79)
|
|
! JVRP(207) = dARP(114)/dV(57)
|
|
JVRP(207) = V(90)
|
|
! JVRP(208) = dARP(114)/dV(90)
|
|
JVRP(208) = V(57)
|
|
! JVRP(209) = dARP(115)/dV(66)
|
|
JVRP(209) = V(90)
|
|
! JVRP(210) = dARP(115)/dV(90)
|
|
JVRP(210) = V(66)
|
|
! JVRP(211) = dARP(116)/dV(65)
|
|
JVRP(211) = V(90)
|
|
! JVRP(212) = dARP(116)/dV(90)
|
|
JVRP(212) = V(65)
|
|
! JVRP(213) = dARP(117)/dV(64)
|
|
JVRP(213) = V(90)
|
|
! JVRP(214) = dARP(117)/dV(90)
|
|
JVRP(214) = V(64)
|
|
! JVRP(215) = dARP(118)/dV(59)
|
|
JVRP(215) = V(90)
|
|
! JVRP(216) = dARP(118)/dV(90)
|
|
JVRP(216) = V(59)
|
|
! JVRP(217) = dARP(119)/dV(51)
|
|
JVRP(217) = V(90)
|
|
! JVRP(218) = dARP(119)/dV(90)
|
|
JVRP(218) = V(51)
|
|
! JVRP(219) = dARP(120)/dV(55)
|
|
JVRP(219) = V(90)
|
|
! JVRP(220) = dARP(120)/dV(90)
|
|
JVRP(220) = V(55)
|
|
! JVRP(221) = dARP(121)/dV(53)
|
|
JVRP(221) = V(90)
|
|
! JVRP(222) = dARP(121)/dV(90)
|
|
JVRP(222) = V(53)
|
|
! JVRP(223) = dARP(122)/dV(67)
|
|
JVRP(223) = V(90)
|
|
! JVRP(224) = dARP(122)/dV(90)
|
|
JVRP(224) = V(67)
|
|
! JVRP(225) = dARP(123)/dV(63)
|
|
JVRP(225) = V(90)
|
|
! JVRP(226) = dARP(123)/dV(90)
|
|
JVRP(226) = V(63)
|
|
! JVRP(227) = dARP(124)/dV(83)
|
|
JVRP(227) = F(4)
|
|
! JVRP(228) = dARP(125)/dV(83)
|
|
JVRP(228) = F(16)
|
|
! JVRP(229) = dARP(126)/dV(74)
|
|
JVRP(229) = 2*V(74)
|
|
! JVRP(230) = dARP(127)/dV(74)
|
|
JVRP(230) = 2*V(74)
|
|
! JVRP(231) = dARP(128)/dV(74)
|
|
JVRP(231) = V(84)
|
|
! JVRP(232) = dARP(128)/dV(84)
|
|
JVRP(232) = V(74)
|
|
! JVRP(233) = dARP(129)/dV(52)
|
|
JVRP(233) = V(84)
|
|
! JVRP(234) = dARP(129)/dV(84)
|
|
JVRP(234) = V(52)
|
|
! JVRP(235) = dARP(130)/dV(70)
|
|
JVRP(235) = V(84)
|
|
! JVRP(236) = dARP(130)/dV(84)
|
|
JVRP(236) = V(70)
|
|
! JVRP(237) = dARP(131)/dV(84)
|
|
JVRP(237) = V(86)
|
|
! JVRP(238) = dARP(131)/dV(86)
|
|
JVRP(238) = V(84)
|
|
! JVRP(239) = dARP(132)/dV(81)
|
|
JVRP(239) = V(84)
|
|
! JVRP(240) = dARP(132)/dV(84)
|
|
JVRP(240) = V(81)
|
|
! JVRP(241) = dARP(133)/dV(84)
|
|
JVRP(241) = V(88)
|
|
! JVRP(242) = dARP(133)/dV(88)
|
|
JVRP(242) = V(84)
|
|
! JVRP(243) = dARP(134)/dV(78)
|
|
JVRP(243) = V(84)
|
|
! JVRP(244) = dARP(134)/dV(84)
|
|
JVRP(244) = V(78)
|
|
! JVRP(245) = dARP(135)/dV(84)
|
|
JVRP(245) = F(5)
|
|
! JVRP(246) = dARP(136)/dV(48)
|
|
JVRP(246) = V(83)
|
|
! JVRP(247) = dARP(136)/dV(83)
|
|
JVRP(247) = V(48)
|
|
! JVRP(248) = dARP(137)/dV(48)
|
|
JVRP(248) = V(89)
|
|
! JVRP(249) = dARP(137)/dV(89)
|
|
JVRP(249) = V(48)
|
|
! JVRP(250) = dARP(138)/dV(44)
|
|
JVRP(250) = V(83)
|
|
! JVRP(251) = dARP(138)/dV(83)
|
|
JVRP(251) = V(44)
|
|
! JVRP(252) = dARP(139)/dV(44)
|
|
JVRP(252) = V(89)
|
|
! JVRP(253) = dARP(139)/dV(89)
|
|
JVRP(253) = V(44)
|
|
! JVRP(254) = dARP(140)/dV(50)
|
|
JVRP(254) = V(83)
|
|
! JVRP(255) = dARP(140)/dV(83)
|
|
JVRP(255) = V(50)
|
|
! JVRP(256) = dARP(141)/dV(48)
|
|
JVRP(256) = V(87)
|
|
! JVRP(257) = dARP(141)/dV(87)
|
|
JVRP(257) = V(48)
|
|
! JVRP(258) = dARP(142)/dV(83)
|
|
JVRP(258) = F(8)
|
|
! JVRP(259) = dARP(143)/dV(75)
|
|
JVRP(259) = V(83)
|
|
! JVRP(260) = dARP(143)/dV(83)
|
|
JVRP(260) = V(75)
|
|
! JVRP(261) = dARP(144)/dV(87)
|
|
JVRP(261) = F(8)
|
|
! JVRP(262) = dARP(145)/dV(75)
|
|
JVRP(262) = V(87)
|
|
! JVRP(263) = dARP(145)/dV(87)
|
|
JVRP(263) = V(75)
|
|
! JVRP(264) = dARP(146)/dV(46)
|
|
JVRP(264) = V(83)
|
|
! JVRP(265) = dARP(146)/dV(83)
|
|
JVRP(265) = V(46)
|
|
! JVRP(266) = dARP(147)/dV(77)
|
|
JVRP(266) = V(83)
|
|
! JVRP(267) = dARP(147)/dV(83)
|
|
JVRP(267) = V(77)
|
|
! JVRP(268) = dARP(148)/dV(80)
|
|
JVRP(268) = V(83)
|
|
! JVRP(269) = dARP(148)/dV(83)
|
|
JVRP(269) = V(80)
|
|
! JVRP(270) = dARP(149)/dV(61)
|
|
JVRP(270) = V(83)
|
|
! JVRP(271) = dARP(149)/dV(83)
|
|
JVRP(271) = V(61)
|
|
! JVRP(272) = dARP(150)/dV(52)
|
|
JVRP(272) = V(86)
|
|
! JVRP(273) = dARP(150)/dV(86)
|
|
JVRP(273) = V(52)
|
|
! JVRP(274) = dARP(151)/dV(70)
|
|
JVRP(274) = V(86)
|
|
! JVRP(275) = dARP(151)/dV(86)
|
|
JVRP(275) = V(70)
|
|
! JVRP(276) = dARP(152)/dV(52)
|
|
JVRP(276) = V(86)
|
|
! JVRP(277) = dARP(152)/dV(86)
|
|
JVRP(277) = V(52)
|
|
! JVRP(278) = dARP(153)/dV(70)
|
|
JVRP(278) = V(86)
|
|
! JVRP(279) = dARP(153)/dV(86)
|
|
JVRP(279) = V(70)
|
|
! JVRP(280) = dARP(154)/dV(46)
|
|
JVRP(280) = V(89)
|
|
! JVRP(281) = dARP(154)/dV(89)
|
|
JVRP(281) = V(46)
|
|
! JVRP(282) = dARP(155)/dV(77)
|
|
JVRP(282) = V(89)
|
|
! JVRP(283) = dARP(155)/dV(89)
|
|
JVRP(283) = V(77)
|
|
! JVRP(284) = dARP(156)/dV(80)
|
|
JVRP(284) = V(89)
|
|
! JVRP(285) = dARP(156)/dV(89)
|
|
JVRP(285) = V(80)
|
|
! JVRP(286) = dARP(157)/dV(46)
|
|
JVRP(286) = V(87)
|
|
! JVRP(287) = dARP(157)/dV(87)
|
|
JVRP(287) = V(46)
|
|
! JVRP(288) = dARP(158)/dV(80)
|
|
JVRP(288) = V(87)
|
|
! JVRP(289) = dARP(158)/dV(87)
|
|
JVRP(289) = V(80)
|
|
! JVRP(290) = dARP(159)/dV(80)
|
|
JVRP(290) = V(87)
|
|
! JVRP(291) = dARP(159)/dV(87)
|
|
JVRP(291) = V(80)
|
|
! JVRP(292) = dARP(160)/dV(81)
|
|
JVRP(292) = V(90)
|
|
! JVRP(293) = dARP(160)/dV(90)
|
|
JVRP(293) = V(81)
|
|
! JVRP(294) = dARP(161)/dV(88)
|
|
JVRP(294) = V(90)
|
|
! JVRP(295) = dARP(161)/dV(90)
|
|
JVRP(295) = V(88)
|
|
! JVRP(296) = dARP(162)/dV(78)
|
|
JVRP(296) = V(90)
|
|
! JVRP(297) = dARP(162)/dV(90)
|
|
JVRP(297) = V(78)
|
|
! JVRP(298) = dARP(163)/dV(90)
|
|
JVRP(298) = F(5)
|
|
! JVRP(299) = dARP(164)/dV(81)
|
|
JVRP(299) = V(90)
|
|
! JVRP(300) = dARP(164)/dV(90)
|
|
JVRP(300) = V(81)
|
|
! JVRP(301) = dARP(165)/dV(88)
|
|
JVRP(301) = V(90)
|
|
! JVRP(302) = dARP(165)/dV(90)
|
|
JVRP(302) = V(88)
|
|
! JVRP(303) = dARP(166)/dV(78)
|
|
JVRP(303) = V(90)
|
|
! JVRP(304) = dARP(166)/dV(90)
|
|
JVRP(304) = V(78)
|
|
! JVRP(305) = dARP(167)/dV(90)
|
|
JVRP(305) = F(5)
|
|
! JVRP(306) = dARP(168)/dV(39)
|
|
JVRP(306) = V(83)
|
|
! JVRP(307) = dARP(168)/dV(83)
|
|
JVRP(307) = V(39)
|
|
! JVRP(308) = dARP(169)/dV(38)
|
|
JVRP(308) = V(83)
|
|
! JVRP(309) = dARP(169)/dV(83)
|
|
JVRP(309) = V(38)
|
|
! JVRP(310) = dARP(170)/dV(35)
|
|
JVRP(310) = V(83)
|
|
! JVRP(311) = dARP(170)/dV(83)
|
|
JVRP(311) = V(35)
|
|
! JVRP(312) = dARP(171)/dV(31)
|
|
JVRP(312) = V(83)
|
|
! JVRP(313) = dARP(171)/dV(83)
|
|
JVRP(313) = V(31)
|
|
! JVRP(314) = dARP(172)/dV(32)
|
|
JVRP(314) = V(83)
|
|
! JVRP(315) = dARP(172)/dV(83)
|
|
JVRP(315) = V(32)
|
|
! JVRP(316) = dARP(173)/dV(30)
|
|
JVRP(316) = V(83)
|
|
! JVRP(317) = dARP(173)/dV(83)
|
|
JVRP(317) = V(30)
|
|
! JVRP(318) = dARP(174)/dV(33)
|
|
JVRP(318) = V(83)
|
|
! JVRP(319) = dARP(174)/dV(83)
|
|
JVRP(319) = V(33)
|
|
! JVRP(320) = dARP(175)/dV(37)
|
|
JVRP(320) = V(83)
|
|
! JVRP(321) = dARP(175)/dV(83)
|
|
JVRP(321) = V(37)
|
|
! JVRP(322) = dARP(176)/dV(36)
|
|
JVRP(322) = V(83)
|
|
! JVRP(323) = dARP(176)/dV(83)
|
|
JVRP(323) = V(36)
|
|
! JVRP(324) = dARP(177)/dV(83)
|
|
JVRP(324) = F(6)
|
|
! JVRP(325) = dARP(178)/dV(45)
|
|
JVRP(325) = V(83)
|
|
! JVRP(326) = dARP(178)/dV(83)
|
|
JVRP(326) = V(45)
|
|
! JVRP(327) = dARP(179)/dV(41)
|
|
JVRP(327) = V(83)
|
|
! JVRP(328) = dARP(179)/dV(83)
|
|
JVRP(328) = V(41)
|
|
! JVRP(329) = dARP(180)/dV(43)
|
|
JVRP(329) = V(83)
|
|
! JVRP(330) = dARP(180)/dV(83)
|
|
JVRP(330) = V(43)
|
|
! JVRP(331) = dARP(181)/dV(42)
|
|
JVRP(331) = V(83)
|
|
! JVRP(332) = dARP(181)/dV(83)
|
|
JVRP(332) = V(42)
|
|
! JVRP(333) = dARP(182)/dV(40)
|
|
JVRP(333) = V(83)
|
|
! JVRP(334) = dARP(182)/dV(83)
|
|
JVRP(334) = V(40)
|
|
! JVRP(335) = dARP(183)/dV(26)
|
|
JVRP(335) = V(83)
|
|
! JVRP(336) = dARP(183)/dV(83)
|
|
JVRP(336) = V(26)
|
|
! JVRP(337) = dARP(184)/dV(27)
|
|
JVRP(337) = V(83)
|
|
! JVRP(338) = dARP(184)/dV(83)
|
|
JVRP(338) = V(27)
|
|
! JVRP(339) = dARP(185)/dV(23)
|
|
JVRP(339) = V(87)
|
|
! JVRP(340) = dARP(185)/dV(87)
|
|
JVRP(340) = V(23)
|
|
! JVRP(341) = dARP(186)/dV(83)
|
|
JVRP(341) = F(12)
|
|
! JVRP(342) = dARP(187)/dV(58)
|
|
JVRP(342) = V(83)
|
|
! JVRP(343) = dARP(187)/dV(83)
|
|
JVRP(343) = V(58)
|
|
! JVRP(344) = dARP(188)/dV(58)
|
|
JVRP(344) = V(89)
|
|
! JVRP(345) = dARP(188)/dV(89)
|
|
JVRP(345) = V(58)
|
|
! JVRP(346) = dARP(189)/dV(86)
|
|
JVRP(346) = 2*V(86)
|
|
! JVRP(347) = dARP(190)/dV(86)
|
|
JVRP(347) = V(90)
|
|
! JVRP(348) = dARP(190)/dV(90)
|
|
JVRP(348) = V(86)
|
|
! JVRP(349) = dARP(191)/dV(86)
|
|
JVRP(349) = V(90)
|
|
! JVRP(350) = dARP(191)/dV(90)
|
|
JVRP(350) = V(86)
|
|
! JVRP(351) = dARP(192)/dV(72)
|
|
JVRP(351) = V(86)
|
|
! JVRP(352) = dARP(192)/dV(86)
|
|
JVRP(352) = V(72)
|
|
! JVRP(353) = dARP(193)/dV(62)
|
|
JVRP(353) = V(86)
|
|
! JVRP(354) = dARP(193)/dV(86)
|
|
JVRP(354) = V(62)
|
|
! JVRP(355) = dARP(194)/dV(60)
|
|
JVRP(355) = V(86)
|
|
! JVRP(356) = dARP(194)/dV(86)
|
|
JVRP(356) = V(60)
|
|
! JVRP(357) = dARP(195)/dV(79)
|
|
JVRP(357) = V(86)
|
|
! JVRP(358) = dARP(195)/dV(86)
|
|
JVRP(358) = V(79)
|
|
! JVRP(359) = dARP(196)/dV(57)
|
|
JVRP(359) = V(86)
|
|
! JVRP(360) = dARP(196)/dV(86)
|
|
JVRP(360) = V(57)
|
|
! JVRP(361) = dARP(197)/dV(66)
|
|
JVRP(361) = V(86)
|
|
! JVRP(362) = dARP(197)/dV(86)
|
|
JVRP(362) = V(66)
|
|
! JVRP(363) = dARP(198)/dV(65)
|
|
JVRP(363) = V(86)
|
|
! JVRP(364) = dARP(198)/dV(86)
|
|
JVRP(364) = V(65)
|
|
! JVRP(365) = dARP(199)/dV(64)
|
|
JVRP(365) = V(86)
|
|
! JVRP(366) = dARP(199)/dV(86)
|
|
JVRP(366) = V(64)
|
|
! JVRP(367) = dARP(200)/dV(59)
|
|
JVRP(367) = V(86)
|
|
! JVRP(368) = dARP(200)/dV(86)
|
|
JVRP(368) = V(59)
|
|
! JVRP(369) = dARP(201)/dV(53)
|
|
JVRP(369) = V(86)
|
|
! JVRP(370) = dARP(201)/dV(86)
|
|
JVRP(370) = V(53)
|
|
! JVRP(371) = dARP(202)/dV(54)
|
|
JVRP(371) = V(86)
|
|
! JVRP(372) = dARP(202)/dV(86)
|
|
JVRP(372) = V(54)
|
|
! JVRP(373) = dARP(203)/dV(51)
|
|
JVRP(373) = V(86)
|
|
! JVRP(374) = dARP(203)/dV(86)
|
|
JVRP(374) = V(51)
|
|
! JVRP(375) = dARP(204)/dV(55)
|
|
JVRP(375) = V(86)
|
|
! JVRP(376) = dARP(204)/dV(86)
|
|
JVRP(376) = V(55)
|
|
! JVRP(377) = dARP(205)/dV(67)
|
|
JVRP(377) = V(86)
|
|
! JVRP(378) = dARP(205)/dV(86)
|
|
JVRP(378) = V(67)
|
|
! JVRP(379) = dARP(206)/dV(63)
|
|
JVRP(379) = V(86)
|
|
! JVRP(380) = dARP(206)/dV(86)
|
|
JVRP(380) = V(63)
|
|
! JVRP(381) = dARP(207)/dV(72)
|
|
JVRP(381) = V(86)
|
|
! JVRP(382) = dARP(207)/dV(86)
|
|
JVRP(382) = V(72)
|
|
! JVRP(383) = dARP(208)/dV(62)
|
|
JVRP(383) = V(86)
|
|
! JVRP(384) = dARP(208)/dV(86)
|
|
JVRP(384) = V(62)
|
|
! JVRP(385) = dARP(209)/dV(60)
|
|
JVRP(385) = V(86)
|
|
! JVRP(386) = dARP(209)/dV(86)
|
|
JVRP(386) = V(60)
|
|
! JVRP(387) = dARP(210)/dV(79)
|
|
JVRP(387) = V(86)
|
|
! JVRP(388) = dARP(210)/dV(86)
|
|
JVRP(388) = V(79)
|
|
! JVRP(389) = dARP(211)/dV(57)
|
|
JVRP(389) = V(86)
|
|
! JVRP(390) = dARP(211)/dV(86)
|
|
JVRP(390) = V(57)
|
|
! JVRP(391) = dARP(212)/dV(66)
|
|
JVRP(391) = V(86)
|
|
! JVRP(392) = dARP(212)/dV(86)
|
|
JVRP(392) = V(66)
|
|
! JVRP(393) = dARP(213)/dV(64)
|
|
JVRP(393) = V(86)
|
|
! JVRP(394) = dARP(213)/dV(86)
|
|
JVRP(394) = V(64)
|
|
! JVRP(395) = dARP(214)/dV(59)
|
|
JVRP(395) = V(86)
|
|
! JVRP(396) = dARP(214)/dV(86)
|
|
JVRP(396) = V(59)
|
|
! JVRP(397) = dARP(215)/dV(54)
|
|
JVRP(397) = V(86)
|
|
! JVRP(398) = dARP(215)/dV(86)
|
|
JVRP(398) = V(54)
|
|
! JVRP(399) = dARP(216)/dV(65)
|
|
JVRP(399) = V(86)
|
|
! JVRP(400) = dARP(216)/dV(86)
|
|
JVRP(400) = V(65)
|
|
! JVRP(401) = dARP(217)/dV(51)
|
|
JVRP(401) = V(86)
|
|
! JVRP(402) = dARP(217)/dV(86)
|
|
JVRP(402) = V(51)
|
|
! JVRP(403) = dARP(218)/dV(55)
|
|
JVRP(403) = V(86)
|
|
! JVRP(404) = dARP(218)/dV(86)
|
|
JVRP(404) = V(55)
|
|
! JVRP(405) = dARP(219)/dV(67)
|
|
JVRP(405) = V(86)
|
|
! JVRP(406) = dARP(219)/dV(86)
|
|
JVRP(406) = V(67)
|
|
! JVRP(407) = dARP(220)/dV(63)
|
|
JVRP(407) = V(86)
|
|
! JVRP(408) = dARP(220)/dV(86)
|
|
JVRP(408) = V(63)
|
|
! JVRP(409) = dARP(221)/dV(53)
|
|
JVRP(409) = V(86)
|
|
! JVRP(410) = dARP(221)/dV(86)
|
|
JVRP(410) = V(53)
|
|
! JVRP(411) = dARP(222)/dV(74)
|
|
JVRP(411) = V(86)
|
|
! JVRP(412) = dARP(222)/dV(86)
|
|
JVRP(412) = V(74)
|
|
! JVRP(413) = dARP(223)/dV(74)
|
|
JVRP(413) = V(86)
|
|
! JVRP(414) = dARP(223)/dV(86)
|
|
JVRP(414) = V(74)
|
|
! JVRP(415) = dARP(224)/dV(81)
|
|
JVRP(415) = V(86)
|
|
! JVRP(416) = dARP(224)/dV(86)
|
|
JVRP(416) = V(81)
|
|
! JVRP(417) = dARP(225)/dV(86)
|
|
JVRP(417) = V(88)
|
|
! JVRP(418) = dARP(225)/dV(88)
|
|
JVRP(418) = V(86)
|
|
! JVRP(419) = dARP(226)/dV(78)
|
|
JVRP(419) = V(86)
|
|
! JVRP(420) = dARP(226)/dV(86)
|
|
JVRP(420) = V(78)
|
|
! JVRP(421) = dARP(227)/dV(86)
|
|
JVRP(421) = F(5)
|
|
! JVRP(422) = dARP(228)/dV(87)
|
|
JVRP(422) = 2*V(87)
|
|
! JVRP(423) = dARP(243)/dV(82)
|
|
JVRP(423) = 1
|
|
! JVRP(424) = dARP(244)/dV(89)
|
|
JVRP(424) = 1
|
|
! JVRP(425) = dARP(245)/dV(21)
|
|
JVRP(425) = 1
|
|
! JVRP(426) = dARP(246)/dV(56)
|
|
JVRP(426) = 1
|
|
! JVRP(427) = dARP(247)/dV(69)
|
|
JVRP(427) = 1
|
|
! JVRP(428) = dARP(248)/dV(25)
|
|
JVRP(428) = 1
|
|
! JVRP(429) = dARP(249)/dV(17)
|
|
JVRP(429) = 1
|
|
! JVRP(430) = dARP(250)/dV(44)
|
|
JVRP(430) = 1
|
|
! JVRP(431) = dARP(251)/dV(18)
|
|
JVRP(431) = 1
|
|
! JVRP(432) = dARP(252)/dV(73)
|
|
JVRP(432) = 1
|
|
! JVRP(433) = dARP(253)/dV(84)
|
|
JVRP(433) = 1
|
|
! JVRP(434) = dARP(254)/dV(82)
|
|
JVRP(434) = 1
|
|
! JVRP(435) = dARP(255)/dV(87)
|
|
JVRP(435) = 1
|
|
! JVRP(436) = dARP(256)/dV(25)
|
|
JVRP(436) = 1
|
|
! JVRP(437) = dARP(257)/dV(34)
|
|
JVRP(437) = V(83)
|
|
! JVRP(438) = dARP(257)/dV(83)
|
|
JVRP(438) = V(34)
|
|
! JVRP(439) = dARP(258)/dV(34)
|
|
JVRP(439) = V(83)
|
|
! JVRP(440) = dARP(258)/dV(83)
|
|
JVRP(440) = V(34)
|
|
! JVRP(441) = dARP(259)/dV(34)
|
|
JVRP(441) = V(87)
|
|
! JVRP(442) = dARP(259)/dV(87)
|
|
JVRP(442) = V(34)
|
|
! JVRP(443) = dARP(260)/dV(20)
|
|
JVRP(443) = V(83)
|
|
! JVRP(444) = dARP(260)/dV(83)
|
|
JVRP(444) = V(20)
|
|
! JVRP(445) = dARP(261)/dV(89)
|
|
JVRP(445) = 1
|
|
! JVRP(446) = dARP(262)/dV(82)
|
|
JVRP(446) = 1
|
|
! JVRP(447) = dARP(263)/dV(17)
|
|
JVRP(447) = 1
|
|
! JVRP(448) = dARP(264)/dV(28)
|
|
JVRP(448) = 1
|
|
! JVRP(449) = dARP(265)/dV(69)
|
|
JVRP(449) = 1
|
|
! JVRP(450) = dARP(266)/dV(69)
|
|
JVRP(450) = 1
|
|
! JVRP(451) = dARP(267)/dV(56)
|
|
JVRP(451) = 1
|
|
! JVRP(452) = dARP(268)/dV(24)
|
|
JVRP(452) = 1
|
|
! JVRP(453) = dARP(269)/dV(29)
|
|
JVRP(453) = 1
|
|
! JVRP(454) = dARP(270)/dV(87)
|
|
JVRP(454) = 1
|
|
! JVRP(455) = dARP(271)/dV(87)
|
|
JVRP(455) = 1
|
|
! JVRP(456) = dARP(272)/dV(25)
|
|
JVRP(456) = 1
|
|
! JVRP(457) = dARP(273)/dV(25)
|
|
JVRP(457) = 1
|
|
! JVRP(458) = dARP(274)/dV(29)
|
|
JVRP(458) = 1
|
|
! JVRP(459) = dARP(275)/dV(71)
|
|
JVRP(459) = 1
|
|
! JVRP(460) = dARP(276)/dV(71)
|
|
JVRP(460) = 1
|
|
! JVRP(461) = dARP(277)/dV(21)
|
|
JVRP(461) = 1
|
|
! JVRP(462) = dARP(278)/dV(68)
|
|
JVRP(462) = 1
|
|
! JVRP(463) = dARP(279)/dV(49)
|
|
JVRP(463) = 1
|
|
! JVRP(464) = dARP(280)/dV(49)
|
|
JVRP(464) = 1
|
|
! JVRP(465) = dARP(281)/dV(76)
|
|
JVRP(465) = 1
|
|
! JVRP(466) = dARP(283)/dV(50)
|
|
JVRP(466) = 1
|
|
! JVRP(467) = dARP(286)/dV(75)
|
|
JVRP(467) = 1
|
|
! JVRP(468) = dARP(287)/dV(75)
|
|
JVRP(468) = 1
|
|
! JVRP(469) = dARP(288)/dV(77)
|
|
JVRP(469) = 1
|
|
! JVRP(470) = dARP(289)/dV(77)
|
|
JVRP(470) = 1
|
|
! JVRP(471) = dARP(290)/dV(77)
|
|
JVRP(471) = 1
|
|
! JVRP(472) = dARP(291)/dV(80)
|
|
JVRP(472) = 1
|
|
! JVRP(473) = dARP(292)/dV(80)
|
|
JVRP(473) = 1
|
|
! JVRP(474) = dARP(293)/dV(61)
|
|
JVRP(474) = 1
|
|
! JVRP(475) = dARP(294)/dV(39)
|
|
JVRP(475) = 1
|
|
! JVRP(476) = dARP(295)/dV(38)
|
|
JVRP(476) = 1
|
|
! JVRP(477) = dARP(296)/dV(35)
|
|
JVRP(477) = 1
|
|
! JVRP(478) = dARP(297)/dV(31)
|
|
JVRP(478) = 1
|
|
! JVRP(479) = dARP(298)/dV(32)
|
|
JVRP(479) = 1
|
|
! JVRP(480) = dARP(299)/dV(30)
|
|
JVRP(480) = 1
|
|
! JVRP(481) = dARP(300)/dV(37)
|
|
JVRP(481) = 1
|
|
! JVRP(482) = dARP(301)/dV(33)
|
|
JVRP(482) = 1
|
|
! JVRP(483) = dARP(302)/dV(36)
|
|
JVRP(483) = 1
|
|
! JVRP(484) = dARP(304)/dV(45)
|
|
JVRP(484) = 1
|
|
! JVRP(485) = dARP(305)/dV(41)
|
|
JVRP(485) = 1
|
|
! JVRP(486) = dARP(306)/dV(43)
|
|
JVRP(486) = 1
|
|
! JVRP(487) = dARP(307)/dV(42)
|
|
JVRP(487) = 1
|
|
! JVRP(488) = dARP(308)/dV(40)
|
|
JVRP(488) = 1
|
|
! JVRP(489) = dARP(309)/dV(26)
|
|
JVRP(489) = 1
|
|
! JVRP(490) = dARP(310)/dV(73)
|
|
JVRP(490) = 1
|
|
! JVRP(491) = dARP(311)/dV(27)
|
|
JVRP(491) = 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_adj_Parameters
|
|
USE gckpp_adj_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_adj_Parameters
|
|
USE gckpp_adj_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_adj_Stoichiom
|
|
|