计算化学公社

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

[Multiwfn资源与经验] 快速绘制三原子平面自旋密度填色投影图的脚本

[复制链接 Copy URL]

393

帖子

1

威望

5147

eV
积分
5560

Level 6 (一方通行)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 exity 于 2022-6-13 20:57 编辑

最近要做一批分子中的自旋密度的剖面图,写了个脚本,bash运行后输入3个原子编号来定义平面就可以,默认输出是pdf,经常需要改的参数都变量化了。
其他的参数在脚本上自己改就好,基本都进行了注释。
spin_dens_contourline3atoms.sh (4.97 KB, 下载次数 Times of downloads: 5)

#!/bin/bash

#正等值线样式定义
pls="1,0"                            #正等值线线形
plw=8                                #正等值线宽度
plc=4                                #正等值线颜色

#负等值线样式定义
nls="10,30"                          #负等值线线形
nlw=8                                #负等值线宽度
nlc=4                                #负等值线颜色

ruler="0.5 0.5 0.01"                 #X Y COLOR BAR刻度间距
enablelabel=1                        #是否启用等值线上标签0=关闭 1=启用
isovaluelabel=60                     #等值线上标签高度
atomcolor=1                          #原子颜色,定义见下述注释部分
bondcolor=5                          #化学键颜色,定义见下述注释部分

echo pleas enter atom NUMBER for plane define...
echo You should type as \"1 2 3\" or \"1,2,3\". \"321\" is not acceptable. Quotes should ***NOT*** be included.
read atomlist

# 1  = Red        2  = Green
# 3  = Blue       4  = White
# 5  = Black      6  = Gray
# 7  = Cyan       8  = Yellow
# 9  = Orange     10 = Magenta
# 11 = Crimson    12 = Dark green
# 13 = Purple     14 = Brown
# 15 = Dark blue  16 = Pink

echo 4                  >> tmp.mf    #进入平面图绘制
echo 5                  >> tmp.mf    #绘制自旋密度
echo 1                  >> tmp.mf    #图形类型为带等值线的填色图
echo 200,200            >> tmp.mf    #格点为200*200
echo 0                  >> tmp.mf    #以目标分子为基准的延展距离
echo 1                  >> tmp.mf    #延展距离为指定值   
echo 4                  >> tmp.mf    #以三个原子定义一个平面
echo $atomlist          >> tmp.mf    #原子序号
echo 1                  >> tmp.mf    #修改填色图的填色范围
echo -0.01,0.10         >> tmp.mf    #填色范围修改为此值
echo 4                  >> tmp.mf    #show atom label
echo $atomcolor         >> tmp.mf    #for colors
echo 8                  >> tmp.mf    #show bond
echo $bondcolor         >> tmp.mf    #for colors
echo -3                 >> tmp.mf    #进一步修改图形设置
echo 10                 >> tmp.mf    #修改出图格式
echo 7                  >> tmp.mf    #修改出图格式为pdf
echo 0                  >> tmp.mf    #返回
echo 2                  >> tmp.mf    #启动等值线
if (( $enablelabel == 1 )); then
    echo -3                 >> tmp.mf    #进一步修改图形设置
    echo 12                 >> tmp.mf    #开启等值线上的isovalue
    echo $isovaluelabel     >> tmp.mf    #isovalue数字高度为指定值
    echo 0                  >> tmp.mf    #返回
fi
echo 3                  >> tmp.mf    #进一步修改等值线设置
echo 4                  >> tmp.mf    #准备删除所有等值线
echo                    >> tmp.mf    #直接回车会删除所有等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo 0.005              >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo 0.01               >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo 0.02               >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo 0.03               >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo 0.04               >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo 0.05               >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo 0.10               >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo -0.001             >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo -0.002             >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo -0.004             >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo -0.01              >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo -0.03              >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo -0.05              >> tmp.mf    #增加对应的等值线
echo 3                  >> tmp.mf    #增加某条等值线
echo -0.10              >> tmp.mf    #增加对应的等值线
echo 11                 >> tmp.mf    #正等值线颜色
echo $plc               >> tmp.mf    #白色
echo 13                 >> tmp.mf    #负等值线颜色
echo $nlc               >> tmp.mf    #白色
echo 12                 >> tmp.mf    #设置正值的线形线宽
echo $pls               >> tmp.mf    #实线
echo $plw               >> tmp.mf    #线宽改为指定值
echo 14                 >> tmp.mf    #设置负值的线形线宽
echo $nls               >> tmp.mf    #虚线
echo $nlw               >> tmp.mf    #线宽改为指定值
echo 1                  >> tmp.mf    #返回
echo -8                 >> tmp.mf    #单位改为angstrom
echo -2                 >> tmp.mf    #修改xy和色卡坐标间距
echo $ruler             >> tmp.mf    #修改xy和色卡坐标间距为该值
echo 0                  >> tmp.mf    #输出图形
echo q                  >> tmp.mf    #优雅的退出multiwfn

icc=0
nfile=`ls ./*.fchk|wc -l`
for inf in *.fchk
do
    ((icc++))
    echo Running ${inf} ... \($icc of $nfile\)
    time Multiwfn ${inf} < tmp.mf
    mv dislin.pdf ${inf//.fchk}_spdens.pdf
    echo ${inf} is finished
    echo
done
rm tmp.mf

评分 Rate

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

查看全部评分 View all ratings

6万

帖子

99

威望

6万

eV
积分
125139

管理员

公社社长

2#
发表于 Post on 2022-6-13 21:54:54 | 只看该作者 Only view this author
用pdf记录填色图,文件尺寸比png大很多,而且打开略慢,需要注意。

读者请注意此脚本利用了最近几天新更新的Multiwfn的一些特征,需要先更新Multiwfn
北京科音自然科学研究中心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

本版积分规则 Credits rule

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

GMT+8, 2026-2-20 16:53 , Processed in 0.209640 second(s), 24 queries , Gzip On.

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