基于格林并矢法(频域体积分技术)的python全场电动力学求解器。
pyGDM2的Python项目详细描述
有许多示例的详细文档可以在pyGDM2 documentation website上找到。另请参见documentation paper on arXiv (1802.04071)
要求
Python
fortran
可选的python包
- 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)
(全部通过pip提供)
在Linux下安装
通过PIP
通过
$ pip install pygdm2
通过设置脚本
最容易编译(和安装)pygdm的方法是通过 安装脚本,它使用来自numpy的扩展distutils。
要安装pygdm,请在源目录中运行:
$ python setup.py install
要安装到用户定义的位置,请使用prefix选项:
$ python setup.py install --prefix=/some/specific/location
要只编译而不安装,请使用
$ python setup.py build
手动编译
克隆git:
$ git clone https://gitlab.com/wiechapeter/pyGDM2.git
2.apython 2.7:编译fortran部分:
$ cd fortranBase
$ make
2.bpython 3.5+:
$ cd fortranBase
$ make python3
可选,用于系统范围的使用添加到path和pythonpath, 例如,在文件“/home/user/.profile”中添加以下行,其中 “pygdm文件夹的路径”是pygdm安装目录:
PATH="path_of_pyGDM_folder:$PATH"export PATH PYTHONPATH="path_of_pyGDM_folder:$PYTHONPATH"export PYTHONPATH
在Windows下安装
对于windows,我们还建议使用Anaconda,其中pygdm可以通过pip轻松安装。另请参阅macos x指令,但是您可以跳过安装gcc编译器的所有步骤,因为pygdm的windows版本是预编译的二进制包。
通过PIP
我们在pypi存储库上提供64位windows二进制文件(在win7和win10上测试)。通过安装
$ pip install pygdm2
使用anaconda分布编译(使用anaconda3测试)
获取回购协议(例如从gitlab下载)
安装gcc编译器:
$ conda install m2w64-toolchain libpython
编译Fortran部件:
$ python setupy.py build
安装:
$ python setupy.py install
在Mac OS X下安装
使用Python分布
osx上的默认编译器使用不支持openmp的clang。因此编译可能会失败。因此,我们建议使用Anaconda (Mac),并从virtualenv中的conda存储库安装gcc(这里是python2的示例)。到目前为止,python3还没有在osx上进行测试:
$ conda create -n python2 python=2.7 anaconda
最后,“水蟒”会将整个水蟒分布复制到virtial env。您可以省略此选项并创建一个“空白”虚拟环境,以便仅安装选定的软件包。
接下来激活virtualenv并安装所需的软件:
$ source activate python2
$ xcode-select --install
$ conda install pip
$ conda install gcc
$ pip install pygdm2
还要确保您有最新版本的numpy和scipy:
$ pip install numpy scipy --upgrade
没有水蟒
或者,您也可以下载最新版本,并在不支持openmp的情况下手动编译它,这应该与默认的osx编译器一起工作:
$ python setup.py install --no-openmp