Puddle Lab

Interactively makes waves in a numerical puddle
11 Downloads
Updated 12 Mar 2024

View License

Interact in real time with a numerical puddle. Each mouse click (or tap on a touchscreen) iniaties a Gaussian disturbance at the location touched. You may iniate as many disturbances as you like*. As is, the disturbances will convect outwards as goverened by the standard 2D wave equation. Click on the "dispersion" box and you will see ripples, associated a 2D biharmonic operator (a surface tension term). Click on the "diffusion" box to see waves damp, in accordance with a first-derivative in time being turned-on. You may also control the strength of these properties with sliders. You may reset the puddle at any time by clicking "reset". When you are done (perhaps you wish to take a picture of what you created), click "done". The problem is solved analytically in time and using the Fourier spectral method in space (so periodic boundaries).
Using the biharmonic operator is inspired by the work of Huber et al.(2023), https://doi.org/10.1016/j.wavemoti.2022.103083.
Reccomended uses for this: (i) meditation, (ii) making art, (iii) put on a big touch display as an exhibit to teach about the properties of waves.
*A time limit is imposed (by tmax) but you can change this. I left if running and forgot about it for too long. My fan got loud. That's why its there.

Cite As

Nathaniel Barlow (2024). Puddle Lab (https://www.mathworks.com/matlabcentral/fileexchange/160936-puddle-lab), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.3

Provided credit for inspiration in code and description.

1.0.2

Same as last update. Forgot to upload new file before.

1.0.1

It now runs in matlabonline through the browser. I included a line to check for this and dock the figure.

1.0.0