98 lines
4.1 KiB
Markdown
98 lines
4.1 KiB
Markdown
# 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.
|