24小时热门版块排行榜    

查看: 1080  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gechaoyi

铁虫 (初入文坛)

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

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

» 猜你喜欢

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

已阅   回复此楼   关注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的回帖
查看全部 3 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 澳大利亚 Murdoch University 全奖博士招生(3个名额)地质化工冶金领域 +11 AI8RaGaPaSCR 2026-08-07 11/550 2026-08-13 16:15 by UAjPKo3ZlAnV
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 5/250 2026-08-13 16:10 by majunge000
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +3 启萌科技 2026-08-12 6/300 2026-08-13 15:34 by 高飞的梦想
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 关于Filecode分析方法 +9 majunge000 2026-08-10 11/550 2026-08-13 10:40 by ZH远山
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +9 家与远方 2026-08-10 14/700 2026-08-13 09:41 by 臭臭不臭01
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +22 Lanmanbaby 2026-08-09 36/1800 2026-08-12 22:50 by sdfapple719
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +4 工厂打螺丝 2026-08-08 4/200 2026-08-12 09:18 by hansi2025
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
信息提示
请填处理意见