24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2464  |  回复: 9

gleerat

木虫 (正式写手)

[交流] 【其他】kpoints文件生成的几条途径已有3人参与

我知道kpoints有几种生成方式:自动模式,line模式(用于能带计算),全手动模式,用SYML作为输入文件使用gk.f编译的程序生成,从IBZKPT中拷贝。
我想知道的是:
(1)、什么时候使用IBZKPT中的数据作为KPOINTS文件的内容?是不是说它类似于做了一个“优化”,就像结构优化一样的原理,对自动模式的一种k点的优化?还是说有其特定用处?
(2)、用SYML生成的KPOINTS与Line模式输入的KPOINTS有什么区别?既然SYML中已经有了高对称点的信息,再用gk.f生成KPOINTS是否会得到其他额外的信息?
            我在使用这种方法试着生成KPOINTS的时候,提示k点不能多于200个(用的是作者自己提供的SYML是实例文件),不知道是怎么回事。是不是说在能带计算中,如果k点超过了200个的时候就会出现错误或者比较大的误差。
这是我参考的作者的网址:http://old.blog.edu.cn/user1/11542/archives/2006/1232097.shtml

[ Last edited by gleerat on 2010-5-20 at 11:02 ]
回复此楼
明察、慎思、笃行
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zzy870720z(金币+2):感谢指导 2010-05-20 08:31:11
不同的方式有不同的用途的。

auto的方式,除了不能用在能带计算中,其他的都可以用到。

line模式,只用在能带的计算中。

syml的模式,也只是用在能带计算中。这个的功能等同于line 模式,只是自己手动产生而已。

[ Last edited by valenhou001 on 2010-5-20 at 08:20 ]
2楼2010-05-20 08:19:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangzg9292

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
gavinliu7390(金币+1):谢谢交流! 2010-05-20 14:37:03
学习了,不过gk.f的程序中已经讲到了最大 k-points 为200,所以你要是用这个程序的话,超过200个肯定会出错的啊
3楼2010-05-20 08:51:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zzy870720z(金币+1):谢谢 2010-05-20 09:40:38
计算能带,没有必要用到200个k点。即使很多个方向的话,100以下就可以了。
gk.f里面简单的修改,将数组的范围增加。
4楼2010-05-20 09:38:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
Originally posted by valenhou001 at 2010-05-20 08:19:28:
不同的方式有不同的用途的。

auto的方式,除了不能用在能带计算中,其他的都可以用到。

line模式,只用在能带的计算中。

syml的模式,也只是用在能带计算中。这个的功能等同于line 模式,只是自己手动产 ...

谢谢。
auto不能用于能带计算,line是用于能带计算的,这个我知道。
复制IBZKPT的内容作为KPOINTS的方式适用于那种呢?
明察、慎思、笃行
5楼2010-05-20 10:50:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
Originally posted by valenhou001 at 2010-05-20 09:38:50:
计算能带,没有必要用到200个k点。即使很多个方向的话,100以下就可以了。
gk.f里面简单的修改,将数组的范围增加。

计算能带不需要太多的k点,这个我知道。但是在SYML中好像没有k点网格的信息吧,这个文件中只有高对称点的个数和位置坐标,在gk.f的输入文件只有这一个,它是如何知道k点的个数的?
还有,我用作者自己提供的SYML文件试着运行了gk.f,结果仍然提示k点不能超过200个,这个就令人纳闷了。
这是作者的网址:http://old.blog.edu.cn/user1/11542/archives/2006/1232097.shtml

[ Last edited by gleerat on 2010-5-20 at 11:02 ]
明察、慎思、笃行
6楼2010-05-20 10:56:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
gavinliu7390(金币+1):谢谢交流! 2010-05-20 14:37:16
将gk.f的开头10有关数组的定义给贴出来。。
7楼2010-05-20 11:08:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
gavinliu7390(金币+2):谢谢交流! 2010-05-20 14:37:25
将gk.f里面如下的修改一下:
c     max k-points = 200
..........
      dimension tkpt(200,3),pk(200,3),phighk(10,3)
      dimension disk(200),dish(10),labhk(10)

将上面的修改为:

      dimension tkpt(900,3),pk(900,3),phighk(10,3)
      dimension disk(900),dish(10),labhk(10)

这样扩展到最多可以产生900个k点。
8楼2010-05-20 14:03:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
Originally posted by valenhou001 at 2010-05-20 14:03:04:
将gk.f里面如下的修改一下:
c     max k-points = 200
..........
      dimension tkpt(200,3),pk(200,3),phighk(10,3)
      dimension disk(200),dish(10),labhk(10)

将上面的修改为:

      dimen ...

谢了。
IBZKPT是用来干嘛的呢?什么时候使用呢?如下:
引用回帖:
一般如非必要,可以先用自动模式生成k点,VASP会自动生成一个简约化后的k点矩阵,
存于IBZKPT file,可以直接复制里面的数据到KPOINTS file来用,其实这也是这个输入
法的主要用途,为了减少重复自动生成格点的时间。

明察、慎思、笃行
9楼2010-05-21 10:16:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
gavinliu7390(金币+2):谢谢交流! 2010-05-21 13:53:25
里面就是网格产生的在第一布里渊区的k点坐标。可以把它拷贝成KPOINTS,那就是相当于自己手动的产生k点,并给出k点的权重。但是一般情况不关心IBZK..里面的。
10楼2010-05-21 13:44:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gleerat 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见