refactor(workflow): update JFM research workflow and remove obsolete figures

Revise the JFM research workflow documentation to clarify project structure, decision-making processes, and tool routing. Remove outdated figures and images that are no longer relevant to the current manuscript. Ensure that the workflow aligns with the latest research objectives and safety protocols.
This commit is contained in:
Frank14f
2026-08-11 21:25:33 +08:00
parent 0ade812864
commit 1a8b994a03
101 changed files with 5757 additions and 23827 deletions
@@ -0,0 +1,172 @@
# Section 6 figure specifications — Kármán mean fields and CCD
**Status:** textual production specification. Inventory and existing drafts do not imply manuscript-panel readiness.
## Shared scientific identity
- **Physical case:** periodic Kármán cloak, parabolic-inflow/no-slip-wall channel configuration; inherited code label 100 retained in provenance only; use a neutral reference source-case label pending velocity-reference authority.
- **Mean-field roles:** target, physical zero, constant reference at the exact retained DRL physical action mean, and DRL.
- **Primary mean estimand:** coordinate-weighted vector RMS target error of retained role means on the exact four-role common solver-fluid mask, inclusive `34<=x/D<=54`, `|y/D|<=5`, 80,200 fluid points. Persisted velocity is already nondimensional.
- **Residual identity:** separately centred DRL cycle/bin field minus the separate constant-control 19-cycle ensemble phase template; 19 DRL cycles × 10 bins, `N=190`, no cross-role pairing.
- **Internal provenance only:** current corrected result and publication paths may retain internal chain identifiers; captions use the physical configuration above.
## S6-1 — Mean streamwise correction and vector-error accounting
### Argumentative job
Show the physically legible streamwise pattern first—passive deficit relative to target and controlled addition relative to physical zero—then bind it to the exact two-component scalar error-reduction estimand. Establish mean dominance without calling it a physical/causal contribution.
### Exact layout
- **Top row, four equal field panels (ad):** `mean_target[u_x]`, `mean_zero[u_x]`, `mean_constant_mean[u_x]`, `mean_drl[u_x]`.
- **Bottom-left, two wider signed-difference panels (ef):** `mean_zero[u_x] - mean_target[u_x]`; `mean_drl[u_x] - mean_zero[u_x]`.
- **Bottom-right, one compact ledger (g):** target-error markers/bars at zero `0.4694352273`, constant `0.1110140739`, DRL `0.0857787860`; ordered brackets `zero→constant=0.3584211534`, `constant→DRL=0.0252352879`, total `0.3836564413`; labels `93.42%` and `6.58%` explicitly as shares of the measured scalar error reduction.
- Crop every field to the declared ROI; show body/ROI context only in a small locator inset if needed, because bodies lie upstream of this ROI.
### Variables and subtraction order
- Panels (ad): retained mean streamwise velocity, not speed or vector magnitude.
- Panel (e): **physical zero minus target**. Negative values denote lower streamwise velocity than target under the repository coordinate/sign convention.
- Panel (f): **DRL minus physical zero**. Positive values denote streamwise velocity added relative to passive zero.
- The two fields are compared visually as signed complements; do not label one as an exact negative of the other.
- Ledger uses both `u_x` and `u_y`; it is not computed from panels (ef) alone.
### Roles, case, metric, ROI, mask and window
- Roles: target / physical zero / constant reference / DRL from one corrected four-role campaign.
- Case/configuration: periodic Kármán cloak, parabolic inflow and no-slip channel walls, inherited code label 100.
- Metric: `E_r=[sum_K w_k ||mean(q_r)-q_target||_2^2/sum_K w_k]^(1/2)`; coordinate weights duplicated across both velocity components.
- ROI/mask: inclusive `34<=x/D<=54`, `|y/D|<=5`; exact intersection of all four solver-derived fluid masks; 80,200 points.
- Window: retained means bound by the corrected role campaigns; do not substitute Section-4 complete-cycle standardized means. Exact retained role/window provenance must be copied into the final production manifest: role identities, parent source leaves and hashes, retained row/slice bounds, cycle/bin windows, mask/weight contract, array orientation/transposition, render command/revision, crop/scale/clipping, and output hashes. Until that record exists, production remains dependency-gated.
### Data and artifact sources
- Exact arrays: `/home/frank14f/optane/DynamisLab/ccd/karman-dynamic/canonical/results/roi-mean/arrays.npz`.
- Result summary/manifest: same directory `summary.json`, `manifest.json`; source manifest hash `f7f6141042678e52314a4d8f76d589108da8e844c8ce504f8f523a6f88a17e73`.
- Repository authority: `src/CCD_analysis/{RESULTS_INDEX.md,FINAL_RESULTS.md,MATHEMATICAL_DERIVATION.md,FIGURES_AND_DATA.md}` and `src/CCD_analysis/karman_dynamic/{CORRECTED_MATH_CONTRACT.md,dynamic_increment.py,publication.py}`.
- Existing drafts: external and repository reader copy `publication-review-fix-per-cycle-20260808T1736+0800/{01_roi_mean_performance,02_roi_mean_target_error_fields,03_roi_mean_corrections}.{png,pdf}`.
- Existing render source: `src/CCD_analysis/karman_dynamic/publication.py`.
### Readiness
- **Arrays/values:** ready and authority-bound.
- **Existing useful panels:** draft-ready only. `02` already contains `zero-target` for `u_x/u_y`; `01` supplies the scalar ledger; `03` supplies `constant-zero` and `DRL-constant` but not the requested `DRL-zero`.
- **Requested composite:** dependency-gated new render. `DRL-zero` must be directly calculated as `mean_drl - mean_zero` from the stored means and recorded in a future output manifest with input paths/hashes, subtraction order, units, orientation and output hash; no substitution by `DRL-constant` is allowed. No CFD or new scientific estimator is required.
- **Independent sign check:** weighted ROI mean-$u_x$ cosine of requested fields `-0.9961` and relative residual `0.1662` were computed read-only for design verification. Do not print these values unless the coordinator extends current claim authority.
### Color and sign conventions
- Four absolute mean-$u_x$ panels: one shared sequential or diverging scale chosen from all four arrays; label units/nondimensionalization exactly from authority. If a sequential scale obscures deviations, use a physically meaningful common scale but never independently autoscale roles.
- Difference panels: one shared symmetric diverging scale centred at zero, preferably `RdBu_r`; positive must mean the named first role has larger `u_x` under the printed subtraction.
- Mask non-fluid cells; transpose stored `(x,y)` arrays for plotting. Never infer sign from color without a labelled color bar.
- Optional zero contours on both difference panels should use identical styling.
### Caption claim
“Relative to the target, the passive pinball produces a downstream mean-streamwise deficit over much of the declared wake ROI, while DRL adds a largely opposite-signed streamwise correction relative to physical zero. This pattern is compatible with adding streamwise velocity where the passive configuration produces a deficit. The scalar ledger evaluates both velocity components on the exact common mask: the constant reference accounts for 93.42% of the measured zero-to-DRL scalar mean-field error reduction and the constant-to-DRL increment accounts for the remaining 6.58%.”
### Explicit non-claims
No momentum restoration; no exact cancellation; no closed momentum/energy budget; no causal actuator effect; no mechanism; no physical contribution percentage; no energy/explained variance; no SR-term share; no Section-4 replication/agreement; no cross-case universality.
### Supplement fallback
If the seven-panel composition is illegible, retain panels (eg) in main text and move the four absolute means to Supplement S6-S0. If raw composite production fails, use the existing scalar ledger plus `zero-target` draft and state that `DRL-zero` is omitted; do not substitute `DRL-constant` under the wrong label.
## S6-2 — Non-paired residual and action-coordinate phase organization
### Argumentative job
Explain what CCD adds after the mean ledger: a low-rank representation of the separately centred residual associated with action coordinates and organized over phase. Keep the result descriptive and avoid a mode gallery.
### Exact layout
- **Panel (a), left 25%:** residual construction schematic with the equation `U_(c,b)=(q^D_(c,b)-bar q_D)-(hat q^C_b-bar q_C)`, `19×10`, and a visible “cycles not paired” annotation.
- **Panel (b), centre 25%:** compact 3×3 action-coordinate matrix or bars: rows `front`, `rear-symmetric`, `rear-antisymmetric`; columns modes 13. State global mode-sign arbitrariness.
- **Panels (cd), right 50%:** rank-3 mean residual reconstructions at two registered representative phase bins nearest `0` and `pi` (use four bins nearest `0,pi/2,pi,3pi/2` only if final-size legibility passes). Show signed `u_x`; use the exact registered bins from `representative_phase_bins`.
- Do not include all individual mode fields in main text. A small rank/stability note may state `rank 3`, not singular-strength shares.
### Variables, roles and estimand
- Field residual uses both velocity components internally; displayed phase reconstruction is `u_x` and must be labelled as a component view.
- Constant phase template is the ensemble mean over its own 19 cycles. DRL and constant cycles are not paired.
- Observable is same-boundary DRL effective action in native front/upper/lower order, exact retained physical action mean removed, then empirical centering.
- Operator: `A=P_c(W^(1/2)U_c)^T/(N sqrt(3))`, `N=190`, `Q=1`; no whitening, standardization, lag, wrap or POD preprojection.
### Domain, source and readiness
- Preferred display domain: pinball-inclusive `29<=x/D<=54`, `|y/D|<=5`, exact common-fluid mask, 99,264 points, `M=198528`.
- Preferred result: `/home/frank14f/optane/DynamisLab/ccd/karman-dynamic/canonical/results/pinball-domain-20260809T1925+0800/`, manifest hash `7e107a895364ed3e34abf2be513a3ce9e12736766ec6383c5b831891802d5828`.
- Repository plot arrays: `src/CCD_analysis/data/karman-dynamic/canonical/publication-pinball-domain-20260809T1925+0800/plot_data.npz` and `plot_data.json`.
- Existing drafts: `01_domain_estimand`, `02_ccd_mode_identity`, `03_phase_reconstruction`, `04_raw_pod_vs_ccd` PNG/PDF groups.
- Render sources: `src/CCD_analysis/karman_dynamic/{domain_comparison.py,mode_diagnostics.py,pod_baseline.py}`; standalone single-mode redraw helper `src/CCD_analysis/plot_ccd.py` is insufficient for the full composite.
- **Readiness:** source arrays and existing views ready; manuscript recomposition dependency-gated. Phase panels may be extracted/redrawn without new CFD. The residual schematic is specification-ready.
### Color and sign conventions
- Phase residual `u_x`: one shared robust symmetric diverging limit across selected phases, centred at zero.
- Mode/action columns: if individual mode signs are shown, use the same sign convention as the bound publication and state that global sign is arbitrary. Physical phase sign is carried by coefficient × mode, not mode color alone.
- Stored plot arrays use `(x,y)` and require transpose for display. Overlay exact mask; body circles are geometry guides only.
### Caption claim
“After separate centring, the DRL fields are compared with an independently formed constant-control phase template; cycles are not paired. CCD associates the resulting rank-3 residual representation with centred same-boundary action coordinates and displays its phase organization. These are action-correlated correction-field modes, not causal responses or unique flow structures.”
### Explicit non-claims
No paired counterfactual; no response time/lag; no causal direction; no actuator authority; no mechanism; no wall-vorticity interpretation; no explained variance from CCD singular strengths; no individual-mode stability claim; no SR derivation; no independent triangulation.
### Supplement fallback
If action matrix plus phase fields remains crowded, main text keeps residual schematic + two phase reconstructions and moves action-coordinate matrix with all individual modes to S6-S1. Text then states the association without showing a mode gallery.
## Shared normalized readiness
Plan `specified`; repository authorities and named repository copies `read/path-confirmed`, external absolute payloads `mapped` rather than newly audited, raw-array recomputation `not-covered`; S6-1/S6-2 estimands `authority-bound` but exact retained role/window and final render-manifest provenance `dependency-gated`; render `redraw-required`; disposition `retain-with-gates`. A partial plot manifest authenticates only available diagnostics, not completeness/readiness. Caption ceiling remains descriptive/noncausal and different-estimand; fallback uses existing scalar ledger plus `zero-target`, never a substituted difference.
## S6-S1 — Raw POD boundary and CCD diagnostics (supplement)
### Argumentative job and layout
Define familiar POD as a variance/energy-optimal field organization under the declared weighted metric without action information; compare its rank-3 subspace with CCD on the same centred residual. Use a compact principal-cosine strip/table plus optional aligned POD/CCD mode pairs and stability inset. Detailed mode parity and body-local rotation proxy, if retained, belong here.
### Exact source and metric
- Same pinball-inclusive residual/domain/result as S6-2.
- Raw full-fit weighted POD Gram matrix `G=U_c^T W U_c`; no action observable selects POD.
- Principal cosines are singular values of `Phi^T W Psi`: `[0.9999616609, 0.9998971005, 0.9976439804]`.
- Minimum declared bin/cycle rank-3 stability cosine `0.9974651867`.
- Source: preferred `04_raw_pod_vs_ccd` draft and compact result arrays; math in `MATHEMATICAL_DERIVATION.md`.
### Readiness, caption and non-claims
**Readiness:** numerical and draft-view ready; publication recomposition required. Caption claim: POD and CCD span essentially the same tested rank-3 field subspace; CCD supplies action-coordinate association, not a distinct field basis. Do not claim CCD/POD superiority, exact identity, held-out prediction, independent uncertainty, unique modes, causal relevance or energy meaning for CCD singular strengths.
## S6-S2 — Optional cross-cloak signed mean-$u_x$ audit (supplement only)
### Argumentative job
Test whether the visual `zero-target` / `controlled-zero` sign pattern recurs beyond the deep case without transferring its quantitative estimand or interpretation.
### Candidate source inventory
- Linked root: `src/drl_pinball/data/reproduction` → external reproduction authority.
- Periodic `phase_fields.npz` normally stores `mean_ux`, `mean_uy` from complete cycles.
- Directly inspected available means:
- parabolic/no-slip inherited Kármán labels `karman_re50`, `karman_re100`, `karman_re200`, `karman_re400`;
- uniform/free-slip Reynolds cases `kar_re60`, five `kar_re100` controlled realizations, `kar_re200`, `kar_re400`;
- uniform/free-slip disturbance-size cases `kar_d075`, `kar_d15`, `kar_d2`.
- Existing images: `src/drl_pinball/data/reproduction_plots/{legacy,v5}/*.png` show phase-0 vorticity, not mean-$u_x$ differences.
- Scripts: `plot_reproduction_summary.py` renders phase-0 vorticity; `plot_flow_fields.py` reads complete means but renders nonnegative vector target-error magnitude, not signed mean-$u_x$ pairs.
### Required layout and per-panel contract if commissioned
For each selected case, two adjacent fields: `mean_zero[u_x]-mean_target[u_x]` and `mean_controlled[u_x]-mean_zero[u_x]`. Print physical configuration, case, controlled realization/seed, complete-cycle role windows, mask policy and scale above each pair. Use shared symmetric scale within a case pair; use one global scale across cases only after unit/nondimensionalization and range audit. Never combine configurations in a common scalar score.
### Readiness and dependencies
**Source arrays:** available for the cases listed. **Existing signed plots:** absent. **Render code:** absent for this exact panel. **Panel readiness:** **S6-S2 remains blocked** pending case selection, role/window and mask audit, nondimensionalization/scale decision, and a dedicated read-only renderer. A preliminary unweighted full-grid check found broadly opposite signs in most cases but weakening at harder/high-Re/large-disturbance conditions; it is diagnostic only and must not appear as a result.
### Caption claim and non-claims
Allowed caption after audit: “Selected periodic cloak cases show qualitatively opposing passive-deficit and controlled-minus-passive mean-streamwise patterns under their own role and window contracts.” Prohibit common quantitative complementarity, exact cancellation, universal cloak mechanism, transfer of `93.42/6.58`, transfer of the exact common-mask ROI, CCD interpretation, robustness/generalization, or momentum restoration.