geo-fluid-dynamics / sapphire-ice

Simulates fluid dynamics and heat transfer in phase-changing water and ice systems
MIT License
9 stars 4 forks source link

Sapphire-Ice

Sapphire-Ice simulates fluid dynamics and heat transfer in phase-changing water and ice systems.

We employ the Sapphire engine for PDE-based simulations, which in turn employs sophisticated open-source scientific software libraries, most importantly Firedrake.

Portfolio

Freezing water in a cavity

As a benchmark, we simulated Kowalewski and Rebow's water freezing experiment.

Water freezing benchmark

Setup

First, set up Sapphire. Then...

Download with

git clone git@github.com:geo-fluid-dynamics/sapphire-ice.git

Activate the Firedrake environment with something like

. ~/firedrake/bin/activate

The following assumes that the Firedrake virtual environment is already activated.

Test with

python3 -m pytest -v -s sapphire-ice/tests/

Install with

cd sapphire-ice

python3 setup.py install

Development

Guidelines

Mostly we try to follow PEP proposed guidelines, e.g.

This package structure mostly follows that suggested by The Hitchhiker's Guide to Python.