Containment
A plasma ball in a magnetic bottle, for Resolume

What it does
An FFGL effect for Resolume Arena and Avenue. A plasma is a gas hot enough that its atoms have come apart, and charged particles cannot cross a magnetic field, so a field can hold a plasma the way a bottle holds a gas. Containment makes the clip into such a plasma, a hot, dense ball, and holds it in the field of real coils standing outside the picture.
Nothing is drawn. The plasma obeys compressible ideal magnetohydrodynamics in 2.5 dimensions, solved on the GPU every frame with MUSCL–Hancock, the HLLD Riemann solver and GLM divergence cleaning. The clip's colour is frozen into the plasma and carried with its mass, and the ball glows as ρ²√T, the way a thin, hot plasma radiates.
Each part of the look is one term in the equations. The ball's pressure pushes outwards and the field pushes back, so it swells and rings until its edge sits at β ≈ 1. The curve of a real bottle's field acts as a gravity pointing out of the ball, so the edge breaks into Rayleigh–Taylor fingers, only at the sizes field-line tension allows. A multipole bottle leaks through its cusps as jets at the angles the coils predict. Quench the coils and the ball free-expands as a fireball.
Six presets reach whole bottles in one gesture, from the clip's own orb to an orb in the green of the oxygen aurora line, a theta-pinch bubble, a cusp leak, Rayleigh–Taylor fingers and the quench fireball. Ignite, Pellet, Fuel and the coils' spin keep it alive in a show.
- 2.5-D compressible ideal MHD on the GPU: MUSCL–Hancock, HLLD, GLM cleaning
- A bottle of real coils: 0, 4, 6, 8 or 12 poles plus a guide field, turning slowly
- Curvature drives Rayleigh–Taylor fingers; the cusps leak as jets
- Ignite, Pellet, Fuel and Quench, with an audio-driven heat and pellets
- Wall or Open vessel; Detail from 128 to 1024 cells
- Hot and Aurora temperature ramps, glare, field lines lit by the plasma
- Six presets, from the Clip Orb to the Quench Fireball
- Universal macOS bundle and a Windows x64 DLL
Where it stands
v0.1.0, and honestly early. The physics is measured, not asserted, by an offline harness that drives the real plugin class and its shaders headlessly, at two rasters: the Brio–Wu shock tube along either axis puts all five waves within 0.8 cells of an independent double-precision solution; an oblique Alfvén wave travels at B/√ρ to 0.02%; magnetic Rayleigh–Taylor fingers grow at the textbook rate to 0.4–0.7%; a hot ball in a four-, six- or eight-pole bottle leaks within 0.4° of the cusp angles; the quench front moves at the exact Riemann speed to two cells; mass and energy are conserved to round-off in a closed vessel. Eighteen deliberately wrong models and a one-character shader mutation are all caught, and all 33 controls change the picture. Render cost on macOS at the defaults is about 8 ms/frame at 1080p; the grid, not the raster, sets it. It has never been loaded into Resolume on macOS. On Windows it has: a build of this source loads, registers and renders in Resolume Arena 7.27.1 on software rendering (win-lab, no GPU), with every parameter as declared and every control the gate could test moving the picture, in two runs; the three audio controls could not be tested there. Some terms are modelling choices rather than textbook ideal MHD (a dual-energy switch, curvature as an effective gravity, an absorbing margin for the Open vessel), and it is 2.5-D, so no kinks and no tokamak. There is a user guide and a browser demo, which runs the plugin's own shaders at Detail 128 by default; no OpenFX port. Check it in your own rig before trusting it in a show.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead