[sigle]

TETPACK Library


SETK** subroutines

SETK**

SETK** routines generate sampling k-points and construct a tetrahedral partition of an irreductible polyhedron in k-space, for performing Brillouin-zone integration over this polyhedron using the linear tetrahedron method. The tetrahedra whose corners are at the nodes of a regular mesh of points fill up exactly the irreductible volume. The basic input to each SETK** routine consists in direct- space lattice parameters, or primitive translations, and so-called discretization parameters used to construct the k-mesh. On output, the SETK** routines return

- the number NPTK of k-points
- the number NTET of tetrahedra
- the cartesian x, y, z components of the k-points in PTK(1,K), PTK(2,K), PTK(3,K) and the corresponding sampling weigths in PTK(4,K) , K = 1 ... NPTK
- a table defining the tetrahedra (list of corner points and the volumes of the tetrahedra) in a two-dimensional array IDEF

PTK is a REAL*8 array and IDEF is an INTEGER*4 array with dimensions PTK(4,NKMAX) and IDEF(5,NTMAX) in the calling program. Execution is bypassed whenever NPTK or NTET exceed NKMAX or NTMAX.

It is assumed that the cartesian coordinate system is as follows :
- Triclinic, Monoclinic and R-Trigonal systems : x,y,z along three arbitrary orthogonal directions
- P-Trigonal and Hexagonal systems : z along the three- or sixfold axis "c", x and y along two arbitrary orthogonal directions in the basal (a,b) plane
- Orthorhombic, Tetragonal and Cubic systems : x,y,z along the three orthogonal "a", "b" and "c" axes, respectively

Remark :

the sampling weights are normalized to one ; they are not used in the linear tetrahedron method but are nevertheless generated by the SETK** routines for compatibility with other Brillouin-zone integration techniques.


SETK01

Simple Cubic system, symmetry at gamma = Oh.
Sampling volume = 1/48 irreductible wedge of the first Brillouin zone. Cubic mesh of points with step size pi/a/NA along the three coordinate axes.

