- Shift analysis from raw-field q_ctl to correction-field dq_ctl = q_ctl - q_blk - Force/action/signature CCD for illusion 0.75L, 1.0L, 1.5L - Zone-restricted CCD (near_body/body_wake/sensor_zone) with spatial separation evidence - 1.5L identified as special mechanism (low action coupling, phase drift) - Karman reference data collected (q_in, q_blk) - Snapshot POD speedup (96x96 instead of 1310720x96) - Comprehensive report: docs/ccd_correction_field_report.md (412 lines) - Handover document: docs/ccd_handover.md Co-authored-by: Cursor <cursoragent@cursor.com>
110 lines
6.1 KiB
Markdown
110 lines
6.1 KiB
Markdown
# SR-CCD-OID Cross-Pipeline Mapping
|
|
|
|
## Purpose
|
|
|
|
This document maps the three analysis pipelines (SINDy-SR, CCD, OID) onto a unified chain. They are NOT competing approaches — they answer different questions at different positions along the control-to-signature pathway.
|
|
|
|
## Unified Control Analysis Chain
|
|
|
|
```
|
|
obs --[SR/SINDy]--> act --[CFD/physics]--> dq_ctl --[CCD/OID]--> force/signature
|
|
^ |
|
|
|_________________________________________________________________________|
|
|
closed loop
|
|
```
|
|
|
|
| Link | What happens | Which analysis |
|
|
|------|-------------|----------------|
|
|
| obs -> act | DRL policy maps sensor readings to control actions | **SR/SINDy** (white-box control law extraction) |
|
|
| act -> dq_ctl | Actions modify the flow field; the change relative to uncontrolled baseline is `dq_ctl` | CFD / data collection |
|
|
| dq_ctl -> force | Which correction structures most project to cylinder forces | **CCD** (force line), **OID** |
|
|
| dq_ctl -> signature | Which correction structures most determine future sensor mismatch | **CCD** (signature line), **OID** |
|
|
|
|
## Pipeline Comparison Table
|
|
|
|
| Aspect | SR / SINDy | CCD | OID / PCD |
|
|
|--------|-----------|-----|-----------|
|
|
| **Primary question** | How does the controller map observations to actions? | Which correction structures correlate most with force/action/signature? | What is the unified low-dimensional coordinate that captures observable-related structure? |
|
|
| **Input data** | Dimensionless obs and actions (time series) | `dq_ctl` fields (N snapshots x 2*NX*NY grid) + observable time series (force/action/sensor error) | POD coefficients of `dq_ctl` + observable time series |
|
|
| **Output** | Sparse symbolic control law (e.g. `a_F = 0.3*sin(u_s1)`) | CCD mode directions W, modal overlaps O_k, compactness m80, LOCO R2 | Low-dimensional coordinate z(t), observable reconstruction error |
|
|
| **Key method** | STLSQ threshold grid, G-equivariant constraints, SIN activation | POD-reduced CCD (Lyu23-inspired) | Observability Gramian / canonical correlation |
|
|
| **Current maturity** | Medium — cross-Re shared backbone found, G-equivariance validated | **Highest** — correction-field framework complete for illusion 0.75L/1.0L/1.5L with force/action/signature lines | Low-medium — framework defined, needs data alignment with CCD |
|
|
| **Validation** | Leave-one-Re-out cross-validation, closed-loop replay | LOCO (4-fold), blocked split, R2_m80 | pending alignment |
|
|
| **Key result** | Karman cloak cross-Re shared backbone exists (R2 > 0.9 for holdout 200) | 1.0L O(dqctl,dqtar)=0.913, m80=1; force/sig separated at tau=0, shared at tau_c | pending |
|
|
|
|
## Maturity by Scene
|
|
|
|
| Scene | SR/SINDy | CCD | OID |
|
|
|-------|----------|-----|-----|
|
|
| Karman cloak re50/100/200/400 | **Existing** (cross-Re backbone) | Data ready, analysis deferred | Not started |
|
|
| Illusion 0.75L | Existing | **Complete** (force/action/sig) | Partial |
|
|
| Illusion 1.0L | Existing | **Complete** (force/action/sig) | Partial |
|
|
| Illusion 1.5L | Existing | **Complete** (force/action/sig, special mechanism) | Not started |
|
|
| Steady cloak | Existing | Partial (quantitative metrics done) | Not started |
|
|
| Vortex cloak (lamb/taylor) | Existing | Not started | Not started |
|
|
|
|
## How They Assemble Into a Paper Chapter
|
|
|
|
### Chapter Structure Proposal
|
|
|
|
#### 1. Control Law Extraction (SR/SINDy)
|
|
- *Question*: What is the map from sensor observations to cylinder rotations?
|
|
- *Deliverable*: Symbolic control law for each scene, cross-scene comparison of feature usage
|
|
- *Evidence*: Leave-one-out validation, G-equivariance error < 10%
|
|
|
|
#### 2. Correction Field Analysis (CCD)
|
|
- *Question*: What flow structures does the controller actually modulate?
|
|
- *Deliverable*:
|
|
- Correction-field decomposition (`dq_ctl`)
|
|
- Force line: O(dqctl,dqtar) across diameters
|
|
- Action line: compactness m80
|
|
- Signature line: force-sig separation at zero lag, convergence at convective delay
|
|
- 1.5L special mechanism
|
|
- *Evidence*: LOCO validation R2 > 0.4 for all lines
|
|
|
|
#### 3. Low-Dimensional Coordinate (OID)
|
|
- *Question*: Can we describe controller-relevant structures in a unified low-D coordinate?
|
|
- *Deliverable*: Observable-informed coordinates z for each case, reconstruction error
|
|
- *Evidence*: Reconstruction quality vs POD-baseline
|
|
|
|
#### 4. Unified Mechanism Discussion
|
|
- Synthesize findings from all three analyses
|
|
- Key claims to support:
|
|
- Control operates by modifying pinball's existing wake (not generating new flows)
|
|
- Force-relevant correction is low-rank and target-aligned at natural scale
|
|
- Cross-scale illusion uses divergent correction paths
|
|
- Force and signature structures separate at zero lag but converge convectively
|
|
|
|
## Current Gaps by Pipeline
|
|
|
|
### SR/SINDy Gaps
|
|
- Illusion cross-diameter comparison not yet unified with CCD's correction-field framework
|
|
- Closed-loop validation of extracted control laws needs systematic comparison
|
|
|
|
### CCD Gaps
|
|
- Karman cloak analysis deferred (data ready, framework designed)
|
|
- Steady cloak needs closed-loop control to be meaningful
|
|
- Zone-restricted CCD not yet complete (in progress)
|
|
|
|
### OID Gaps
|
|
- Data pipeline not yet aligned with CCD's correction-field format
|
|
- No direct comparison of OID coordinates with CCD directions
|
|
- Requires full cross-analysis with existing CCD results
|
|
|
|
## Data Compatibility
|
|
|
|
All three pipelines ultimately read from the same data sources:
|
|
- `fields_aligned.npz` (96 aligned field snapshots)
|
|
- `controlled.npz` / `sensors.npz` (telemetry)
|
|
- `configs.py` (scene metadata)
|
|
|
|
The **correction-field framework** (`dq_ctl = q_ctl - q_blk`) is the standard analysis object across all three. Any analysis that uses raw `q_ctl` instead should be explicitly flagged as a cross-check.
|
|
|
|
## Recommendation
|
|
|
|
For the next phase of work:
|
|
1. **CCD** consolidates current results and adds zone-restricted analysis
|
|
2. **OID** should adopt CCD's data loading (`compute_correction_fields.py`) and correction-field protocol
|
|
3. **SR/SINDy** should align its cross-diameter comparison with CCD's correction-field O(dqctl,dqtar) results
|
|
4. A unifying figure comparing O(dqctl,dqtar) from CCD with SR control-law similarity across diameters would be powerful
|