TABLE OF CONTENTS


ABINIT/m_defs_ptgroups [ Modules ]

[ Top ] [ Modules ]

NAME

 m_defs_ptgroups

FUNCTION

  This module contains the definition of the point_group_t datatype used to
  represent one of the 32 different point groups. It also provides the definition
  of the irrept_t structure that is used to store one of the irreducible 
  representations of the group

NOTES

  Methods "bound" to the point_group_t datatype are defined in the
  separate module m_ptgroups in order to avoid cyclic dependencies. 
  The automatically generated ptg_* routines indeed use irrept_t and 
  cannot be #included here.  The size of the final module 
  is indeed huge (>4000 lines) and several compilers are not able to
  compile the module in reasonable time when -O2 is used.

COPYRIGHT

 Copyright (C) 2010-2018 ABINIT group (MG)
 This file is distributed under the terms of the
 GNU General Public License, see ~abinit/COPYING
 or http://www.gnu.org/copyleft/gpl.txt .


m_defs_ptgroups/group_k_t [ Types ]

[ Top ] [ m_defs_ptgroups ] [ Types ]

NAME

 group_k_t

FUNCTION

  Datatype used to collect data on the little group.

SOURCE

182  type,public :: group_k_t
183 
184    integer :: spgroup
185    ! ITA space group number.
186 
187    integer :: nsym
188    ! Number of symmetries in the little group.
189 
190    integer :: nclass
191    ! Number of classes (equals the number of irreducible representations).
192 
193    integer,allocatable :: class_ids(:,:) 
194    ! class_ids(2,nclass)
195    ! (1,icl) = index of the first symmetry of class icl
196    ! (2,icl) = index of the last symmetry of class icl
197    ! Note that symmetries in sym are packed in classes.
198 
199    integer,allocatable :: sym(:,:,:) 
200    ! sym(3,3,nsym)
201    ! The symmetry operations of the little group packed in classes.
202    ! NB: operations are referred to the standard coordinate system.
203    ! Page 815-816 of Internationat Tables for crystallography Vol.A.
204 
205    real(dp) :: point(3)
206    ! The point referred to the standard coordinate system.
207 
208    real(dp),allocatable :: tnons(:,:)
209    ! tnons(3,nsym)
210    ! Fractional translations of the little group.
211    ! NB: operations are referred to the standard coordinate system.
212    ! Page 815-816 of Internationat Tables for crystallography Vol.A.
213 
214    character(len=5),allocatable :: class_names(:) 
215    ! class_names(nclass) 
216    ! The name of each class.
217 
218    type(irrep_t),allocatable :: Irreps(:)
219    ! Irreps(nclass)
220    ! The set of irreducible representations of the point group.
221 
222  end type group_k_t
223 
224 !CONTAINS  !===========================================================
225 
226 END MODULE m_defs_ptgroups

m_defs_ptgroups/irrep_t [ Types ]

[ Top ] [ m_defs_ptgroups ] [ Types ]

NAME

 irrep_t

FUNCTION

  Datatype representing an (irreducible) representation of the group.

SOURCE

 90  type,public :: irrep_t
 91 
 92    integer :: dim
 93    ! The dimension of the irreducible representation.
 94 
 95    integer :: nsym
 96    ! The number of symmetries in the group. 
 97 
 98    character(len=IRREPNAME_LEN) :: name="???"
 99    ! The name of the irreducible representation.
100 
101    complex(dpc),allocatable :: mat(:,:,:)
102    ! mat(dim,dim,nsym)
103    ! The irreducible representations of the group.
104 
105    complex(dpc),allocatable :: trace(:) 
106    ! trace(nsym) 
107    ! The trace of each matrix.
108 
109  end type irrep_t

m_defs_ptgroups/point_group_t [ Types ]

[ Top ] [ m_defs_ptgroups ] [ Types ]

NAME

 point_group_t

FUNCTION

  Datatype used to collect data concerning one of the 32 different point groups.

SOURCE

123  type,public :: point_group_t
124 
125    !integer :: numspg 
126    ! Number of the space group.
127 
128    integer :: nsym
129    ! Number of symmetries in the point group.
130 
131    integer :: nclass
132    ! Number of classes (equals the number of irreducible representations).
133 
134    character(len=5) :: gname
135    ! Point group name.
136 
137    !character(len=10) :: setting
138    ! Information about the space group setting (Table, Standard)
139 
140    integer,allocatable :: class_ids(:,:) 
141    ! class_ids(2,nclass)
142    ! (1,icl) = index of the first symmetry of class icl
143    ! (2,icl) = index of the last symmetry of class icl
144    ! Note that symmetries in the sym array are packed in classes.
145 
146    integer,allocatable :: sym(:,:,:) 
147    ! The symmetry operations packed in classes.
148    ! NB: operations are referred to the standard coordinate system.
149    ! Page 815-816 of International Tables for crystallography Vol.A.
150 
151    !$integer,allocatable :: symafm(:)
152    ! symafm(nsym)
153    ! AFM part of the symmetry operation
154 
155    !$real(dp),allocatable :: tnons(:,:) 
156    ! tnons(3,nsym)
157    ! fractional translations.
158 
159    character(len=5),allocatable :: class_names(:) 
160    ! class_names(nclass) 
161    ! The name of each class.
162 
163    type(irrep_t),allocatable :: Irreps(:) 
164    ! Irreps(nclass)
165    ! Array storing the irreducible representations of the point group.
166    ! Initialized from the tables downloaded from the Bilbao server.
167 
168  end type point_group_t