Skip to content

Commit 7d534a9

Browse files
authored
Merge pull request #193 from ReactionMechanismGenerator/four_party
Enabling four party reactions
2 parents 6a96ad6 + a51c178 commit 7d534a9

File tree

6 files changed

+668
-190
lines changed

6 files changed

+668
-190
lines changed

src/Domain.jl

Lines changed: 142 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2652,32 +2652,40 @@ export jacobiany!
26522652
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]
26532653
elseif @inbounds rxnarray[3,rxnind] == 0
26542654
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]
2655-
else
2655+
elseif @inbounds rxnarray[4,rxnind] == 0
26562656
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]
2657+
else
2658+
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]*cs[rxnarray[4,rxnind]]
26572659
end
26582660

2659-
if @inbounds rxnarray[5,rxnind] == 0
2660-
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[4,rxnind]]
2661-
elseif @inbounds rxnarray[6,rxnind] == 0
2662-
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]
2661+
if @inbounds rxnarray[6,rxnind] == 0
2662+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]
2663+
elseif @inbounds rxnarray[7,rxnind] == 0
2664+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2665+
elseif @inbounds rxnarray[8,rxnind] == 0
2666+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]
26632667
else
2664-
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2668+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]*cs[rxnarray[8,rxnind]]
26652669
end
26662670
else
26672671
if @inbounds rxnarray[2,rxnind] == 0
26682672
@inbounds fderiv = cs[rxnarray[1,rxnind]]
26692673
elseif @inbounds rxnarray[3,rxnind] == 0
26702674
@fastmath @inbounds fderiv = cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]
2671-
else
2675+
elseif @inbounds rxnarray[4,rxnind] == 0
26722676
@fastmath @inbounds fderiv = cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]
2677+
else
2678+
@fastmath @inbounds fderiv = cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]*cs[rxnarray[4,rxnind]]
26732679
end
26742680

2675-
if @inbounds rxnarray[5,rxnind] == 0
2676-
@fastmath @inbounds rderiv = krevs[rxnind]/kfs[rxnind]*cs[rxnarray[4,rxnind]]
2677-
elseif @inbounds rxnarray[6,rxnind] == 0
2678-
@fastmath @inbounds rderiv = krevs[rxnind]/kfs[rxnind]*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]
2681+
if @inbounds rxnarray[6,rxnind] == 0
2682+
@fastmath @inbounds rderiv = krevs[rxnind]/kfs[rxnind]*cs[rxnarray[5,rxnind]]
2683+
elseif @inbounds rxnarray[7,rxnind] == 0
2684+
@fastmath @inbounds rderiv = krevs[rxnind]/kfs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2685+
elseif @inbounds rxnarray[8,rxnind] == 0
2686+
@fastmath @inbounds rderiv = krevs[rxnind]/kfs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]
26792687
else
2680-
@fastmath @inbounds rderiv = krevs[rxnind]/kfs[rxnind]*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2688+
@fastmath @inbounds rderiv = krevs[rxnind]/kfs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]*cs[rxnarray[8,rxnind]]
26812689
end
26822690
end
26832691

@@ -2701,23 +2709,43 @@ export jacobiany!
27012709
@inbounds jacp[rxnarray[2,rxnind],rxnarray[3,rxnind]] -= gderiv
27022710
@inbounds jacp[rxnarray[3,rxnind],rxnarray[3,rxnind]] -= gderiv
27032711
@inbounds _spreadreactantpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[3,rxnind])
2712+
if @inbounds rxnarray[4,rxnind] !== 0
2713+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[1,rxnind]] -= gderiv
2714+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[2,rxnind]] -= gderiv
2715+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[3,rxnind]] -= gderiv
2716+
@inbounds jacp[rxnarray[1,rxnind],rxnarray[4,rxnind]] -= gderiv
2717+
@inbounds jacp[rxnarray[2,rxnind],rxnarray[4,rxnind]] -= gderiv
2718+
@inbounds jacp[rxnarray[3,rxnind],rxnarray[4,rxnind]] -= gderiv
2719+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[4,rxnind]] -= gderiv
2720+
@inbounds _spreadreactantpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[4,rxnind])
2721+
end
27042722
end
27052723
end
27062724

