24小时热门版块排行榜    

查看: 1074  |  回复: 2

gechaoyi

铁虫 (初入文坛)

[求助] kptopt, ngkpt, nshiftk shiftk kptrlatt 这几个参数怎么设置

哪位高手能给我解释下kptopt, ngkpt, nshiftk shiftk kptrlatt 这几个参数是怎么设置的阿?还有我看shiftk的设置与rprim有关,rprim这个怎么设置?我是个abinit的新手,好多不会的,麻烦大神了。。。。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjuer

至尊木虫 (著名写手)

【答案】应助回帖

★ ★ ★
zzy870720z(金币+3): 谢谢指教 2011-07-12 08:17:19
gechaoyi(金币+5): 谢谢你了,不过你这个就是那个教程的内容,你能通俗的给我解释下吗?我就是看不懂那个才问的。。。。 2011-07-12 09:02:22
kptopt
Mnemonics: KPoinTs OPTion
Characteristic:
Variable type: integer parameter
Default is 1 (WARNING : was 0 prior to 5.8).

Controls the set up of the k-points list. The aim will be to initialize, by straight reading or by a preprocessing approach based on other input variables, the following input variables, giving the k points, their number, and their weight: kpt, kptnrm, nkpt, and, for iscf/=-2, wtk.
Often, the k points will form a lattice in reciprocal space. In this case, one will also aim at initializing input variables that give the reciprocal of this k-point lattice, as well as its shift with respect to the origin: ngkpt or kptrlatt, as well as on nshiftk and shiftk.

A global additional shift can be provided by qptn

0=> read directly nkpt, kpt, kptnrm and wtk.
1=> rely on ngkpt or kptrlatt, as well as on nshiftk and shiftk to set up the k points. Take fully into account the symmetry to generate the k points in the Irreducible Brillouin Zone only.
(This is the usual mode for GS calculations)
2=> rely on ngkpt or kptrlatt, as well as on nshiftk and shiftk to set up the k points. Take into account only the time-reversal symmetry : k points will be generated in half the Brillouin zone.
(This is to be used when preparing or executing a RF calculation at q=(0 0 0) )
3=> rely on ngkpt or kptrlatt, as well as on nshiftk and shiftk to set up the k points. Do not take into account any symmetry : k points will be generated in the full Brillouin zone.
(This is to be used when preparing or executing a RF calculation at non-zero q )
4=> rely on ngkpt or kptrlatt, as well as on nshiftk and shiftk to set up the k points. Take into account all the symmetries EXCEPT the time-reversal symmetry to generate the k points in the Irreducible Brillouin Zone.
This has to be used when performing PAW calculations including spin-orbit coupling (pawspnorb/=0)
A negative value => rely on kptbounds, and ndivk to set up a band structure calculation along different lines (allowed only for iscf==-2). The absolute value of kptopt gives the number of segments of the band structure.
In the case of a grid of k points, the auxiliary variables kptrlen, ngkpt and prtkpt might help you to select the optimal grid.


ngkpt
Mnemonics: Number of Grid points for K PoinTs generation
Characteristic: NOT INTERNAL
Variable type: integer array ngkpt(3)
Default is No Default

Used when kptopt>=0, if kptrlatt has not been defined (kptrlatt and ngkpt are exclusive of each other).
Its three positive components give the number of k points of Monkhorst-Pack grids (defined with respect to primitive axis in reciprocal space) in each of the three dimensions. ngkpt will be used to generate the corresponding kptrlatt input variable. The use of nshiftk and shiftk, allows to generate shifted grids, or Monkhorst-Pack grids defined with respect to conventional unit cells.
When nshiftk=1, kptrlatt is initialized as a diagonal (3x3) matrix, whose diagonal elements are the three values ngkpt(1:3). When nshiftk is greater than 1, ABINIT will try to generate kptrlatt on the basis of the primitive vectors of the k-lattice: the number of shifts might be reduced, in which case kptrlatt will not be diagonal anymore.

Monkhorst-Pack grids are usually the most efficient when their defining integer numbers are even. For a measure of the efficiency, see the input variable kptrlen.

nshiftk
Mnemonics: Number of SHIFTs for K point grids
Characteristic:
Variable type: integer parameter
The Default is 1.

This parameter gives the number of shifted grids to be used concurrently to generate the full grid of k points. It can be used with primitive grids defined either from ngkpt or kptrlatt. The maximum allowed value of nshiftk is 8. The values of the shifts are given by shiftk.


shiftk
Mnemonics: SHIFT for K points
Characteristic:
Variable type: real array shift(3,nshiftk)
Default is 0.5 0.5 0.5 ... 0.5

