Million A Minute · since 2008

A million unknowns, in your browser on your phone - faster than ever.

MILAMIN set up, solved and post-processed one million degrees of freedom per minute in native MATLAB (Dabrowski, Krotkiewski & Schmid, 2008). This site carries the same solver strategy into the browser, where it runs live on whatever device opens the page, and keeps the original package and its record.

Pressure field of the million-unknown inclusion benchmark, solved in the browser

pressure around an inclusion
one million unknowns

What you can do with it

Run models, use apps, build on the stack

The browser MilAMin is not a package to download but a solver stack that runs in the browser, and applications built on it. You can run your own two-dimensional Stokes models in the playground, use Folder to grow folds and boudins in layered rock, or take the stack itself, as Folder does and build something of your own.

Build on it. Under both apps is one stack: Triangle for the mesh, the 7-node Crouzeix–Raviart element assembled in typed arrays, CHOLMOD’s supernodal Cholesky in WebAssembly, and the rendering, all TypeScript and wasm with no server behind it. MILAMIN was never one trick: the 2008 paper showed that a million unknowns a minute comes from giving every stage equal care, and that is what the stack carries into the browser, verified against analytical solutions on every build (the convergence lab shows the check live). See how it works for what it is built on and the licenses for the terms. The code is on GitHub.

The original MILAMIN

MATLAB, 2008

The native package: one million degrees of freedom per minute on a desktop, from vectorized blocked assembly to Cholesky with fill-reducing reordering and Powell–Hestenes iterations. The original milamin.org is preserved here: the technical notes behind the speed, the application gallery with its simulation videos, the sources and the paper.