2707-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[4,rxnind]] -= gderiv
2708-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[4,rxnind])
2709-
if @inbounds rxnarray[5,rxnind] !== 0
2710-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[4,rxnind]] -= gderiv
2711-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[5,rxnind]] -= gderiv
2712-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[5,rxnind]] -= gderiv
2713-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[5,rxnind])
2714-
if @inbounds rxnarray[6,rxnind] !== 0
2715-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[4,rxnind]] -= gderiv
2716-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[5,rxnind]] -= gderiv
2717-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[6,rxnind]] -= gderiv
2718-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[6,rxnind]] -= gderiv
2719-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[6,rxnind]] -= gderiv
2720-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[6,rxnind])
2725+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[5,rxnind]] -= gderiv
2726+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[5,rxnind])
2727+
if @inbounds rxnarray[6,rxnind] !== 0
2728+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[5,rxnind]] -= gderiv
2729+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[6,rxnind]] -= gderiv
2730+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[6,rxnind]] -= gderiv
2731+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[6,rxnind])
2732+
if @inbounds rxnarray[7,rxnind] !== 0
2733+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[5,rxnind]] -= gderiv
2734+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[6,rxnind]] -= gderiv
2735+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[7,rxnind]] -= gderiv
2736+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[7,rxnind]] -= gderiv
2737+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[7,rxnind]] -= gderiv
2738+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[7,rxnind])
2739+
if @inbounds rxnarray[8,rxnind] !== 0
2740+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[5,rxnind]] -= gderiv
2741+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[6,rxnind]] -= gderiv
2742+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[7,rxnind]] -= gderiv
2743+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[8,rxnind]] -= gderiv
2744+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[8,rxnind]] -= gderiv
2745+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[8,rxnind]] -= gderiv
2746+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[8,rxnind]] -= gderiv
2747+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[8,rxnind])
2748+
end
27212749
end
27222750
end
27232751

@@ -2732,16 +2760,20 @@ end
27322760
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]
27332761
elseif @inbounds rxnarray[3,rxnind] == 0
27342762
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]
2735-
else
2763+
elseif @inbounds rxnarray[4,rxnind] == 0
27362764
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]
2765+
else
2766+
@fastmath @inbounds fderiv = kfs[rxnind]*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]*cs[rxnarray[4,rxnind]]
27372767
end
27382768

2739-
if @inbounds rxnarray[5,rxnind] == 0
2740-
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[4,rxnind]]
2741-
elseif @inbounds rxnarray[6,rxnind] == 0
2742-
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]
2769+
if @inbounds rxnarray[6,rxnind] == 0
2770+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]
2771+
elseif @inbounds rxnarray[7,rxnind] == 0
2772+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2773+
elseif @inbounds rxnarray[8,rxnind] == 0
2774+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]
27432775
else
2744-
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2776+
@fastmath @inbounds rderiv = krevs[rxnind]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]*cs[rxnarray[8,rxnind]]
27452777
end
27462778

27472779
@fastmath flux = fderiv-rderiv
@@ -2764,23 +2796,43 @@ end
27642796
@inbounds jacp[rxnarray[2,rxnind],rxnarray[3,rxnind]] -= gderiv
27652797
@inbounds jacp[rxnarray[3,rxnind],rxnarray[3,rxnind]] -= gderiv
27662798
@inbounds _spreadreactantpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[3,rxnind])
2799+
if @inbounds rxnarray[4,rxnind] !== 0
2800+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[1,rxnind]] -= gderiv
2801+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[2,rxnind]] -= gderiv
2802+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[3,rxnind]] -= gderiv
2803+
@inbounds jacp[rxnarray[1,rxnind],rxnarray[4,rxnind]] -= gderiv
2804+
@inbounds jacp[rxnarray[2,rxnind],rxnarray[4,rxnind]] -= gderiv
2805+
@inbounds jacp[rxnarray[3,rxnind],rxnarray[4,rxnind]] -= gderiv
2806+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[4,rxnind]] -= gderiv
2807+
@inbounds _spreadreactantpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[4,rxnind])
2808+
end
27672809
end
27682810
end
27692811

2770-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[4,rxnind]] -= gderiv
2771-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[4,rxnind])
2772-
if @inbounds rxnarray[5,rxnind] !== 0
2773-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[4,rxnind]] -= gderiv
2774-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[5,rxnind]] -= gderiv
2775-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[5,rxnind]] -= gderiv
2776-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[5,rxnind])
2777-
if @inbounds rxnarray[6,rxnind] !== 0
2778-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[4,rxnind]] -= gderiv
2779-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[5,rxnind]] -= gderiv
2780-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[6,rxnind]] -= gderiv
2781-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[6,rxnind]] -= gderiv
2782-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[6,rxnind]] -= gderiv
2783-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[6,rxnind])
2812+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[5,rxnind]] -= gderiv
2813+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[5,rxnind])
2814+
if @inbounds rxnarray[6,rxnind] !== 0
2815+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[5,rxnind]] -= gderiv
2816+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[6,rxnind]] -= gderiv
2817+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[6,rxnind]] -= gderiv
2818+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[6,rxnind])
2819+
if @inbounds rxnarray[7,rxnind] !== 0
2820+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[5,rxnind]] -= gderiv
2821+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[6,rxnind]] -= gderiv
2822+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[7,rxnind]] -= gderiv
2823+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[7,rxnind]] -= gderiv
2824+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[7,rxnind]] -= gderiv
2825+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[7,rxnind])
2826+
if @inbounds rxnarray[8,rxnind] !== 0
2827+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[5,rxnind]] -= gderiv
2828+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[6,rxnind]] -= gderiv
2829+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[7,rxnind]] -= gderiv
2830+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[8,rxnind]] -= gderiv
2831+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[8,rxnind]] -= gderiv
2832+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[8,rxnind]] -= gderiv
2833+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[8,rxnind]] -= gderiv
2834+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[8,rxnind])
2835+
end
27842836
end
27852837
end
27862838
end
@@ -2794,16 +2846,20 @@ end
27942846
@fastmath @inbounds fderiv = kfs[rxnind]*kfs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[1,rxnind]]
27952847
elseif @inbounds rxnarray[3,rxnind] == 0
27962848
@fastmath @inbounds fderiv = kfs[rxnind]*kfs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]
2797-
else
2849+
elseif rxnarray[4,rxnind] == 0
27982850
@fastmath @inbounds fderiv = kfs[rxnind]*kfs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]
2851+
else
2852+
@fastmath @inbounds fderiv = kfs[rxnind]*kfs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[1,rxnind]]*cs[rxnarray[2,rxnind]]*cs[rxnarray[3,rxnind]]*cs[rxnarray[4,rxnind]]
27992853
end
28002854

2801-
if @inbounds rxnarray[5,rxnind] == 0
2802-
@fastmath @inbounds rderiv = kfs[rxnind]*krevs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[4,rxnind]]
2803-
elseif @inbounds rxnarray[6,rxnind] == 0
2804-
@fastmath @inbounds rderiv = kfs[rxnind]*krevs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]
2855+
if @inbounds rxnarray[6,rxnind] == 0
2856+
@fastmath @inbounds rderiv = kfs[rxnind]*krevs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[5,rxnind]]
2857+
elseif @inbounds rxnarray[7,rxnind] == 0
2858+
@fastmath @inbounds rderiv = kfs[rxnind]*krevs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2859+
elseif @inbounds rxnarray[8,rxnind] == 0
2860+
@fastmath @inbounds rderiv = kfs[rxnind]*krevs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]
28052861
else
2806-
@fastmath @inbounds rderiv = kfs[rxnind]*krevs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[4,rxnind]]*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]
2862+
@fastmath @inbounds rderiv = kfs[rxnind]*krevs[rxnind]/(p[Nspcs+rxnind]*p[Nspcs+rxnind])*cs[rxnarray[5,rxnind]]*cs[rxnarray[6,rxnind]]*cs[rxnarray[7,rxnind]]*cs[rxnarray[8,rxnind]]
28072863
end
28082864

