Installation procedure requires building from source. All installation steps happen in command line (terminal).
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install python-dev libmpich-dev mpich zlib1g-dev libfftw3-dev
sudo yum update
sudo yum group install "Development Tools"
sudo yum install python-devel mpich mpich-devel zlib-devel fftw-devel
The latest linux distributions are phasing out python 2. Some modifications to package names might be needed. For example: CentOS 8 (RedHat 8) needs you to replace python-devel with python2-devel and add python2 to your package list in above yum command.
We recommend to use MacPorts.
Sync with package repository
sudo port -v selfupdate
After syncing run:
sudo port install fftw-3 mpich
Select mpich to enable mpicc
sudo port select mpi mpich-mp-fortran
The latest versions of Mac OS (macOS Mojave) don't include python 2 installed by default. In this situation install it from MacPorts as well:
sudo port install python27
sudo port select --set python python27
If you don't want to use standard libraries supplied by your distribution, you can build the whole environment from scratch. It is also possible to do this without having a root account. The process is described in detail here.
git clone https://github.com/PyORBIT-Collaboration/py-orbit.git
Your source is now in the py-orbit directory.
setupEnevironment.sh will try to figure out all paths. This should be sufficient for common Linux distributions. If you built the environment from source, use customEnvironment.sh instead.
cd py-orbit
source setupEnvironment.sh
make clean
make
If make failed, it usually means that some of the libraries aren't set up properly.
Setup the environment variables (needs to be done once per teminal session). If you built the environment from source, use customEnvironment.sh instead.
Alternatively you can place source <path-to-pyORBIT-installation>/setupEnvironment.sh
in your .bashrc.
source setupEnvironment.sh
cd examples/AccLattice_Tests
./START.sh lattice_test.py 2
This will launch lattice_test example on two MPI nodes. Other examples are availabale in Examples repository.
./src - source code for the core ORBIT C++ classes, including wrappers, etc.
./py - python modules and wrapper classes for the core ORBIT classes.
./ext - source code for external modules. Compilations of this code should be placed into ./lib.
./lib - .so shared libraries to be used under pyORBIT interpreter.
./examples - pyORBIT examples.
./conf - configuration information.
./bin - pyORBIT executables.