Local installation - Geodels/eSCAPE GitHub Wiki
About | Input file | Dependency | Docker | Local Installation | HPC Installation | Tutorials
← Previous topic: Docker | Next topic: HPC Installation →
Content
- Requirements
- PETSC petsc4py installation
- Other pip packages
- Custom packages
- eSCAPE
- Testing installation
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).
- Any MPI implementation (e.g.,
MPICH
orOpen MPI
), built with shared libraries. -
NumPy
package (1.9 and above).
It is required to have a version of PETSc built with shared libraries.
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
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
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
Two additional packages are required prior to eSCAPE
installation:
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
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
)
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]
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:
- join the eSCAPE User Group on Slack by sending an email request to: Join eSCAPE User Group
- open an issue in our issue tracker and we'll try to help resolve the concern.