The device, then the two-state model the optimizer sees. Choose a recorded plan, then play or scrub time to follow it. Panel (a) animates the acoustic cycle; panel (b) shows the state, action, flows, and costs at that time.
Loading recorded plans…
Playback 10×
Wide figure: scroll it sideways. Every number in it is repeated in the readout and tiles below.
Parcel tint: warm = compressed toward the driver, cool = expanded away · arrow width and dash speed follow the power carried · exchanger and node tint follow temperature
Cold side now
Stage cost so far · energy so far
Terminal cost at t = 300
Total objective J
Temperatures (°C): Tc blue, Th orange; gray = comparison; dashed = T*Action ut (driver amplitude) · gray dotted: comparisonObjective accumulated so far · terminal charge drawn at t = 300
Synthetic lumped teaching model with illustrative coefficients, not a measured device. The acoustic cycle is a cartoon at 1.2 Hz with an exaggerated stroke, and the piston is drawn quasi-statically, pushed in when the driver-end pressure peaks; a real device runs at hundreds of hertz, and at resonance it is the piston's velocity, not its position, that is in phase with the pressure. Plans are recorded iLQR/DDP solutions replayed as fixed open-loop sequences; scrubbing does not replan. The constant-amplitude plan is integrated in the page with the same RK4 step and checked at load against the recorded Python rollout. Because the model is deterministic and the plan is fixed, the terminal cost is known before playback. Time is counted in steps from t = 0 (the initial state) to t = 300 (the final state, one second per step); the chapter indexes the same plan from 1 to T = 301.