Install FEniCS and Firedrake on non Ubuntu cluster - QwertyJack/tmp GitHub Wiki
Miniforge
InstallFEnisCS
Install$ cat >fenics.yaml <<EOF
name: fenics
channels:
- conda-forge
dependencies:
- python=3
- ipython
- fenics
- fenics-dolfin
- mshr
EOF
$ conda env create -f fenics.yaml
Firedrake
InstallPrepare dependencies:
$ cat >firedrake.yaml <<EOF
# firedrake dependencies
name: firedrake
channels:
- conda-forge
dependencies:
- gxx_linux-64
- gfortran_linux-64
- openblas
- git
- python=3.8
- autoconf
- automake
- libtool
- cmake
- zlib
- flex
- bison=3.0.4
- binutils
- tk
- boost
- libhwloc
- mpich
EOF
$ conda env create -f firedrake.yaml
Install Firedrake:
$ cd $WORKON_HOME
$ curl -O https://raw.githubusercontent.com/firedrakeproject/firedrake/master/scripts/firedrake-install
$ conda activate firedrake
(firedrake) $ export LD_LIBRARY_PATH=$CONDA_PREFIX/lib
(firedrake) $ python firedrake-install --mpiexec=mpiexec --mpicc=mpicc --mpicxx=mpicxx --mpif90=mpif90 --no-package-manager
Post-install:
(firedrake) $ cat >$CONDA_PREFIX/etc/conda/activate.d/venv.sh <<EOF
export OMP_NUM_THREADS=1
# source from venv
. $WORKON_HOME/firedrake/bin/activate
EOF
(firedrake) $ cd $CONDA_PREFIX/bin
(firedrake) $ for i in `ls x86_64-conda-linux-gnu-*`; do ln -s $i ${i/x86_64-conda-linux-gnu-/}; done
Install defcon:
$ cd $WORKON_HOME/firedrake/src
$ git clone https://bitbucket.org/pefarrell/defcon.git
$ cd defcon
$ conda activate firedrake
(firedrake) $ pip install -e .