6.5 KiB
Fig. 2 material collection: modern moving plant
Research-only child of 76873d911c4e2caba1bacc25aaa1495ea768453f.
No production/kernel/manuscript or DynamisLab edits. These are fresh common-release
paired experiments, separate from the continuous OFF/ON/OFF demonstration videos.
Fixed plant and cases
All cases use D40, Uref=.005, nu=.004, MRT/FP32/unshifted double buffering, the existing mean-parabolic/regularized inlet, NEQ outlet and bounce-back walls. One transverse assembly DOF: m*=4 based on all three disks, fnD/U=.2, zeta=0. No force filter or retuning. Existing +/-D, speed.025, nonfinite and no-donor stops. Structure RHS is previous native-step sum of pinball CME_y+Wen_y. Policy uses SI-mean packed CME and fixed lab probe signals; these are different force paths. SI=3200; EMA alpha=.9**.25 resets every SI as in the acquisition contract. Steady video used SI4000; its descriptive numbers are not the new collection.
| case | prelude/release clock | controller | collection |
|---|---|---|---|
| steady | new static pinball, 2,048,000 steps | constant wall speeds (0,-5.1,5.1)U, no PPO | 400 SI,160 D/U |
| Karman | verified saved static release at4,576,000 | historical karman_re100 PPO; actual pinball Re_D50, scale8/bias(0,-4,4) |
400 SI,160 D/U |
| Taylor y0 | clean512,000 then static pinball512,000; clock1,024,000 | vortex_taylor PPO, scale4/samebias |
150 SI,60 D/U |
Zero/control share exact current/spare populations, flags, clock and zero initial structural state. Target is a separate no-pinball reference at the SAME absolute clocks, not a copy of a solid-containing release. Its different geometry is the definition of the reference, not identical microscopic initial conditions. Karman target must run to4,576,000; old target.npy is from earlier clocks and is not reused for same-clock field errors. Model/norm files are verified by SHA256 in the driver and written with all source hashes into case.json.
Taylor injection
Exactly one event at release in every role, inside the owning synchronized CUDA context: centre(600,510.5), R80, strength .000075. Reuse the existing initializer unchanged. It rewrites ALL interior cells to equilibrium and uploads BOTH buffers; this removes existing nonequilibrium globally. The impulse and first two SI of native force/displacement remain in the record. This is a declared limitation, not an independently qualified physical vortex generator.
Strength has inverse-time units: u_theta=(spi/2)r exp(-r²/R²). D20 R40/U.01/s.0003 maps to D40 R80/U.005/s.000075 under diffusive scaling. Using .03U at D40 would double u/U and quadruple p/U²; actual-function CPU positive/negative controls lock it.
Current Horsea acquisition.py SHA
ea674080501407d00ded6d23467423c516cd37e04d166d5adda16465100204d3
defines EIGHT offsets(-20,-15,-10,-5,0,5,10,15). legacy_test/acquire.py SHA
91cd29a368dfc53a0804ec37397d2e5f25f0f8721f01b560a0f4328b8fd1dd9c
selects the controlled centre-uy event: median first20, peak over38..87 inclusive.
All roles use that common event index; own target/role peak delays are separately
reported. The earlier five-offset remote summary is superseded by actual source.
Estimands and storage
Primary: unaligned same-clock/event velocity-vector errors, Eq1
sqrt(mean_ROI((dux²+duy²)/Uref²)). No target-energy denominator. Lab ROI is
front-equilibrium-centre-relative x/D=[4,24], y/D=[-5,5], equivalent to sensor-plane
x/D=[-6,14]; D40 inclusive columns1360..2160 and rows311..710. All ROI cells must
be fluid and finite in every compared field; record support coverage.
Motion uses native last80 D/U for steady/Karman, whole60 D/U for Taylor; mean, centered RMS and half-range remain distinct. Karman complete-cycle means and eight independently phased nearest snapshots reuse actual acquisition helpers, centre-uy column3 and minimum crossing gap. Missing crossings yield unavailable phase diagnostics, never fabricated phase slots. Steady retains its last snapshot and separately labeled fixed-window mean. Field collection for steady/Karman is the last160 SI boundaries (96.4..160 D/U); motion window remains80..160 D/U. Taylor retains its eight common event snapshots. Fixed-window mean error differs from mean instantaneous error; both are labeled. Native six-channel DTW is a supplementary training-space metric, never field recovery or physical delay; its actual legacy lag uses flat sensor column1, unlike the phase helper's column3.
Use one FP32 full-grid RAM cache per role, plus compact ROI RAM histories for same-clock comparisons. Admit only with >=16GiB MemAvailable; no3.35GB disk field cache. Save only selected fields, means, explicit masks, scalars and source receipts. Nonfluid placeholders are zero-filled for helpers but always masked in plots and scores; nonfinite FLUID is a hard failure. Serialize compilation/GPU work. Verify compressed native histories before removing only redundant task scratch copies.
Plot standards: vorticity curl(u)D/U, five-point fluid stencil, common RdBu_r21bins with fixed[-3,3] limits and nearest interpolation; lab-fixed coordinates and ROI. Mean plots exclude cells that were not fluid at every collected boundary. Selected snapshots use actual step geometry. Raw arrays and scalar errors are not clipped.
V5 boundary
Standard V5 kar_re100 seeds41..45 DO exist (actual pinball Re_D50), but use
2000x600 uniform/free-slip and different absolute geometry/normalization/action
contracts. These are not silently transferred onto the present Legacy-contract
plant. No verified retained trained V5 steady/Taylor bundle was found; a vortex
environment prototype is not a trained policy. Existing V5 within-case results
may be indexed separately; cross-generation scores cannot imply an identical plant.
Execution
First run focused CPU contracts, independent source review, then each scene with
--smoke (three32-step SI per role; no physical scores). Only the reviewed exact
SHA may run physical cases, one at a time, new outputs outside the checkout:
CUDA_VISIBLE_DEVICES=3 PYTHONPATH=src python research/fig2_collection/run.py --scene karman --out /tmp/celeris-results-fig2-collection/karman
python research/fig2_collection/analyze.py /tmp/celeris-results-fig2-collection/karman
python research/fig2_collection/plot.py /tmp/celeris-results-fig2-collection/karman
Use the same invocation for steady/taylor with new output directories. No automatic extension or parameter sweep. All results are developmental material, not asserted settled/physically qualified. Preserve partial failures and distinguish missing evidence from passing gates.