最近写的一些全自动处理脚本

最近写了一个扩胞全自动的脚本,使用Fortran编写,挂上来以防哪天丢了。

第1个是一个扩胞的脚本,支持的是POSCAR格式。下载链接:GitHub - whitecrn/crystal_enlarge文件中的原子支持前111号原子自动识别(包括第111号原子);7种晶系全都支持;分数坐标和绝对坐标会自动识别。单个结构中除了不要出现112号以后的元素以外,没什么大的限制。但是,文件中不能出现原子电荷信息!!!!比如Li+、F-这种。

使用方法:需要有gnu库的支持。将文件与需要扩胞的文件放在同一目录下。使用:

1
chmod +x crystal_enlarge

然后再使用命令:

1
./crystal_enlarge (x方向扩胞倍数) (y方向扩胞倍数) (z方向扩胞倍数) (需要扩胞的POSCAR文件名) (扩胞后输出的文件名)

举个例子:

1
./crystal_enlarge 2 3 4 POSCAR POSCAR-ENLARGE

上述代码就是将POSCAR文件进行扩胞操作,在x方向上×2 , y方向上×3,z方向上×4,并且将扩胞的结果输出到POSCAR-ENLARGE里面。

经过本人测试,从material project上随意下了几个三斜和单斜的晶胞,扩胞出来的结果都没有问题,略略略略略略!!!有技术问题或者要源代码可以想办法联系我~~0.0~

哦对了,如果有需要转换以后的POSCAR格式文件转换成lammps文件的格式。可以参考我之前的一个poscar2data的文件脚本。所支持的体系也和上面的类似,不支持电荷信息,支持前111号原子的自动识别(包括111)转换。参考链接:VASP的POSCAR格式转换lammps格式脚本 | 蜡笔的blog。关于库的支持,在poscar2data这个网页里面有很详细的讲解。

下面举一些例子(随便在material project上找的结构)。和vesta软件扩出来的完全没有区别,但可以进行超大规模扩胞(windows下的vesta扩太大直接会变得很卡),以及命令行批量操作。 不过批量使用之前,最好先用vesta扩一个胞,经过对比无误后再进行大规模扩胞(手动保命)。

我扩的三斜(mp-1176991, Li6MnSb3(PO4)6):

vesta扩的三斜(mp-1176991):

我扩的单斜(mp-705035, Mo(PO3)4):

vesta扩的单斜:

我扩的六方(mp-1227397, BiPt2Pb):

vesta扩的六方:

我扩的三方(mp-1227397, CsGeCl3):

vesta扩的三方:

我扩的正交(mp-1227397, LiFe7O7F):

vesta扩的正交:

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2024 白色的蜡笔
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信