Trinh @ Bath

Firedrake notes

Notes on installing firedrake via the guide: https://www.firedrakeproject.org/firedrake/install.html

This worked on Homebreak on macOS. Note I operated on my home directory but probably a bad idea compared to operating within a distinct directory.

Download the utility:

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

Using the complex-variable version:

python3 firedrake-configure --show-system-packages --arch complex

Install the homebrew packages:

brew install $(python3 firedrake-configure --show-system-packages)
git clone --depth 1 --branch $(python3 firedrake-configure --show-petsc-version) https://gitlab.com/petsc/petsc.git
cd petsc

Run PETSC config

python3 ../firedrake-configure --show-petsc-configure-options | xargs -L1 ./configure

Compile PETSC config. Note replace the directory with yours

make PETSC_DIR=/Users/me/petsc PETSC_ARCH=arch-firedrake-default all

Check

make check
cd ..

Create virtual environment

python3 -m venv venv-firedrake
source venv-firedrake/bin/activate

Export environmental variables:

export $(python3 firedrake-configure --show-env)

Install

pip install --no-binary h5py "firedrake @ git+https://github.com/firedrakeproject/firedrake.git#[test]"

Run the check

firedrake-check

Exploring Firedrake using jupyter

Documentation is taken from here: https://www.firedrakeproject.org/firedrake/notebooks.html

Make sure you're working within the firedrake virtual environment:

python3 -m venv venv-firedrake
source venv-firedrake/bin/activate

Install Jupyter

python3 -m pip install jupyter