CALL SETK01(NA,A,PTK,NPTK,IDEF,NTET,NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA is the k-mesh discretization parameter,
A is the direct-space cubic lattice parameter "a".

On output,

NPTK = (NA+1)*(NA+2)*(NA+3)/6

NTET = NA**3


SETK02

Body-centred Cubic system, symmetry at gamma = Oh.
Sampling volume = 1/48 irreductible wedge of the first Brillouin zone. Cubic mesh of points with step size pi/a/NA along the three coordinate axes, where a is the lattice parameter of the conventional non-primitive cubic cell.

CALL SETK02(NA,A,PTK,NPTK,IDEF,NTET,NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA is the k-mesh discretization parameter,
A is the direct-space cubic lattice parameter "a".

On output,

NPTK = (NA+1)*(NA+2)*(2*NA+3)/6

NTET = 2*NA**3


SETK03

Face-centred Cubic system, symmetry at gamma = Oh.
Sampling volume = 1/48 irreductible wedge of the first Brillouin zone. Cubic mesh of points with step size pi/a/NA along the three coordinate axes, where a is the lattice parameter of the conventional non-primitive cubic cell.

CALL SETK03(NA,A,PTK,NPTK,IDEF,NTET,NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA is the k-mesh discretization parameter,
A is the direct-space cubic lattice parameter "a".

On output,

NPTK = (NA+2)*(8*NA**2+11*NA+6)/12

NTET = NA*(8*NA**2-NA+1)/2

Remark :

NA must be an even integer.


SETK04

P-Trigonal and Hexagonal systems (hexagonal Bravais lattice).
Symmetry at gamma can be C3i or D3d for the trigonal division ; C6h or D6h for the hexagonal division.
Sampling volume = 2/12 (C3i), 2/24 (D3d), 1/12 (C6h) or 1/24 (D6h) irreductible wedge of the first Brillouin zone.
Hexagonal k-mesh with parameter 2pi/3a/NH in the basal plane and vertical spacing pi/c/NC along the z direction.

C3i :

CALL SETK04(

-NH,-NC, A1,A2, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

D3d :

CALL SETK04(

+NH,-NC, A1,A2, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

C6h :

CALL SETK04(

-NH,+NC, A1,A2, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

D6h :

CALL SETK04(

+NH,+NC, A1,A2, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION A1(3),A2(3),PTK(4,NKMAX),IDEF(5,NTMAX)

NH,NC

are signed k-mesh discretization parameters,

A1,A2

are two primitive translation vectors in the basal(x,y) plane of the direct hexagonal lattice (with equal length "a" and making a 120å angle),

C

is the direct-space lattice parameter "c".

On output,

C3i

NPTK = 2*(NH+1)*(2*NH+1)*NC

NTET = 24*NH**2*NC

D3d

NPTK = 2*(NH+1)**2*NC

NTET = 12*NH**2*NC

C6h

NPTK = (NH+1)*(2*NH+1)*(NC+1)

NTET = 12*NH**2*NC

D6h

NPTK = (NH+1)**2*(NC+1)

NTET = 6*NH**2*NC

Remark :

NH must be an even integer ; A1(3) = A2(3) = 0.0.

Can be used for a two-dimensional hexagonal lattice by taking NC = 0. There are no tetrahedra, C is ignored, the k-points are defined in the 1/12th (+NH) or 1/6th part (-NH) of the 1st Brillouin zone for C6v or C6 symmetry at gamma depending on whether one enters +NH or -NH as first argument.
On output,

C6

NPTK = (NH+1)*(2*NH+1)

NTET = 0

C6v

NPTK = (NH+1)**2

NTET = 0


SETK05

R-Trigonal system (rhombohedral Bravais lattice), symmetry at gamma can be C3i or D3d. The sampling volume is 1/6th (C3i) or 1/12th (D3d) the rhombohedral reciprocal cell. Regular rhombohedral cell with step sizes Br/2NR along the directions of the three primitive translations in reciprocal space, with equal length Br and making equal angles with one another.

C3i :

CALL SETK05(

-NR, A1,A2,A3, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

D3d :

CALL SETK05(

+NR, A1,A2,A3, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX)

NR

is a signed k-mesh discretization parameter,

A1,A2,A3

are primitive translations of the direct-space rhombohedral lattice (with equal length and making equal angles with one another).

On output :

C3i

NPTK = NR*(NR+1)*(NR+2)*/3-1

NTET = 8*NR**3

D3d

NPTK = NR*(NR+1)*(4*NR+11)/6

NTET = 4*NR**3


SETK06

Triclinic system, symmetry at gamma = C1i.
The sampling volume is half the primitive reciprocal cell.
Regular k-mesh with step sizes B1/2N1, B2/2N2 and B3/2N3 along the directions of the three translation vectors B1, B2 and B3 of the reciprocal lattice.

CALL SETK06(

N1,N2,N3, A1,A2,A3, PTK,NPTK, IDEF, NTET, NKMAX,NTMAX)

with DIMENSION A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX)
N1,N2,N3 are the three k-mesh discretization parameters,
A1,A2,A3 are primitive translations of the direct-space triclinic lattice.

On output,

NTET = 24*N1*N2*N3

NPTK = 4*N1*N2*N3 +2*NI*NM + NM +1

where NM = MIN0(N1,N2,N3), NI is that discretization parameter between NM and MAX0(N1,N2,N3)


SETK07

Simple Orthorhombic system, symmetry at gamma = D2h.
The sampling volume is 1/8 irreductible wedge of the first Brillouin zone. Regular k-mesh with step sizes pi/a/NA, pi/b/NB and pi/c/NC along x, y and z, respectively.

CALL SETK07(

NA,NB,NC, A,B,C, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA,NB,NC are the three k-mesh discretization parameters,
A,B,C are the three parameters "a","b","c" of the direct lattice.

On output,

NPTK = (NA+1)*(NB+1)*(NC+1)

NTET = 6*NA*NB*NC


SETK08

Simple Tetragonal system, symmetry at gamma = D4h.
The sampling volume is 1/16 irreductible wedge of the first Brillouin zone. Regular k-mesh with step sizes pi/a/NA, along x and y ; pi/c/NC along z.

CALL SETK08(

NA,NC, A,C, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA,NC are the two k-mesh discretization parameters,
A,C are the two parameters "a","c" of the direct lattice.

On output,

NPTK = (NA+1)*(NA+2)*(NC+1)/2

NTET = 3*NA**2*NC


SETK09

Side-centred orthorhombic system, symmetry at gamma = D2h.
Lattice type can be A, B or C. Sampling volume is a polyhedron representing 1/8th the primitive reciprocal cell.
Regular mesh of points with step-sizes pi/a/NA, pi/b/NB and pi/c/NC along x, y, z respectively, where a,b,c are the lattice parameters of the conventional orthorhombic cell.

A-Monoclinic system :

CALL SETK09(

-NA,+NB,+NC, A,B,C, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

B-Monoclinic system :

CALL SETK09(

+NA,-NB,+NC, A,B,C, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

C-Monoclinic system :

CALL SETK09(

+NA,+NB,-NC, A,B,C, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA,NB,NC are signed k-mesh discretization parameters,
A,B,C are the three lattice parameters of the direct-spac conventional orthorhombic cell.

On output,

NTET = 12*NA*NB*NC for the three types

A-type

NPTK = (NA+1)*(2*NB+1)*(NC+1) if NB <= NC

NPTK = (NA+1)*(NB+1)*(2*NC+1) if NB >= NC

B-type

NPTK = (NA+1)*(NB+1)*(2*NC+1) if NC <= NA

NPTK = (2*NA+1)*(NB+1)*(NC+1) if NC >= NA

C-type

NPTK = (2*NA+1)*(NB+1)*(NC+1) if NA <= NB

NPTK = (NA+1)*(2*NB+1)*(NC+1) if NA >= NB

Remark :

For C-type lattice, NB = NC should be used when b is close to c ; NA < NB should be used when a/b > 1.4 ; NB < NA should be used when b/a >1.4.

Similar rules should be applied for B- and A-types.

External source : SETK07


SETK10

Body-centred orthorhombic system, symmetry at gamma = D2h.
Sampling volume is a polyhedron representing 1/8th the primitive reciprocal cell.
Regular mesh of points with step-sizes pi/a/NA, pi/b/NB and pi/c/NC along x, y, z respectively, where a,b,c are the lattice parameters of the conventional orthorhombic cell.

CALL SETK10(

NA,NB,NC, A,B,C, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA,NB,NC are the three k-mesh discretization parameters,
A,B,C are the three lattice parameters of the direct-space conventional orthorhombic cell.

On output,

NTET = 12*NA*NB*NC

NPTK = (N1+1)*(4*N1**2+5*N1+2)/2 if N1 = N2 = N3

NPTK = (N1+1)*(N2+1)*(2*N3+1) if N1 >= N2 > N3

where N1,N2,N3 are the three k-mesh discretization parameters reordered in such a way that N1 >= N2 >= N3

Remarks :

N3 should be associated with the largest lattice parameter A3 = AMAX1(A,B,C). Let A1 and A2 be the remaining lattice parameters. Then, N1 = N2 = N3 should be used when A1,A2,A3 are close together; one should use N1 > N2 = N3 when A1 < A3 and A3 close to A2 ; N1 > N3 and N2 > N3 should be used when A3 > 1.4*A1 and A3 > 1.4*A2.

External sources : SETK07,SETK09


SETK11

Body-centred tetragonal system, symmetry at gamma = D4h.
Sampling volume is a polyhedron representing 1/16th the primitive reciprocal cell.
Regular mesh of points with step-sizes pi/a/NA along x and y and pi/c/NC along z, where a and c are the lattice parameters of the conventional tetragonal cell.

CALL SETK11(

NA,NC, A,C, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION PTK(4,NKMAX),IDEF(5,NTMAX)
NA,NC are the two k-mesh discretization parameters,
A,C are the lattice parameters of the conventional direct-space tetragonal cell.

On output,

NTET = 6*NA**2*NC

NPTK = (NA+1)*(NA+2)*(2*NC+1)/2 if NC < NA

NPTK = (NA+1)**3 if NC = NA

NPTK = (NA+1)**2*(NC+1) if NC > NA

Remarks :

NC < NA should be used when c > 1.4*a ; NC =NA should be used when a is close to c and NC > NA should be used when c < 0.7*a.

External source : SETK08


SETK13

Simple Monoclinic system, symmetry at gamma = C2h.
The sampling volume is 1/4th the reciprocal monoclinic cell.
Regular k-mesh with step sizes B1/2N1, B2/2N2 and B3/2N3 along the directions of the three translation vectors B1, B2 and B3 of the reciprocal lattice.

CALL SETK13(

N1,N2,N3, A1,A2,A3, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX)

N1,N2,N3

are the three k-mesh discretization parameters,

A1,A2,A3

are primitive translations of the direct-space monoclinic lattice where A3 is along the binary axis, A1 and A2 are perpendicular to it.

On output,

NTET = 12*N1*N2*N3

NPTK = (2*N1*N2+NM+1)*(N3+1)

where NM = MIN0(N1,N2).


SETK14

Side-centred Monoclinic system, symmetry at gamma = C2h.
The sampling volume is half the conventional reciprocal monoclinic cell whose translation vectors B1, B2 and B3 are generated from the lattice vectors A1, A2 and A3 of the conventional monoclinic cell in direct space.
Regular k-mesh with step sizes B1/2N1, B2/2N2 and B3/2N3 identical to that used for a primitive monoclinic system.

CALL SETK14(

N1,N2,N3, A1,A2,A3, PTK,NPTK, IDEF,NTET, NKMAX,NTMAX)

with DIMENSION A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX)

N1,N2,N3

are the three k-mesh discretization parameters,

A1,A2,A3

are three translation vectors of the direct-space conventional monoclinic cell with two lattice points, A3 is along the binary axis, A1 and A2 are perpendicular to it and the (A1,A3) face is centred<

On output,

NTET = 24*N1*N2*N3

NPTK = (4N1*N3+2*N1+2*N3-1)*(N2+1).


Go to : FUNDP / Faculty of Science / Physics Department

 

Jean-Pol Vigneron