87 lines
5.4 KiB
Markdown
87 lines
5.4 KiB
Markdown
# Continuous VIV videos
|
|
|
|
Research-only, two separate settings, each one uninterrupted OFF -> ON -> OFF
|
|
fluid/oscillator trajectory. No production changes, topology switching, moving
|
|
checkpoint feature, retraining, force filtering, or parameter search.
|
|
|
|
The user selected separate videos because runtime topology changes are unsupported
|
|
with translating circles. This is deliberately different from the old Legacy
|
|
multi-setting video, which rebuilt solvers and transferred full state.
|
|
|
|
## Frozen physical and control contract
|
|
|
|
- Source baseline `73d3f6214e0d28ced4744665aa3bb05522aa2fa8`; D40, U=.005,
|
|
nu=.004, MRT/FP32/unshifted double-buffer. Same parabolic regularized inlet,
|
|
NEQ outlet and bounce-back walls as the retained m*=4 pair.
|
|
- Common transverse assembly: m*=4 (all three disks), fn D/U=.2, zeta=0.
|
|
Structure uses previous native-step sum CME_y+Wen_y. No policy-force averaging
|
|
is applied to this RHS. Same +/-D travel, speed, finite-state and no-donor stops.
|
|
- Each phase: Karman400 complete SI of3200, steady320 SI of4000 native steps
|
|
=160 D/U. Steady's SI follows the actual old video1000-step interval under
|
|
diffusive D40 scaling, rather than borrowing PPO's800-step interval. Total480 D/U.
|
|
No extension, retuning or replacement if steady motion/control is weak.
|
|
- Steady: canonical new-reproduce constant surface velocities
|
|
(0,-5.1,+5.1) U. This is NOT a PPO transfer. No model/normalizer is loaded.
|
|
Existing 2,048,000-step at-rest warmup precedes the free response.
|
|
- Karman: actual pinball Re_D50, historically named `karman_re100`, frozen
|
|
model `148240c1dcb8b11d8e5a0a9e991f6874c4e799c9744707bf0fb32a8efeb0468d`
|
|
and norm `534fda818c030a56960e95d0f3ac1e350d887d03db7f80f1d6453195a502b7f0`.
|
|
Use the verified static release once, at video start (clock4576000).
|
|
- Both switches occur on SI boundaries. The oscillator y/v, previous RHS,
|
|
both DDF buffers, moving geometry and solver clock are never reset. OFF still
|
|
gathers sensor/CME observations. First PPO action uses the immediately previous
|
|
complete OFF interval, unlike an independent arm's initial all-zero observation.
|
|
Deterministic feed-forward PPO has no recurrent state. EMA resets to zero each
|
|
SI, as in training/reproduction; original video's SplitAdvance also reset the
|
|
constant-steady actuation every interval. Physical OFF is exactly zero wall speed.
|
|
There is no extra transition blend. The first1 D/U after either switch is
|
|
explicitly labeled a switch transient. ON from an already moving state differs
|
|
from the previous independent pair; +/-D stops are retained without retuning.
|
|
A visual ON label means enabled control,
|
|
not a proven suppression/cloaking result.
|
|
|
|
## Video provenance and presentation
|
|
|
|
Read-only source: DynamisLab `src/drl_pinball/reproduce/continuous_video.py`, SHA256
|
|
`3bd9c777171c9e8932c78298accbb6f61a8323b0eed5938e0f56e167b3df0743`.
|
|
Approved original MP4 SHA256
|
|
`578d2cf5113429006b6919bbb8ef8ff6ce65ebcd0c056ac478f8ce2515e4cbab`.
|
|
The actual new-reproduce conversation confirms fixed-position plain-language
|
|
labels, white bars, OFF/ON toggle, rotation sectors, and 1/2/5/10/5/2/1 gears.
|
|
|
|
Only the display idiom/gear schedule are reused. Legacy population decoding,
|
|
physics, topology handoff and policy runner are not imported. Modern macroscopic
|
|
fields feed centered vorticity with all stencil nodes fluid. Fixed color limits
|
|
[-3,+3], 21 RdBu_r bins; per-frame clipping fraction retained. Box downsampling
|
|
is display-only. Both main field and enlarged inset have fixed lab coordinates;
|
|
the inset shows the equilibrium line. Actual moving centers and applied surface
|
|
speeds drive the body overlays. y/D trace has fixed +/-1 limits. No motion gain.
|
|
|
|
1280x800,30fps; first80 D/U of each phase uses the original display gear ramps,
|
|
last80 D/U uses normal cadence (800 native steps/frame =.1D/U). Every native
|
|
step and every SI is still executed. Streaming ffmpeg avoids stored PNG sequences.
|
|
Keep raw scalar histories, SI observations/actions, per-frame time/motion records,
|
|
selected keyframes, source/input hashes and terminal status. These are new
|
|
continuous runs, not an exact replay of the old independent paired histories.
|
|
|
|
## Gates and limits
|
|
|
|
CPU: switch-state/clock continuity, first ON observation, exactly zero OFF action,
|
|
SI timing despite sampling, physical scaling, schedule monotonicity, vorticity
|
|
sign/mask, fixed-coordinate mapping. Real smoke:32 warmup +3x32 response steps
|
|
on D40 (smoke SI32), all switches/encoder; not a physical comparison. Grok reviews
|
|
the exact research diff before full runs. Capture no-donor, finite state, native
|
|
RHS and all stop outcomes. Report per-phase late-half motion statistics and
|
|
raw-force limits; appearance and successful duration are not physics qualification.
|
|
|
|
Example (outputs must be new, outside checkout; select a safe GPU):
|
|
|
|
```sh
|
|
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=src python research/continuous_viv/run.py --scene steady --out /tmp/celeris-results-continuous-viv/steady
|
|
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=src python research/continuous_viv/run.py --scene karman --model /tmp/celeris-karman-viv-assets/model.zip --norm /tmp/celeris-karman-viv-assets/norm.json --release-dir /tmp/celeris-results-karman-viv-516975e/pair --out /tmp/celeris-results-continuous-viv/karman
|
|
```
|
|
|
|
Append `--smoke` and use separate output directories for the bounded gates.
|
|
The Karman smoke does not read/install the physical release. Source and review
|
|
SHA, interpreter/version and GPU resource readings belong in the execution receipt.
|