Components and licenses

Everything on this site computes inside your browser. The code is written in TypeScript and C++ and delivered to you as JavaScript and WebAssembly; this page says what it is built from, under which terms and where to get the sources of the binaries.

Download the license texts and copyright notices distributed with this build, including the fonts and JavaScript dependencies.

The solver binaries (GPL)

The sparse solver, spchol.wasm and its threaded twin spchol-mt.wasm, is CHOLMOD's supernodal Cholesky factorization from SuiteSparse 5.13.0 with AMD ordering, running on dense kernels written on Eigen, behind a small C interface of our own that connects the JavaScript side to CHOLMOD. CHOLMOD's Supernodal module is licensed under the GNU General Public License, version 2 or later, so these binaries and the shim compiled into them are distributed under the GPL-2.0-or-later as well. As the GPL requires, the complete corresponding source is offered here:

Within SuiteSparse, the CHOLMOD Core and Cholesky modules are LGPL-2.1-or-later, the Supernodal module is GPL-2.0-or-later, and AMD, COLAMD and SuiteSparse_config are BSD-3-Clause. Eigen is under the Mozilla Public License 2.0. The binaries were compiled with Emscripten 6.0.3, whose runtime support code is MIT-licensed.

The mesher

Meshing is Jonathan Shewchuk's Triangle (version 1.6), in our own WebAssembly build with growable memory, driven through our TypeScript adapter. Triangle is not under the GPL and not part of the GPL bundle above: its own terms allow free private, research and institutional use and redistribution with its notices intact, while commercial use of the Triangle code requires the author's permission. The sources used for the build sit in the repository under packages/fem-core/wasm-src/triangle with Shewchuk's README and notices unchanged.

Everything else