Installation

Installation#

Use the installation workflows documented in the project root README.md:

  • core (zoomy_core)

  • optional backends (zoomy_jax, zoomy_firedrake, zoomy_fenicsx, zoomy_amrex, …)

For development environments, prefer containerized workflows where available.

Git clone and submodules#

Zoomy uses git submodules (library/*, meshes, data, …). .gitmodules sets branch = main for each so you can refresh to the latest upstream commit when you choose.

Full clone with all submodules (pinned to the commits recorded on Zoomy’s branch):

git clone --recurse-submodules https://github.com/ZoomyLab/Zoomy.git
cd Zoomy

After clone, move every submodule to the latest main of its repository:

cd Zoomy
git submodule sync --recursive
git submodule update --init --recursive
git submodule update --remote --merge --recursive

Only one submodule — check it out and fast-forward to latest main:

cd Zoomy
git submodule update --init library/zoomy_jax
git submodule update --remote --merge library/zoomy_jax

Replace library/zoomy_jax with any path from .gitmodules. To record the new submodule commit in your Zoomy branch: git add <path> and commit.

More detail and SSH URLs are in the root README.md under Cloning the repository.