使用cython的LAMMPS的Pythonic包装器
项目描述
lammps-cython
这是一个高性能的cython包装器,围绕LAMMPS。LAMMPS是一个具有无与伦比势和修复功能的优秀分子动力学软件包。此软件包提供独特的功能,例如通过允许直接访问恒温器和原子属性来最小化I/O,以及允许在Python解释器(如ipython)中交互式运行lammps。该项目的目标是围绕LAMMPS(优点)构建一个有偏见的包装器,并允许用户在Python中轻松扩展其功能。API应与HOOMD非常相似,并且正在积极开发。
| 最新发布 | |
| 软件包状态 | |
| 许可证 | |
| 构建状态 | |
| Binder笔记本 |
文档
完整文档可在lammps-cython找到。
功能
- 完整的MPI支持
- 受HOOMD启发的Pythonic API
- 支持Python 2和3
- 高度文档化和测试
- 消除恒温器和原子属性的不必要文件I/O
包装器的一个便捷功能是可以通过以下脚本定期运行lammps(使用“-i”代替stdin)。当安装软件包时,这是命令pylammps。
from lammps import Lammps
import sys
Lammps(args=sys.args)
安装
lammps-cython 提供了多种安装选项。最简单的方法是使用提供的 Docker 容器镜像 costrouc/lammps-cython 或 conda install。目前没有计划支持 pip 轮子。其他方法需要手动安装 lammps。详细安装说明请参阅 文档。如果您在安装过程中遇到任何问题,请提交 issue 到 gitlab 仓库。
- conda:
conda install -c costrouc -c conda-forge lammps-cython - docker:
docker pull costrouc/lammps-cython:latest
否则,一般的安装路径是安装 LAMMPS 作为共享库,然后编辑 ~/.config/lammps-site.cfg 以包含必要库的路径。以下是一个示例。
[lammps]
lammps_include_dir = /usr/local/include/lammps/
lammps_library_dir = /usr/local/lib/
# true library filename is liblammps.so notice lib and .so are removed
lammps_library = lammps
# use mpic++ -showme to list libraries and includes
[mpi]
mpi_include_dir = /usr/lib/x86_64-linux-gnu/openmpi/include
mpi_library_dir = /usr/lib/x86_64-linux-gnu/openmpi/lib
# no necissarily needed (default are mpi, mpi_cxx)
mpi_library = mpi
然后 pip install lammps-cython 就应该可以正常工作。
conda 镜像
conda 镜像仅适用于 Linux 和 Python 版本(3.5、3.6)。由于 MPI 是依赖项,没有计划支持 Windows。但是,如果需要 OSX,请提出 issue。
conda install -c costrouc -c conda-forge lammps-cython
docker 镜像
docker 镜像 costrouc/lammps-cython 使用 python3.5,并预安装了库,可执行文件有 pylammps 和 lammps 可用。
教程
正在进行展示如何使用 lammps-cython 的功能的工作,目前请访问 教程页面。
当教程存在时,这些将变成链接。
- 基本用法
- 修改原子位置
- 获取每个原子的力和速度,并计算势能
贡献
欢迎所有贡献,包括错误报告、错误修复、文档改进、增强和想法!这些应提交到 Github 仓库。Github 仅用于提高可见性。
贡献者
- Chris Ostrouchov(维护者)
许可证
MIT
项目详情
lammps-cython-0.6.2.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 119e13f96cfcdb9e2e8c5a1ffda8c962921540dd1c47fdf8709abf349dfe9762 |
|
| MD5 | 50ae1dceb039df89d07fde754256c079 |
|
| BLAKE2b-256 | 4fe076f28b99694f64eb4dfc161e065007e507d245fe731c1f59bc44958be38b |