当前位置: 首页 > news >正文

计算声子谱

准备的还是vasp的必备文件:POSCAR POTCAR KPOINTS,剩下需要的INCAR、band文件下面代码可以生成:

#!/bin/bash
if [ ! -f band.conf ];then
cat >>band.conf <<EOF
ATOM_NAME = Ti Al B
DIM = 1 1 1
BAND = 0.0 0.0 0.0  0.5 -0.5 0.5  0.25 0.25 0.25  0.0 0.0 0.0  0.0 0.0 0.5
FORCE_SETS=READ
#ANIME= 0.0 0.0 0.0 
EOF
fi
if [ $# -lt 2 ];thenD="3 3 1"
elif [ $# -eq 2 ];thenD="$1 $2 1"
elseD="$1 $2 $3"
fi
line=`sed -n "/DIM/=" band.conf`
sed -i "$line c DIM = $D" band.conf
phonopy -d --dim="$D" --tolerance=1e-2
if [ ! -f INCAR-phonon ];then
cat > INCAR-phonon <<EOF
SYSTEM = phonon
ISPIN  = 1
PREC   = Accurate
ISTART = 1
ICHARG = 0
ENCUT  = 600
EDIFF  = 1E-8
EDIFFG = -0.0001
NELM   = 100
NSW    = 0
IBRION = -1ISMEAR = 0
SIGMA  = 0.01LWAVE  = .TRUE.
LCHARG = .FALSELPLANE = .TRUE.
ADDGRID= .TRUE.
NPAR   = 4
LSCALU = .FALSE.
NSIM   = 4
EOF
fi
for i in {001..090}
doif [ -f "POSCAR-$i" ]thenif [ ! -d "$i" ]thenmkdir $ificp INCAR-phonon $i/INCARcp KPOINTS POTCAR $imv POSCAR-$i $i/POSCARcd $i#runvasp     -q Highcd ..elsebreakfi
done

KPOINTS设置:

A
0
M
3  3  3
0  0  0

注意,用vasp跑的原子数大概五十左右,太多会慢。我这里是49个,所以扩胞就写成了1 1 1,结果是否合理可以根据实验结果对照。

生成的文件需要检查

在每个目录下检查是否有以下文件:

  • vasprun.xml 

  • OSZICAR 

    for i in {001..047}; doif [ ! -f $i/vasprun.xml ] || [ ! -f $i/OSZICAR ]; thenecho "❌ $i 未完成"fi
    done
    

    在窗口用上面的命令就可以快速检查。最后,后处理:

  • #!/bin/bash
    for i in {001..090};do
    if [ -d "$i" ];thenif [ ! -f $i/vasprun.xml ];thenecho "no $i/vasprun.xml"exitfiif [ ! -f $i/OSZICAR ];thenecho "no  $i/OSZICAR"exitfib=`grep F= $i/OSZICAR`a=`grep : $i/OSZICAR|tail -1|awk '{print $2}'`echo $b $acp $i/vasprun.xml vasprun.xml-$i#rm -r $i
    elsebreak
    fi
    donephonopy -f vasprun.xml-*
    phonopy -p -s --band-points=1000 --tolerance=1e-2 --factor=521.471 band.conf
    phonopy-bandplot --gnuplot > phonon.out
    

http://www.dtcms.com/a/310060.html

相关文章:

  • 详解K8s集群搭建:从环境准备到成功运行
  • 力扣面试150(46/150)
  • Spring AI MCP:解锁大模型应用开发新姿势
  • Idea快捷键
  • 从入仓到结算全自动化:易境通如何重构散货拼柜业务流程?
  • SpringBoot3.x入门到精通系列:1.3 创建第一个SpringBoot 3.x应用
  • LeetCode 刷题【24. 两两交换链表中的节点、25. K 个一组翻转链表】
  • Ubuntu 开启wifi 5G 热点
  • 数字孪生城市:以虚实映射为起点,开启城市全要素数字化转型新纪元
  • Docker学习其二(容器卷,Docker网络,Compose)
  • FEVER数据集:事实验证任务的大规模基准与评估框架
  • 如何安全管理SSH密钥以防止服务器被入侵
  • Wisdom SSH开启高效管理服务器的大门
  • 企业WEB应用服务器TOMCAT
  • 将Varjo XR技术融入战斗机训练模拟器,有效提升模拟训练沉浸感与效率
  • python简单操作达梦数据库
  • 深入浅出理解WaitForSingleObject:Windows同步编程核心函数详解
  • 蘑兔 AI 音乐:你的专属音乐创作搭子
  • python基础:XPath解析网页数据:xpath简介、xpath语法、xpath节点、节点关系、xpath练习实战
  • 蓝桥杯----DA、AD
  • 3DEXPERIENCE结构树中的类型关系图谱
  • Linux(CentOS 7.9) 卸载、安装MySql 5.7详细步骤教程,包括密码设置、字符集设置等
  • 机器学习②【字典特征提取、文本特征处理(TF-IDF)、数据标准化与归一化、特征降维】
  • 在纯servlet项目中,使用@WebFilter定义了多个filter,如何设置filter的优先级
  • 力扣刷题日常(9-10)(待完善)
  • Python中.format()使用详解和格式化控制台日志场景示例
  • 【C语言入门级教学】字符指针变量
  • 逻辑回归算法中的一些问题
  • React核心:组件化与虚拟DOM揭秘
  • 《React Router深解:复杂路由场景下的性能优化与导航流畅性构建》