Interesting question.

The usual idea of the Monkhorst-Pack scheme is to approximate the
integration over a grid of discrete points. One could imagine the 'denser'
grid as being the grid resulting from a supercell of the original unit cell
(+ an arbitrary offset) and the integration points as being those points of
the denser grid that lie within the reciprocal space Wigner-Seitz cell of
the original unit cell.

So the input for the Monkhorst-Pack grid in all codes I know are simply 3
integers for the grid density and 3 numbers for the grid offset.

>From what I gather from the manual, the Monkhorst-Pack matrix in SIESTA is
more advanced as it can be used to redefine the reciprocal lattice vectors
for the integration in reciprocal space to some extend.

So, in a code like VASP, the MP grid would be defined by the three integers
a b c, which would correspond to
%block kgrid_Monkhorst_Pack
  a   0   0    0.0
  0   b   0    0.0
  0   0   c    0.0
%endblock kgrid_Monkhorst_Pack

corresponding to a the reciprocal space lattice
g1' = g1/a
 g2' = g2/b
 g3' = g3/c.
resulting from a a x b xc supercell and the real space lattice vectors
a1' = a*a1
a2' = b*a2
a3' = c*a3.
(where a1,a2,a3 and g1,g2.g3 are the lattice vectors of the original unit
cell in real space and rec. space. respecticely).

However, in SIESTA we could also define the supercell (and thus the MP grid)
by something like
%block kgrid_Monkhorst_Pack
  a   d   0    0.0
  0   b   0    0.0
  0   0   c    0.0
%endblock kgrid_Monkhorst_Pack

yielding the real space lattice vectors
a1' = a*a1+d*a2
a2' = b*a2
a3' = c*a3

and the MP grid given by the corresponding reciprocal lattice vectors
g1' = g1/a
 g2' = g2/b-d*g1/(a*b)
 g3' = g3/c,

i.e a different lattice as the 'original one'.

Well, this is just how I understood the manual, I don't know if it is
implemented this way.

Best wishes
Roland

On 3 August 2011 09:18, Guangping Zhang <[email protected]> wrote:

> **
> **
> Dear Hongyi,
>
> Thank you very much for you reply.
> I have known the sampling is done over the reciprocal space. But I am not
> sure how to understand the kgrid_Monkhorst_Pack used in SIESTA.
>
> I used to think the first three integers in each line stand for the number
> points used for each reciprocal vectors.
>
> If my understand is right, what is the difference between the following two
> way to specify the k sampling.
>
> %block LatticeVectors
>     a    0.0     0.0
>  0.0       b     0.0
>  0.0    0.0        c
> %endblock LatticeVectors
>
>  %block kgrid_Monkhorst_Pack
>   4   0   0    0.0
>   0   4   0    0.0
>   0   0   1    0.0
> %endblock kgrid_Monkhorst_Pack
>
> In this way, 4, 4 and 1 k point are used along each reciprocal vector which
> has the same direciton with its corresponding real space vector.
>
>
> But if I specify like the following:
>
>  %block kgrid_Monkhorst_Pack
>   4   4   1    0.0
>   0   0   0    0.0
>
>   0   0   0    0.0
> %endblock kgrid_Monkhorst_Pack
>
> Does it have the same meaning as the first way?
>
> I have read the manual for many times but I yet have difficulties in
> understanding it.
>
> Please do help me or give some instructions.
>
> Best
>
> Guangping
>

Responder a