|
|
本帖最后由 slxc920113 于 2025-10-14 14:12 编辑
最近做一些纤维结构的分子动力学模拟,用packmol创建的结构不太满意,而且耗时太长。于是用了二种策略,第一种是直接计算聚合物链段的转动惯量,然后让主轴对齐盒子的Z轴,指定中心位置直接用程序生成,但是这样的结构又不够随机。于是又想了一个办法,先用gmx insert-molecules 先随机创建一个狭长的盒子插入线性的聚合物链,盒子的x和y方向尽量小,try次数足够多,就可以随机创建一个比较满意的单链模型,然后再在x和y方向进行扩胞。于是就写了这么一个简单的小脚本。
使用方法:
- # 基本用法:2x2x2扩胞
- python supercell.py input.gro -nx 2 -ny 2 -nz 2
- # 指定输出文件名
- python supercell.py input.gro -nx 3 -ny 1 -nz 2 -o output.gro
- # 只在z方向扩胞
- python supercell.py input.gro -nz 4
复制代码- GROMACS GRO文件错位扩胞工具
- positional arguments:
- input_file 输入的GRO文件
- optional arguments:
- -h, --help show this help message and exit
- -nx NX x方向扩胞倍数 (默认: 1)
- -ny NY y方向扩胞倍数 (默认: 1)
- -nz NZ z方向扩胞倍数 (默认: 1)
- --x-stagger-y X_STAGGER_Y
- 沿x方向扩胞时,每层在y方向的偏移量 (nm)
- --x-stagger-z X_STAGGER_Z
- 沿x方向扩胞时,每层在z方向的偏移量 (nm)
- --y-stagger-x Y_STAGGER_X
- 沿y方向扩胞时,每层在x方向的偏移量 (nm)
- --y-stagger-z Y_STAGGER_Z
- 沿y方向扩胞时,每层在z方向的偏移量 (nm)
- --z-stagger-x Z_STAGGER_X
- 沿z方向扩胞时,每层在x方向的偏移量 (nm)
- --z-stagger-y Z_STAGGER_Y
- 沿z方向扩胞时,每层在y方向的偏移量 (nm)
- -o OUTPUT, --output OUTPUT
- 输出文件名 (默认: 自动生成)
复制代码
supercell.py
(13.31 KB, 下载次数 Times of downloads: 8)
|
评分 Rate
-
查看全部评分 View all ratings
|