pyGDM2 is available on pypi and gitlab.
Detailed documentation with many examples is avaiable at the pyGDM2 documentation website. See also the documentation paper on arXiv (1802.04071)
- scipy >= v0.17.0, lower versions supported with restrictions (Strongly recommended. Used for standard solver LU decomposition and several tools. scipy)
- matplotlib (Strongly recommended. For all 2D visualization tools. matplotlib)
- mpi4py (for MPI parallelized calculation of spectra. mpi4py)
- mayavi (for all 3D visualization. mayavi)
- PIL (image processing. PIL)
- pathos (for multi-threaded generalized propagator operations. pathos)
- pytables (v3.x recommended. For hdf5 saving/loading of simulations. pytables)
- PaGMO / PyGMO (version 2.4+. Required for the EO submodule. pagmo)
- pycuda (tested with version 2018.1, for GPU-based matrix inversion. pyCUDA, for problems during installation with pip, see solution proposed here)
- scikit-cuda (tested with version 0.5, for GPU-based matrix inversion. scikit-cuda)
- alternatively: cupy (version 7+, tested with version 7.0.0b4, alternative to pycuda for GPU-based matrix inversion. cupy)
(all available via pip)
Install from pypi repository via
$ pip install pygdm2
The easiest possibility to compile (and install) pyGDM is via the setup-script, which uses the extended distutils from numpy.
To install pyGDM, run in the source directory:
$ python setup.py install
To install to a user-defined location, use the prefix option:
$ python setup.py install --prefix=/some/specific/location
To only compile without installation, use
$ python setup.py build
clone git:
$ git clone https://gitlab.com/wiechapeter/pyGDM2.git
2.a python 2.7: compile fortran parts:
$ cd fortranBase $ make
2.b python 3.5+:
$ cd fortranBase $ make python3
optional, for system-wide usage add to path and pythonpath, e.g. add following lines to file "/home/USER/.profile", where "path_of_pyGDM_folder" is the pyGDM installation directory:
PATH="path_of_pyGDM_folder:$PATH" export PATH PYTHONPATH="path_of_pyGDM_folder:$PYTHONPATH" export PYTHONPATH
For windows, we also recommend Anaconda in which pyGDM can be installed easily via pip. See also the MacOS X instructions, but you can skip all steps for installing the gcc compilers, since the windows version of pyGDM comes as pre-compiled binary package.
We provide a 64bit windows binary on the pypi repository (tested on Win7 and Win10). Install via
$ pip install pygdm2
get the repo (e.g. download from gitlab)
install gcc compiler:
$ conda install m2w64-toolchain libpython
compile fortran parts:
$ python setupy.py build
install:
$ python setupy.py install
The default compiler on OSX uses a clang which does not support OpenMP. Hence compilation might fail. We therefore suggest using Anaconda (Mac) and install gcc from the conda repository in a virtualenv (Here the example of python2. python3 was not tested on OSX so far):
$ conda create -n python2 python=2.7 anaconda
"anaconda" at the end will copy the whole anaconda distribution to the virtial env. You can omit this option and create a "blank" virtual environment to install only selected packages.
Next activate the virtualenv and install the required software:
$ source activate python2 $ xcode-select --install $ conda install pip $ conda install gcc $ pip install pygdm2
Also make sure you have the latest versions of numpy and scipy:
$ pip install numpy scipy --upgrade
Alternatively, you can download the latest version and compile it manually without OpenMP support, which should work with the default OSX compiler:
$ python setup.py install --no-openmp
- P. R. Wiecha
- contributions by C. Majorel
- C. Girard
- A. Arbouet
- R. Marty
- P. R. Wiecha