# AI Agent Memory — HaydenProject > AI agents working in this repo: read this file first for context, then update it when you make significant changes. --- ## Project Identity - **Repo:** https://git.molloyhome.net/mmolloy/haydenproject.git - **Branch:** main - **Owner:** Michael Molloy (dad) assisting Hayden Molloy (student) - **Course:** AERO3220 — Aerospace Engineering, undergraduate - **Assignment:** HW4, due 18 Feb 2026 --- ## What This Project Contains | File | Description | |---|---| | `AERO3220_HW4.m` | Hayden's MATLAB script — solves a coupled two-mass spring-damper system across 5 parameter cases using `ode45` and plots results | | `AERO3220_HW4.pdf` | Professor's original assignment PDF (image-compressed, not OCR-extractable) | | `AERO3220_HW4_block_diagram.md` | Block diagram document created by AI agent — see section breakdown below | | `.gitignore` | MATLAB + macOS ignores: `.DS_Store`, `*.pdf.png`, `*.asv`, `*.m~`, `slprj/`, `*.mex*`, `profile_results/` | --- ## Physics Summary (AERO3220 HW4) Two-mass spring-damper system. State vector: `x = [z1, z1dot, z2, z2dot]`. Equations of motion: - Mass 1 (top, unforced): `m1*z1ddot + k1*(z1-z2) = 0` - Mass 2 (bottom, forced): `m2*z2ddot + b*z2dot + (k1+k2)*z2 - k1*z1 = u(t)` Parameters: - `k1 = 100 N/m`, `k2 = 50 N/m`, `m1 = 500 kg`, `m2 = 250 kg` - Time: `t = 0` to `200 s`, `dt = 0.01 s` - Initial conditions: all zero Five simulation cases varying damping `b` and forcing `F`: | Case | b (N·s/m) | Force u(t) | |---|---|---| | 1 | 100 | 100 N constant | | 2 | 100 | 100 sin(0.25t) N | | 3 | 0 | 100 sin(0.25t) N | | 4 | 100 | 100 sin(0.50t) N | | 5 | 0 | 100 sin(0.50t) N | --- ## Block Diagram File Sections `AERO3220_HW4_block_diagram.md` contains: 1. **Program Flow Block Diagram** — Mermaid flowchart of the MATLAB script execution (setup → 5 cases → 5 plots) 2. **ODE Model** — LaTeX equations for z1ddot and z2ddot 3. **System Equations Block Diagram** — Mermaid diagram of coupled dynamics signal flow (not a flowchart) 4. **Transfer Function Block Diagram Form** — Mermaid diagram with explicit gain blocks, integrator `1/s` blocks, and summation nodes. Includes Laplace-domain relations Z1(s) and Z2(s). 5. **Coupled State Space Form** — LaTeX `xdot = Ax + Bu` with full A and B matrices 6. **Assignment-Style Block Diagram** — Mermaid flowchart with a loop over cases (submission-oriented) 7. **Solver Subsystem** — Mermaid diagram zoomed into `eom_two_mass` internals --- ## Known Mermaid Rendering Constraints The repo viewer (Gitea at git.molloyhome.net) uses a strict Mermaid parser. These constructs **break rendering**: - Square brackets `[...]` inside node labels (e.g. vector notation) — use plain text or parentheses-free descriptions - Parentheses `(...)` inside `[...]` node labels — replace with plain text equivalents - Math superscripts like `^T` inside labels — write out in words Always test Mermaid node labels with plain alphanumeric text and spaces only inside `[...]` blocks. --- ## Conversation History Summary 1. Michael shared the PDF (assignment) and `.m` file (Hayden's code). 2. AI read the MATLAB file and created `AERO3220_HW4_block_diagram.md` as a Mermaid flowchart of program flow. 3. Repo repointed to `https://git.molloyhome.net/mmolloy/haydenproject.git` (no prior remote existed), committed and pushed. 4. `.gitignore` added for MATLAB/macOS artifacts, committed and pushed. 5. Several Mermaid parse errors fixed iteratively (square brackets, parentheses in labels). 6. Hayden clarified: he wanted a **system equations** block diagram, not a program flowchart. 7. Added system-equations diagram, state-space form, and transfer-function block diagram with `1/s` integrator blocks and gain blocks. 8. This `MEMORY.md` and `README.md` created and pushed. --- ## Agent Update Instructions - After any meaningful change (new diagram, physics correction, new file), update the **Conversation History Summary** and **Block Diagram File Sections** tables above. - If Mermaid parse errors are encountered, add the pattern to **Known Mermaid Rendering Constraints**. - Do not remove prior history entries — append new ones.