在5月22-26日期间,本论坛仅限等级≥level 4的成员发新的主题贴,带来的不便请谅解!(此期间请勿给管理员Sobereva发私信问学术问题)

计算化学公社

 找回密码 Forget password
 注册 Register
Views: 16|回复 Reply: 0
打印 Print 上一主题 Last thread 下一主题 Next thread

[Multiwfn资源与经验] 通过disorder和Multiwfn连用实现批量元素掺杂/空位构建并转化成所需文件

[复制链接 Copy URL]

4

帖子

0

威望

238

eV
积分
242

Level 3 能力者

笔者老板想做钙钛矿材料的元素掺杂/空位构造相关的高通量计算,这就涉及到批量建模,一个个手动建模明显是不现实的,因为材料具有周期性和对称性,手动建模既慢又不准确,故笔者通过disorder和muitiwfn的连用实现批量的建模及文件格式的转换。若需使用cp2k进行计算,也可通过修改脚本的方法实现cp2k输入文件的批量生成。以下是笔者从软件安装开始完成批量建模的流程,作抛砖引玉用。

服务器系统是ubuntu24.04

disorder安装及使用高效率无序掺杂软件 disorder
安装:
git clone https://github.com/jichunlian/disorder.git
      cd ~/disorder/bin
      chmod +x disorder

写入环境变量:
vi ~/.bashrc                                                        #编辑环境变量
                        #disorder
                         export PATH=/home/mila/disorder/bin/:${PATH}    #注意修改正确的disorder文件路径

                         source ~/.bashrc                                                 #退出~/.bashrc后记得source一下环境变量


测试:输入“disorder”出现以下图片时即说明安装成功



安装Multiwfn的过程参考社长的文章Multiwfn在Linux下安装的中文说明

如disorder的说明所示高效率无序掺杂软件 disorder,disorder的运行需要INDSOD和SPOSCAR文件,INDSOD相当于vasp里的INCAR,告诉程序要怎么做;SPOSCAR是掺杂/扣空位前的结构文件,相当于vasp里的POSCAR,附件是我用作示例的元素掺杂INDSOD和原始的结构文件,结构文件需转成用于vasp计算的POSCAR文件,然后再改名成SPOSCAR。笔者是在windows上写好INDSOD和SPOSCAR上传至服务器,再进行后续操作

如下所示,运行disorder后程序得到9中不可简化的结构

mila@mila:~/disorder$ ls
INDSOD  SPOSCAR
mila@mila:~/disorder$ disorder
      _ _                   _           
   __| (_)___  ___  _ __ __| | ___ _ __
  / _` | / __|/ _ \| '__/ _` |/ _ \ '__|
