Skip to content

Installation Instructions

Joe Wallwork edited this page Apr 14, 2024 · 16 revisions

The following installation instructions assume a Linux or WSL operating system. The options below include the installation of a custom setup for Firedrake and PETSc from either a shell script or a Docker image. Once Firedrake is installed (or if you already have a working installation), see the section on installing Animate, Goalie, or Movement.

Installing Firedrake via shell script

Firedrake, along with PETSc, is required by Animate, Goalie, and Movement. It is available for installation via one of two shell scripts.

Default approach

The first uses the default MPI packages found in the path:

curl -O https://raw.githubusercontent.com/mesh-adaptation/mesh-adaptation-docs/main/install/install_firedrake.sh
curl -O https://raw.githubusercontent.com/mesh-adaptation/mesh-adaptation-docs/main/install/petsc_options.txt
source install_firedrake.sh

Approach with custom MPI

The second allows customisation of the MPI packages by editing the associated shell script:

curl -O https://raw.githubusercontent.com/mesh-adaptation/mesh-adaptation-docs/main/install/install_firedrake_custom_mpi.sh
vim install_firedrake_custom_mpi.sh # make the desired edits
curl -O https://raw.githubusercontent.com/mesh-adaptation/mesh-adaptation-docs/main/install/petsc_options.txt
source install_firedrake_custom_mpi.sh

Installing Firedrake via Docker image

A bespoke Firedrake Docker image exists and can be downloaded and installed as an alternative to the above:

docker pull jwallwork/firedrake-parmmg
docker run --rm -it -v ${HOME}:${HOME} jwallwork/firedrake-parmmg

NOTE: by installing via a Docker image with ${HOME} you are giving Docker access to your home space.

Installing Animate, Goalie, or Movement

Suppose we want to install just one of Animate, Goalie, or Movement. Denoting the package of interest by <PACKAGE>, there are two options. In both cases, make sure that you have activated the Python virtual environment that was created when you installed Firedrake.

Cloning via HTTPS

git clone https://github.com/mesh-adaptation/<PACKAGE>.git
cd <PACKAGE>
make install

Cloning via SSH

[email protected]:mesh-adaptation/<PACKAGE>.git
cd <PACKAGE>
make install
Clone this wiki locally