HomeEnergy & ThermodynamicsWave Energy Converter: Time-Domain Heave & Resonance Curve (2D)

Wave Energy Converter: Time-Domain Heave & Resonance Curve (2D)

Interactive 2D side-view wave energy converter: a heaving buoy is integrated forward in time (RK4) against an incident wave while an independently derived closed-form frequency-response (RAO) curve is swept live, so you can watch the buoy's own time-averaged power converge onto its predicted point on the analytic resonance curve as you tune natural period and PTO damping.

Energy & Thermodynamics2DAdvanced60 FPS📱 Mobile-adapted⇄ 3D version
2d-wave-energy-converter-oscillating-buoy ↗ Open standalone

This 2D companion to the 3D oscillating-buoy simulator models the same heaving point-absorber physics — a spring-mass-damper system driven by an incident wave — but computes it two independent ways at once. A side-view canvas integrates the buoy's equation of motion forward in time with a fourth-order Runge-Kutta stepper, exactly like a real wave-tank measurement would be read off a position sensor. Underneath it, a second panel sweeps the same equation's closed-form steady-state solution across every wave period from 4 to 16 seconds, drawing the buoy's full resonance (RAO) curve in one shot — something no amount of watching the time-domain animation alone could show. As you tune the buoy's natural period and PTO damping, a marker tracks where the time-stepped engine's own converged power sits on that analytic curve, so you can watch the two independently computed answers agree in real time.

⚙ Under the hood

Side-view heaving buoy integrated forward in time with RK4 alongside an independently derived closed-form resonance (RAO) curve swept live across wave periods, so the time-stepped engine's converged power can be checked against the analytic solution point by point.

wave energyrenewable energyresonanceocean engineeringfluid dynamicspower take-offRK4 integrationfrequency response

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)