2026-03-20 13:27:11 -04: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">
2026-09-09 12:39:53 -04:00
<!-- Generated by graphviz version 14.1.2 (20260124.0452)
2026-03-20 13:27:11 -04:00
-->
<!-- Title: src/lib/topology/topology.cpp Pages: 1 -->
2026-09-09 12:39:53 -04:00
<!-- zoomable 138 -->
2026-03-20 13:27:11 -04:00
2026-09-09 12:39:53 -04: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)" >
2026-03-20 13:27:11 -04: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>
2026-09-09 12:39:53 -04: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 = 722;
var viewHeight = 138;
var sectionId = 'dynsection-0';
</script>
2026-03-20 13:27:11 -04:00
<script type= "application/ecmascript" xlink:href= "svg.min.js" />
<svg id= "graph" class= "graph" >
2026-09-09 12:39:53 -04:00
<g id= "viewport" >
2026-03-20 13:27:11 -04:00
<title > src/lib/topology/topology.cpp</title>
<!-- Node1 -->
<g id= "Node000001" class= "node" >
<title > Node1</title>
<g id= "a_Node000001" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<polygon fill= "#999999" stroke= "#666666" points= "367.25,-129.75 228.25,-129.75 228.25,-110.5 367.25,-110.5 367.25,-129.75" />
<text xml:space= "preserve" text-anchor= "middle" x= "297.75" y= "-116.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/topology/topology.cpp</text>
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node2 -->
<g id= "Node000002" class= "node" >
<title > Node2</title>
<g id= "a_Node000002" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "59.5,-74.5 0,-74.5 0,-55.25 59.5,-55.25 59.5,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "29.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > mfem.hpp</text>
2026-03-20 13:27:11 -04: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= " " >
2026-09-09 12:39:53 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M249.43,-110.08C205.48,-101.76 138.54,-88.9 71.21,-74.97" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "71.95,-71.55 61.45,-72.94 70.53,-78.4 71.95,-71.55" />
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node3 -->
<g id= "Node000003" class= "node" >
<title > Node3</title>
<g id= "a_Node000003" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "120.25,-74.5 77.25,-74.5 77.25,-55.25 120.25,-55.25 120.25,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "98.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > vector</text>
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node1->Node3 -->
<g id= "edge2_Node000001_Node000003" class= "edge" >
<title > Node1- > Node3</title>
<g id= "a_edge2_Node000001_Node000003" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M262.41,-110.03C230.52,-101.77 182.03,-89.09 131.77,-75.3" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "132.72,-71.93 122.15,-72.64 130.86,-78.67 132.72,-71.93" />
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node4 -->
<g id= "Node000004" class= "node" >
<title > Node4</title>
<g id= "a_Node000004" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "189.38,-74.5 138.12,-74.5 138.12,-55.25 189.38,-55.25 189.38,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "163.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > memory</text>
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node1->Node4 -->
<g id= "edge3_Node000001_Node000004" class= "edge" >
<title > Node1- > Node4</title>
<g id= "a_edge3_Node000001_Node000004" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M275.02,-110.09C253.65,-101.6 221.41,-88.79 197.12,-79.14" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "198.59,-75.95 188,-75.51 196,-82.46 198.59,-75.95" />
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node5 -->
<g id= "Node000005" class= "node" >
<title > Node5</title>
2026-09-09 12:39:53 -04:00
<g id= "a_Node000005" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "250.25,-74.5 207.25,-74.5 207.25,-55.25 250.25,-55.25 250.25,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "228.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > cmath</text>
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node1->Node5 -->
<g id= "edge4_Node000001_Node000005" class= "edge" >
<title > Node1- > Node5</title>
<g id= "a_edge4_Node000001_Node000005" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M286.05,-110.09C275.97,-102.32 261.21,-90.92 249.19,-81.65" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "251.54,-79.04 241.48,-75.7 247.26,-84.58 251.54,-79.04" />
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node6 -->
<g id= "Node000006" class= "node" >
<title > Node6</title>
<g id= "a_Node000006" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "327.12,-74.5 268.38,-74.5 268.38,-55.25 327.12,-55.25 327.12,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "297.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > stdexcept</text>
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
<!-- Node1->Node6 -->
<g id= "edge5_Node000001_Node000006" class= "edge" >
<title > Node1- > Node6</title>
<g id= "a_edge5_Node000001_Node000006" > <a xlink:title= " " >
2026-09-09 12:39:53 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M297.75,-110.33C297.75,-103.82 297.75,-94.67 297.75,-86.37" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "301.25,-86.37 297.75,-76.37 294.25,-86.37 301.25,-86.37" />
</a>
</g>
</g>
<!-- Node7 -->
<g id= "Node000007" class= "node" >
<title > Node7</title>
<g id= "a_Node000007" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "400.62,-74.5 344.88,-74.5 344.88,-55.25 400.62,-55.25 400.62,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "372.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > algorithm</text>
</a>
</g>
</g>
<!-- Node1->Node7 -->
<g id= "edge6_Node000001_Node000007" class= "edge" >
<title > Node1- > Node7</title>
<g id= "a_edge6_Node000001_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M310.47,-110.09C321.46,-102.29 337.59,-90.84 350.68,-81.54" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "352.6,-84.47 358.73,-75.83 348.55,-78.76 352.6,-84.47" />
</a>
</g>
</g>
<!-- Node8 -->
<g id= "Node000008" class= "node" >
<title > Node8</title>
<g id= "a_Node000008" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "458.38,-74.5 419.12,-74.5 419.12,-55.25 458.38,-55.25 458.38,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "438.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > limits</text>
</a>
</g>
</g>
<!-- Node1->Node8 -->
<g id= "edge7_Node000001_Node000008" class= "edge" >
<title > Node1- > Node8</title>
<g id= "a_edge7_Node000001_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M321.67,-110.09C345.49,-101.1 382.14,-87.25 408.09,-77.46" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "409.29,-80.74 417.41,-73.94 406.82,-74.19 409.29,-80.74" />
</a>
</g>
</g>
<!-- Node9 -->
<g id= "Node000009" class= "node" >
<title > Node9</title>
<g id= "a_Node000009" > <a xlink:href= "config_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "583.12,-74.5 476.38,-74.5 476.38,-55.25 583.12,-55.25 583.12,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "529.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > stroid/config/config.h</text>
</a>
</g>
</g>
<!-- Node1->Node9 -->
<g id= "edge8_Node000001_Node000009" class= "edge" >
<title > Node1- > Node9</title>
<g id= "a_edge8_Node000001_Node000009" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M337.37,-110.03C376.57,-101.03 436.73,-87.23 479.32,-77.45" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "479.86,-80.92 488.82,-75.27 478.29,-74.1 479.86,-80.92" />
</a>
</g>
</g>
<!-- Node15 -->
<g id= "Node000015" class= "node" >
<title > Node15</title>
<g id= "a_Node000015" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "714.12,-74.5 601.38,-74.5 601.38,-55.25 714.12,-55.25 714.12,-74.5" />
<text xml:space= "preserve" text-anchor= "middle" x= "657.75" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > fourdst/config/config.h</text>
</a>
</g>
</g>
<!-- Node1->Node15 -->
<g id= "edge14_Node000001_Node000015" class= "edge" >
<title > Node1- > Node15</title>
<g id= "a_edge14_Node000001_Node000015" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M359.23,-110.03C423.3,-100.55 523.43,-85.74 589.81,-75.92" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "590.1,-79.42 599.48,-74.49 589.08,-72.5 590.1,-79.42" />
</a>
</g>
</g>
<!-- Node10 -->
<g id= "Node000010" class= "node" >
<title > Node10</title>
<g id= "a_Node000010" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "423.38,-19.25 378.12,-19.25 378.12,0 423.38,0 423.38,-19.25" />
<text xml:space= "preserve" text-anchor= "middle" x= "400.75" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > cstdint</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= "M507.87,-54.84C487.39,-46.39 456.54,-33.65 433.19,-24.02" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "434.72,-20.86 424.14,-20.28 432.05,-27.33 434.72,-20.86" />
</a>
</g>
</g>
<!-- Node11 -->
<g id= "Node000011" class= "node" >
<title > Node11</title>
<g id= "a_Node000011" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "491.62,-19.25 441.88,-19.25 441.88,0 491.62,0 491.62,-19.25" />
<text xml:space= "preserve" text-anchor= "middle" x= "466.75" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > optional</text>
</a>
</g>
</g>
<!-- Node9->Node11 -->
<g id= "edge10_Node000009_Node000011" class= "edge" >
<title > Node9- > Node11</title>
<g id= "a_edge10_Node000009_Node000011" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M519.06,-54.84C510.05,-47.22 496.92,-36.12 486.07,-26.95" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "488.33,-24.28 478.44,-20.5 483.81,-29.63 488.33,-24.28" />
</a>
</g>
</g>
<!-- Node12 -->
<g id= "Node000012" class= "node" >
<title > Node12</title>
<g id= "a_Node000012" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "549.75,-19.25 509.75,-19.25 509.75,0 549.75,0 549.75,-19.25" />
<text xml:space= "preserve" text-anchor= "middle" x= "529.75" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > string</text>
</a>
</g>
</g>
<!-- Node9->Node12 -->
<g id= "edge11_Node000009_Node000012" class= "edge" >
<title > Node9- > Node12</title>
<g id= "a_edge11_Node000009_Node000012" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M529.75,-55.08C529.75,-48.57 529.75,-39.42 529.75,-31.12" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "533.25,-31.12 529.75,-21.12 526.25,-31.12 533.25,-31.12" />
</a>
</g>
</g>
<!-- Node13 -->
<g id= "Node000013" class= "node" >
<title > Node13</title>
<g id= "a_Node000013" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "611.62,-19.25 567.88,-19.25 567.88,0 611.62,0 611.62,-19.25" />
<text xml:space= "preserve" text-anchor= "middle" x= "589.75" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > format</text>
</a>
</g>
</g>
<!-- Node9->Node13 -->
<g id= "edge12_Node000009_Node000013" class= "edge" >
<title > Node9- > Node13</title>
<g id= "a_edge12_Node000009_Node000013" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M539.93,-54.84C548.51,-47.22 561.02,-36.12 571.35,-26.95" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "573.43,-29.79 578.59,-20.53 568.79,-24.55 573.43,-29.79" />
</a>
</g>
</g>
<!-- Node14 -->
<g id= "Node000014" class= "node" >
<title > Node14</title>
<g id= "a_Node000014" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "681.38,-19.25 630.12,-19.25 630.12,0 681.38,0 681.38,-19.25" />
<text xml:space= "preserve" text-anchor= "middle" x= "655.75" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > sstream</text>
</a>
</g>
</g>
<!-- Node9->Node14 -->
<g id= "edge13_Node000009_Node000014" class= "edge" >
<title > Node9- > Node14</title>
<g id= "a_edge13_Node000009_Node000014" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M551.12,-54.84C571.04,-46.43 600.99,-33.77 623.75,-24.15" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "625.03,-27.41 632.88,-20.29 622.3,-20.96 625.03,-27.41" />
2026-03-20 13:27:11 -04:00
</a>
</g>
</g>
</g>
</svg>
2026-09-09 12:39:53 -04: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= "topology_8cpp__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>
2026-03-20 13:27:11 -04: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>