Skip to main content

A python full-field electrodynamical solver, based on the Green dyadic method (volume integral technique in frequency domain).

Project description

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)



  • python (2.7, python)
  • numpy (numpy)
  • python 2 headers (under linux, install the package python-dev or python-devel)


  • fortran compiler (tested with gfortran. gcc)
  • openmp (openmp)
  • f2py (comes with numpy. link)

Optional Python packages

  • scipy (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)
  • PaGMO / PyGMO (version 2.4+. Required for the EO submodule. pagmo)

(all available via pip)

Installation under Unix

Via pip

Install from pypi repository via

$ 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:

$ python install

To install to a user-defined location, use the prefix option:

$ python install --prefix=/some/specific/location

To only compile without installation, use

$ python build

Manual compilation

  1. clone git:

    $ git clone
  2. compile fortran parts:

    $ 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:

    export PATH
    export PYTHONPATH


Python code

  • P. R. Wiecha

Fortran code

  • C. Girard
  • A. Arbouet
  • R. Marty
  • P. R. Wiecha

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pyGDM2-1.0.2.linux-x86_64.tar.gz (405.3 kB) Copy SHA256 hash SHA256 Source None
pyGDM2-1.0.2-py2.7-linux-x86_64.egg (435.4 kB) Copy SHA256 hash SHA256 Egg 2.7

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page