Technology

This page details the technology we use to deliver the best experience for our users. SPARSELAB is built using the very latest cutting edge technology to create a very cost-effective, fast, stable and responsive experience.

WebAssembly (WASM)

WebAssembly is a new type of portable binary code that modern web browsers can execute, enabling high-performance web applications. It is a low-level assembly-like language that runs with near-native performance and provides many different programming languages with a compilation target so that they can run inside of a web browser.

Our core engine, which is responsible for meshing, solving and post-processing, is written using a small high-performance subset of the C++ programming language. Our modelling engine is compiled to WebAssembly and executed by your web browser with near-native performance. Current implementations of WebAssmebly use a 32-bit virtual address space, enforcing a theoretical limit of approximately 4GB of memory.

There is a proposal for WebAssembly with a 64-bit virtual address space. SPARSELAB plans to support wasm64 once implemented by most modern web browsers. This will allow us to significantly increase the size of projects that you can load in your web browser.

High-Performance Cloud Computing (HPC)

Our cloud infrastructure utilizes powerful Amazon AWS instances for both meshing and solving. The resulting meshes and simulation results are stored on AWS S3 cloud storage.

With our standard plan, you pay only for the resources you consume with no minimum payment. Our intelligent estimator uses machine learning to predict the total running time and peak memory utilization of your simulations, allowing us to automatically select the appropriate hardware.

High-Performance Meshing

Meshing involves generating a set of connected convex polyhedrons that approximate the geometry of a model. SPARSELAB support multiple meshing algorithms, each providing a different balance of performance and robustness. This allows users to select the most suitable meshing algorithm for their geometry.

We provide additional mesh optimization and adaptation capabilities. These tools help users to improve the quality of their meshes and ensure their suitability for simulation.

Responsive Graphical User Interface

Our responsive and intuitive UI was designed around reactivity. The user interface dynamically responds to project changes automatically. Real-time rendering is achieved using WebGL. With these technologies we are able to efficiently manipulate large finite element analysis projects directly inside the browser.

SLAB Format

The SLAB file format is our packaged format for finite element analysis projects. A SLAB package is an emulation of a ZIP file with the following content:

  • source.step - the source geometry STEP file.
  • project.json - the JSON file containing the project name, mesh settings, material assignments, constraints, forces, solver settings, camera settings and display settings.
  • mesh.data - the mesh stored as a portable binary format.
  • solution.data - the solution files (e.g. displacements.data) stored as a portable binary format.

Some of the benefits of the SLAB format include:

  • A single file containing the project and all associated data.
  • The file can be inspected using any ZIP file archiver.
  • Compression is achieved using ZIP, with many stable and efficient open-source libraries.
  • Portable binary data formats are space-efficient and both fast and easy to save/load.
  • The JSON project file is human-readable and easy to understand.

High-Performance Solvers

Our highly-optimized solvers are written in a subset of the C++ programming language and leverage multi-threading, enabling full utilization of the most powerful cloud compute hardware available. We use efficient sparse methods to solve finite element analysis problems involving millions of degrees of freedom.

The cloud-based software is specifically engineered and rigorously tested to efficiently handle meshes containing millions of elements, frequently returning results to users within seconds.