使用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 |