A simulation software for dimensionally-reduced free surface flows.
Project description
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 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 in many of our numerical implementations, to allow for a convenient integration of our solver with your existing code.
Documentation
See our Documentation for details on
- how to get started
- tutorials
- examples
- API
- ...
License
The Zoomy code is free open-source software, licensed under version 3 or later of the GNU General Public License. See the file LICENSE for full copying permissions.
BibTex Citation
T.b.d.
Installation
Conda/Mamba
The project is composed out of different environment files. We start by installing the base and than adding 'flavors', depdening on the solver backend that you want to use.
Default solver (Linux / Mac)
Base Installation
cd install
conda env create -f install/zoomy.yml
./conda_config_setup.sh
Mesh support for Numpy/Jax solver
conda env update -f install/env-mesh.yml
** CPU/GPU solver with JAX**
conda env update -f install/env-jax.yml
FenicsX (Linux / Mac)
Base Installation
cd install
conda env create -f install/zoomy.yml
./conda_config_setup.sh
FenicsX
conda env update -f install/env-fenicsx.yml
Firedrake (Linux / Mac)
Base Installation
cd install
conda env create -f install/zoomy.yml
./conda_config_setup.sh
Firedrake
Activate the environment before installing any Firedrake dependencies.
conda activate zoomy
Mainly follow the instructions on the Firedrake Webpage.
Deviating from the instructions on the webpage, we use
python3 ../firedrake-configure --show-petsc-configure-options --with-pnetcdf=0 | xargs -L1 ./configure
to compile PetSc without PNetCDF and then install Firedrake inside our conda environment
pip install --no-binary h5py 'firedrake[check]'
AMReX (Linux / Mac)
Base Installation
cd install
conda env create -f install/zoomy.yml
./conda_config_setup.sh
AMReX
Note that the AMReX installation is completely indepdenent and the AMReX solver does not depend on the Conda/Mamba environment. Follow the instructions on the AMReX Webpage
OpenFOAM 12 (Linux / Mac)
T.b.d
Activation
conda activate zoomy
Docker
T.b.d
Apptainer
T.b.d
Manual installation
See the install/zoomy.yml for a complete list of requirements. Once the requirements are fulfilled, simply clone the repository.
The following environment variables need to be set
PYTHONPATH=/path/to/Zoomy
ZOOMY_DIR=/path/to/Zoomy
JAX_ENABLE_X64=True
PETSC_DIR=/path/to/petsc/installation
PETSC_ARCH=architecture used for compiling petsc
External dependencies
PreCICE
T.b.d.
Working in Jupyter Notebooks
Make sure to export the environment variables
PYTHONPATH=/path/to/Zoomy
ZOOMY_DIR=/path/to/Zoomy
JAX_ENABLE_X64=True //(if you use JAX)
PETSC_DIR=/path/to/petsc/installation
PETSC_ARCH=architecture used for compiling petsc
Testing
T.b.d.
Publications
T.b.d.
Dependencies and acknowledgements
This
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zoomy_core-0.1.11.tar.gz.
File metadata
- Download URL: zoomy_core-0.1.11.tar.gz
- Upload date:
- Size: 90.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b7c2163c9b915eab3ac5cefd8b304ee6d5165f71c381eaca57e764a52961f60
|
|
| MD5 |
862c689971e9563b8e9e7081d2940e9a
|
|
| BLAKE2b-256 |
2520ee4a27f85bdb931209404eefe14e5b3b0c9dcb1aa8badce37e598ccffeb4
|
File details
Details for the file zoomy_core-0.1.11-py3-none-any.whl.
File metadata
- Download URL: zoomy_core-0.1.11-py3-none-any.whl
- Upload date:
- Size: 109.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cae1b324e6a9457c5a14746c2f2d606893ba6636d9391a65cbd3edd74320d9c6
|
|
| MD5 |
f7874d0183ffb8d0cdbd30efc07fb47e
|
|
| BLAKE2b-256 |
22eb2cea0c3a93e05eb1bcf4cf8b4a29795413ef0d14b3ab1b7c389f0e8a516e
|