BraveZhao的个人博客分享 http://blog.sciencenet.cn/u/BraveZhao

博文

根据高对称点生成KPOINTS文件的python小脚本

已有 3371 次阅读 2019-3-1 16:32 |个人分类:Python|系统分类:科研笔记

#!/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

用法:

  1. 首先把高对称点放在名称为HPoints的文件中,如下:

    image.png

  2. 运行MKPOINTS.py,生成KPOINTS文件,脚本会提示你输入两个高对称点之间的撒点数目,生成如下:

    image.png

    脚本:MKPOINTS.py



https://wap.sciencenet.cn/blog-3388193-1164994.html

上一篇:Linux系统整行删除命令以及光标移动+SCP命令进行文件传输
下一篇:[转载]转载:数据归一化和两种常用的归一化方法
收藏 IP: 112.4.150.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 18:24

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部