||
#!/usr/bin/python # -*- coding: UTF-8 -*- # a simple code is used to get the KPOINTS file for energy band calculation # email:ZhiqiangZhao55@163.com import os import numpy as np f1=open("./HPoints",'r') Nlines = len(open("./HPoints",'r').readlines()) f1.close f2=open("./HPoints",'r') K=open('./KPOINTS','w') h1='k-points along high symmetry lines' h2=input("numbers of points:") h3='Line-Mode \nReciprocal' K.write(str(h1)+'\n'+' '+str(int(h2))+'\n'+str(h3)+'\n') a=0 while True: a+=1 line=f2.readline() if(line!=''): if(a in np.arange(2, Nlines,1)): K.writelines(' '+str(line)+'\n'+' '+str(line)) else: K.writelines(' '+str(line)) else: break f2.close
用法:
首先把高对称点放在名称为HPoints的文件中,如下:
运行MKPOINTS.py,生成KPOINTS文件,脚本会提示你输入两个高对称点之间的撒点数目,生成如下:
脚本:MKPOINTS.py
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 23:02
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社