TABLE OF CONTENTS
- ABINIT/m_defs_ptgroups
- m_defs_ptgroups/group_k_t
- m_defs_ptgroups/irrep_t
- m_defs_ptgroups/point_group_t
ABINIT/m_defs_ptgroups [ 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