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-2024 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

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

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

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