跳转到主要内容

用于Glotzer小组的格式的示例、解析器和编写器。

项目描述

garnett

CircleCI RTD Contributors License

关于

这是一个用于密歇根大学安娜堡分校Glotzer小组使用的格式的示例、解析器和编写器的集合。

维护者

设置

要使用pip安装此软件包,请执行以下命令

pip install garnett --user

文档

该软件包的文档可在以下位置找到: https://garnett.readthedocs.io/

要使用sphinx自行构建文档,请在仓库内执行以下命令

cd doc
make html
open _build/html/index.html

快速入门

读取和写入

import garnett

# Autodetects file format for a uniform trajectory API
with garnett.read('gsdfile.gsd') as traj:
    for frame in traj:
        pos = frame.position

# Simple conversion of trajectory formats
with garnett.read('posfile.pos') as traj:
    garnett.write(traj, 'gsdfile.gsd')

数据访问

通过索引访问单个帧或使用切片创建轨迹的子集

first_frame = traj[0]
last_frame = traj[-1]
nth_frame = traj[n]
# and so on

sub_trajectory = traj[i:j]

访问轨迹属性

traj.load_arrays()
traj.box             # M
traj.N               # M
traj.types           # MxT
traj.type_shapes     # MxT
traj.typeid          # MxN
traj.position        # MxNx3
traj.orientation     # MxNx4
traj.velocity        # MxNx3
traj.mass            # MxN
traj.charge          # MxN
traj.diameter        # MxN
traj.moment_inertia  # MxNx3
traj.angmom          # MxNx4
traj.image           # MxNx3

# M is the number of frames
# T is the number of particle types in a frame
# N is the number of particles in a frame

访问单个帧属性

frame = traj[i]
frame.box              # garnett.trajectory.Box object
frame.N                # scalar, number of particles
frame.types            # T, string names for each type
frame.type_shapes      # T, list of shapes for each type
frame.typeid           # N, type indices of each particle
frame.position         # Nx3
frame.orientation      # Nx4
frame.velocity         # Nx3
frame.mass             # N
frame.charge           # N
frame.diameter         # N
frame.moment_inertia   # Nx3
frame.angmom           # Nx4
frame.image            # Nx3
frame.data             # Dictionary of lists for each attribute
frame.data_key         # List of strings

所有矩阵都是NumPy数组。

与HOOMD-blue的示例使用

有关更多示例,请参阅示例目录

pos_reader = PosFileReader()
with open('cube.pos') as posfile:
    traj = pos_reader.read(posfile)

# Initialize from last frame
snapshot = traj[-1].to_hoomd_snapshot()
system = init.read_snapshot(snapshot)

# Restore last frame
snapshot = system.take_snapshot()
traj[-1].to_hoomd_snapshot(snapshot)

测试

要运行所有garnett测试,ddt、HOOMD-blue (hoomd) 和 pycifrw 必须安装在测试环境中。

使用以下命令执行测试

python -m unittest discover tests

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装软件包的更多信息。

源分发

garnett-0.7.1.tar.gz (126.3 kB 查看哈希值)

上传时间:

构建分发

garnett-0.7.1-py3-none-any.whl (76.2 kB 查看哈希值)

上传时间: Python 3

由以下机构支持