Skip to content

A shape optimisation toolbox built on the Firedrake finite element library.

License

Notifications You must be signed in to change notification settings

fireshape/fireshape

Repository files navigation

Fireshape - Shape Optimization with Firedrake

CircleCI Read the Docs Actions Docker images

Documentation

The documentation is available here.

We have also published an Open Access paper about Fireshape. It is available here.

Requirements

Please install the firedrake finite element library first.

curl -O https://raw.githubusercontent.com/firedrakeproject/firedrake/master/scripts/firedrake-install
python3 firedrake-install

Installation

Activate the Firedrake virtualenv first

source path/to/firedrake/bin/activate

On Linux, install the patchelf library, e.g.

sudo apt install patchelf

Then install the Rapid Optimization Library along with roltrilinos.

pip3 install --no-cache-dir roltrilinos
pip3 install --no-cache-dir ROL

On Mac, installing ROL from PyPi will fail. Instead, clone pyrol, add its submodules, and install it locally using

git clone -b rol-2.0-checkpointing https://github.com/APaganini/pyrol.git
git submodule update --init
python -m pip install pyrol/

Now you are ready to install fireshape.

For users:

pip3 install git+https://github.com/fireshape/fireshape.git

For developers:

git clone git@github.com:fireshape/fireshape.git
python -m pip install -e fireshape/

Docker images

Fireshape is also available as a docker image.