基于格林并矢法(频域体积分技术)的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引用不明确:ExecutorService中的提交(可调用)和ExecutorService中的方法提交(可运行)匹配   java Get()和Set()在多个@Test、Selenium WebDriver之间   java更改同一会话中的entitymanager数据源   java为不同的日志文件配置不同的JDK日志格式   JavaSpring从JSON响应到网页   java IN子句在PreparedStatement上仅返回1行   java在使用数据提供程序时使用Testng优先级   如何在java中实现ketama算法?   java弹出窗口宽度和高度=0   java JLayeredPane未使用JFrame调整大小   将iCalendar DateTime转换为Java日期对象   java Fibonacci堆问题   java如何在spring数据jpa中映射友元请求实体   java Instanceof for generic with<?>或者没有<?>   java Hibernate回调用于许多联接表操作?