|
|
TETPACK Library |
|
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 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 : 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. |
|
Simple
Cubic system, symmetry at gamma = Oh. CALL
SETK01(NA,A,PTK,NPTK,IDEF,NTET,NKMAX,NTMAX) with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) On output, NPTK = (NA+1)*(NA+2)*(NA+3)/6 NTET = NA**3 |
|
Body-centred
Cubic system, symmetry at gamma = Oh. CALL SETK02(NA,A,PTK,NPTK,IDEF,NTET,NKMAX,NTMAX) with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) On output, NPTK = (NA+1)*(NA+2)*(2*NA+3)/6 NTET = 2*NA**3 |
|
Face-centred
Cubic system, symmetry at gamma = Oh. CALL
SETK03(NA,A,PTK,NPTK,IDEF,NTET,NKMAX,NTMAX) with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) 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. |
|
P-Trigonal
and Hexagonal systems (hexagonal Bravais lattice). C3i :
D3d :
C6h :
D6h :
with DIMENSION
A1(3),A2(3),PTK(4,NKMAX),IDEF(5,NTMAX)
On output,
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.
|
|
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 :
D3d :
with DIMENSION
A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX)
On output :
|
|
Triclinic
system, symmetry at gamma = C1i.
with DIMENSION
A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX) 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) |
|
Simple
Orthorhombic system, symmetry at gamma = D2h.
with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) On output, NPTK = (NA+1)*(NB+1)*(NC+1) NTET = 6*NA*NB*NC |
|
Simple
Tetragonal system, symmetry at gamma = D4h.
with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) On output, NPTK = (NA+1)*(NA+2)*(NC+1)/2 NTET = 3*NA**2*NC |
|
Side-centred
orthorhombic system, symmetry at gamma = D2h. A-Monoclinic
system :
B-Monoclinic
system :
C-Monoclinic
system :
with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) 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 |
|
Body-centred
orthorhombic system, symmetry at gamma = D2h.
with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) 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 |
|
Body-centred
tetragonal system, symmetry at gamma = D4h.
with DIMENSION
PTK(4,NKMAX),IDEF(5,NTMAX) 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 |
|
Simple
Monoclinic system, symmetry at gamma = C2h.
with DIMENSION
A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX)
On
output, NTET = 12*N1*N2*N3 NPTK = (2*N1*N2+NM+1)*(N3+1) where NM = MIN0(N1,N2). |
|
Side-centred
Monoclinic system, symmetry at gamma = C2h.
with DIMENSION
A1(3),A2(3),A3(3),PTK(4,NKMAX),IDEF(5,NTMAX)
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 |
|
|
|