Folds three previously-separate pieces into one preliminary-example repo for the HAHACS thesis: - thesis/ (submodule) → gitea Thesis.git — the PhD proposal - fret-pipeline/ — FRET requirements to AIGER controller (was ~/Documents/fret_processing/; prior single-commit history abandoned per user decision) - plant-model/ — 10-state PKE + lumped T/H PWR model (was ~/Documents/PKE_Playground/; never version-controlled before) - presentations/2026DICE/ (submodule) → gitea 2026DICE.git - reachability/, hardware/ — empty placeholders for Thrust 3 and HIL - docs/architecture.md — how the discrete and continuous layers compose - claude_memory/ — session notes and scratch knowledge pattern Plant model refactored to thesis naming (x, plant, u, ref); pke_th_rhs now takes u as an explicit arg instead of reading rho_ext from the params struct. First two controllers built to the contract u = ctrl_<mode>(t, x, plant, ref): ctrl_null (baseline) and ctrl_operation (stabilizing, proportional on T_avg). Validated under a 100% -> 80% Q_sg step: ctrl_operation reduces steady-state T_avg drift ~47% vs. the unforced plant. Root CLAUDE.md emphasizes that CLAUDE.md files are living documents and that any knowledge not captured before a session ends is lost forever; claude_memory/ holds the session-level notes that haven't stabilized enough to graduate into a CLAUDE.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
82 lines
4.8 KiB
XML
82 lines
4.8 KiB
XML
<?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 14.1.4 (20260321.0153)
|
|
-->
|
|
<!-- Title: DRC_Controller Pages: 1 -->
|
|
<svg width="1047pt" height="438pt"
|
|
viewBox="0.00 0.00 1047.00 438.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 434.31)">
|
|
<title>DRC_Controller</title>
|
|
<polygon fill="white" stroke="none" points="-4,4 -4,-434.31 1043.2,-434.31 1043.2,4 -4,4"/>
|
|
<!-- s00 -->
|
|
<g id="node1" class="node">
|
|
<title>s00</title>
|
|
<ellipse fill="lightblue" stroke="black" cx="298.98" cy="-141.77" rx="141.77" ry="141.77"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="298.98" y="-150.97" font-family="Helvetica,sans-Serif" font-size="14.00">S(0,0)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="298.98" y="-135.97" font-family="Helvetica,sans-Serif" font-size="14.00">ColdShut+Heatup+LoadFollow</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="298.98" y="-120.97" font-family="Helvetica,sans-Serif" font-size="14.00">ColdShut+LoadFollow</text>
|
|
</g>
|
|
<!-- s01 -->
|
|
<g id="node2" class="node">
|
|
<title>s01</title>
|
|
<ellipse fill="lightgreen" stroke="black" cx="633.04" cy="-292.77" rx="137.53" ry="137.53"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="633.04" y="-294.47" font-family="Helvetica,sans-Serif" font-size="14.00">S(0,1)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="633.04" y="-279.47" font-family="Helvetica,sans-Serif" font-size="14.00">SCRAM+Heatup+LoadFollow</text>
|
|
</g>
|
|
<!-- s00->s01 -->
|
|
<g id="edge2" class="edge">
|
|
<title>s00->s01</title>
|
|
<path fill="none" stroke="black" d="M428.37,-200.16C450.84,-210.38 474.28,-221.04 496.93,-231.34"/>
|
|
<polygon fill="black" stroke="black" points="495.35,-234.46 505.9,-235.41 498.24,-228.09 495.35,-234.46"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="468.13" y="-223.55" font-family="Helvetica,sans-Serif" font-size="10.00">5/16</text>
|
|
</g>
|
|
<!-- s10 -->
|
|
<g id="node3" class="node">
|
|
<title>s10</title>
|
|
<ellipse fill="lightgreen" stroke="black" cx="938.26" cy="-141.77" rx="100.94" ry="100.94"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="938.26" y="-143.47" font-family="Helvetica,sans-Serif" font-size="14.00">S(1,0)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="938.26" y="-128.47" font-family="Helvetica,sans-Serif" font-size="14.00">SCRAM+LoadFollow</text>
|
|
</g>
|
|
<!-- s00->s10 -->
|
|
<g id="edge3" class="edge">
|
|
<title>s00->s10</title>
|
|
<path fill="none" stroke="black" stroke-width="2" d="M440.94,-135.92C459.29,-135.35 477.85,-134.85 495.51,-134.52 617.74,-132.26 648.35,-131.87 770.57,-134.52 787.93,-134.9 806.3,-135.5 824.26,-136.2"/>
|
|
<polygon fill="black" stroke="black" stroke-width="2" points="824.08,-139.69 834.22,-136.6 824.37,-132.7 824.08,-139.69"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="633.04" y="-136.27" font-family="Helvetica,sans-Serif" font-size="10.00">11/16</text>
|
|
</g>
|
|
<!-- s01->s10 -->
|
|
<g id="edge4" class="edge">
|
|
<title>s01->s10</title>
|
|
<path fill="none" stroke="black" stroke-width="2" d="M756.5,-231.79C782.87,-218.66 810.46,-204.92 835.92,-192.24"/>
|
|
<polygon fill="black" stroke="black" stroke-width="2" points="837.35,-195.44 844.74,-187.85 834.23,-189.17 837.35,-195.44"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="803.95" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00">always</text>
|
|
</g>
|
|
<!-- s10->s10 -->
|
|
<g id="edge5" class="edge">
|
|
<title>s10->s10</title>
|
|
<path fill="none" stroke="black" stroke-width="2" d="M916.47,-240.67C920.37,-252.78 927.64,-260.71 938.26,-260.71 945.07,-260.71 950.5,-257.46 954.54,-251.93"/>
|
|
<polygon fill="black" stroke="black" stroke-width="2" points="957.47,-253.91 958.72,-243.39 951.18,-250.83 957.47,-253.91"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="938.26" y="-262.46" font-family="Helvetica,sans-Serif" font-size="10.00">always</text>
|
|
</g>
|
|
<!-- s11 -->
|
|
<g id="node4" class="node">
|
|
<title>s11</title>
|
|
<ellipse fill="#e5e5e5" stroke="black" cx="60.1" cy="-226.77" rx="60.1" ry="60.1"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="60.1" y="-228.47" font-family="Helvetica,sans-Serif" font-size="14.00">S(1,1)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="60.1" y="-213.47" font-family="Helvetica,sans-Serif" font-size="14.00">LoadFollow</text>
|
|
</g>
|
|
<!-- init -->
|
|
<g id="node5" class="node">
|
|
<title>init</title>
|
|
<ellipse fill="black" stroke="black" cx="60.1" cy="-141.77" rx="7.2" ry="7.2"/>
|
|
</g>
|
|
<!-- init->s00 -->
|
|
<g id="edge1" class="edge">
|
|
<title>init->s00</title>
|
|
<path fill="none" stroke="black" d="M67.44,-141.77C80.19,-141.77 110.7,-141.77 145.51,-141.77"/>
|
|
<polygon fill="black" stroke="black" points="145.43,-145.28 155.43,-141.77 145.43,-138.28 145.43,-145.28"/>
|
|
</g>
|
|
</g>
|
|
</svg>
|