Skip to content

ZoomyLab/Zoomy

Repository files navigation

Meshes Containers

Zoomy

Flexible modeling and simulation software for free-surface flows.

Zoomy's main objective is to provide a convenient modeling interface for complex free-surface flow models. Zoomy transitions from a symbolic modeling layer to a numerical layer, compatible with a multitude of numerical solvers, e.g. NumPy, JAX, Firedrake, FEniCSx, OpenFOAM, and AMReX. Additionally, we support the preCICE coupling framework for some numerical backends, enabling convenient integration of our solver with your existing code.

Documentation

See the Zoomy documentation for the user guide, tutorials, API reference, and full installation / development setup.

Citation

@online{Zoomy,
  author  = {Ingo Steldermann},
  title   = {Zoomy: Flexible modeling and simulation software for free-surface flows},
  year    = 2026,
  url     = {https://github.com/ZoomyLab/Zoomy},
  urldate = {YYYY-MM-DD}
}

Installation

  • Try it now in your browser — interactive GUI at zoomylab.github.io/Zoomy/gui.
  • Try a notebook in your browser — JupyterLite playground (coming back soon — deployment is being rebuilt).
  • Pip install the core:
    pip install zoomy_core
  • Everything else (full repo clone, submodules, Apptainer / Docker, devcontainer, Conda/Mamba, backend-specific setup, development workflow) — see Documentation → Installation.

Backends

Zoomy's symbolic layer compiles to several solver backends. Each one has its own page in the documentation:

Currently out-of-service

Testing

CI test reports for each backend are published with the docs site: see CI Reports.

License

The Zoomy source code is free open-source software, licensed under version 3 or later of the GNU Lesser General Public License (LGPLv3+). See LICENSE for full copying permissions.

Acknowledgements

Zoomy builds on, integrates with, or uses logos from the following open-source projects. We gratefully acknowledge their authors and the licenses under which we use their work:

Project Role in Zoomy License Notes
SymPy symbolic modeling layer BSD-3-Clause logo by Fredrik Johansson, free use under the same terms as SymPy
NumPy reference solver, arrays BSD-3-Clause
JAX zoomy_jax backend Apache-2.0
Firedrake zoomy_firedrake backend LGPLv3+
FEniCSx / DOLFINx zoomy_fenicsx backend LGPLv3+
PETSc DMPlex backend, Firedrake BSD-2-Clause
AMReX zoomy_amrex backend BSD-3-Clause
OpenFOAM OpenFOAM backend GPL-3.0 logo: Carnby, CC BY-SA 4.0, via Wikimedia Commons
preCICE coupling framework LGPLv3+
Gmsh mesh generation GPLv2+
ParaView post-processing BSD-3-Clause macros in tools/paraview_macros/
Jupyter Book this documentation site BSD-3-Clause
JupyterLite / Pyodide in-browser notebook execution BSD-3-Clause / MPL-2.0

If you spot a project we use but haven't credited, please open an issue.

About

Zoomy: flexible modeling and simulation software for free-surface flows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors