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/engine/diagnostics/dynamic_engine_diagnostics.h Pages: 1 -->
2025-11-25 14:31:59 -05:00
<!-- zoomable 249 -->
2025-11-06 09:16:40 -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)" >
<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>
<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" >
2025-11-25 14:31:59 -05:00
var viewWidth = 622;
var viewHeight = 249;
2025-11-06 09:16:40 -05:00
var sectionId = 'dynsection-1';
</script>
<script type= "application/ecmascript" xlink:href= "svg.min.js" />
<svg id= "graph" class= "graph" >
<g id= "viewport" >
<title > src/include/gridfire/engine/diagnostics/dynamic_engine_diagnostics.h</title>
<!-- Node1 -->
<g id= "Node000001" class= "node" >
<title > Node1</title>
2025-11-24 09:08:28 -05:00
<g id= "a_Node000001" > <a xlink:title= "Diagnostics utilities for DynamicEngine instances." >
2025-11-25 14:31:59 -05:00
<polygon fill= "#999999" stroke= "#666666" points= "439.62,-241.25 299.88,-241.25 299.88,-199.5 439.62,-199.5 439.62,-241.25" />
<text xml:space= "preserve" text-anchor= "start" x= "307.88" y= "-227.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "start" x= "307.88" y= "-216.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /engine/diagnostics/dynamic</text>
<text xml:space= "preserve" text-anchor= "middle" x= "369.75" y= "-205.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > _engine_diagnostics.h</text>
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node2 -->
<g id= "Node000002" class= "node" >
<title > Node2</title>
2025-11-25 14:31:59 -05:00
<g id= "a_Node000002" > <a xlink:href= "engine_8h.html" target= "_top" xlink:title= "Core header for the GridFire reaction network engine module." >
<polygon fill= "white" stroke= "#666666" points= "270.5,-163.5 175,-163.5 175,-133 270.5,-133 270.5,-163.5" />
<text xml:space= "preserve" text-anchor= "start" x= "183" y= "-150" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "222.75" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /engine/engine.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-25 14:31:59 -05:00
<path fill= "none" stroke= "#63b8ff" d= "M317.01,-194.22C295.71,-184.06 271.88,-172.68 253.5,-163.92" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "315.33,-197.29 325.87,-198.44 318.35,-190.98 315.33,-197.29" />
</a>
</g>
</g>
<!-- Node8 -->
<g id= "Node000008" class= "node" >
<title > Node8</title>
<g id= "a_Node000008" > <a xlink:href= "dynamic__engine__diagnostics_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "451.25,-163.5 288.25,-163.5 288.25,-133 451.25,-133 451.25,-163.5" />
<text xml:space= "preserve" text-anchor= "start" x= "296.25" y= "-150" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/engine/diagnostics</text>
<text xml:space= "preserve" text-anchor= "middle" x= "369.75" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /dynamic_engine_diagnostics.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node8 -->
<g id= "edge9_Node000001_Node000008" class= "edge" >
<title > Node1- > Node8</title>
<g id= "a_edge9_Node000001_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M369.75,-187.63C369.75,-179.27 369.75,-170.65 369.75,-163.7" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "366.25,-187.58 369.75,-197.58 373.25,-187.58 366.25,-187.58" />
</a>
</g>
</g>
<!-- Node9 -->
<g id= "Node000009" class= "node" >
<title > Node9</title>
<g id= "a_Node000009" > <a xlink:href= "_c_v_o_d_e__solver__strategy_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "613.88,-163.5 469.62,-163.5 469.62,-133 613.88,-133 613.88,-163.5" />
<text xml:space= "preserve" text-anchor= "start" x= "477.62" y= "-150" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/solver/strategies</text>
<text xml:space= "preserve" text-anchor= "middle" x= "541.75" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /CVODE_solver_strategy.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node9 -->
<g id= "edge10_Node000001_Node000009" class= "edge" >
<title > Node1- > Node9</title>
<g id= "a_edge10_Node000001_Node000009" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M430.1,-194.77C455.36,-184.47 483.88,-172.84 505.77,-163.92" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "428.84,-191.5 420.9,-198.52 431.48,-197.99 428.84,-191.5" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node3 -->
<g id= "Node000003" class= "node" >
<title > Node3</title>
2025-11-25 14:31:59 -05:00
<g id= "a_Node000003" > <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>
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
2025-11-25 14:31:59 -05:00
<!-- 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= "M172.28,-128.65C145.36,-118.73 112.72,-106.7 87.61,-97.44" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "171.03,-131.92 181.62,-132.09 173.45,-125.35 171.03,-131.92" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node4 -->
<g id= "Node000004" class= "node" >
<title > Node4</title>
<g id= "a_Node000004" > <a xlink:href= "engine_2bindings_8cpp.html" target= "_top" xlink:title= " " >
2025-11-25 14:31:59 -05:00
<polygon fill= "white" stroke= "#666666" points= "216.25,-24.88 65.25,-24.88 65.25,-5.63 216.25,-5.63 216.25,-24.88" />
<text xml:space= "preserve" text-anchor= "middle" x= "140.75" y= "-11.38" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/python/engine/bindings.cpp</text>
</a>
</g>
</g>
<!-- Node2->Node4 -->
<g id= "edge3_Node000002_Node000004" class= "edge" >
<title > Node2- > Node4</title>
<g id= "a_edge3_Node000002_Node000004" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M173.99,-127.03C161.67,-119.49 149.92,-109.6 142.75,-97 129.57,-73.84 134.85,-40.58 138.45,-24.97" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "172.16,-130.02 182.59,-131.85 175.58,-123.91 172.16,-130.02" />
</a>
</g>
</g>
<!-- Node5 -->
<g id= "Node000005" class= "node" >
<title > Node5</title>
<g id= "a_Node000005" > <a xlink:href= "py__engine_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "383.38,-30.5 242.12,-30.5 242.12,0 383.38,0 383.38,-30.5" />
<text xml:space= "preserve" text-anchor= "start" x= "250.12" y= "-17" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/python/engine/trampoline</text>
<text xml:space= "preserve" text-anchor= "middle" x= "312.75" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /py_engine.cpp</text>
</a>
</g>
</g>
<!-- Node2->Node5 -->
<g id= "edge4_Node000002_Node000005" class= "edge" >
<title > Node2- > Node5</title>
<g id= "a_edge4_Node000002_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M270.06,-126.96C282.6,-119.35 294.83,-109.45 302.75,-97 315.56,-76.86 315.82,-48.12 314.51,-30.91" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "268.36,-123.91 261.34,-131.84 271.78,-130.01 268.36,-123.91" />
</a>
</g>
</g>
<!-- Node6 -->
<g id= "Node000006" class= "node" >
<title > Node6</title>
<g id= "a_Node000006" > <a xlink:href= "py__engine_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "293.38,-97 152.12,-97 152.12,-66.5 293.38,-66.5 293.38,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "160.12" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/python/engine/trampoline</text>
<text xml:space= "preserve" text-anchor= "middle" x= "222.75" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /py_engine.h</text>
</a>
</g>
</g>
<!-- Node2->Node6 -->
<g id= "edge5_Node000002_Node000006" class= "edge" >
<title > Node2- > Node6</title>
<g id= "a_edge5_Node000002_Node000006" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M222.75,-121.31C222.75,-113.14 222.75,-104.41 222.75,-97.33" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "219.25,-121.1 222.75,-131.1 226.25,-121.1 219.25,-121.1" />
</a>
</g>
</g>
<!-- Node7 -->
<g id= "Node000007" class= "node" >
<title > Node7</title>
<g id= "a_Node000007" > <a xlink:href= "py__policy_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "487.88,-97 349.62,-97 349.62,-66.5 487.88,-66.5 487.88,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "357.62" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/python/policy/trampoline</text>
<text xml:space= "preserve" text-anchor= "middle" x= "418.75" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /py_policy.cpp</text>
</a>
</g>
</g>
<!-- Node2->Node7 -->
<g id= "edge8_Node000002_Node000007" class= "edge" >
<title > Node2- > Node7</title>
<g id= "a_edge8_Node000002_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M278.08,-129.04C308.45,-119.05 345.61,-106.82 374.11,-97.44" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "277.07,-125.69 268.66,-132.14 279.26,-132.34 277.07,-125.69" />
</a>
</g>
</g>
<!-- Node6->Node4 -->
<g id= "edge6_Node000006_Node000004" class= "edge" >
<title > Node6- > Node4</title>
<g id= "a_edge6_Node000006_Node000004" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M195.35,-59.2C180.55,-47.56 163.09,-33.82 151.97,-25.07" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "192.93,-61.75 202.95,-65.18 197.26,-56.24 192.93,-61.75" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
2025-11-25 14:31:59 -05:00
<!-- Node6->Node5 -->
<g id= "edge7_Node000006_Node000005" class= "edge" >
<title > Node6- > Node5</title>
<g id= "a_edge7_Node000006_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M252.31,-59.57C265.44,-50.16 280.57,-39.31 292.41,-30.83" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "250.49,-56.56 244.4,-65.23 254.57,-62.25 250.49,-56.56" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
</g>
</svg>
<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= "dynamic__engine__diagnostics_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>
</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>