About MilAMin
MilAMin stands for Million A Minute: one million degrees of freedom set up, solved and post-processed in one minute. In 2008 that was a MATLAB package and a paper; today it is also a solver that runs in your browser. This page is the short version of both stories.
2008 - The MATLAB package
MILAMIN was written at PGP, Physics of Geological Processes at the University of Oslo, today part of the university’s Njord Centre, by Marcin Dabrowski, Marcin Krotkiewski and Dani Schmid. At the time few believed that a production finite element code could be written in native MATLAB, an interpreted language, and keep up with compiled codes. MILAMIN showed that it could. Its point was not one trick but a whole pipeline done with care: meshing, vectorized blocked assembly, fill-reducing reordering, Cholesky factorization and Powell–Hestenes iterations, so that a general unstructured finite element code in native MATLAB reached a million unknowns per minute on a desktop. The method paper, Dabrowski, M., Krotkiewski, M. & Schmid, D. W. (2008), MILAMIN: MATLAB-based finite element method solver for large problems, Geochemistry, Geophysics, Geosystems 9, Q04030, is cited by more than 260 publications to this day. The original milamin.org is preserved on this site: package, application gallery, technical notes and downloads.
The browser version is described in a short note: Schmid, D. W. (2026), MilAMin in the browser: a million unknowns a minute in TypeScript and WebAssembly, EarthArXiv, doi:10.31223/X5NF8T. The software itself is archived on Zenodo, doi:10.5281/zenodo.22895505. Please cite the note and the 2008 paper.
2026 - The browser
The revival takes the same strategy into the browser with TypeScript and WebAssembly: Shewchuk’s Triangle for the mesh, the 7-node Crouzeix–Raviart element assembled in typed arrays, CHOLMOD’s supernodal Cholesky with AMD ordering compiled to wasm and threaded where the page is cross-origin isolated and the fields rendered live. On today’s machines it clears the 2008 line at every size, on a phone included. The million page makes the claim, the benchmark measures it, the playground lets you write your own model, Folder grows folds and boudins in layered rock on the same stack, the browser version of the 2016 Folder tool by Adamuszek, Dabrowski and Schmid and the convergence lab checks the answers against the analytical solution. The browser MilAMin and this site were written by Dani Schmid. Marcin Dabrowski reviewed the site before its release; the benchmark page, the playground and the convergence lab are better for his comments.
The people
- Marcin Dabrowski: then PGP, University of Oslo; today head of the Computational Geology Laboratory, Polish Geological Institute (NRI), Wrocław.
- Marcin Krotkiewski: then PGP, University of Oslo; today Scientific Computing Services, USIT, University of Oslo.
- Dani Schmid: then PGP, University of Oslo; today CEO of Bergwerk.
Built on
Jonathan Shewchuk’s Triangle does the meshing, in our own WebAssembly build; Tim Davis’s SuiteSparse does the factorization, CHOLMOD’s supernodal Cholesky with AMD ordering, on dense kernels from Eigen, threaded with OpenMP and compiled with Emscripten; KaTeX typesets the mathematics. Citation data comes from OpenAlex. Every build verifies the solvers against analytical solutions. The licenses page lists each component with its terms and offers the source the solver binaries were built from.