room acoustics
RoomSim
In-browser room pipeline: pressure slices, impulse and binaural responses, energy decay.
Showcase
The range of what is possible: every pixel below is solver output — pictures with checksummed source data, films where each frame is a solver state, and interactive labs running the same models. Open an item for details, source data, and QA links.
Acoustic
Room acoustics from browser-fast to reference-grade, plus loudspeaker port optimisation.
room acoustics
In-browser room pipeline: pressure slices, impulse and binaural responses, energy decay.
room FEM
Fast-hybrid room FEM: response heatmaps, waterfall, and the full 50 Hz–20 kHz sweep movie.
port optimisation
Port profile optimisation with an honest null result: no inward-only profile beats the straight tube.
Fluid
Incompressible flow against analytic answers, and full aeroacoustic optimisation loops.
navier–stokes
A vortex lattice decays under viscosity — the BDF2 path against its analytic solution.
fan CFD
120 mm fan CFD with acoustic spectra, fan curves, and shape optimisation.
propeller
Shrouded, toroidal, and serrated propeller aeroacoustics on the FEM source model.
Solid
Geometric nonlinearity, eigenmodes, and finite-strain plasticity — each film is a solver state sequence.
shells
A shallow steel arch driven to snap-through; colour is membrane strain intensity.
eigenmodes
First four eigenmodes of a clamped steel plate, animated over one period each.
plasticity
A steel bar in tension necks past the Considère strain; also an OpenCourant head-to-head deck.
crash
An aluminium tube crushed against a wall folds progressively; plastic hinges localise.
Films
No keyframing — every frame is a solver state. Press play on any film, or drive the same physics yourself in Interactive 3D. Regenerate them all with just website-demos.
Acoustic wave equation (P1 FEM, central differences, rigid walls)
A pressure pulse expands in a 3.6 x 2.8 x 2.4 m room and reflects off the rigid walls. Three mid-planes show the signed pressure; the field is a P1 finite-element wave solution at c = 343 m/s.
Aeroacoustics (compact loading dipoles, linear wave FEM, sponge free-field)
Three blades at 60 rev/s radiate at the 180 Hz blade-passage frequency. Each blade is a compact axial loading dipole; a P1 wave solve radiates the tonal field into a sponge-terminated free field. Colour is signed acoustic pressure on three mid-planes; the grey hub, blades and shaft show the rotor itself, windowed clear of the planes.
Heat conduction + natural convection + radiation (P1 FEM, backward Euler)
A chip under the base holds 95 C while the finned aluminium heatsink (k = 167 W/mK) warms over 120 s and loses heat from every exposed surface by natural convection (h = 8 W/m2K) and radiation (emissivity 0.85). Colour is temperature; the solve is sonium-fem's thermal conduction forms with backward-Euler stepping and per-step Robin coefficients.
Phase-change heat conduction (apparent heat capacity, P1 FEM, backward Euler)
A 300 mm square aluminium-alloy plate with a 90 mm central hole is heated on the hole rim to 950 C. Past the 580-650 C melting range the alloy turns liquid and a melt front grows outward from the hole; latent heat (380 kJ/kg) is absorbed in the mushy zone while exposed faces lose heat by natural convection and T^4 radiation. Colour is liquid fraction: blue solid, red fully molten. Thermal-only model: the melt is tracked, but does not flow or slump.
Two-phase Navier-Stokes + Cahn-Hilliard phase field (BDF2, segregated coupling)
A 2 m tank filled with water to 0.20 m is shaken sideways at its first sloshing resonance (0.34 Hz, 100 mm amplitude) in the tank frame: fixed walls, oscillating horizontal gravity, phase-weighted body force, and a Cahn-Hilliard interface advected by the flow, with element-local viscosity interpolated from the phase field and phase-weighted gravity (inertia keeps the reference water density - full air/water inertia contrast is unstable at the contact line in this coupling). Colour is water volume fraction. Capillarity on the momentum is neglected (Bond number ~5e5 at this scale); a driven-amplitude sweep accompanies the film.
Incompressible Navier-Stokes (BDF2, block Schur preconditioner)
Flow at Re = 100 past an immersed cylinder sheds a Karman vortex street. Colour is vorticity magnitude; the unsteady lift driving the street is the classic Aeolian dipole source. Same BDF2 Navier-Stokes path as the Taylor-Green gate.
Interactive 3D
Not films: live GPUI/WebGPU scenes of solver results. Drag to orbit, Shift+drag / middle-drag / right-drag to pan, scroll to zoom, double-click to fit, click to inspect — then go fullscreen. Volumetric results open in 3D; flat sheets keep the undistorted 2D view until you force 3D. Static hosting provides reference studies; the local server and desktop apps can solve edited projects. Browser demos require HTTPS or localhost, WebGPU, and cross-origin isolation headers.
Directivity, frequency response, and speaker design.
drag orbit · scroll zoom · click inspect
Open interactive demo →Desktop: just demo-native speaker
Room pressure fields across frequency.
3D room orbit · 2D slices · drag / pan / zoom / fullscreen
Open interactive demo →Desktop: just demo-native room
Operating points, flow, and rotational speed sweeps.
3D fan orbit · drag / pan / zoom / fullscreen
Open interactive demo →Desktop: just demo-native pcfan
Blade loading and acoustic source comparisons.
3D blade orbit · drag / pan / zoom / fullscreen
Open interactive demo →Desktop: just demo-native propeller
Small signal response, heating, and nonlinear motion.
2D diaphragm · force 3D from the View toggle · fullscreen
Open interactive demo →Desktop: just demo-native driver
Static deformation, vibration modes, and harmonic response.
3D result orbit · 2D sections · fullscreen
Open interactive demo →Desktop: just demo-native structural
Simulators
Every entry names the crate to read and links to showcase details where they exist.
FEM and fast-hybrid room simulation: frequency responses, impulse responses, energy decay, binaural rendering, and pressure slices. Exports RoomEQ-ready measurement data (CSV/WAV + config) and runs in the browser via WebAssembly.
Product-level loudspeaker modelling with CEA-2034 spinorama output, driver-unit models, enclosure acoustics, and staged cabinet optimisation — the simulation behind sonium.spinorama.org.
Coupled fan CFD with acoustic spectra, directivity, fan curves, and shape optimisation against evaluated production objectives — with ParaView scripts for interactive 3-D inspection.
Shrouded, toroidal, and serrated propeller designs studied on top of the FEM aeroacoustic source model, with calibration notes and matched-thrust caveats documented per design.
Structural workflows on Sonium FEM: plane-stress statics, damped transients, bending modes, and harmonic response sweeps — starting from an introductory bracket example.
The RoomEQ optimizer that consumes simulated (or measured) room data: multi-position correction filter design, tested against 20 generated room scenarios.
Burton–Miller BEM with FMM acceleration, Duffy singular integration, and frequency sweeps — validated against analytical cylinder/sphere scattering (Mie theory).
Layered, physics-agnostic FEM: Helmholtz, viscothermal, impedance, elasticity, Maxwell, lumped circuits, and nonlinear solvers. New physics only implements a weak-form trait — assembly, BCs, and multigrid are shared.
Iterative (GMRES/FGMRES/CG/BiCGSTAB/IDR(s)), direct (blocked LU/Cholesky/QR, sparse supernodal), eigen, AMG/ILU preconditioners, optimization, and time integration — all generic over f32, f64, and complex scalars.