| (_| | \__ \ (_) | | | (_| |  __/ |   
  \__,_|_|___/\___/|_|  \__,_|\___|_|   
    2026-05-21 19:38:23   0.6.0-VASP

  Reading INDSOD and SPOSCAR ...
  Found 3 types and 117 atoms ( 18 Sr 27 Ti 72 O )
  The Ti site will be substituted by 26 Ti 1 Sc

  Searching Space Group Operations ...
  Found 8 operations ( 8 rotations and 1 pure translations )
  The supercell is a Tetragonal lattice with a point group of C_4v (4mm)

  Preprocessing Work Related To Combinatorics ...
  NOTE: The order of atomic positions has been changed !
  Found 27 atomic configurations

  Eliminating Duplicate Configurations ...
  Found 9 irreducible configurations

  Writing output files :  POSCAR

  Program finished !    Elapsed time : 00 hour 00 min 00 sec

+----------------------------------------------------------+
|                     * How to Cite ? *                    |
| Please Cite The Following Article When You Use disorder: |
| [1] Ji-Chun Lian, Hong-Yu Wu, Wei-Qing Huang, Wangyu Hu, |
|     and Gui-Fang Huang, Phys. Rev. B 102, 134209 (2020). |
+----------------------------------------------------------+


输入ls指令可看到一个名为poscar的文件夹,里面是程序得出的9种不可约结构的POSCAR文件
mila@mila:~/disorder$ ls
INDSOD  poscar  SPOSCAR  SPOSCAR_NEW
mila@mila:~/disorder$ cd poscar/
mila@mila:~/disorder/poscar$ ls
POSCAR-1  POSCAR-2  POSCAR-3  POSCAR-4  POSCAR-5  POSCAR-6  POSCAR-7  POSCAR-8  POSCAR-9

将附件的脚本上传至poscar文件夹,加权限(chmod +x POSCAR_to_cif.sh)后运行(./POSCAR_to_cif.sh),即可得到cif文件,脚本文件参照sob老师的文章详谈Multiwfn的命令行方式运行和批量运行的方法,如果需要得到其他格式的文件可以按需修改脚本
mila@mila:~/disorder/poscar$ chmod +x POSCAR_to_cif.sh
mila@mila:~/disorder/poscar$ ls
POSCAR-1  POSCAR-2  POSCAR-3  POSCAR-4  POSCAR-5  POSCAR-6  POSCAR-7  POSCAR-8  POSCAR-9  POSCAR_to_cif.sh
mila@mila:~/disorder/poscar$ ./POSCAR_to_cif.sh
Converting POSCAR-1 to POSCAR-1.cif ... (1 of 9)
Converting POSCAR-2 to POSCAR-2.cif ... (2 of 9)
Converting POSCAR-3 to POSCAR-3.cif ... (3 of 9)
Converting POSCAR-4 to POSCAR-4.cif ... (4 of 9)
Converting POSCAR-5 to POSCAR-5.cif ... (5 of 9)
Converting POSCAR-6 to POSCAR-6.cif ... (6 of 9)
Converting POSCAR-7 to POSCAR-7.cif ... (7 of 9)
Converting POSCAR-8 to POSCAR-8.cif ... (8 of 9)
Converting POSCAR-9 to POSCAR-9.cif ... (9 of 9)
mila@mila:~/disorder/poscar$ ls
POSCAR-1      POSCAR-2.cif  POSCAR-4      POSCAR-5.cif  POSCAR-7      POSCAR-8.cif  POSCAR_to_cif.sh
POSCAR-1.cif  POSCAR-3      POSCAR-4.cif  POSCAR-6      POSCAR-7.cif  POSCAR-9
POSCAR-2      POSCAR-3.cif  POSCAR-5      POSCAR-6.cif  POSCAR-8      POSCAR-9.cif
mila@mila:~/disorder/poscar$
至此,得到了掺杂后的cif文件。disorder还可以扣空位,共掺杂,同时进行掺杂+扣空位,如需要可参照高效率无序掺杂软件 disorder里的内容进行修改
本文仅作抛砖引玉用,因网络问题附近无法上传,以下是上文所涉及的输入文件INDSOD,结构文件SPOSCAR,转换脚本POSCAR_to_cif.sh的具体内容,可直接复制

INDSOD
&input
  nsub = 2         ! 被取代原子和取代原子类型数目之和,比如两种就是2
  subs = 26,1      ! 总共27个Ti,掺杂后26个Ti, 1个Al
  symb = 'Ti','Sc' ! 被取代原子和取代原子
  site = 2         ! Ti在SPOSCAR里排第二位,故为2
  prec = 1D-5
! lpro = .true.
  lpos = .true.
! leqa = .true.
! lspg = .true.
  lcfg = .false.
/
文件格式转换脚本POSCAR_to_cif.sh
#!/bin/bash
icc=0  # 初始化累加变量
nfile=$(ls POSCAR-* | wc -l)  # POSCAR文件总数

for inf in POSCAR-*; do  # 循环所有POSCAR文件
    ((icc++))
        outfile="${inf}.cif"  # 输出文件名 = 输入文件名 + .cif
    echo "Converting $inf to $outfile ... ($icc of $nfile)"
   
    Multiwfn_noGUI "$inf" << EOF > /dev/null
100  # 主功能100
2    # 导出文件和产生输入文件
33   # 产生cif输入文件
${outfile}
0    # 返回主菜单
q    # 优雅退出
EOF

done


SPOSCAR
sto100_nofreezn
1.0
       11.8353996277         0.0000000000         0.0000000000
        0.0000000000        11.8353996277         0.0000000000
        0.0000000000         0.0000000000        59.7257003784
   Sr   Ti    O
   18   27   72
Direct
     0.000000000         0.000000000         0.281420000
     0.000000000         0.000000000         0.347470000
     0.333330000         0.000000000         0.281420000
     0.333330000         0.000000000         0.347470000
     0.666670000         0.000000000         0.281420000
     0.666670000         0.000000000         0.347470000
     0.000000000         0.333330000         0.281420000
     0.000000000         0.333330000         0.347470000
     0.333330000         0.333330000         0.281420000
     0.333330000         0.333330000         0.347470000
     0.666670000         0.333330000         0.281420000
     0.666670000         0.333330000         0.347470000
     0.000000000         0.666670000         0.281420000
     0.000000000         0.666670000         0.347470000
     0.333330000         0.666670000         0.281420000
     0.333330000         0.666670000         0.347470000
     0.666670000         0.666670000         0.281420000
     0.666670000         0.666670000         0.347470000
     0.166670000         0.166670000         0.248390000
     0.166670000         0.166670000         0.314450000
     0.166670000         0.166670000         0.380500000
     0.500000000         0.166670000         0.248390000
     0.500000000         0.166670000         0.314450000
     0.500000000         0.166670000         0.380500000
     0.833330000         0.166670000         0.248390000
     0.833330000         0.166670000         0.314450000
     0.833330000         0.166670000         0.380500000
     0.166670000         0.500000000         0.248390000
     0.166670000         0.500000000         0.314450000
     0.166670000         0.500000000         0.380500000
     0.500000000         0.500000000         0.248390000
     0.500000000         0.500000000         0.314450000
     0.500000000         0.500000000         0.380500000
     0.833330000         0.500000000         0.248390000
     0.833330000         0.500000000         0.314450000
     0.833330000         0.500000000         0.380500000
     0.166670000         0.833330000         0.248390000
     0.166670000         0.833330000         0.314450000
     0.166670000         0.833330000         0.380500000
     0.500000000         0.833330000         0.248390000
     0.500000000         0.833330000         0.314450000
     0.500000000         0.833330000         0.380500000
     0.833330000         0.833330000         0.248390000
     0.833330000         0.833330000         0.314450000
     0.833330000         0.833330000         0.380500000
     0.000000000         0.166670000         0.248390000
     0.000000000         0.166670000         0.314450000
     0.000000000         0.166670000         0.380500000
     0.166670000         0.000000000         0.248390000
     0.166670000         0.000000000         0.314450000
     0.166670000         0.000000000         0.380500000
     0.166670000         0.166670000         0.281420000
     0.166670000         0.166670000         0.347470000
     0.333330000         0.166670000         0.248390000
     0.333330000         0.166670000         0.314450000
     0.333330000         0.166670000         0.380500000
     0.500000000         0.000000000         0.248390000
     0.500000000         0.000000000         0.314450000
     0.500000000         0.000000000         0.380500000
     0.500000000         0.166670000         0.281420000
     0.500000000         0.166670000         0.347470000
     0.666670000         0.166670000         0.248390000
     0.666670000         0.166670000         0.314450000
     0.666670000         0.166670000         0.380500000
     0.833330000         0.000000000         0.248390000
     0.833330000         0.000000000         0.314450000
     0.833330000         0.000000000         0.380500000
     0.833330000         0.166670000         0.281420000
     0.833330000         0.166670000         0.347470000
     0.000000000         0.500000000         0.248390000
     0.000000000         0.500000000         0.314450000
     0.000000000         0.500000000         0.380500000
     0.166670000         0.333330000         0.248390000
     0.166670000         0.333330000         0.314450000
     0.166670000         0.333330000         0.380500000
     0.166670000         0.500000000         0.281420000
     0.166670000         0.500000000         0.347470000
     0.333330000         0.500000000         0.248390000
     0.333330000         0.500000000         0.314450000
     0.333330000         0.500000000         0.380500000
     0.500000000         0.333330000         0.248390000
     0.500000000         0.333330000         0.314450000
     0.500000000         0.333330000         0.380500000
     0.500000000         0.500000000         0.281420000
     0.500000000         0.500000000         0.347470000
     0.666670000         0.500000000         0.248390000
     0.666670000         0.500000000         0.314450000
     0.666670000         0.500000000         0.380500000
     0.833330000         0.333330000         0.248390000
     0.833330000         0.333330000         0.314450000
     0.833330000         0.333330000         0.380500000
     0.833330000         0.500000000         0.281420000
     0.833330000         0.500000000         0.347470000
     0.000000000         0.833330000         0.248390000
     0.000000000         0.833330000         0.314450000
     0.000000000         0.833330000         0.380500000
     0.166670000         0.666670000         0.248390000
     0.166670000         0.666670000         0.314450000
     0.166670000         0.666670000         0.380500000
     0.166670000         0.833330000         0.281420000
     0.166670000         0.833330000         0.347470000
     0.333330000         0.833330000         0.248390000
     0.333330000         0.833330000         0.314450000
     0.333330000         0.833330000         0.380500000
     0.500000000         0.666670000         0.248390000
     0.500000000         0.666670000         0.314450000
     0.500000000         0.666670000         0.380500000
     0.500000000         0.833330000         0.281420000
     0.500000000         0.833330000         0.347470000
     0.666670000         0.833330000         0.248390000
     0.666670000         0.833330000         0.314450000
     0.666670000         0.833330000         0.380500000
     0.833330000         0.666670000         0.248390000
     0.833330000         0.666670000         0.314450000
     0.833330000         0.666670000         0.380500000
     0.833330000         0.833330000         0.281420000
     0.833330000         0.833330000         0.347470000

评分 Rate

参与人数
Participants 1
eV +8 收起 理由
Reason
sobereva + 8

查看全部评分 View all ratings

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-5-22 01:25 , Processed in 0.199607 second(s), 26 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list