Local installation - Geodels/eSCAPE GitHub Wiki

About | Input file | Dependency | Docker | Local Installation | HPC Installation | Tutorials

← Previous topic: Docker | Next topic: HPC Installation →


Content

Before you begin compiling eSCAPE and its dependencies, make sure you have set up your computer environment to include Python (2.7 and above), MPI implementation and a supported fortran compiler (gfortran and ifort have been tested).

Requirements

  • Any MPI implementation (e.g., MPICH or Open MPI), built with shared libraries.
  • NumPy package (1.9 and above).

PETSC petsc4py installation

It is required to have a version of PETSc built with shared libraries.

Existing working PETSC installation

If you already have a working PETSc installation, set environment variables PETSC_DIR and PETSC_ARCH to appropriate values and next use pip:

export PETSC_DIR=path\to\petsc\location
export PETSC_ARCH=petsc-arch-values
pip install [--user] numpy mpi4py
pip install [--user] petsc4py

Installing PETSC from source

In cases where you don't have a working PETSC version you can first try to install it with pip as follows:

export PETSC_DIR=\path\to\petsc\location
export PETSC_ARCH=petsc-arch-values
pip install [--user] numpy mpi4py
pip install [--user] petsc petsc4py

If the pip installation fails, you will need to install it from source (it will require cmake which can be found here). Then you will perform the following steps:

git clone https://bitbucket.org/petsc/petsc.git
cd petsc
export PETSC_VERSION=3.9.3
git checkout tags/v$PETSC_VERSION

cd /home/path
export PETSC_DIR=\path\to\petsc\location

./configure --CFLAGS='-O3' --CXXFLAGS='-O3' --FFLAGS='-O3' --CPPFLAGS=$CPPFLAGS --LDFLAGS=$LDFLAGS  --MPI-DIR=$MPI_DIR  --with-debugging=no  --download-fblaslapack --download-ctetgen --download-metis=yes --download-parmetis=yes --download-triangle

make PETSC_DIR=/home/path/petsc PETSC_ARCH=petsc-arch-values all

Once PETSC has been compiled, petsc4py is installed with pip:

export PETSC_DIR=\path\to\petsc\location
export PETSC_ARCH=petsc-arch-values
pip install [--user] numpy mpi4py
pip install [--user] petsc4py

Other pip packages

To install eSCAPE, the following packages need also to be installed:

  • Scipy 0.15 and above
  • h5py with support for HDF5 library version 1.8.4 and above
  • ruamel.yaml 0.15.70
  • meshio 2.0.3 and above
  • pandas 0.16.3 and above

These packages can be installed from the requirements.txt file:

pip install -r requirements.txt

Alternatively you can use the following commands:

pip install [--user] scipy==1.1.0
pip install [--user] pandas==0.17.1
pip install [--user] h5py==2.8.0
pip install [--user] ruamel.yaml==0.15.64
pip install [--user] meshio==2.2.5

Custom packages

Two additional packages are required prior to eSCAPE installation:

meshplex

meshplex package could be installed with pip:

pip install [--user] meshplex

In case you encounter some difficulties during installation related to fastfunc dependency, one can used the following forked version:

git clone https://github.com/Geodels/meshplex.git
cd meshplex
python setup.py install [--user] 
cd ..

fillit

fillit is installed using the following set of commands:

export F90=fortran-compiler
git clone https://github.com/Geodels/fillit.git
cd fillit
python setup.py install [--user] 

where fortran-compiler needs to be replaced with the fortran compiler used to build PETSC (for example gfortran or ifort)

eSCAPE

OK, now that all dependencies are installed we can finally proceed with eSCAPE:

git clone https://github.com/Geodels/eSCAPE.git
cd eSCAPE
python setup.py install [--user]

Testing installation

You can then do a simple test to check that all packages have been successfully installed by starting a python kernel and importing each module individually:

import numpy
import pandas
import scipy
from mpi4py import MPI
from petsc4py import PETSc
import ruamel.yaml as yaml
import meshio
import meshplex
import fillit
import eSCAPE

If you found a bug, have questions, or are just having trouble with eSCAPE, you can:

  1. join the eSCAPE User Group on Slack by sending an email request to: Join eSCAPE User Group
  2. open an issue in our issue tracker and we'll try to help resolve the concern.
⚠️ **GitHub.com Fallback** ⚠️