基于格林并矢法(频域体积分技术)的python全场电动力学求解器。

pyGDM2的Python项目详细描述


pygdm2在pypigitlab上可用。

有许多示例的详细文档可以在pyGDM2 documentation website上找到。另请参见documentation paper on arXiv (1802.04071)

要求

Python

  • python (2.7 or 3.5+, python)
  • numpy (numpy)
  • python headers (under ubuntu, install the package python-dev or python-devel)

fortran

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

可选的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

手动编译

  1. 克隆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
  1. 可选,用于系统范围的使用添加到pathpythonpath, 例如,在文件“/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测试)

  1. 获取回购协议(例如从gitlab下载)

  2. 安装gcc编译器:

    $ conda install m2w64-toolchain libpython
    
  3. 编译Fortran部件:

    $ python setupy.py build
    
  4. 安装:

    $ 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

作者

python代码

  • P. R. Wiecha
  • contributions by C. Majorel

Fortran代码

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有服务类安卓的java altbeacon   java在OpenXava免费版本中可以创建多个用户吗?   java如何决定定义变量“private”?   java为什么GetMethodID()对不存在的方法不返回NULL?   java Get JComboBox项字符串表示法   java如何在ifs之间设置限制?   java Android错误:IllegalStateException   JavaSpring4MVC语言环境已更改,但JSP对此没有响应   java Netbeans:如何构建。jar文件随附外部文件。jar库?   Spring Petclinic项目Maven编译时出现java错误   声明Java数组增量元素的快速方法   java无法使用相对xpath找到元素   javascript无法更改标题,也无法在操作栏上显示图标   java标签不是一个接一个地动态创建的   java如何使用ThymeLeaf将对象的属性绑定到隐藏字段?   java从EJB无状态会话bean调用CDI会话范围的生产者方法   java为什么num+=array[i]与for循环中的num=num+array[i]的工作方式不同   使用jsonsimple实现jQuery UI自动完成的java JSON格式   JavaFaceletsUI:重复标记中断JSF表单验证