2025-11-06 09:16:40 -05:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
< !DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 13.0.1 (20250615.1724)
-->
<!-- Title: src/include/gridfire/solver/strategies/triggers/engine_partitioning_trigger.h Pages: 1 -->
2025-11-24 09:08:28 -05:00
<!-- zoomable 394 -->
2025-11-06 09:16:40 -05:00
2025-11-24 09:08:28 -05:00
<svg id= "main" version= "1.1" xmlns= "http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" xml:space= "preserve" onload= "init(evt)" >
2025-11-06 09:16:40 -05:00
<style type= "text/css" > < ![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
2025-11-24 09:08:28 -05:00
<defs >
<circle id= "rim" cx= "0" cy= "0" r= "7" />
<circle id= "rim2" cx= "0" cy= "0" r= "3.5" />
<g id= "zoomPlus" >
<use xlink:href= "#rim" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "zoomplus.mouseover" end= "zoomplus.mouseout" /> </use>
<path d= "M-4,0h8M0,-4v8" fill= "none" stroke= "white" stroke-width= "1.5" pointer-events= "none" />
</g>
<g id= "zoomMin" >
<use xlink:href= "#rim" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "zoomminus.mouseover" end= "zoomminus.mouseout" /> </use>
<path d= "M-4,0h8" fill= "none" stroke= "white" stroke-width= "1.5" pointer-events= "none" />
</g>
<g id= "arrowUp" transform= "translate(30 24)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowRight" transform= "rotate(90) translate(36 -43)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowDown" transform= "rotate(180) translate(-30 -48)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowLeft" transform= "rotate(270) translate(-36 17)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "resetDef" >
<use xlink:href= "#rim2" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "reset.mouseover" end= "reset.mouseout" /> </use>
</g>
</defs>
<script type= "application/ecmascript" >
var viewWidth = 694;
var viewHeight = 394;
var sectionId = 'dynsection-1';
</script>
2025-11-06 09:16:40 -05:00
<script type= "application/ecmascript" xlink:href= "svg.min.js" />
<svg id= "graph" class= "graph" >
2025-11-24 09:08:28 -05:00
<g id= "viewport" >
2025-11-06 09:16:40 -05:00
<title > src/include/gridfire/solver/strategies/triggers/engine_partitioning_trigger.h</title>
<!-- Node1 -->
<g id= "Node000001" class= "node" >
<title > Node1</title>
<g id= "a_Node000001" > <a xlink:title= "CVODE-specific triggers that decide when to (re)partition the reaction network engine." >
2025-11-24 09:08:28 -05:00
<polygon fill= "#999999" stroke= "#666666" points= "530.62,-385.5 390.88,-385.5 390.88,-343.75 530.62,-343.75 530.62,-385.5" />
<text xml:space= "preserve" text-anchor= "start" x= "398.88" y= "-372" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "start" x= "398.88" y= "-360.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /solver/strategies/triggers</text>
<text xml:space= "preserve" text-anchor= "middle" x= "460.75" y= "-349.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /engine_partitioning_trigger.h</text>
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node2 -->
<g id= "Node000002" class= "node" >
<title > Node2</title>
2025-11-24 09:08:28 -05:00
<g id= "a_Node000002" > <a xlink:href= "triggers_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "370.88,-307.75 244.62,-307.75 244.62,-266 370.88,-266 370.88,-307.75" />
<text xml:space= "preserve" text-anchor= "start" x= "252.62" y= "-294.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "start" x= "252.62" y= "-283" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /solver/strategies/triggers</text>
<text xml:space= "preserve" text-anchor= "middle" x= "307.75" y= "-271.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /triggers.h</text>
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id= "edge1_Node000001_Node000002" class= "edge" >
<title > Node1- > Node2</title>
<g id= "a_edge1_Node000001_Node000002" > <a xlink:title= " " >
2025-11-24 09:08:28 -05:00
<path fill= "none" stroke= "#63b8ff" d= "M409.67,-338.34C389.9,-328.55 367.57,-317.49 348.86,-308.23" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "407.88,-341.35 418.39,-342.65 410.98,-335.08 407.88,-341.35" />
</a>
</g>
</g>
<!-- Node11 -->
<g id= "Node000011" class= "node" >
<title > Node11</title>
<g id= "a_Node000011" > <a xlink:href= "_c_v_o_d_e__solver__strategy_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "532.88,-302.12 388.62,-302.12 388.62,-271.62 532.88,-271.62 532.88,-302.12" />
<text xml:space= "preserve" text-anchor= "start" x= "396.62" y= "-288.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/solver/strategies</text>
<text xml:space= "preserve" text-anchor= "middle" x= "460.75" y= "-277.38" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /CVODE_solver_strategy.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node11 -->
<g id= "edge11_Node000001_Node000011" class= "edge" >
<title > Node1- > Node11</title>
<g id= "a_edge11_Node000001_Node000011" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M460.75,-332.06C460.75,-321.69 460.75,-310.67 460.75,-302.23" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "457.25,-331.81 460.75,-341.81 464.25,-331.81 457.25,-331.81" />
</a>
</g>
</g>
<!-- Node12 -->
<g id= "Node000012" class= "node" >
<title > Node12</title>
<g id= "a_Node000012" > <a xlink:href= "engine__partitioning__trigger_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "686.38,-307.75 551.12,-307.75 551.12,-266 686.38,-266 686.38,-307.75" />
<text xml:space= "preserve" text-anchor= "start" x= "559.12" y= "-294.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/solver/strategies</text>
<text xml:space= "preserve" text-anchor= "start" x= "559.12" y= "-283" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /triggers/engine_partitioning</text>
<text xml:space= "preserve" text-anchor= "middle" x= "618.75" y= "-271.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > _trigger.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node12 -->
<g id= "edge12_Node000001_Node000012" class= "edge" >
<title > Node1- > Node12</title>
<g id= "a_edge12_Node000001_Node000012" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M513.21,-338.47C533.7,-328.65 556.88,-317.54 576.29,-308.23" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "511.96,-335.19 504.46,-342.67 514.99,-341.5 511.96,-335.19" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node3 -->
<g id= "Node000003" class= "node" >
<title > Node3</title>
2025-11-24 09:08:28 -05:00
<g id= "a_Node000003" > <a xlink:href= "strategies_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "380.25,-230 235.25,-230 235.25,-199.5 380.25,-199.5 380.25,-230" />
<text xml:space= "preserve" text-anchor= "start" x= "243.25" y= "-216.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "307.75" y= "-205.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /solver/strategies/strategies.h</text>
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id= "edge2_Node000002_Node000003" class= "edge" >
<title > Node2- > Node3</title>
<g id= "a_edge2_Node000002_Node000003" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M307.75,-254.13C307.75,-245.77 307.75,-237.15 307.75,-230.2" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "304.25,-254.08 307.75,-264.08 311.25,-254.08 304.25,-254.08" />
</a>
</g>
</g>
<!-- Node4 -->
<g id= "Node000004" class= "node" >
<title > Node4</title>
<g id= "a_Node000004" > <a xlink:href= "solver_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "355.5,-163.5 260,-163.5 260,-133 355.5,-133 355.5,-163.5" />
<text xml:space= "preserve" text-anchor= "start" x= "268" y= "-150" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "307.75" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /solver/solver.h</text>
</a>
</g>
</g>
<!-- Node3->Node4 -->
<g id= "edge3_Node000003_Node000004" class= "edge" >
<title > Node3- > Node4</title>
<g id= "a_edge3_Node000003_Node000004" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M307.75,-187.81C307.75,-179.64 307.75,-170.91 307.75,-163.83" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "304.25,-187.6 307.75,-197.6 311.25,-187.6 304.25,-187.6" />
</a>
</g>
</g>
<!-- Node5 -->
<g id= "Node000005" class= "node" >
<title > Node5</title>
<g id= "a_Node000005" > <a xlink:href= "gridfire_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "95.5,-97 0,-97 0,-66.5 95.5,-66.5 95.5,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "8" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "47.75" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /gridfire.h</text>
</a>
</g>
</g>
<!-- Node4->Node5 -->
<g id= "edge4_Node000004_Node000005" class= "edge" >
<title > Node4- > Node5</title>
<g id= "a_edge4_Node000004_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M248.73,-132.68C208.22,-122.67 153.22,-109.06 104.75,-97 101.88,-96.29 98.93,-95.55 95.95,-94.81" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "247.74,-136.04 258.28,-135.04 249.42,-129.24 247.74,-136.04" />
</a>
</g>
</g>
<!-- Node6 -->
<g id= "Node000006" class= "node" >
<title > Node6</title>
<g id= "a_Node000006" > <a xlink:href= "priming_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "238.12,-97 113.38,-97 113.38,-66.5 238.12,-66.5 238.12,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "121.38" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/engine/procedures</text>
<text xml:space= "preserve" text-anchor= "middle" x= "175.75" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /priming.cpp</text>
</a>
</g>
</g>
<!-- Node4->Node6 -->
<g id= "edge5_Node000004_Node000006" class= "edge" >
<title > Node4- > Node6</title>
<g id= "a_edge5_Node000004_Node000006" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M267.46,-127.56C247.52,-117.82 223.87,-106.26 205.58,-97.33" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "265.92,-130.7 276.44,-131.95 268.99,-124.41 265.92,-130.7" />
</a>
</g>
</g>
<!-- Node7 -->
<g id= "Node000007" class= "node" >
<title > Node7</title>
<g id= "a_Node000007" > <a xlink:href= "engine__priming_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "359.25,-97 256.25,-97 256.25,-66.5 359.25,-66.5 359.25,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "264.25" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/engine/views</text>
<text xml:space= "preserve" text-anchor= "middle" x= "307.75" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /engine_priming.cpp</text>
</a>
</g>
</g>
<!-- Node4->Node7 -->
<g id= "edge6_Node000004_Node000007" class= "edge" >
<title > Node4- > Node7</title>
<g id= "a_edge6_Node000004_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M307.75,-121.31C307.75,-113.14 307.75,-104.41 307.75,-97.33" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "304.25,-121.1 307.75,-131.1 311.25,-121.1 304.25,-121.1" />
</a>
</g>
</g>
<!-- Node8 -->
<g id= "Node000008" class= "node" >
<title > Node8</title>
<g id= "a_Node000008" > <a xlink:href= "py__solver_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "457.25,-30.5 318.25,-30.5 318.25,0 457.25,0 457.25,-30.5" />
<text xml:space= "preserve" text-anchor= "start" x= "326.25" y= "-17" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/python/solver/trampoline</text>
<text xml:space= "preserve" text-anchor= "middle" x= "387.75" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /py_solver.cpp</text>
</a>
</g>
</g>
<!-- Node4->Node8 -->
<g id= "edge7_Node000004_Node000008" class= "edge" >
<title > Node4- > Node8</title>
<g id= "a_edge7_Node000004_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M341.39,-125.93C351.54,-117.99 361.81,-108.15 368.75,-97 381.6,-76.33 385.77,-47.76 387.11,-30.73" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "339.41,-123.04 333.43,-131.79 343.56,-128.69 339.41,-123.04" />
</a>
</g>
</g>
<!-- Node9 -->
<g id= "Node000009" class= "node" >
<title > Node9</title>
<g id= "a_Node000009" > <a xlink:href= "py__solver_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "555.25,-97 416.25,-97 416.25,-66.5 555.25,-66.5 555.25,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "424.25" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/python/solver/trampoline</text>
<text xml:space= "preserve" text-anchor= "middle" x= "485.75" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /py_solver.h</text>
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
2025-11-24 09:08:28 -05:00
<!-- Node4->Node9 -->
<g id= "edge8_Node000004_Node000009" class= "edge" >
<title > Node4- > Node9</title>
<g id= "a_edge8_Node000004_Node000009" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M358.72,-128.78C386.17,-118.83 419.55,-106.74 445.21,-97.44" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "357.77,-125.4 349.56,-132.1 360.16,-131.98 357.77,-125.4" />
</a>
</g>
</g>
<!-- Node9->Node8 -->
<g id= "edge10_Node000009_Node000008" class= "edge" >
<title > Node9- > Node8</title>
<g id= "a_edge10_Node000009_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M453.98,-59.84C439.59,-50.37 422.91,-39.39 409.9,-30.83" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "451.97,-62.71 462.25,-65.28 455.82,-56.86 451.97,-62.71" />
</a>
</g>
</g>
<!-- Node10 -->
<g id= "Node000010" class= "node" >
<title > Node10</title>
<g id= "a_Node000010" > <a xlink:href= "solver_2bindings_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "624.12,-24.88 475.38,-24.88 475.38,-5.63 624.12,-5.63 624.12,-24.88" />
<text xml:space= "preserve" text-anchor= "middle" x= "549.75" y= "-11.38" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/python/solver/bindings.cpp</text>
</a>
</g>
</g>
<!-- Node9->Node10 -->
<g id= "edge9_Node000009_Node000010" class= "edge" >
<title > Node9- > Node10</title>
<g id= "a_edge9_Node000009_Node000010" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M508.12,-58.21C519.45,-46.78 532.56,-33.57 541,-25.07" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "505.9,-55.48 501.34,-65.04 510.87,-60.41 505.9,-55.48" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
</g>
</svg>
2025-11-24 09:08:28 -05:00
<g id= "navigator" transform= "translate(0 0)" fill= "#404254" >
<rect fill= "#f2f5e9" fill-opacity= "0.5" stroke= "#606060" stroke-width= ".5" x= "0" y= "0" width= "60" height= "60" />
<use id= "zoomplus" xlink:href= "#zoomPlus" x= "17" y= "9" onmousedown= "handleZoom(evt,'in')" />
<use id= "zoomminus" xlink:href= "#zoomMin" x= "42" y= "9" onmousedown= "handleZoom(evt,'out')" />
<use id= "reset" xlink:href= "#resetDef" x= "30" y= "36" onmousedown= "handleReset()" />
<use id= "arrowup" xlink:href= "#arrowUp" x= "0" y= "0" onmousedown= "handlePan(0,-1)" />
<use id= "arrowright" xlink:href= "#arrowRight" x= "0" y= "0" onmousedown= "handlePan(1,0)" />
<use id= "arrowdown" xlink:href= "#arrowDown" x= "0" y= "0" onmousedown= "handlePan(0,1)" />
<use id= "arrowleft" xlink:href= "#arrowLeft" x= "0" y= "0" onmousedown= "handlePan(-1,0)" />
</g>
<svg viewBox= "0 0 15 15" width= "100%" height= "30px" preserveAspectRatio= "xMaxYMin meet" >
<g id= "arrow_out" transform= "scale(0.3 0.3)" >
<a xlink:href= "engine__partitioning__trigger_8h__dep__incl_org.svg" target= "_base" >
<rect id= "button" ry= "5" rx= "5" y= "6" x= "6" height= "38" width= "38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id= "arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
2025-11-06 09:16:40 -05:00
</svg>
<style type= 'text/css' >
< ![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type= "application/ecmascript" > < ![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>