9 个不稳定版本 (3 个重大更改)
0.4.2 | 2021年2月12日 |
---|---|
0.4.1 | 2021年2月12日 |
0.3.2 | 2020年12月19日 |
0.2.1 | 2020年12月15日 |
0.1.0 | 2020年7月19日 |
#566 在 科学 中
665KB
1.5K SLoC
Velvet
Velvet 是一个注重用户友好性和可扩展性的经典原子模拟引擎。该项目主要是一个学习练习,但随着开发的继续,我希望实现以下目标
- 通过用户定义的插件模块实现可扩展性
- 优化单核性能,支持多线程和 SIMD
- 实现多种原子间势
- 分子动力学、蒙特卡罗和最小化程序
- 可视化工具以分析模拟结果
- 支持导入和导出流行外部格式数据
入门
先决条件
Velvet 可选支持写入 HDF5 格式的结果。如果这是您首选的格式,您将需要在本机上安装 libhdf5
。可以使用您选择的包管理器安装此库,或者直接从源 此处 下载。
- HDF 组 - 官方 HDF5 组织
安装(从源代码)
要构建 Velvet,您需要在您的计算机上安装 Rust 编译器和包管理器。大多数平台的说明可以在 此处 找到。
- 克隆仓库
$ git clone https://github.com/seatonullberg/velvet && cd velvet
- 确保所有测试都通过
$ cargo test --workspace
- 以发布模式构建
# without optional dependencies
$ cargo build --release
# with HDF5 dependency
$ cargo build --release --features hdf5-output
# with rayon multithreading enabled
$ cargo build --release --features rayon
用法
在 examples
目录中包含使用 velvet
包直接在代码中配置模拟的示例。在 scripts
目录中包含用于可视化每个示例结果的 Python 脚本。
路线图
请参阅 公开问题、FEATURES.md 和 CHANGELOG.md,以查看计划或建议的功能(以及错误修复)。
常见问题解答
问:为什么叫“Velvet”?
A: "Velvet" 是由 Velocity Verlet 组合而成,这是分子动力学模拟的基础算法。
许可证
在 MIT 许可证下分发。更多信息请参阅 LICENSE。
致谢
- Lumol - 通用可扩展分子模拟引擎
依赖项
~11MB
~215K SLoC