计算化学公社

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

[VASP] 分享一段通过Multiwfn将目录下cif转为POSCAR的小代码

[复制链接 Copy URL]

55

帖子

0

威望

725

eV
积分
780

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 zmjsce 于 2022-9-22 19:01 编辑

以前一直用VESTA转格式,最近发现Multiwfn可以很方便的将CIF转为POSCAR,基于这个功能写了一点内容与各位老师同学分享。

ls l grep *cif > cif2POSCAR_new

echo '100
2
27
POSCAR
0
q' >> cif2POSCAR_new

Multiwfn < cif2POSCAR_new

rm cif2POSCAR_new

评分 Rate

参与人数
Participants 2
eV +6 收起 理由
Reason
guanhai + 3 谢谢
sobereva + 3

查看全部评分 View all ratings

55

帖子

0

威望

725

eV
积分
780

Level 4 (黑子)

7#
 楼主 Author| 发表于 Post on 2023-1-9 00:55:27 | 只看该作者 Only view this author
本帖最后由 zmjsce 于 2023-1-9 00:57 编辑

最近写了一小段cif文件转为CP2K所需坐标文件coord.inc的小代码~该工具需已安装vaspkit以及Multiwfn

#/bin/bash
#cat fix.sh

ls | grep *cif > cif2POSCAR_new
#Creat cif2POSCAR_new based on the cif filename
echo '100
2
27
POSCAR
0
q' >> cif2POSCAR_new

Multiwfn < cif2POSCAR_new

rm cif2POSCAR_new

(echo 4; echo 411; echo 1)|vaspkit

cp POSCAR_REV POSCAR

rm POSCAR_REV

echo 'POSCAR
cp2k
POSCAR.inp
0
q' >>POSCAR2inp
Multiwfn < POSCAR2inp

rm POSCAR2inp

###############################################
####inp2COORD.inc#################
grep -rn COORD POSCAR.inp > temp

head -n 1 temp > temp1
tail -n 1 temp > temp2

cat temp1 | tr -cd "[0-9]" >temp3
cat temp2 | tr -cd "[0-9]" >temp4

a=$(cat temp3)
b=$(cat temp4)
c=$(($a+1))
d=$(($b-1))

sed -n ''"$c"','"$d"'p' POSCAR.inp > COORD.inc
rm temp temp1 temp2 temp3 temp4

327

帖子

2

威望

2809

eV
积分
3176

Level 5 (御坂)

6#
发表于 Post on 2022-9-23 11:27:11 | 只看该作者 Only view this author
sobereva 发表于 2022-9-22 23:29
关于“Multiwfn转换成gjf之后默认的只有B3LYP/6-31G*”,可以自己在当前目录下放一个template.gjf模板文 ...

这样啊,我之前看的时候还是没有的,学到了

6万

帖子

99

威望

6万

eV
积分
125127

管理员

公社社长

5#
发表于 Post on 2022-9-22 23:29:23 | 只看该作者 Only view this author
七尺贱 发表于 2022-9-22 19:47
也可以自己根据卢老师写的脚本再自行修改,然后可以利用这个小脚本修改关键词,方便Gaussian计算。Multiwfn ...

关于“Multiwfn转换成gjf之后默认的只有B3LYP/6-31G*”,可以自己在当前目录下放一个template.gjf模板文件,产生的gjf文件会套用里面的坐标以外的部分,下文说了
一键把所有gjf文件转成xyz文件、把所有Gaussian输出文件转成gjf文件的脚本
http://sobereva.com/530http://bbs.keinsci.com/thread-16161-1-1.html
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

327

帖子

2

威望

2809

eV
积分
3176

Level 5 (御坂)

4#
发表于 Post on 2022-9-22 19:47:25 | 只看该作者 Only view this author
本帖最后由 七尺贱 于 2022-9-22 19:49 编辑

也可以自己根据卢老师写的脚本再自行修改,然后可以利用这个小脚本修改关键词,方便Gaussian计算。Multiwfn转换成gjf之后默认的只有B3LYP/6-31G*,如果一个一个改也挺麻烦的。第一行和第二行命令就是在当前的gjf文件的第一行,第二行中添加核数和计算使用的内存
第三行命令是将B3LYP/6-31G*替换为我计算所需要的命令:opt  M062X/6-31g(d) empiricaldispersion=gd3 。大家可自行更换,
  1. #!/bin/bash
  2. sed -i '1i %nprocshared=30' *.gjf
  3. sed -i '2i %mem=20GB' *.gjf
  4. sed -i "s/B3LYP\/6-31G\*/opt m062x\/6-31g(d) empiricaldispersion=gd3/g" `grep 'B3LYP/6-31G*' -l *|grep .gjf`
复制代码

327

帖子

2

威望

2809

eV
积分
3176

Level 5 (御坂)

3#
发表于 Post on 2022-9-22 19:46:02 | 只看该作者 Only view this author
  1. #Convert geometry (final, input orientation) in all Gaussian .out files in current folder to .gjf file by Multiwfn
  2. #!/bin/bash
  3. icc=0
  4. nfile=`ls *.mol|wc -l`
  5. for inf in *.mol
  6. do
  7. ((icc++))
  8. echo Converting ${inf} to ${inf//mol/gjf} ... \($icc of $nfile\)
  9. Multiwfn ${inf} << EOF > /dev/null
  10. 100
  11. 2
  12. 10
  13. ${inf//mol/gjf}
  14. 0
  15. q
  16. EOF
  17. mv ${inf//mol/gjf} /home/hipeson/Multiwfn_3.8_dev_bin_Linux/parallel/gjf
  18. done
  19. #将mol转换为gjf
复制代码

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
zmjsce + 3 赞!

查看全部评分 View all ratings

55

帖子

0

威望

725

eV
积分
780

Level 4 (黑子)

2#
 楼主 Author| 发表于 Post on 2022-9-22 19:05:53 | 只看该作者 Only view this author
希望大家可以分享一下自己提高文件处理效率的代码或者工具~

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

GMT+8, 2026-2-19 11:01 , Processed in 0.184991 second(s), 22 queries , Gzip On.

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