next up previous contents index
Next: Output of k-point information Up: DETAILED DESCRIPTION OF PROGRAM Previous: Interatomic distances   Contents   Index

$k$-point sampling

These are options for the k-point grid used in the SCF cycle. For other specialized grids, see the Macroscopic Polarization and Density of States sections.

kgrid_cutoff
(real length): Parameter which determines the fineness of the k-grid used for Brillouin zone sampling. It is half the length of the smallest lattice vector of the supercell required to obtain the same sampling precision with a single k point. Ref: Moreno and Soler, PRB 45, 13891 (1992).

Use: If it is zero, only the gamma point is used. The resulting k-grid is chosen in an optimal way, according to the method of Moreno and Soler (using an effective supercell which is as spherical as possible, thus minimizing the number of k-points for a given precision). The grid is displaced for even numbers of effective mesh divisions. This parameter is not used if kgrid_Monkhorst_Pack is specified. If the unit cell changes during the calculation (for example, in a cell-optimization run, the k-point grid will change accordingly (see ChangeKgridInMD for the case of variable-cell molecular-dynamics runs, such as Parrinello-Rahman). This is analogous to the changes in the real-space grid, whose fineness is specified by an energy cutoff. If sudden changes in the number of k-points are not desired, then the Monkhorst-Pack data block should be used instead. In this case there will be an implicit change in the quality of the sampling as the cell changes. Both methods should be equivalent for a well-converged sampling.

Default value: 0.0 Bohr

kgrid_Monkhorst_Pack
(data block): Real-space supercell, whose reciprocal unit cell is that of the k-sampling grid, and grid displacement for each grid coordinate. Specified as an integer matrix and a real vector:

     %block kgrid_Monkhorst_Pack
        Mk(1,1)  Mk(2,1)  Mk(3,1)   dk(1)
        Mk(1,2)  Mk(2,2)  Mk(3,2)   dk(2)
        Mk(1,3)  Mk(2,3)  Mk(3,3)   dk(3)
     %endblock kgrid_Monkhorst_Pack

where Mk(j,i) are integers and dk(i) are usually either 0.0 or 0.5 (the program will warn the user if the displacements chosen are not optimal). The k-grid supercell is defined from Mk as in block SuperCell above, i.e.: $KgridSuperCell(ix,i) = \sum_j CELL(ix,j)*Mk(j,i)$. Note again that the matrix indexes are inverted: each input line gives the decomposition of a supercell vector in terms of the unit cell vectors.

Use: Used only if SolutionMethod = diagon. The k-grid supercell is compatible and unrelated (except for the default value, see below) with the SuperCell specifier. Both supercells are given in terms of the CELL specified by the LatticeVectors block. If Mk is the identity matrix and dk is zero, only the $\Gamma$ point of the unit cell is used. Overrides kgrid_cutoff

Default value: $\Gamma$ point of the (super)cell. (Default used only when kgrid_cutoff is not defined).

ChangeKgridInMD
(boolean):

If .true., the k-point grid is recomputed at every iteration during MD runs that potentially change the unit cell: Parrinello-Rahman, Nose-Parrinello-Rahman, and Anneal. Regardless of the setting of this flag, the k-point grid is always updated at every iteration of a variable-cell optimization and after each step in a ``siesta-as-server'' run.

Default value: .false. for historical reasons. The rationale was to avoid sudden jumps in some properties when the sampling changes, but if the calculation is well-converged there should be no problems if the update is enabled.



Subsections
next up previous contents index
Next: Output of k-point information Up: DETAILED DESCRIPTION OF PROGRAM Previous: Interatomic distances   Contents   Index
2011-11-16