freud: A software suite for high throughput analysis of particle simulation data

freud: A software suite for high throughput analysis of particle simulation data
复制标题

DOI:
10.1016/j.cpc.2020.107275
复制
发表时间:
2020-09-01
影响因子:
6.3
通讯作者:
Glotzer, Sharon C.
Glotzer, Sharon C.
中科院分区:
物理与天体物理2区
文献类型:
--
作者:
Ramasubramani, Vyas;Dice, Bradley D.;Glotzer, Sharon C.

文献摘要

被引文献

相似文献

Freud Python包是一个用于分析模拟数据的库。在编写时考虑到了现代模拟和数据分析工作流,Freud为快速、并行的C++例程提供了一个Python接口,这些例程可以在笔记本电脑、工作站和超级计算集群上高效运行。该程序包提供了在周期系统中查找粒子邻居的核心工具,并为使用这些工具实现的各种方法提供了统一的API。因此,弗洛伊德用户可以同样轻松地使用径向分布函数等标准方法,以及更新、更专业的方法,如平均力和扭矩势以及局部晶体环境分析。弗洛伊德没有提供自己的轨迹数据结构,而是直接对NumPy数组或其他Python包提供的轨迹数据结构进行操作。这种设计允许弗洛伊德通过利用其他轨迹管理工具的文件解析功能,透明地与多种轨迹文件格式进行交互。由于对其数据源保持不可知性,弗洛伊德适合于分析任何粒子模拟,而不管原始数据表示或模拟方法如何。当与HOOMD-BLUE等可脚本化模拟软件配合使用进行即时分析时,FLOUD可实现适应系统当前状态的智能模拟,允许用户研究成核和生长等现象。程序摘要程序标题:FreudProgram Files doi:http://dx.doi.org/10.17632/v7wmv9xcct.1Licensing条款:BSD 3条款编程语言:PYTHON,C++问题的本质:粗粒度、纳米级和胶体粒子系统的模拟通常需要专门针对特定系统的分析。某些更标准化的技术-包括关联函数、序参数和聚类-是计算密集型任务,必须仔细实施才能扩展到现代模拟中常见的更大系统。解决方法:弗洛伊德执行各种粒子系统分析,提供一个通过NumPy数组输入和输出与计算分子科学中的许多其他工具接口的PythonAPI。弗洛伊德中的算法利用并行化的C++扩展到大型系统,并实现实时分析。与其他分析程序包相比,该文库广泛的功能集编码的假设很少,能够分析从生物分子模拟到胶体实验的更广泛类别的数据。其他注释包括限制和不寻常的功能:1.弗洛伊德提供了非常快速的标准分析方法的并行实现,如RDF和相关函数。弗洛伊德包括平均力和力矩势(PMFT)的参考实现。弗洛伊德提供了各种表征粒子环境的新方法,包括对机器学习有用的描述符的计算。源代码托管在GitHub上(https://github.com/glotzerlab/freud),和文档可在线获取(https://ferud.readthedocs.io/).该程序包可以通过pip安装Freud-analysis或Conda Install-c Conda-Forge Freud安装。(C)2020爱思唯尔B.V.保留所有权利。
The freud Python package is a library for analyzing simulation data. Written with modern simulation and data analysis workflows in mind, freud provides a Python interface to fast, parallelized C++ routines that run efficiently on laptops, workstations, and supercomputing clusters. The package provides the core tools for finding particle neighbors in periodic systems, and offers a uniform API to a wide variety of methods implemented using these tools. As such, freud users can access standard methods such as the radial distribution function as well as newer, more specialized methods such as the potential of mean force and torque and local crystal environment analysis with equal ease. Rather than providing its own trajectory data structure, freud operates either directly on NumPy arrays or on trajectory data structures provided by other Python packages. This design allows freud to transparently interface with many trajectory file formats by leveraging the file parsing abilities of other trajectory management tools. By remaining agnostic to its data source, freud is suitable for analyzing any particle simulation, regardless of the original data representation or simulation method. When used for on-the-fly analysis in conjunction with scriptable simulation software such as HOOMD-blue, freud enables smart simulations that adapt to the current state of the system, allowing users to study phenomena such as nucleation and growth.Program summaryProgram Title: freudProgram Files doi:http://dx.doi.org/10.17632/v7wmv9xcct.1Licensing provisions: BSD 3-ClauseProgramming language: Python, C++Nature of problem: Simulations of coarse-grained, nano-scale, and colloidal particle systems typically require analyses specialized to a particular system. Certain more standardized techniques - including correlation functions, order parameters, and clustering - are computationally intensive tasks that must be carefully implemented to scale to the larger systems common in modern simulations.Solution method: freud performs a wide variety of particle system analyses, offering a Python API that interfaces with many other tools in computational molecular sciences via NumPy array inputs and outputs. The algorithms in freud leverage parallelized C++ to scale to large systems and enable real-time analysis. The library's broad set of features encode few assumptions compared to other analysis packages, enabling analysis of a broader class of data ranging from biomolecular simulations to colloidal experiments.Additional comments including restrictions and unusual features:1. freud provides very fast parallel implementations of standard analysis methods like RDFs and correlation functions.2. freud includes the reference implementation for the potential of mean force and torque (PMFT).3. freud provides various novel methods for characterizing particle environments, including the calculation of descriptors useful for machine learning. The source code is hosted on GitHub (https://github.com/glotzerlab/freud), and documentation is available online (https://ferud.readthedocs.io/). The package may be installed via pip install freud-analysis or conda install -c conda-forge freud. (C) 2020 Elsevier B.V. All rights reserved.