Skip to content

How to install PyECLOUD

giadarol edited this page Nov 28, 2019 · 42 revisions

Dependencies

PyECLOUD has been tested exclusively on Linux (mainly Ubuntu and SLC distributions).

To operate it needs the following general tools and libraries:

  • Python 2.7.XX (for v8.2.0 or earlier) / Python 3.7+ (for v8.2.0 or later)
  • numpy
  • scipy
  • matplotlib (mainly for examples and tests)
  • cython
  • f2py
  • mpi4py (in case PyPARIS parallelisation is needed)

Preparation of your python environment

If you are already working with the python scipy stack you can skip this section

Different options can be used to setup the working environment:

Install PyECLOUD and its friend libraries:

For buildup simulations, only PyECLOUD, PyKLU and PyPIC are required:

git clone https://github.com/PyCOMPLETE/PyECLOUD
git clone https://github.com/PyCOMPLETE/PyKLU
git clone https://github.com/PyCOMPLETE/PyPIC

cd PyPIC
make

cd ../PyECLOUD
./setup_pyecloud

cd ../PyKLU
./install
cd ..

To simulate the e-cloud effects on beam dynamics you will also need:

git clone https://github.com/PyCOMPLETE/PyHEADTAIL  
git clone https://github.com/PyCOMPLETE/NAFFlib
git clone https://github.com/PyCOMPLETE/PyPARIS  

cd PyHEADTAIL
make
cd ..
mv PyHEADTAIL PyHEADTAIL_inst
mv PyHEADTAIL_inst/PyHEADTAIL .
    
cd NAFFlib/NAFFlib
make py2
cd ../..
mv NAFFlib NAFFlib_inst
mv NAFFlib_inst/NAFFlib .
cd ..

Include the packages in your PYTHONPATH

(I have cloned the tools in /home/giadarol/Desktop/PyFRIENDS_python3)

export FOLDER_WITH_PACKAGES=/home/giadarol/Desktop/PyFRIENDS_python3
export PYTHONPATH=$FOLDER_WITH_PACKAGES:$FOLDER_WITH_PACKAGES/PyHEADTAIL:$FOLDER_WITH_PACKAGES/NAFFlib$PYTHONPATH