A python full-field electrodynamical solver, based on the Green dyadic method (volume integral technique in frequency domain).
Project description
***********************************
Overview / Installation
***********************************
pyGDM2 is available on `pypi <https://pypi.python.org/pypi/pygdm2/>`_ and `gitlab <https://gitlab.com/wiechapeter/pyGDM2>`_.
Detailed documentation with many examples is avaiable at the `pyGDM2 documentation website <https://wiechapeter.gitlab.io/pyGDM2-doc/>`_. See also the `documentation paper on arXiv (1802.04071) <https://arxiv.org/abs/1802.04071>`_
Requirements
================================
Python
------------------
- **python** (2.7, `python <https://www.python.org/>`_)
- **numpy** (`numpy <http://www.numpy.org/>`_)
- **python 2 headers** (under linux, install the package *python-dev* or *python-devel*)
Fortran
------------------
- *fortran* compiler (tested with **gfortran**. `gcc <https://gcc.gnu.org/fortran/>`_)
- **openmp** (`openmp <http://www.openmp.org/>`_)
- **f2py** (comes with **numpy**. `link <http://www.numpy.org/>`_)
Optional Python packages
-------------------------------------
- **scipy** >= v0.17.0, lower versions supported with restrictions (*Strongly recommended*. Used for standard solver LU decomposition and several tools. `scipy <https://www.scipy.org/>`_)
- **matplotlib** (*Strongly recommended*. For all 2D visualization tools. `matplotlib <https://matplotlib.org/>`_)
- **mpi4py** (for MPI parallelized calculation of spectra. `mpi4py <http://mpi4py.readthedocs.io/en/stable/>`_)
- **mayavi** (for all 3D visualization. `mayavi <http://docs.enthought.com/mayavi/mayavi/mlab.html>`_)
- **PIL** (image processing. `PIL <https://pypi.python.org/pypi/PIL>`_)
- **pathos** (for multi-threaded generalized propagator operations. `pathos <https://pypi.org/project/pathos/>`_)
- **pytables** (v3.x recommended. For hdf5 saving/loading of simulations. `pytables <https://www.pytables.org/>`_)
- **PaGMO / PyGMO** (version 2.4+. *Required* for the **EO** submodule. `pagmo <https://esa.github.io/pagmo2/>`_)
(all available via `pip <https://pypi.python.org/pypi/pip>`_)
Installation under linux
=============================================
Via pip
-------------------------------
Install from pypi repository via
.. code-block:: bash
$ pip install pygdm2
Via setup script
-------------------------------
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:
.. code-block:: bash
$ python setup.py install
To install to a user-defined location, use the *prefix* option:
.. code-block:: bash
$ python setup.py install --prefix=/some/specific/location
To only compile without installation, use
.. code-block:: bash
$ python setup.py build
Manual compilation
-------------------------------------------------------------
1. clone git:
.. code-block:: bash
$ git clone https://gitlab.com/wiechapeter/pyGDM2.git
2. compile fortran parts:
.. code-block:: bash
$ cd fortranBase
$ make
3. *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:
.. code-block:: bash
PATH="path_of_pyGDM_folder:$PATH"
export PATH
PYTHONPATH="path_of_pyGDM_folder:$PYTHONPATH"
export PYTHONPATH
Installation under Mac OS X
=============================================
Using the Anaconda distribution
-------------------------------------------------------------
The default compiler on OSX uses a clang which does not support OpenMP. Hence compilation might fail. We therefore suggest using `Anaconda <https://www.anaconda.com/download/#macos>`_ and install gcc from the conda repository in a virtualenv:
.. code-block:: bash
$ 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:
.. code-block:: bash
$ 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:
.. code-block:: bash
$ pip install numpy scipy --upgrade
Without Anaconda
-------------------------------------------------------------
Alternatively, you can download the latest version and compile it manually without OpenMP support, which should work with the default OSX compiler:
.. code-block:: bash
$ python setup.py install --no-openmp
Installation under windows
=============================================
For windows, we also recommend `Anaconda <https://www.anaconda.com/download/#windows>`_ 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.
Via pip
-------------------------------
There is a binary for 64bit windows on the pypi repository (tested on Win7 and Win10). Install via
.. code-block:: bash
$ pip install pygdm2
Authors
=========================
Python code
------------------------
- P\. R. Wiecha
Fortran code
-------------------------
- C\. Girard
- A\. Arbouet
- R\. Marty
- P\. R. Wiecha
Overview / Installation
***********************************
pyGDM2 is available on `pypi <https://pypi.python.org/pypi/pygdm2/>`_ and `gitlab <https://gitlab.com/wiechapeter/pyGDM2>`_.
Detailed documentation with many examples is avaiable at the `pyGDM2 documentation website <https://wiechapeter.gitlab.io/pyGDM2-doc/>`_. See also the `documentation paper on arXiv (1802.04071) <https://arxiv.org/abs/1802.04071>`_
Requirements
================================
Python
------------------
- **python** (2.7, `python <https://www.python.org/>`_)
- **numpy** (`numpy <http://www.numpy.org/>`_)
- **python 2 headers** (under linux, install the package *python-dev* or *python-devel*)
Fortran
------------------
- *fortran* compiler (tested with **gfortran**. `gcc <https://gcc.gnu.org/fortran/>`_)
- **openmp** (`openmp <http://www.openmp.org/>`_)
- **f2py** (comes with **numpy**. `link <http://www.numpy.org/>`_)
Optional Python packages
-------------------------------------
- **scipy** >= v0.17.0, lower versions supported with restrictions (*Strongly recommended*. Used for standard solver LU decomposition and several tools. `scipy <https://www.scipy.org/>`_)
- **matplotlib** (*Strongly recommended*. For all 2D visualization tools. `matplotlib <https://matplotlib.org/>`_)
- **mpi4py** (for MPI parallelized calculation of spectra. `mpi4py <http://mpi4py.readthedocs.io/en/stable/>`_)
- **mayavi** (for all 3D visualization. `mayavi <http://docs.enthought.com/mayavi/mayavi/mlab.html>`_)
- **PIL** (image processing. `PIL <https://pypi.python.org/pypi/PIL>`_)
- **pathos** (for multi-threaded generalized propagator operations. `pathos <https://pypi.org/project/pathos/>`_)
- **pytables** (v3.x recommended. For hdf5 saving/loading of simulations. `pytables <https://www.pytables.org/>`_)
- **PaGMO / PyGMO** (version 2.4+. *Required* for the **EO** submodule. `pagmo <https://esa.github.io/pagmo2/>`_)
(all available via `pip <https://pypi.python.org/pypi/pip>`_)
Installation under linux
=============================================
Via pip
-------------------------------
Install from pypi repository via
.. code-block:: bash
$ pip install pygdm2
Via setup script
-------------------------------
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:
.. code-block:: bash
$ python setup.py install
To install to a user-defined location, use the *prefix* option:
.. code-block:: bash
$ python setup.py install --prefix=/some/specific/location
To only compile without installation, use
.. code-block:: bash
$ python setup.py build
Manual compilation
-------------------------------------------------------------
1. clone git:
.. code-block:: bash
$ git clone https://gitlab.com/wiechapeter/pyGDM2.git
2. compile fortran parts:
.. code-block:: bash
$ cd fortranBase
$ make
3. *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:
.. code-block:: bash
PATH="path_of_pyGDM_folder:$PATH"
export PATH
PYTHONPATH="path_of_pyGDM_folder:$PYTHONPATH"
export PYTHONPATH
Installation under Mac OS X
=============================================
Using the Anaconda distribution
-------------------------------------------------------------
The default compiler on OSX uses a clang which does not support OpenMP. Hence compilation might fail. We therefore suggest using `Anaconda <https://www.anaconda.com/download/#macos>`_ and install gcc from the conda repository in a virtualenv:
.. code-block:: bash
$ 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:
.. code-block:: bash
$ 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:
.. code-block:: bash
$ pip install numpy scipy --upgrade
Without Anaconda
-------------------------------------------------------------
Alternatively, you can download the latest version and compile it manually without OpenMP support, which should work with the default OSX compiler:
.. code-block:: bash
$ python setup.py install --no-openmp
Installation under windows
=============================================
For windows, we also recommend `Anaconda <https://www.anaconda.com/download/#windows>`_ 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.
Via pip
-------------------------------
There is a binary for 64bit windows on the pypi repository (tested on Win7 and Win10). Install via
.. code-block:: bash
$ pip install pygdm2
Authors
=========================
Python code
------------------------
- P\. R. Wiecha
Fortran code
-------------------------
- C\. Girard
- A\. Arbouet
- R\. Marty
- P\. R. Wiecha
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyGDM2-1.0.5.tar.gz
(521.5 kB
view hashes)
Built Distributions
pyGDM2-1.0.5-py2.7-linux-x86_64.egg
(441.6 kB
view hashes)
pyGDM2-1.0.5-cp27-cp27m-win_amd64.whl
(475.8 kB
view hashes)
Close
Hashes for pyGDM2-1.0.5-py2.7-linux-x86_64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad0106bfda10d56d9e231a034f286bb550ff82cd2fbdb5ecd6bdebaea977d594 |
|
MD5 | 9c4726d6d3c53fe4053c57f0e0a11181 |
|
BLAKE2b-256 | 0eb91c812e5fb54d2c7dbbd18295929173b71e54ad01de4932eecc2fbd0341cf |
Close
Hashes for pyGDM2-1.0.5-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4600d3d6f18fd28a725ac01dfb60c2f312a7194dd42e03e37b6373e9adc1f0c4 |
|
MD5 | a79685996008038a621f82866bcb915a |
|
BLAKE2b-256 | 35657144b953805d5b568aeace72648bf960c613e8f816ab086a6710da7231bc |