It is used only when kptopt>=0, and must be defined if nshiftk is larger than 1.
shiftk(1:3,1:nshiftk) defines nshiftk shifts of the homogeneous grid of k points based on ngkpt or kptrlatt.
The shifts induced by shiftk corresponds to the reduced coordinates in the coordinate system defining the k-point lattice. For example, if the k point lattice is defined using ngkpt, the point whose reciprocal space reduced coordinates are ( shiftk(1,ii)/ngkpt(1) shiftk(2,ii)/ngkpt(2) shiftk(3,ii)/ngkpt(3) ) belongs to the shifted grid number ii.
The user might rely on ABINIT to suggest suitable and efficient combinations of kptrlatt and shiftk. The procedure to be followed is described with the input variables kptrlen. In what follows, we suggest some interesting values of the shifts, to be used with even values of ngkpt. This list is much less exhaustive than the above-mentioned automatic procedure.

1) When the primitive vectors of the lattice do NOT form a FCC or a BCC lattice, the usual (shifted) Monkhorst-Pack grids are formed by using nshiftk=1 and shiftk 0.5 0.5 0.5 . This is often the preferred k point sampling. For a non-shifted Monkhorst-Pack grid, use nshiftk=1 and shiftk 0.0 0.0 0.0 , but there is little reason to do that.

2) When the primitive vectors of the lattice form a FCC lattice, with rprim

        0.0 0.5 0.5
        0.5 0.0 0.5
        0.5 0.5 0.0
the (very efficient) usual Monkhorst-Pack sampling will be generated by using nshiftk= 4 and shiftk         0.5 0.5 0.5
        0.5 0.0 0.0
        0.0 0.5 0.0
        0.0 0.0 0.5
3) When the primitive vectors of the lattice form a BCC lattice, with rprim

       -0.5  0.5  0.5
        0.5 -0.5  0.5
        0.5  0.5 -0.5
the usual Monkhorst-Pack sampling will be generated by using nshiftk= 2 and shiftk         0.25  0.25  0.25
       -0.25 -0.25 -0.25
However, the simple sampling nshiftk=1 and shiftk 0.5 0.5 0.5 is excellent.
4) For hexagonal lattices with hexagonal axes, e.g. rprim

        1.0  0.0       0.0
       -0.5  sqrt(3)/2 0.0
        0.0  0.0       1.0
one can use nshiftk= 1 and shiftk 0.0 0.0 0.5
In rhombohedral axes, e.g. using angdeg 3*60., this corresponds to shiftk 0.5 0.5 0.5, to keep the shift along the symmetry axis.



kptrlatt
Mnemonics: K - PoinTs grid : Real space LATTice
Characteristic:
Variable type: integer array kptrlatt(3,3)
Default is No default.

This input variable is used only when kptopt is positive. It partially defines the k point grid. The other piece of information is contained in shiftk. kptrlatt cannot be used together with ngkpt.
The values kptrlatt(1:3,1), kptrlatt(1:3,2), kptrlatt(1:3,3) are the coordinates of three vectors in real space, expressed in the rprimd coordinate system (reduced coordinates). They defines a super-lattice in real space. The k point lattice is the reciprocal of this super-lattice, possibly shifted (see shiftk).

If neither ngkpt nor kptrlatt are defined, ABINIT will automatically generate a set of k point grids, and select the best combination of kptrlatt and shiftk that allows to reach a sufficient value of kptrlen. See this latter variable for a complete description of this procedure.
2楼2011-07-11 21:40:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjuer

至尊木虫 (著名写手)

【答案】应助回帖

★ ★
zzy870720z(金币+2): 谢谢指教 2011-07-13 09:36:48
gechaoyi(金币+5): 哦,好的~谢谢啦~ 2011-07-14 10:03:15
我一般就是设置kptopt 1,ngkpt N1 N2 N3让程序自动生成K点的网格,N1、N2、N3需要根据情况进行测试收敛之后才能确定他们的适当值,nshiftk和shiftk是根据你计算的晶胞的对称性可以在手册里找到的,上面贴出来的就有,kptrlatt 我不设置,因为跟前面ngkpt 的功能类似,是另一种定义k点的方法,不过我自己不习惯用它。
3楼2011-07-12 22:13:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gechaoyi 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 KXLV3nuBVBY7 2026-08-07 3/150 2026-08-08 03:27 by 6vVgjDL4CnGu
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 关于代码变化问题,想知道的进来 +9 且听虎啸 2026-08-07 12/600 2026-08-07 21:53 by 理想三旬2025
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[论文投稿] 十年后又回来了,论文投稿求助 +4 哈哈114477 2026-08-01 4/200 2026-08-07 14:39 by jgy194592
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] 关于豆爷回答的JTJC与%2F数量 +4 yang182083 2026-08-06 6/300 2026-08-07 12:43 by 虫友是什么虫
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见