28092865
@fastmath flux = fderiv-rderiv
@@ -2826,23 +2882,43 @@ end
28262882
@inbounds jacp[rxnarray[2,rxnind],rxnarray[3,rxnind]] -= gderiv
28272883
@inbounds jacp[rxnarray[3,rxnind],rxnarray[3,rxnind]] -= gderiv
28282884
@inbounds _spreadreactantpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[3,rxnind])
2885+
if @inbounds rxnarray[4,rxnind] !== 0
2886+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[1,rxnind]] -= gderiv
2887+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[2,rxnind]] -= gderiv
2888+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[3,rxnind]] -= gderiv
2889+
@inbounds jacp[rxnarray[1,rxnind],rxnarray[4,rxnind]] -= gderiv
2890+
@inbounds jacp[rxnarray[2,rxnind],rxnarray[4,rxnind]] -= gderiv
2891+
@inbounds jacp[rxnarray[3,rxnind],rxnarray[4,rxnind]] -= gderiv
2892+
@inbounds jacp[rxnarray[4,rxnind],rxnarray[4,rxnind]] -= gderiv
2893+
@inbounds _spreadreactantpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[4,rxnind])
2894+
end
28292895
end
28302896
end
28312897

2832-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[4,rxnind]] -= gderiv
2833-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[4,rxnind])
2834-
if @inbounds rxnarray[5,rxnind] !== 0
2835-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[4,rxnind]] -= gderiv
2836-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[5,rxnind]] -= gderiv
2837-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[5,rxnind]] -= gderiv
2838-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[5,rxnind])
2839-
if @inbounds rxnarray[6,rxnind] !== 0
2840-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[4,rxnind]] -= gderiv
2841-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[5,rxnind]] -= gderiv
2842-
@inbounds jacp[rxnarray[4,rxnind],rxnarray[6,rxnind]] -= gderiv
2843-
@inbounds jacp[rxnarray[5,rxnind],rxnarray[6,rxnind]] -= gderiv
2844-
@inbounds jacp[rxnarray[6,rxnind],rxnarray[6,rxnind]] -= gderiv
2845-
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[6,rxnind])
2898+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[5,rxnind]] -= gderiv
2899+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[5,rxnind])
2900+
if @inbounds rxnarray[6,rxnind] !== 0
2901+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[5,rxnind]] -= gderiv
2902+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[6,rxnind]] -= gderiv
2903+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[6,rxnind]] -= gderiv
2904+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[6,rxnind])
2905+
if @inbounds rxnarray[7,rxnind] !== 0
2906+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[5,rxnind]] -= gderiv
2907+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[6,rxnind]] -= gderiv
2908+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[7,rxnind]] -= gderiv
2909+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[7,rxnind]] -= gderiv
2910+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[7,rxnind]] -= gderiv
2911+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[7,rxnind])
2912+
if @inbounds rxnarray[8,rxnind] !== 0
2913+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[5,rxnind]] -= gderiv
2914+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[6,rxnind]] -= gderiv
2915+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[7,rxnind]] -= gderiv
2916+
@inbounds jacp[rxnarray[5,rxnind],rxnarray[8,rxnind]] -= gderiv
2917+
@inbounds jacp[rxnarray[6,rxnind],rxnarray[8,rxnind]] -= gderiv
2918+
@inbounds jacp[rxnarray[7,rxnind],rxnarray[8,rxnind]] -= gderiv
2919+
@inbounds jacp[rxnarray[8,rxnind],rxnarray[8,rxnind]] -= gderiv
2920+
@inbounds _spreadproductpartials!(jacp,gderiv,rxnarray,rxnind,rxnarray[8,rxnind])
2921+
end
28462922
end
28472923
end
28482924
end

0 commit comments

Comments
 (0)