LCOV - code coverage report
Current view: top level - src/41_geometry - m_spgdata.F90 (source / functions) Coverage Total Hit
Test: coverage.info Lines: 71.1 % 1298 923
Test Date: 2026-11-08 02:25:56 Functions: 100.0 % 5 5
Branches: 67.3 % 1382 930

             Branch data     Line data    Source code
       1                 :             : !!****m* ABINIT/m_spgdata
       2                 :             : !! NAME
       3                 :             : !!  m_spgdata
       4                 :             : !!
       5                 :             : !! FUNCTION
       6                 :             : !!
       7                 :             : !!
       8                 :             : !! COPYRIGHT
       9                 :             : !!  Copyright (C) 2000-2026 ABINIT group (RC, XG)
      10                 :             : !!  This file is distributed under the terms of the
      11                 :             : !!  GNU General Public License, see ~abinit/COPYING
      12                 :             : !!  or http://www.gnu.org/copyleft/gpl.txt .
      13                 :             : !!
      14                 :             : !! SOURCE
      15                 :             : 
      16                 :             : #if defined HAVE_CONFIG_H
      17                 :             : #include "config.h"
      18                 :             : #endif
      19                 :             : 
      20                 :             : #include "abi_common.h"
      21                 :             : 
      22                 :             : module m_spgdata
      23                 :             : 
      24                 :             :  use defs_basis
      25                 :             :  use m_abicore
      26                 :             :  use m_errors
      27                 :             : 
      28                 :             :  use m_symtk,     only : symdet
      29                 :             :  use m_geometry,  only : xred2xcart
      30                 :             : 
      31                 :             :  implicit none
      32                 :             : 
      33                 :             :  private
      34                 :             : !!***
      35                 :             : 
      36                 :             :  public :: prtspgroup
      37                 :             :  public :: spgdata
      38                 :             :  public :: getptgroupma
      39                 :             :  public :: symptgroup
      40                 :             : 
      41                 :             : contains
      42                 :             : !!***
      43                 :             : 
      44                 :             : !!****f* m_spgdata/prtspgroup
      45                 :             : !! NAME
      46                 :             : !! prtspgroup
      47                 :             : !!
      48                 :             : !! FUNCTION
      49                 :             : !! Print the space group (first, the dataset)
      50                 :             : !!
      51                 :             : !! INPUTS
      52                 :             : !!  bravais(11)=characteristics of Bravais lattice (see symlatt.f)
      53                 :             : !!  genafm(3)=generator of magnetic translations, in case of
      54                 :             : !!            Shubnikov type IV magnetic groups (if zero, the group is
      55                 :             : !!            not a type IV magnetic group)
      56                 :             : !!  iimage (optional) = index of the image, for possible printing purpose
      57                 :             : !!  iout=unit number of output file
      58                 :             : !!  jdtset= actual number of the dataset to be read
      59                 :             : !!  ptgroupma=magnetic point group, in case of
      60                 :             : !!            Shubnikov type III magnetic groups (if zero, the group is
      61                 :             : !!            not a type III magnetic group)
      62                 :             : !!  spgroup=space group number
      63                 :             : !!
      64                 :             : !! OUTPUT
      65                 :             : !!
      66                 :             : !! SOURCE
      67                 :             : 
      68                 :       19778 : subroutine prtspgroup(bravais,genafm,iout,jdtset,ptgroupma,spgroup,iimage)
      69                 :             : 
      70                 :             : !Arguments ------------------------------------
      71                 :             : !scalars
      72                 :             :  integer,intent(in) :: iout,jdtset,ptgroupma,spgroup
      73                 :             :  integer,intent(in),optional :: iimage
      74                 :             : !arrays
      75                 :             :  integer,intent(in) :: bravais(11)
      76                 :             :  real(dp),intent(in) :: genafm(3)
      77                 :             : 
      78                 :             : !Local variables -------------------------------
      79                 :             : !scalars
      80                 :             :  integer :: center,iholohedry,ii,shubnikov,spgaxor,spgorig,sporder,sumgen
      81                 :             :  character(len=1) :: brvsb
      82                 :             :  character(len=10) :: ptgrpmasb
      83                 :             :  character(len=15) :: intsb,ptintsb,ptschsb,schsb
      84                 :             :  character(len=35) :: intsbl
      85                 :             :  character(len=500) :: message
      86                 :             :  character(len=80) :: msg_header,bravais_name
      87                 :             : !arrays
      88                 :             :  integer :: genafmint(3)
      89                 :             :  real(dp) :: genafmconv(3),rprimdconv(3,3)
      90                 :             : 
      91                 :             : !*************************************************************************
      92                 :             : 
      93                 :             : !DEBUG
      94                 :             : !write(std_out,*)' prtspgroup : enter '
      95                 :             : !write(std_out,*)' ptgroupma=',ptgroupma
      96                 :             : !write(std_out,*)' genafm(:)=',genafm(:)
      97                 :             : !ENDDEBUG
      98                 :             : 
      99                 :       19778 :  center=bravais(2)
     100                 :       19778 :  iholohedry=bravais(1)
     101                 :             : 
     102                 :             : !Determine the magnetic type
     103                 :       19778 :  shubnikov=1
     104         [ +  + ]:       19778 :  if(ptgroupma/=0)shubnikov=3
     105   [ +  +  +  + ]:       79112 :  if(sum(abs(genafm(:)))>tol6)then
     106                 :        4684 :    shubnikov=4
     107                 :             : !  Produce genafm in conventional axes,
     108         [ +  + ]:        4684 :    rprimdconv(:,1)=bravais(3:5)
     109         [ +  + ]:        4684 :    rprimdconv(:,2)=bravais(6:8)
     110         [ +  + ]:        4684 :    rprimdconv(:,3)=bravais(9:11)
     111   [ +  +  +  +  :        3691 :    if(center/=0)rprimdconv(:,:)=rprimdconv(:,:)*half
                   +  + ]
     112                 :        1171 :    call xred2xcart(1,rprimdconv,genafmconv,genafm)
     113                 :             : !  Gives the associated translation, with components in the
     114                 :             : !  interval ]-0.5,0.5] .
     115         [ +  + ]:        4684 :    genafmconv(:)=genafmconv(:)-nint(genafmconv(:)-tol6)
     116         [ +  + ]:        4684 :    do ii=1,3
     117                 :        3513 :      genafmint(ii)=-1
     118         [ +  + ]:        3513 :      if(abs(genafmconv(ii)-zero)<tol6)genafmint(ii)=0
     119         [ +  + ]:        4684 :      if(abs(genafmconv(ii)-half)<tol6)genafmint(ii)=1
     120                 :             :    end do
     121   [ +  +  -  + ]:        4684 :    if(minval(genafmint(:))==-1)then
     122                 :             :      write(message, '(3a,3es12.2,a)' )&
     123                 :           0 : &     'The magnetic translation generator,',ch10,&
     124                 :           0 : &     'genafmconv(:)=',genafmconv(:),&
     125                 :           0 : &     'could not be identified.'
     126                 :           0 :      ABI_BUG(message)
     127                 :             :    end if
     128                 :             :  end if
     129                 :             : 
     130                 :             : !Prepare the print : establish message header
     131         [ +  + ]:       19778 :  if(jdtset/=0)then
     132         [ +  + ]:       18451 :    if(present(iimage))then
     133                 :         252 :      write(msg_header,'(a,i5,a,i5)')' DATASET',jdtset,' IMAGE NUMBER',iimage
     134                 :             :    else
     135                 :       18199 :      write(msg_header,'(a,i5)')' DATASET',jdtset
     136                 :             :    endif
     137                 :             :  else
     138         [ +  + ]:        1327 :    if(present(iimage))then
     139                 :          69 :      write(msg_header,'(a,i5)')' IMAGE NUMBER',iimage
     140                 :             :    else
     141                 :        1258 :      write(msg_header,'(a)')' Symmetries'
     142                 :             :    endif
     143                 :             :  endif
     144                 :             : 
     145                 :             : !Determine whether the space group can be printed
     146         [ +  + ]:       19778 :  if(iholohedry<=0)then
     147                 :         453 :    write(message,'(a,a)')trim(msg_header),' : the unit cell is not primitive'
     148                 :         453 :    call wrtout(iout,message,'COLL')
     149         [ +  + ]:       19325 :  else if(spgroup==0)then
     150                 :          20 :    write(message,'(a,a)')trim(msg_header),' : the space group has not been recognized'
     151                 :          20 :    call wrtout(iout,message,'COLL')
     152                 :             :  else
     153                 :             : 
     154                 :             : !  ------------------------------------------------------------------
     155                 :             : !  The space group can be printed
     156                 :             : 
     157                 :             : !  Determine the Bravais lattice
     158                 :             : 
     159   [ +  +  +  +  :       19305 :    bravais_name=' (the Bravais lattice could not be identified)'
             +  +  +  - ]
     160                 :             : 
     161                 :             :    if(iholohedry==7)then ! Cubic
     162                 :             : 
     163         [ +  + ]:        8526 :      if(center==0) then
     164         [ +  + ]:        1413 :        if(shubnikov/=4)bravais_name='cP (primitive cubic)'
     165                 :          54 :        if(shubnikov==4)bravais_name='cP_I (primitive cubic, inner magnetic, #33)'
     166         [ +  + ]:        7113 :      else if(center==-1) then
     167         [ +  - ]:         441 :        if(shubnikov/=4)bravais_name='cI (body-center cubic)' ! Only non-magnetic is possible
     168         [ +  - ]:        6672 :      else if(center==-3) then
     169         [ +  + ]:        6672 :        if(shubnikov/=4)bravais_name='cF (face-center cubic)'
     170                 :          22 :        if(shubnikov==4)bravais_name='cF_s (face-center cubic, simple cubic magnetic, #35)'
     171                 :             :      end if
     172                 :             : 
     173                 :             :    else if(iholohedry==4)then ! Tetragonal
     174                 :             : 
     175         [ +  + ]:        2452 :      if(center==0) then
     176         [ +  + ]:        1983 :        if(shubnikov/=4)bravais_name='tP (primitive tetrag.)'
     177         [ +  + ]:        1983 :        if(shubnikov==4)then
     178         [ +  + ]:        1252 :          sumgen=sum(genafmint(:))
     179         [ +  + ]:         313 :          if(sumgen==1)bravais_name='tP_c (primitive tetrag., c-magnetic, #23)'
     180         [ +  + ]:         313 :          if(sumgen==2)bravais_name='tP_C (primitive tetrag., C-magnetic, #24)'
     181         [ +  + ]:         313 :          if(sumgen==3)bravais_name='tP_I (primitive tetrag., centered magnetic, #25)'
     182                 :             :        end if
     183         [ +  - ]:         469 :      else if(center==-1)then
     184         [ +  + ]:         469 :        if(shubnikov/=4)bravais_name='tI (body-center tetrag.)'
     185                 :          38 :        if(shubnikov==4)bravais_name='tI_c (body-center tetrag., simple tetragonal magnetic, #27)'
     186                 :             :      end if
     187                 :             : 
     188                 :             :    else if(iholohedry==3)then ! Orthorhombic
     189                 :             : 
     190         [ +  + ]:        2041 :      if(center==0) then
     191         [ +  + ]:        1431 :        if(shubnikov/=4)bravais_name='oP (primitive ortho.)'
     192         [ +  + ]:        1431 :        if(shubnikov==4)then
     193         [ +  + ]:        1328 :          sumgen=sum(genafmint(:))
     194         [ +  + ]:         332 :          if(sumgen==1)then
     195         [ +  + ]:         136 :            if(genafmint(1)==1)bravais_name='oP_a (primitive ortho., a-magnetic, #11)'
     196         [ +  + ]:         136 :            if(genafmint(2)==1)bravais_name='oP_b (primitive ortho., b-magnetic, #11)'
     197         [ +  + ]:         136 :            if(genafmint(3)==1)bravais_name='oP_c (primitive ortho., c-magnetic, #11)'
     198         [ +  + ]:         196 :          else if(sumgen==2)then
     199         [ +  + ]:         136 :            if(genafmint(1)==0)bravais_name='oP_A (primitive ortho., A-magnetic, #12)'
     200         [ +  + ]:         136 :            if(genafmint(2)==0)bravais_name='oP_B (primitive ortho., B-magnetic, #12)'
     201         [ +  + ]:         136 :            if(genafmint(3)==0)bravais_name='oP_C (primitive ortho., C-magnetic, #12)'
     202         [ +  - ]:          60 :          else if(sumgen==3)then
     203                 :          60 :            bravais_name='oP_I (primitive ortho., centered magnetic, #13)'
     204                 :             :          end if
     205                 :             :        end if
     206         [ +  + ]:         610 :      else if(center==-1)then
     207         [ +  + ]:         226 :        if(shubnikov/=4)bravais_name='oI (body-center ortho.)'
     208                 :          30 :        if(shubnikov==4)bravais_name='oI_c (body-center ortho., simple ortho. magn., #21)'
     209         [ +  + ]:         384 :      else if(center==1 .or. center==2 .or. center==3)then
     210         [ +  + ]:         327 :        if(shubnikov/=4) bravais_name='oC (1-face-center ortho.)'
     211         [ +  + ]:         327 :        if(shubnikov==4)then
     212         [ +  + ]:         360 :          sumgen=sum(genafmint(:))
     213         [ +  + ]:          90 :          if(sumgen==1)then
     214                 :             : !          One should work more to distinguish these magnetic groups
     215                 :          60 :            bravais_name='oC_(a,b,c) (1-face-cent. ortho., 1-magn., #15 or 16)'
     216         [ +  - ]:          30 :          else if(sumgen==2)then
     217                 :          30 :            bravais_name='oC_A (1-face-centered ortho., 1-face-magnetic, #17)'
     218         [ #  # ]:           0 :          else if(sumgen==3)then
     219                 :           0 :            bravais_name='oC_c (C-face-centered ortho., c-magnetic, #15)'
     220                 :             :          end if
     221                 :             :        end if
     222         [ +  - ]:          57 :      else if(center==-3)then
     223         [ +  + ]:          57 :        if(shubnikov/=4)bravais_name='oF (face-center ortho.)'
     224                 :          10 :        if(shubnikov==4)bravais_name='oF_s (face-center ortho., simple ortho. magnetic, #19)'
     225                 :             :      end if
     226                 :             : 
     227                 :             :    else if(iholohedry==6)then ! Hexagonal
     228                 :             : 
     229         [ +  + ]:        1209 :      if(shubnikov/=4)bravais_name='hP (primitive hexag.)'
     230                 :          90 :      if(shubnikov==4)bravais_name='hP_c (primitive hexag., c-magnetic, #29)'
     231                 :             : 
     232                 :             :    else if(iholohedry==5)then ! Rhombohedral
     233                 :             : 
     234         [ +  + ]:        1207 :      if(shubnikov/=4)bravais_name='hR (rhombohedral)'
     235                 :          88 :      if(shubnikov==4)bravais_name='hR_I (rhombohedral, centered magnetic, #31)'
     236                 :             : 
     237                 :             :    else if(iholohedry==2)then ! Monoclinic
     238                 :             : 
     239         [ +  + ]:         723 :      if(center==0)then
     240         [ +  + ]:         246 :        if(shubnikov/=4)bravais_name='mP (primitive monocl.)'
     241         [ +  + ]:         246 :        if(shubnikov==4)then
     242         [ +  + ]:         240 :          sumgen=sum(genafmint(:))
     243         [ +  + ]:          60 :          if(sumgen==1)then
     244         [ +  + ]:          38 :            if(genafmint(1)==1)bravais_name='mP_a (primitive monocl., a-magnetic, #5)'
     245         [ +  + ]:          38 :            if(genafmint(2)==1)bravais_name='mP_b (primitive monocl., b-magnetic, #4)'
     246         [ +  + ]:          38 :            if(genafmint(3)==1)bravais_name='mP_c (primitive monocl., c-magnetic, #5)'
     247         [ +  - ]:          22 :          else if(sumgen==2)then
     248         [ +  + ]:          22 :            if(genafmint(1)==0)bravais_name='mP_A (primitive monocl., A-magnetic, #6)'
     249         [ -  + ]:          22 :            if(genafmint(2)==0)bravais_name='mP_B (primitive monocl., B-magnetic, #6)'
     250         [ +  + ]:          22 :            if(genafmint(3)==0)bravais_name='mP_C (primitive monocl., C-magnetic, #6)'
     251                 :             :          end if
     252                 :             :        end if
     253         [ +  - ]:         477 :      else if(center==3)then
     254         [ +  + ]:         477 :        if(shubnikov/=4)bravais_name='mC (1-face-center monocl.)'
     255                 :             :        if(shubnikov==4)then
     256         [ +  + ]:          20 :          if(genafmint(3)==1)bravais_name='mC_c (C-face-center monocl., c-magnetic, #8)'
     257         [ +  + ]:          20 :          if(genafmint(3)/=1)bravais_name='mC_a (C-face-center monocl., a-magnetic, #9)'
     258                 :             :        end if
     259         [ #  # ]:           0 :      else if(center==-3)then
     260         [ #  # ]:           0 :        if(shubnikov/=4)bravais_name='(reduction of face-center)'
     261                 :             :      end if
     262                 :             : 
     263                 :             :    else if(iholohedry==1)then ! Triclinic
     264                 :             : 
     265         [ +  + ]:        3147 :      if(shubnikov/=4)bravais_name='aP (primitive triclinic)'
     266                 :           4 :      if(shubnikov==4)bravais_name='aP_s (primitive triclinic, simple magnetic, #2)'
     267                 :             : 
     268                 :             :    end if
     269                 :             : 
     270                 :             : !  Determine the symbol of the Fedorov space group
     271                 :       19305 :    spgaxor=1 ; spgorig=1
     272                 :       19305 :    call spgdata(brvsb,intsb,intsbl,ptintsb,ptschsb,schsb,spgaxor,spgroup,sporder,spgorig)
     273                 :             : 
     274                 :             : !  Prepare print of the dataset, symmetry point group, Bravais lattice
     275         [ +  + ]:       19305 :    if(shubnikov==1)then
     276                 :             : 
     277                 :       16485 :      write(message,'(5a,i3,a,a,a)' )trim(msg_header), &
     278                 :       16485 : &     ' : space group ',trim(brvsb),trim(intsb),' (#',spgroup,')',&
     279                 :       32970 : &     '; Bravais ',trim(bravais_name)
     280                 :       16485 :      call wrtout(iout,message,'COLL')
     281                 :             : 
     282         [ +  + ]:        2820 :    else if(shubnikov==3)then
     283                 :             : 
     284   [ +  +  -  + ]:        1669 :      if(jdtset/=0 .or. present(iimage))then
     285                 :        1663 :        write(message,'(2a)' )trim(msg_header),' : magnetic group, Shubnikov type III '
     286                 :             :      else
     287                 :           6 :        write(message,'(a)' )' Magnetic group, Shubnikov type III '
     288                 :             :      end if
     289                 :        1669 :      call wrtout(iout,message,'COLL')
     290                 :             : 
     291                 :             :      write(message,'(a,a,a,a,i3,a,a,a)' )&
     292                 :        1669 : &     ' Fedorov space group ',trim(brvsb),trim(intsb),' (#',spgroup,')',&
     293                 :        3338 : &     '; Bravais ',trim(bravais_name)
     294                 :        1669 :      call wrtout(iout,message,'COLL')
     295                 :             : 
     296                 :        1669 :      call ptgmadata(ptgroupma,ptgrpmasb)
     297                 :             : 
     298                 :             :      write(message,'(3a,i3,a)' )&
     299                 :        1669 : &     ' Magnetic point group ',trim(ptgrpmasb),' (#',ptgroupma,')'
     300                 :        1669 :      call wrtout(iout,message,'COLL')
     301                 :             : 
     302                 :             :    else if(shubnikov==4)then
     303                 :             : 
     304   [ +  +  -  + ]:        1151 :      if(jdtset/=0 .or. present(iimage))then
     305                 :        1130 :        write(message,'(2a)' )trim(msg_header),' : magnetic group, Shubnikov type IV '
     306                 :             :      else
     307                 :          21 :        write(message,'(a)' )' Magnetic group, Shubnikov type IV '
     308                 :             :      end if
     309                 :        1151 :      call wrtout(iout,message,'COLL')
     310                 :             : 
     311                 :             :      write(message,'(a,a,a,a,i3,a)' )&
     312                 :        1151 : &     ' Fedorov space group ',trim(brvsb),trim(intsb),' (#',spgroup,')'
     313                 :        1151 :      call wrtout(iout,message,'COLL')
     314                 :             : 
     315                 :             :      write(message,'(2a)' )&
     316                 :        1151 : &     ' Magnetic Bravais lattice ',trim(bravais_name)
     317                 :        1151 :      call wrtout(iout,message,'COLL')
     318                 :             : 
     319                 :             :    end if
     320                 :             :  end if
     321                 :             : 
     322                 :       19778 : end subroutine prtspgroup
     323                 :             : !!***
     324                 :             : 
     325                 :             : !!****f* m_spgdata/spgdata
     326                 :             : !! NAME
     327                 :             : !! spgdata
     328                 :             : !!
     329                 :             : !! FUNCTION
     330                 :             : !! Return point and space group data: Bravais lattice symbol,
     331                 :             : !! international symbol, Schonflies symbol, multiplicity
     332                 :             : !! The symbols are taken from  The International Tables for Crystallography
     333                 :             : !! Volume A, 1983 Ed. Theo Hahn, D. Reidel Publishing Company and
     334                 :             : !! The mathematical theory of symmetry in solids, Representation theory for point
     335                 :             : !! groups and space groups, 1972, C.J. Bradley and A.P.
     336                 :             : !! Cracknell, Clarendon Press, Oxford.
     337                 :             : !!
     338                 :             : !! INPUTS
     339                 :             : !! spgroup = space group number
     340                 :             : !! spgorig = space group origin
     341                 :             : !! spgaxor = space group axis orientation
     342                 :             : !!
     343                 :             : !! OUTPUT
     344                 :             : !! brvsb=Bravais lattice symbol (P, I, F, A, B, C, R)
     345                 :             : !! intsb=international symbol (like m3m, 222, 2_12_12_1)
     346                 :             : !! intsbl=international symbol in long format like P2_b = P121)
     347                 :             : !! ptintsb=International point group symbol
     348                 :             : !! ptschsb=Schoenflies point group symbol
     349                 :             : !! sporder=multiplicity of the space group
     350                 :             : !! schsb=Schoenflies symbol
     351                 :             : !!
     352                 :             : !! NOTES
     353                 :             : !! brvsb, intsb, and schsb have been extensively checked, while
     354                 :             : !! more checking should be done for the others
     355                 :             : !! XG20160612 : in particular, at present it might be that spgaxor and spgorig are indetermined
     356                 :             : !! (e.g. spgaxor=-1;spgorig=-1) at input.
     357                 :             : !! When this has a bearing on some of the output variables (even brvsb or intsb !),
     358                 :             : !! these are mentioned as being X, unknown, or to be determined.
     359                 :             : !!
     360                 :             : !! SOURCE
     361                 :             : 
     362                 :             : 
     363                 :       32410 : subroutine spgdata(brvsb,intsb,intsbl,ptintsb,ptschsb,schsb,spgaxor,spgroup,sporder,spgorig)
     364                 :             : 
     365                 :             : !Arguments ------------------------------------
     366                 :             : !scalars
     367                 :             :  integer,intent(in) :: spgaxor,spgorig,spgroup
     368                 :             :  integer,intent(out) :: sporder
     369                 :             :  character(len=1),intent(out) :: brvsb
     370                 :             :  character(len=15),intent(out) :: intsb,ptintsb,ptschsb,schsb
     371                 :             :  character(len=35),intent(out) :: intsbl
     372                 :             : 
     373                 :             : ! *************************************************************************
     374                 :             : 
     375                 :       32410 :  intsbl="same"
     376                 :             : !defaults for case spgroup is not well defined (eg chkprim 0)
     377                 :       32410 :  brvsb="P"
     378                 :       32410 :  intsb="1"
     379                 :       32410 :  schsb="C1^1"
     380                 :       32410 :  sporder=1
     381                 :             : 
     382                 :       36739 :  select case (spgroup)
     383                 :             :  case(1)
     384                 :        4329 :    brvsb="P"; intsb="1"; schsb="C1^1"; sporder=1
     385                 :             :  case(2)
     386                 :         265 :    brvsb="P"; intsb="-1"; schsb="Ci^1"; sporder=2
     387                 :             :  case(3)
     388                 :          30 :    brvsb="P"; intsb="2"; schsb="C2^1"; sporder=2
     389                 :          80 :    select case (spgaxor)
     390                 :             :    case(1)
     391                 :          30 :      intsbl="P 2 _b = P 1 2 1"
     392                 :             :    case(2)
     393                 :           0 :      intsbl="P 2_a = P 2 1 1"
     394                 :             :    case(3)
     395                 :           0 :      intsbl="P 2 _c = P 1 1 2"
     396                 :             :    case default
     397   [ +  -  -  - ]:          30 :      intsbl="intsbl to be determined"
     398                 :             :    end select
     399                 :             :  case(4)
     400                 :          20 :    brvsb="P"; intsb="2_1"; schsb="C2^2"; sporder=2
     401                 :          99 :    select case (spgaxor)
     402                 :             :    case(1)
     403                 :          20 :      intsbl="P 2 1 _b = P 1 2_1 1"
     404                 :             :    case(2)
     405                 :           0 :      intsbl="P 2 1 _a = P 2_1 1 1"
     406                 :             :    case(3)
     407                 :           0 :      intsbl="P 2 1 _c = P 1 1 2_1"
     408                 :             :    case default
     409   [ +  -  -  - ]:          20 :      intsbl="intsbl to be determined"
     410                 :             :    end select
     411                 :             :  case(5)
     412                 :          59 :    brvsb="C"; intsb="2"; schsb="C2^3"; sporder=2
     413                 :         277 :    select case (spgaxor)
     414                 :             :    case(1)
     415                 :          59 :      intsbl="C 2 _b1 =  C 1 2 1"
     416                 :             :    case(2)
     417                 :           0 :      intsbl="C 2 _a1 =  B 2 1 1"
     418                 :             :    case(3)
     419                 :           0 :      intsbl="C 2 _a2 =  C 2 1 1"
     420                 :             :    case(4)
     421                 :           0 :      intsbl="C 2 _a3 =  I 2 1 1"
     422                 :             :    case(5)
     423                 :           0 :      intsbl="C 2 _b2 =  A 1 2 1"
     424                 :             :    case(6)
     425                 :           0 :      intsbl="C 2 _b3 =  I 1 2 1"
     426                 :             :    case(7)
     427                 :           0 :      intsbl="C 2 _c1 =  A 1 1 2"
     428                 :             :    case(8)
     429                 :           0 :      intsbl="C 2 _c2 =  B 1 1 2 = B 2"
     430                 :             :    case(9)
     431                 :           0 :      intsbl="C 2 _c3 =  I 1 1 2"
     432                 :             :    case default
     433   [ +  -  -  -  :          59 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     434                 :             :    end select
     435                 :             :  case(6)
     436                 :         159 :    brvsb="P"; intsb="m"; schsb="Cs^1"; sporder=2
     437                 :         346 :    select case (spgaxor)
     438                 :             :    case(1)
     439                 :         159 :      intsbl="P m _b = P 1 m 1"
     440                 :             :    case(2)
     441                 :           0 :      intsbl="P m _a = P m 1 1"
     442                 :             :    case(3)
     443                 :           0 :      intsbl="P m _c = P 1 1 m"
     444                 :             :    case default
     445   [ +  -  -  - ]:         159 :      intsbl="intsbl to be determined"
     446                 :             :    end select
     447                 :             :  case(7)
     448                 :          28 :    brvsb="P"; intsb="c"; schsb="Cs^2"; sporder=2
     449                 :         571 :    select case (spgaxor)
     450                 :             :    case(1)
     451                 :          28 :      intsbl="P c _b1 = P 1 c 1"
     452                 :             :    case(2)
     453                 :           0 :      intsbl="P c _a1 = P b 1 1"
     454                 :             :    case(3)
     455                 :           0 :      intsbl="P c _a2 = P n 1 1"
     456                 :             :    case(4)
     457                 :           0 :      intsbl="P c _a3 = P c 1 1"
     458                 :             :    case(5)
     459                 :           0 :      intsbl="P c _b2 = P 1 n 1"
     460                 :             :    case(6)
     461                 :           0 :      intsbl="P c _b3 = P 1 a 1"
     462                 :             :    case(7)
     463                 :           0 :      intsbl="P c _c1 = P 1 1 a"
     464                 :             :    case(8)
     465                 :           0 :      intsbl="P c _c2 = P 1 1 n"
     466                 :             :    case(9)
     467                 :           0 :      intsbl="P c _c3 = P 1 1 b = P b"
     468                 :             :    case default
     469   [ +  -  -  -  :          28 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     470                 :             :    end select
     471                 :             :  case(8)
     472                 :         515 :    brvsb="C"; intsb="m"; schsb="Cs^3"; sporder=4
     473                 :        1078 :    select case (spgaxor)
     474                 :             :    case(1)
     475                 :         515 :      intsbl="C m _b1 = C 1 m 1"
     476                 :             :    case(2)
     477                 :           0 :      intsbl="C m _a1 = B m 1 1"
     478                 :             :    case(3)
     479                 :           0 :      intsbl="C m _a2 = C m 1 1"
     480                 :             :    case(4)
     481                 :           0 :      intsbl="C m _a3 = I m 1 1"
     482                 :             :    case(5)
     483                 :           0 :      intsbl="C m _b2 = A 1 m 1"
     484                 :             :    case(6)
     485                 :           0 :      intsbl="C m _b3 = I 1 m 1"
     486                 :             :    case(7)
     487                 :           0 :      intsbl="C m _c1 = A 1 1 m"
     488                 :             :    case(8)
     489                 :           0 :      intsbl="C m _c2 = B 1 1 m = B m"
     490                 :             :    case(9)
     491                 :           0 :      intsbl="C m _c3 = I 1 1 m"
     492                 :             :    case default
     493   [ +  -  -  -  :         515 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     494                 :             :    end select
     495                 :             :  case(9)
     496                 :          48 :    brvsb="C"; intsb="c"; schsb="Cs^4"; sporder=4
     497                 :         167 :    select case (spgaxor)
     498                 :             :    case(1)
     499                 :          48 :      intsbl="C c _b1 = C 1 c 1"
     500                 :             :    case(2)
     501                 :           0 :      intsbl="C c _a1 = B b 1 1"
     502                 :             :    case(3)
     503                 :           0 :      intsbl="C c _a2 = C n 1 1"
     504                 :             :    case(4)
     505                 :           0 :      intsbl="C c _a3 = I c 1 1"
     506                 :             :    case(5)
     507                 :           0 :      intsbl="C c _b2 = A 1 n 1"
     508                 :             :    case(6)
     509                 :           0 :      intsbl="C c _b3 = I 1 a 1"
     510                 :             :    case(7)
     511                 :           0 :      intsbl="C c _c1 = A 1 1 a"
     512                 :             :    case(8)
     513                 :           0 :      intsbl="C c _c2 = B 1 1 n"
     514                 :             :    case(9)
     515                 :           0 :      intsbl="C c _c3 = I 1 1 b"
     516                 :             :    case default
     517   [ +  -  -  -  :          48 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     518                 :             :    end select
     519                 :             :  case(10)
     520                 :          71 :    brvsb="P"; intsb="2/m"; schsb="C2h^1"; sporder=4
     521                 :         176 :    select case (spgaxor)
     522                 :             :    case(1)
     523                 :          71 :      intsbl="P 2/m _b = P 1 2/m 1"
     524                 :             :    case(2)
     525                 :           0 :      intsbl="P 2/m _a = P 2/m 1 1"
     526                 :             :    case(3)
     527                 :           0 :      intsbl="P 2/m _c = P 1 1 2/m"
     528                 :             :    case default
     529   [ +  -  -  - ]:          71 :      intsbl="intsbl to be determined"
     530                 :             :    end select
     531                 :             :  case(11)
     532                 :             :    brvsb="P"
     533                 :          34 :    intsb="2_1/m"
     534                 :          34 :    schsb="C2h^2"
     535                 :          34 :    sporder=4
     536                 :         295 :    select case (spgaxor)
     537                 :             :    case(1)
     538                 :          34 :      intsbl="P 2_1/m _b = P 1 2_1/m 1"
     539                 :             :    case(2)
     540                 :           0 :      intsbl="P 2_1/m _a = P 2_1/m 1 1"
     541                 :             :    case(3)
     542                 :           0 :      intsbl="P 2_1/m _c = P 1 1 2_1/m"
     543                 :             :    case default
     544   [ +  -  -  - ]:          34 :      intsbl="intsbl to be determined"
     545                 :             :    end select
     546                 :             :  case(12)
     547                 :         227 :    brvsb="C"; intsb="2/m"; schsb="C2h^3"; sporder=8
     548                 :         514 :    select case (spgaxor)
     549                 :             :    case(1)
     550                 :         227 :      intsbl="C 2/m _b1 = C 1 2/m 1"
     551                 :             :    case(2)
     552                 :           0 :      intsbl="C 2/m _a1 = B 2/m 1 1"
     553                 :             :    case(3)
     554                 :           0 :      intsbl="C 2/m _a2 = C 2/m 1 1"
     555                 :             :    case(4)
     556                 :           0 :      intsbl="C 2/m _a3 = I 2/m 1 1"
     557                 :             :    case(5)
     558                 :           0 :      intsbl="C 2/m _b2 = A 1 2/m 1"
     559                 :             :    case(6)
     560                 :           0 :      intsbl="C 2/m _b3 = I 1 2/m 1"
     561                 :             :    case(7)
     562                 :           0 :      intsbl="C 2/m _c1 = A 1 1 2/m"
     563                 :             :    case(8)
     564                 :           0 :      intsbl="C 2/m _c2 = B 1 1 2/m = B 2/m"
     565                 :             :    case(9)
     566                 :           0 :      intsbl="C 2/m _c3 = I 1 1 2/m"
     567                 :             :    case default
     568   [ +  -  -  -  :         227 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     569                 :             :    end select
     570                 :             :  case(13)
     571                 :          60 :    brvsb="P"; intsb="2/c"; schsb="C2h^4"; sporder=4
     572                 :         166 :    select case (spgaxor)
     573                 :             :    case(1)
     574                 :          60 :      intsbl="P 2/c _b1 = P 1 2/c 1"
     575                 :             :    case(2)
     576                 :           0 :      intsbl="P 2/c _a1 = P 2/b 1 1"
     577                 :             :    case(3)
     578                 :           0 :      intsbl="P 2/c _a2 = P 2/n 1 1"
     579                 :             :    case(4)
     580                 :           0 :      intsbl="P 2/c _a3 = P 2/c 1 1"
     581                 :             :    case(5)
     582                 :           0 :      intsbl="P 2/c _b2 = P 1 2/n 1"
     583                 :             :    case(6)
     584                 :           0 :      intsbl="P 2/c _b3 = P 1 2/a 1"
     585                 :             :    case(7)
     586                 :           0 :      intsbl="P 2/c _c1 = P 1 1 2/a"
     587                 :             :    case(8)
     588                 :           0 :      intsbl="P 2/c _c2 = P 1 1 2/n"
     589                 :             :    case(9)
     590                 :           0 :      intsbl="P 2/c _c3 = P 1 1 2/b = P 2/b"
     591                 :             :    case default
     592   [ +  -  -  -  :          60 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     593                 :             :    end select
     594                 :             :  case(14)
     595                 :          46 :    brvsb="P"; intsb="2_1/c"; schsb="C2h^5"; sporder=4
     596                 :         129 :    select case (spgaxor)
     597                 :             :    case(1)
     598                 :          46 :      intsbl="P 2_1/c _b1 = P 1 2_1/c 1"
     599                 :             :    case(2)
     600                 :           0 :      intsbl="P 2_1/c _a1 = P 2_1/b 1 1"
     601                 :             :    case(3)
     602                 :           0 :      intsbl="P 2_1/c _a2 = P 2_1/n 1 1"
     603                 :             :    case(4)
     604                 :           0 :      intsbl="P 2_1/c _a3 = P 2_1/c 1 1"
     605                 :             :    case(5)
     606                 :           0 :      intsbl="P 2_1/c _b2 = P 1 2_1/n 1"
     607                 :             :    case(6)
     608                 :           0 :      intsbl="P 2_1/c _b3 = P 1 2_1/a 1"
     609                 :             :    case(7)
     610                 :           0 :      intsbl="P 2_1/c _c1 = P 1 1 2_1/a"
     611                 :             :    case(8)
     612                 :           0 :      intsbl="P 2_1/c _c2 = P 1 1 2_1/n"
     613                 :             :    case(9)
     614                 :           0 :      intsbl="P 2_1/c _c3 = P 1 1 2_1/b = P 2_1/b"
     615                 :             :    case default
     616   [ +  -  -  -  :          46 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     617                 :             :    end select
     618                 :             :  case(15)
     619                 :          37 :    brvsb="C"; intsb="2/c"; schsb="C2h^6"; sporder=8
     620                 :         106 :    select case (spgaxor)
     621                 :             :    case(1)
     622                 :          37 :      intsbl="C 2/c _b1 = C 1 2/c 1"
     623                 :             :    case(2)
     624                 :           0 :      intsbl="C 2/c _a1 = B 2/b 1 1"
     625                 :             :    case(3)
     626                 :           0 :      intsbl="C 2/c _a2 = C 2/n 1 1"
     627                 :             :    case(4)
     628                 :           0 :      intsbl="C 2/c _a3 = I 2/c 1 1"
     629                 :             :    case(5)
     630                 :           0 :      intsbl="C 2/c _b2 = A 1 2/n 1"
     631                 :             :    case(6)
     632                 :           0 :      intsbl="C 2/c _b3 = I 1 2/a 1"
     633                 :             :    case(7)
     634                 :           0 :      intsbl="C 2/c _c1 = A 1 1 2/a"
     635                 :             :    case(8)
     636                 :           0 :      intsbl="C 2/c _c2 = B 1 1 2/n"
     637                 :             :    case(9)
     638                 :           0 :      intsbl="C 2/c _c3 = I 1 1 2/b"
     639                 :             :    case default
     640   [ +  -  -  -  :          37 :      intsbl="intsbl to be determined"
          -  -  -  -  -  
                      - ]
     641                 :             :    end select
     642                 :             :  case(16)
     643                 :          32 :    brvsb="P"; intsb="2 2 2"; schsb="D2^1"; sporder=4
     644                 :             :  case(17)
     645                 :          32 :    brvsb="P"; intsb="2 2 2_1"; schsb="D2^2"; sporder=4
     646                 :          96 :    select case (spgaxor)
     647                 :             :    case(1)
     648                 :          32 :      intsbl="P 2 2 2_1"
     649                 :             :    case(2)
     650                 :           0 :      intsbl="P 2_1 2 2"
     651                 :             :    case(3)
     652                 :           0 :      intsbl="P 2 2_1 2"
     653                 :             :    case default
     654   [ +  -  -  - ]:          32 :      intsbl="intsbl to be determined"
     655                 :             :    end select
     656                 :             :  case(18)
     657                 :          32 :    brvsb="P"; intsb="2_1 2_1 2"; schsb="D2^3"; sporder=4
     658                 :          84 :    select case (spgaxor)
     659                 :             :    case(1)
     660                 :          32 :      intsbl="P 2_1 2_1 2"
     661                 :             :    case(2)
     662                 :           0 :      intsbl="P 2 2_1 2_1"
     663                 :             :    case(3)
     664                 :           0 :      intsbl="P 2_1 2 2_1"
     665                 :             :    case default
     666   [ +  -  -  - ]:          32 :      intsbl="intsbl to be determined"
     667                 :             :    end select
     668                 :             :  case(19)
     669                 :          20 :    brvsb="P"; intsb="2_1 2_1 2_1"; schsb="D2^4"; sporder=4
     670                 :             :  case(20)
     671                 :          24 :    schsb="D2^5"; sporder=8
     672                 :          72 :    select case (spgaxor)
     673                 :             :    case(1)
     674                 :          24 :      brvsb="C"; intsb="2 2 2_1"
     675                 :             :    case(2)
     676                 :           0 :      brvsb="A"; intsb="2_1 2 2"
     677                 :             :    case(3)
     678                 :           0 :      brvsb="B"; intsb="2 2_1 2"
     679                 :             :    case default
     680                 :           0 :      brvsb="X"
     681   [ +  -  -  - ]:          24 :      intsbl="intsbl to be determined"
     682                 :             :    end select
     683                 :             :  case(21)
     684                 :          24 :    schsb="D2^6"; sporder=8
     685                 :          70 :    select case (spgaxor)
     686                 :             :    case(1)
     687                 :          24 :      brvsb="C"; intsb="2 2 2"
     688                 :             :    case(2)
     689                 :           0 :      brvsb="A"; intsb="2 2 2"
     690                 :             :    case(3)
     691                 :           0 :      brvsb="B"; intsb="2 2 2"
     692                 :             :    case default
     693                 :           0 :      brvsb="X"
     694   [ +  -  -  - ]:          24 :      intsbl="intsbl to be determined"
     695                 :             :    end select
     696                 :             :  case(22)
     697                 :          22 :    brvsb="F"; intsb="2 2 2"; schsb="D2^7"; sporder=16
     698                 :             :  case(23)
     699                 :          12 :    brvsb="I"; intsb="2 2 2"; schsb="D2^8"; sporder=8
     700                 :             :  case(24)
     701                 :          12 :    brvsb="I"; intsb="2_1 2_1 2_1"; schsb="D2^9"; sporder=8
     702                 :             :  case(25)
     703                 :         309 :    brvsb="P"; schsb="C2v^1"; sporder=4
     704                 :         666 :    select case (spgaxor)
     705                 :             :    case(1)
     706                 :         309 :      intsb="m m 2"
     707                 :             :    case(2)
     708                 :           0 :      intsb="2 m m"
     709                 :             :    case(3)
     710                 :           0 :      intsb="m 2 m"
     711                 :             :    case default
     712   [ +  -  -  - ]:         309 :      intsb="intsb unknown"
     713                 :             :    end select
     714                 :             :  case(26)
     715                 :          48 :    brvsb="P"; schsb="C2v^2"; sporder=4
     716                 :         128 :    select case (spgaxor)
     717                 :             :    case(1)
     718                 :          48 :      intsb="m c 2_1"
     719                 :             :    case(2)
     720                 :           0 :      intsb="2_1 m a"
     721                 :             :    case(3)
     722                 :           0 :      intsb="b 2_1 m"
     723                 :             :    case(4)
     724                 :           0 :      intsb="m 2_1 b"
     725                 :             :    case(5)
     726                 :           0 :      intsb="c m 2_1"
     727                 :             :    case(6)
     728                 :           0 :      intsb="2_1 a m"
     729                 :             :    case default
     730   [ +  -  -  -  :          48 :      intsb="intsb unknown"
                -  -  - ]
     731                 :             :    end select
     732                 :             :  case(27)
     733                 :          32 :    brvsb="P"; schsb="C2v^3"; sporder=4
     734                 :         108 :    select case (spgaxor)
     735                 :             :    case(1)
     736                 :          32 :      intsb="c c 2"
     737                 :             :    case(2)
     738                 :           0 :      intsb="2 a a"
     739                 :             :    case(3)
     740                 :           0 :      intsb="b 2 b"
     741                 :             :    case default
     742   [ +  -  -  - ]:          32 :      intsb="intsb unknown"
     743                 :             :    end select
     744                 :             :  case(28)
     745                 :          44 :    brvsb="P"; schsb="C2v^4"; sporder=4
     746                 :         132 :    select case (spgaxor)
     747                 :             :    case(1)
     748                 :          44 :      intsb="m a 2"
     749                 :             :    case(2)
     750                 :           0 :      intsb="2 m b"
     751                 :             :    case(3)
     752                 :           0 :      intsb="c 2 m"
     753                 :             :    case(4)
     754                 :           0 :      intsb="m 2 a"
     755                 :             :    case(5)
     756                 :           0 :      intsb="b m 2"
     757                 :             :    case(6)
     758                 :           0 :      intsb="2 c m"
     759                 :             :    case default
     760   [ +  -  -  -  :          44 :      intsb="intsb unknown"
                -  -  - ]
     761                 :             :    end select
     762                 :             :  case(29)
     763                 :          44 :    brvsb="P"; schsb="C2v^5"; sporder=4
     764                 :         132 :    select case (spgaxor)
     765                 :             :    case(1)
     766                 :          44 :      intsb="c a 2_1"
     767                 :             :    case(2)
     768                 :           0 :      intsb="2_1 a b"
     769                 :             :    case(3)
     770                 :           0 :      intsb="c 2_1 b"
     771                 :             :    case(4)
     772                 :           0 :      intsb="b 2_1 a"
     773                 :             :    case(5)
     774                 :           0 :      intsb="b c 2_1"
     775                 :             :    case(6)
     776                 :           0 :      intsb="2_1 c a"
     777                 :             :    case default
     778   [ +  -  -  -  :          44 :      intsb="intsb unknown"
                -  -  - ]
     779                 :             :    end select
     780                 :             :  case(30)
     781                 :          44 :    brvsb="P"; schsb="C2v^6"; sporder=4
     782                 :         132 :    select case (spgaxor)
     783                 :             :    case(1)
     784                 :          44 :      intsb="n c 2"
     785                 :             :    case(2)
     786                 :           0 :      intsb="2 n a"
     787                 :             :    case(3)
     788                 :           0 :      intsb="b 2 n"
     789                 :             :    case(4)
     790                 :           0 :      intsb="n 2 b"
     791                 :             :    case(5)
     792                 :           0 :      intsb="c n 2"
     793                 :             :    case(6)
     794                 :           0 :      intsb="2 a n"
     795                 :             :    case default
     796   [ +  -  -  -  :          44 :      intsb="intsb unknown"
                -  -  - ]
     797                 :             :    end select
     798                 :             :  case(31)
     799                 :          44 :    brvsb="P"; schsb="C2v^7"; sporder=4
     800                 :         120 :    select case (spgaxor)
     801                 :             :    case(1)
     802                 :          44 :      intsb="m n 2_1"
     803                 :             :    case(2)
     804                 :           0 :      intsb="2_1 m n"
     805                 :             :    case(3)
     806                 :           0 :      intsb="n 2_1 m"
     807                 :             :    case(4)
     808                 :           0 :      intsb="m 2_1 n"
     809                 :             :    case(5)
     810                 :           0 :      intsb="n m 2_1"
     811                 :             :    case(6)
     812                 :           0 :      intsb="2_1 n m"
     813                 :             :    case default
     814   [ +  -  -  -  :          44 :      intsb="intsb unknown"
                -  -  - ]
     815                 :             :    end select
     816                 :             :  case(32)
     817                 :          32 :    brvsb="P"; schsb="C2v^8"; sporder=4
     818                 :         108 :    select case (spgaxor)
     819                 :             :    case(1)
     820                 :          32 :      intsb="b a 2"
     821                 :             :    case(2)
     822                 :           0 :      intsb="2 c b"
     823                 :             :    case(3)
     824                 :           0 :      intsb="c 2 a"
     825                 :             :    case default
     826   [ +  -  -  - ]:          32 :      intsb="intsb unknown"
     827                 :             :    end select
     828                 :             :  case(33)
     829                 :          44 :    brvsb="P"; schsb="C2v^9"; sporder=4
     830                 :         120 :    select case (spgaxor)
     831                 :             :    case(1)
     832                 :          44 :      intsb="n a 2_1"
     833                 :             :    case(2)
     834                 :           0 :      intsb="2_1 n b"
     835                 :             :    case(3)
     836                 :           0 :      intsb="c 2_1 n"
     837                 :             :    case(4)
     838                 :           0 :      intsb="n 2_1 a"
     839                 :             :    case(5)
     840                 :           0 :      intsb="b n 2_1"
     841                 :             :    case(6)
     842                 :           0 :      intsb="2_1 c n"
     843                 :             :    case default
     844   [ +  -  -  -  :          44 :      intsb="intsb unknown"
                -  -  - ]
     845                 :             :    end select
     846                 :             :  case(34)
     847                 :          32 :    brvsb="P"; schsb="C2v^10"; sporder=4
     848                 :          92 :    select case (spgaxor)
     849                 :             :    case(1)
     850                 :          32 :      intsb="n n 2"
     851                 :             :    case(2)
     852                 :           0 :      intsb="2 n n"
     853                 :             :    case(3)
     854                 :           0 :      intsb="n 2 n"
     855                 :             :    case default
     856   [ +  -  -  - ]:          32 :      intsb="intsb unknown"
     857                 :             :    end select
     858                 :             :  case(35)
     859                 :          28 :    schsb="C2v^11"; sporder=8
     860                 :         105 :    select case (spgaxor)
     861                 :             :    case(1)
     862                 :          28 :      brvsb="C"; intsb="m m 2"
     863                 :             :    case(2)
     864                 :           0 :      brvsb="A"; intsb="2 m m"
     865                 :             :    case(3)
     866                 :           0 :      brvsb="B"; intsb="m 2 m"
     867                 :             :    case default
     868                 :           0 :      brvsb="X"
     869   [ +  -  -  - ]:          28 :      intsb="intsb unknown"
     870                 :             :    end select
     871                 :             :  case(36)
     872                 :          49 :    schsb="C2v^12"; sporder=8
     873                 :         122 :    select case (spgaxor)
     874                 :             :    case(1)
     875                 :          49 :      brvsb="C"; intsb="m c 2_1"
     876                 :             :    case(2)
     877                 :           0 :      brvsb="A"; intsb="2_1 m a"
     878                 :             :    case(3)
     879                 :           0 :      brvsb="B"; intsb="b 2_1 m"
     880                 :             :    case(4)
     881                 :           0 :      brvsb="B"; intsb="m 2_1 b"
     882                 :             :    case(5)
     883                 :           0 :      brvsb="C"; intsb="c m 2_1"
     884                 :             :    case(6)
     885                 :           0 :      brvsb="A"; intsb="2_1 a m"
     886                 :             :    case default
     887                 :           0 :      brvsb="X"
     888   [ +  -  -  -  :          49 :      intsb="intsb unknown"
                -  -  - ]
     889                 :             :    end select
     890                 :             :  case(37)
     891                 :          24 :    schsb="C2v^13"; sporder=8
     892                 :         161 :    select case (spgaxor)
     893                 :             :    case(1)
     894                 :          24 :      brvsb="C"; intsb="c c 2"
     895                 :             :    case(2)
     896                 :           0 :      brvsb="A"; intsb="2 a a"
     897                 :             :    case(3)
     898                 :           0 :      brvsb="B"; intsb="b 2 b"
     899                 :             :    case default
     900                 :           0 :      brvsb="X"
     901   [ +  -  -  - ]:          24 :      intsb="intsb unknown"
     902                 :             :    end select
     903                 :             :  case(38)
     904                 :         113 :    schsb="C2v^14"; sporder=8
     905                 :         254 :    select case (spgaxor)
     906                 :             :    case(1)
     907                 :         113 :      brvsb="A"; intsb="m m 2"
     908                 :             :    case(2)
     909                 :           0 :      brvsb="B"; intsb="2 m m"
     910                 :             :    case(3)
     911                 :           0 :      brvsb="C"; intsb="m 2 m"
     912                 :             :    case(4)
     913                 :           0 :      brvsb="A"; intsb="m 2 m"
     914                 :             :    case(5)
     915                 :           0 :      brvsb="B"; intsb="m m 2"
     916                 :             :    case(6)
     917                 :           0 :      brvsb="C"; intsb="2 m m"
     918                 :             :    case default
     919                 :           0 :      brvsb="X"
     920   [ +  -  -  -  :         113 :      intsb="intsb unknown"
                -  -  - ]
     921                 :             :    end select
     922                 :             :  case(39)
     923                 :          28 :    schsb="C2v^15"; sporder=8
     924                 :          84 :    select case (spgaxor)
     925                 :             :    case(1)
     926                 :          28 :      brvsb="A"; intsb="b m 2"
     927                 :             :    case(2)
     928                 :           0 :      brvsb="B"; intsb="2 c m"
     929                 :             :    case(3)
     930                 :           0 :      brvsb="C"; intsb="m 2 a"
     931                 :             :    case(4)
     932                 :           0 :      brvsb="A"; intsb="c 2 m"
     933                 :             :    case(5)
     934                 :           0 :      brvsb="B"; intsb="m a 2"
     935                 :             :    case(6)
     936                 :           0 :      brvsb="C"; intsb="2 m b"
     937                 :             :    case default
     938                 :           0 :      brvsb="X"
     939   [ +  -  -  -  :          28 :      intsb="intsb unknown"
                -  -  - ]
     940                 :             :    end select
     941                 :             :  case(40)
     942                 :          28 :    schsb="C2v^16"; sporder=8
     943                 :          84 :    select case (spgaxor)
     944                 :             :    case(1)
     945                 :          28 :      brvsb="A"; intsb="m a 2"
     946                 :             :    case(2)
     947                 :           0 :      brvsb="B"; intsb="2 m b"
     948                 :             :    case(3)
     949                 :           0 :      brvsb="C"; intsb="c 2 m"
     950                 :             :    case(4)
     951                 :           0 :      brvsb="A"; intsb="m 2 a"
     952                 :             :    case(5)
     953                 :           0 :      brvsb="B"; intsb="b m 2"
     954                 :             :    case(6)
     955                 :           0 :      brvsb="C"; intsb="2 c m"
     956                 :             :    case default
     957                 :           0 :      brvsb="X"
     958   [ +  -  -  -  :          28 :      intsb="intsb unknown"
                -  -  - ]
     959                 :             :    end select
     960                 :             :  case(41)
     961                 :          28 :    schsb="C2v^17"; sporder=8
     962                 :          72 :    select case (spgaxor)
     963                 :             :    case(1)
     964                 :          28 :      brvsb="A"; intsb="b a 2"
     965                 :             :    case(2)
     966                 :           0 :      brvsb="B"; intsb="2 c b"
     967                 :             :    case(3)
     968                 :           0 :      brvsb="C"; intsb="c 2 a"
     969                 :             :    case(4)
     970                 :           0 :      brvsb="A"; intsb="c 2 a"
     971                 :             :    case(5)
     972                 :           0 :      brvsb="B"; intsb="b a 2"
     973                 :             :    case(6)
     974                 :           0 :      brvsb="C"; intsb="2 c b"
     975                 :             :    case default
     976                 :           0 :      brvsb="X"
     977   [ +  -  -  -  :          28 :      intsb="intsb unknown"
                -  -  - ]
     978                 :             :    end select
     979                 :             :  case(42)
     980                 :          16 :    brvsb="F"; schsb="C2v^18"; sporder=16
     981                 :          48 :    select case (spgaxor)
     982                 :             :    case(1)
     983                 :          16 :      intsb="m m 2"
     984                 :             :    case(2)
     985                 :           0 :      intsb="2 m m"
     986                 :             :    case(3)
     987                 :           0 :      intsb="m 2 m"
     988                 :             :    case default
     989   [ +  -  -  - ]:          16 :      intsb="intsb unknown"
     990                 :             :    end select
     991                 :             :  case(43)
     992                 :          16 :    brvsb="F"; schsb="C2v^19"; sporder=16
     993                 :         179 :    select case (spgaxor)
     994                 :             :    case(1)
     995                 :          16 :      intsb="d d 2"
     996                 :             :    case(2)
     997                 :           0 :      intsb="2 d d"
     998                 :             :    case(3)
     999                 :           0 :      intsb="d 2 d"
    1000                 :             :    case default
    1001   [ +  -  -  - ]:          16 :      intsb="intsb unknown"
    1002                 :             :    end select
    1003                 :             :  case(44)
    1004                 :         147 :    brvsb="I"; schsb="C2v^20"; sporder=8
    1005                 :         314 :    select case (spgaxor)
    1006                 :             :    case(1)
    1007                 :         147 :      intsb="m m 2"
    1008                 :             :    case(2)
    1009                 :           0 :      intsb="2 m m"
    1010                 :             :    case(3)
    1011                 :           0 :      intsb="m 2 m"
    1012                 :             :    case default
    1013   [ +  -  -  - ]:         147 :      intsb="intsb unknown"
    1014                 :             :    end select
    1015                 :             :  case(45)
    1016                 :          20 :    brvsb="I"; schsb="C2v^21"; sporder=8
    1017                 :          68 :    select case (spgaxor)
    1018                 :             :    case(1)
    1019                 :          20 :      intsb="b a 2"
    1020                 :             :    case(2)
    1021                 :           0 :      intsb="2 c b"
    1022                 :             :    case(3)
    1023                 :           0 :      intsb="c 2 a"
    1024                 :             :    case default
    1025   [ +  -  -  - ]:          20 :      intsb="intsb unknown"
    1026                 :             :    end select
    1027                 :             :  case(46)
    1028                 :          28 :    brvsb="I"; schsb="C2v^22"; sporder=8
    1029                 :         936 :    select case (spgaxor)
    1030                 :             :    case(1)
    1031                 :          28 :      intsb="m a 2"
    1032                 :             :    case(2)
    1033                 :           0 :      intsb="2 m b"
    1034                 :             :    case(3)
    1035                 :           0 :      intsb="c 2 m"
    1036                 :             :    case(4)
    1037                 :           0 :      intsb="m 2 a"
    1038                 :             :    case(5)
    1039                 :           0 :      intsb="b m 2"
    1040                 :             :    case(6)
    1041                 :           0 :      intsb="2 c m"
    1042                 :             :    case default
    1043   [ +  -  -  -  :          28 :      intsb="intsb unknown"
                -  -  - ]
    1044                 :             :    end select
    1045                 :             :  case(47)
    1046                 :         880 :    brvsb="P"; intsb="m m m"; schsb="D2h^1"; sporder=8
    1047                 :             :  case(48)
    1048                 :          28 :    brvsb="P"; intsb="n n n"; schsb="D2h^2"; sporder=8
    1049                 :         100 :    select case (spgorig)
    1050                 :             :    case(1)
    1051                 :          28 :      intsbl="n n n _1"
    1052                 :             :    case(2)
    1053                 :           0 :      intsbl="n n n _2"
    1054                 :             :    case default
    1055      [ +  -  - ]:          28 :      intsbl="intsbl to be determined"
    1056                 :             :    end select
    1057                 :             :  case(49)
    1058                 :          44 :    brvsb="P"; schsb="D2h^3"; sporder=8
    1059                 :         132 :    select case (spgaxor)
    1060                 :             :    case(1)
    1061                 :          44 :      intsb="c c m"
    1062                 :             :    case(2)
    1063                 :           0 :      intsb="m a a"
    1064                 :             :    case(3)
    1065                 :           0 :      intsb="b m b"
    1066                 :             :    case default
    1067   [ +  -  -  - ]:          44 :      intsb="intsb unknown"
    1068                 :             :    end select
    1069                 :             :  case(50)
    1070                 :          44 :    brvsb="P"; schsb="D2h^4"; sporder=8
    1071                 :         180 :    select case(spgorig)
    1072                 :             :    case(1)
    1073                 :          88 :      select case(spgaxor)
    1074                 :             :      case(1)
    1075                 :          44 :        intsb="b a n"; intsbl="b a n _1"
    1076                 :             :      case(2)
    1077                 :           0 :        intsb="n c b"; intsbl="n c b _1"
    1078                 :             :      case(3)
    1079                 :           0 :        intsb="c n a"; intsbl="c n a _1"
    1080                 :             :      case default
    1081                 :           0 :        intsb="intsb unknown"
    1082   [ +  -  -  - ]:          44 :        intsbl="intsbl to be determined"
    1083                 :             :      end select
    1084                 :             :    case(2)
    1085                 :           0 :      select case(spgaxor)
    1086                 :             :      case(5)
    1087                 :           0 :        intsb="b a n"; intsbl="b a n _2"
    1088                 :             :      case(6)
    1089                 :           0 :        intsb="n c b"; intsbl="n c b _2"
    1090                 :             :      case(4)
    1091                 :           0 :        intsb="c n a"; intsbl="c n a _2"
    1092                 :             :      case default
    1093                 :           0 :        intsb="intsb unknown"
    1094   [ #  #  #  # ]:           0 :        intsbl="intsbl to be determined"
    1095                 :             :      end select
    1096                 :             :    case default
    1097                 :           0 :      intsb="intsb unknown"
    1098      [ +  -  - ]:          44 :      intsbl="intsbl to be determined"
    1099                 :             :    end select
    1100                 :             :  case(51)
    1101                 :          92 :    brvsb="P"; schsb="D2h^5"; sporder=8
    1102                 :         244 :    select case (spgaxor)
    1103                 :             :    case(1)
    1104                 :          92 :      intsb="m m a"
    1105                 :             :    case(2)
    1106                 :           0 :      intsb="b m m"
    1107                 :             :    case(3)
    1108                 :           0 :      intsb="m c m"
    1109                 :             :    case(4)
    1110                 :           0 :      intsb="m a m"
    1111                 :             :    case(5)
    1112                 :           0 :      intsb="m m b"
    1113                 :             :    case(6)
    1114                 :           0 :      intsb="c m m"
    1115                 :             :    case default
    1116   [ +  -  -  -  :          92 :      intsb="intsb unknown"
                -  -  - ]
    1117                 :             :    end select
    1118                 :             :  case(52)
    1119                 :          60 :    brvsb="P"; schsb="D2h^6"; sporder=8
    1120                 :         183 :    select case (spgaxor)
    1121                 :             :    case(1)
    1122                 :          60 :      intsb="n n a"
    1123                 :             :    case(2)
    1124                 :           0 :      intsb="b n n"
    1125                 :             :    case(3)
    1126                 :           0 :      intsb="n c n"
    1127                 :             :    case(4)
    1128                 :           0 :      intsb="n a n"
    1129                 :             :    case(5)
    1130                 :           0 :      intsb="n n b"
    1131                 :             :    case(6)
    1132                 :           0 :      intsb="c n n"
    1133                 :             :    case default
    1134   [ +  -  -  -  :          60 :      intsb="intsb unknown"
                -  -  - ]
    1135                 :             :    end select
    1136                 :             :  case(53)
    1137                 :             :    brvsb="P"
    1138                 :          63 :    schsb="D2h^7"
    1139                 :          63 :    sporder=8
    1140                 :         186 :    select case (spgaxor)
    1141                 :             :    case(1)
    1142                 :          63 :      intsb="m n a"
    1143                 :             :    case(2)
    1144                 :           0 :      intsb="b m n"
    1145                 :             :    case(3)
    1146                 :           0 :      intsb="n c m"
    1147                 :             :    case(4)
    1148                 :           0 :      intsb="m a n"
    1149                 :             :    case(5)
    1150                 :           0 :      intsb="n m b"
    1151                 :             :    case(6)
    1152                 :           0 :      intsb="c n m"
    1153                 :             :    case default
    1154   [ +  -  -  -  :          63 :      intsb="intsb unknown"
                -  -  - ]
    1155                 :             :    end select
    1156                 :             :  case(54)
    1157                 :          60 :    brvsb="P"; schsb="D2h^8"; sporder=8
    1158                 :         164 :    select case (spgaxor)
    1159                 :             :    case(1)
    1160                 :          60 :      intsb="c c a"
    1161                 :             :    case(2)
    1162                 :           0 :      intsb="b a a"
    1163                 :             :    case(3)
    1164                 :           0 :      intsb="b c b"
    1165                 :             :    case(4)
    1166                 :           0 :      intsb="b a b"
    1167                 :             :    case(5)
    1168                 :           0 :      intsb="c c b"
    1169                 :             :    case(6)
    1170                 :           0 :      intsb="c a a"
    1171                 :             :    case default
    1172   [ +  -  -  -  :          60 :      intsb="intsb unknown"
                -  -  - ]
    1173                 :             :    end select
    1174                 :             :  case(55)
    1175                 :          44 :    brvsb="P"; schsb="D2h^9"; sporder=8
    1176                 :         132 :    select case (spgaxor)
    1177                 :             :    case(1)
    1178                 :          44 :      intsb="b a m"
    1179                 :             :    case(2)
    1180                 :           0 :      intsb="m c b"
    1181                 :             :    case(3)
    1182                 :           0 :      intsb="c m a"
    1183                 :             :    case default
    1184   [ +  -  -  - ]:          44 :      intsb="intsb unknown"
    1185                 :             :    end select
    1186                 :             :  case(56)
    1187                 :          44 :    brvsb="P"; schsb="D2h^10"; sporder=8
    1188                 :         148 :    select case (spgaxor)
    1189                 :             :    case(1)
    1190                 :          44 :      intsb="c c n"
    1191                 :             :    case(2)
    1192                 :           0 :      intsb="n a a"
    1193                 :             :    case(3)
    1194                 :           0 :      intsb="b n b"
    1195                 :             :    case default
    1196   [ +  -  -  - ]:          44 :      intsb="intsb unknown"
    1197                 :             :    end select
    1198                 :             :  case(57)
    1199                 :          60 :    brvsb="P"; schsb="D2h^11"; sporder=8
    1200                 :         164 :    select case (spgaxor)
    1201                 :             :    case(1)
    1202                 :          60 :      intsb="b c m"
    1203                 :             :    case(2)
    1204                 :           0 :      intsb="m c a"
    1205                 :             :    case(3)
    1206                 :           0 :      intsb="b m a"
    1207                 :             :    case(4)
    1208                 :           0 :      intsb="c m b"
    1209                 :             :    case(5)
    1210                 :           0 :      intsb="c a m"
    1211                 :             :    case(6)
    1212                 :           0 :      intsb="m a b"
    1213                 :             :    case default
    1214   [ +  -  -  -  :          60 :      intsb="intsb unknown"
                -  -  - ]
    1215                 :             :    end select
    1216                 :             :  case(58)
    1217                 :          44 :    brvsb="P"; schsb="D2h^12"; sporder=8
    1218                 :         132 :    select case (spgaxor)
    1219                 :             :    case(1)
    1220                 :          44 :      intsb="n n m"
    1221                 :             :    case(2)
    1222                 :           0 :      intsb="m n n"
    1223                 :             :    case(3)
    1224                 :           0 :      intsb="n m n"
    1225                 :             :    case default
    1226   [ +  -  -  - ]:          44 :      intsb="intsb unknown"
    1227                 :             :    end select
    1228                 :             :  case(59)
    1229                 :          44 :    brvsb="P"; schsb="D2h^13"; sporder=8
    1230         [ +  - ]:          44 :    if (spgorig==1) then
    1231                 :          88 :      select case (spgaxor)
    1232                 :             :      case(1)
    1233                 :          44 :        intsb="m m n"; intsbl="m m n _1"
    1234                 :             :      case(2)
    1235                 :           0 :        intsb="m m n"; intsbl="n m m _1"
    1236                 :             :      case(3)
    1237                 :           0 :        intsb="m m n"; intsbl="m n m _1"
    1238                 :             :      case default
    1239                 :           0 :        intsb="intsb unknown"
    1240   [ +  -  -  - ]:          44 :        intsbl="intsbl to be determined"
    1241                 :             :      end select
    1242         [ #  # ]:           0 :    else if(spgorig==2) then
    1243                 :           0 :      select case (spgaxor)
    1244                 :             :      case(5)
    1245                 :           0 :        intsb="m m n"; intsbl="m m n _2"
    1246                 :             :      case(6)
    1247                 :           0 :        intsb="m m n"; intsbl="n m m _2"
    1248                 :             :      case(4)
    1249                 :           0 :        intsb="m m n"; intsbl="m n m _2"
    1250                 :             :      case default
    1251                 :           0 :        intsb="intsb unknown"
    1252   [ #  #  #  # ]:           0 :        intsbl="intsbl to be determined"
    1253                 :             :      end select
    1254                 :             :    else
    1255                 :           0 :      intsb="intsb unknown"
    1256                 :           0 :      intsbl="intsbl to be determined"
    1257                 :             :    end if
    1258                 :             :  case(60)
    1259                 :          60 :    brvsb="P"; schsb="D2h^14"; sporder=8
    1260                 :         148 :    select case (spgaxor)
    1261                 :             :    case(1)
    1262                 :          60 :      intsb="b c n"
    1263                 :             :    case(2)
    1264                 :           0 :      intsb="n c a"
    1265                 :             :    case(3)
    1266                 :           0 :      intsb="b n a"
    1267                 :             :    case(4)
    1268                 :           0 :      intsb="c n b"
    1269                 :             :    case(5)
    1270                 :           0 :      intsb="c a n"
    1271                 :             :    case(6)
    1272                 :           0 :      intsb="n a b"
    1273                 :             :    case default
    1274   [ +  -  -  -  :          60 :      intsb="intsb unknown"
                -  -  - ]
    1275                 :             :    end select
    1276                 :             :  case(61)
    1277                 :          28 :    brvsb="P"; schsb="D2h^15"; sporder=8
    1278         [ +  - ]:          28 :    if (spgaxor==1)then
    1279                 :          28 :      intsb="b c a"
    1280         [ #  # ]:           0 :    else if (spgaxor==2)then
    1281                 :           0 :      intsb="c a b"
    1282                 :             :    else
    1283                 :           0 :      intsb="intsb unknown"
    1284                 :             :    end if
    1285                 :             :  case(62)
    1286                 :          86 :    brvsb="P"; schsb="D2h^16"; sporder=8
    1287                 :         220 :    select case (spgaxor)
    1288                 :             :    case(1)
    1289                 :          83 :      intsb="n m a"
    1290                 :             :    case(2)
    1291                 :           0 :      intsb="b n m"
    1292                 :             :    case(3)
    1293                 :           1 :      intsb="m c n"
    1294                 :             :    case(4)
    1295                 :           0 :      intsb="n a m"
    1296                 :             :    case(5)
    1297                 :           1 :      intsb="m n b"
    1298                 :             :    case(6)
    1299                 :           0 :      intsb="c m n"
    1300                 :             :    case default
    1301   [ +  -  +  -  :          86 :      intsb="intsb unknown"
                +  -  + ]
    1302                 :             :    end select
    1303                 :             :  case(63)
    1304                 :          51 :    schsb="D2h^17"; sporder=16
    1305                 :         146 :    select case (spgaxor)
    1306                 :             :    case(1)
    1307                 :          51 :      brvsb="C"; intsb="m c m"
    1308                 :             :    case(2)
    1309                 :           0 :      brvsb="A"; intsb="m m a"
    1310                 :             :    case(3)
    1311                 :           0 :      brvsb="B"; intsb="b m m"
    1312                 :             :    case(4)
    1313                 :           0 :      brvsb="B"; intsb="m m b"
    1314                 :             :    case(5)
    1315                 :           0 :      brvsb="C"; intsb="c m m"
    1316                 :             :    case(6)
    1317                 :           0 :      brvsb="A"; intsb="m a m"
    1318                 :             :    case default
    1319                 :           0 :      brvsb="X"
    1320   [ +  -  -  -  :          51 :      intsbl="intsbl unknown"
                -  -  - ]
    1321                 :             :    end select
    1322                 :             :  case(64)
    1323                 :          44 :    schsb="D2h^18"; sporder=16
    1324                 :         198 :    select case (spgaxor)
    1325                 :             :    case(1)
    1326                 :          44 :      brvsb="C"; intsb="m c a"
    1327                 :             :    case(2)
    1328                 :           0 :      brvsb="A"; intsb="b m a"
    1329                 :             :    case(3)
    1330                 :           0 :      brvsb="B"; intsb="b c m"
    1331                 :             :    case(4)
    1332                 :           0 :      brvsb="B"; intsb="m a b"
    1333                 :             :    case(5)
    1334                 :           0 :      brvsb="C"; intsb="c m b"
    1335                 :             :    case(6)
    1336                 :           0 :      brvsb="A"; intsb="c a m"
    1337                 :             :    case default
    1338                 :           0 :      brvsb="X"
    1339   [ +  -  -  -  :          44 :      intsb="intsb unknown"
                -  -  - ]
    1340                 :             :    end select
    1341                 :             :  case(65)
    1342                 :         110 :    schsb="D2h^19"; sporder=16
    1343                 :         256 :    select case (spgaxor)
    1344                 :             :    case(1)
    1345                 :         110 :      brvsb="C"; intsb="m m m"
    1346                 :             :    case(2)
    1347                 :           0 :      brvsb="A"; intsb="m m m"
    1348                 :             :    case(3)
    1349                 :           0 :      brvsb="B"; intsb="m m m"
    1350                 :             :    case default
    1351                 :           0 :      brvsb="X"
    1352   [ +  -  -  - ]:         110 :      intsb="intsb unknown"
    1353                 :             :    end select
    1354                 :             :  case(66)
    1355                 :          36 :    schsb="D2h^20"; sporder=16
    1356                 :         108 :    select case (spgaxor)
    1357                 :             :    case(1)
    1358                 :          36 :      brvsb="C"; intsb="c c m"
    1359                 :             :    case(2)
    1360                 :           0 :      brvsb="A"; intsb="m a a"
    1361                 :             :    case(3)
    1362                 :           0 :      brvsb="B"; intsb="b m b"
    1363                 :             :    case default
    1364                 :           0 :      brvsb="X"
    1365   [ +  -  -  - ]:          36 :      intsb="intsb unknown"
    1366                 :             :    end select
    1367                 :             :  case(67)
    1368                 :          36 :    schsb="D2h^21"; sporder=16
    1369                 :         120 :    select case (spgaxor)
    1370                 :             :    case(1)
    1371                 :          36 :      brvsb="C"; intsb="m m a"
    1372                 :             :    case(2)
    1373                 :           0 :      brvsb="A"; intsb="b m m"
    1374                 :             :    case(3)
    1375                 :           0 :      brvsb="B"; intsb="m c m"
    1376                 :             :    case(4)
    1377                 :           0 :      brvsb="B"; intsb="m a m"
    1378                 :             :    case(5)
    1379                 :           0 :      brvsb="C"; intsb="m m b"
    1380                 :             :    case(6)
    1381                 :           0 :      brvsb="A"; intsb="c m m"
    1382                 :             :    case default
    1383                 :           0 :      brvsb="X"
    1384   [ +  -  -  -  :          36 :      intsb="intsb unknown"
                -  -  - ]
    1385                 :             :    end select
    1386                 :             :  case(68)
    1387                 :          48 :    schsb="D2h^22"; sporder=16
    1388         [ +  + ]:          48 :    if (spgorig==1) then
    1389                 :          79 :      select case (spgaxor)
    1390                 :             :      case(1)
    1391                 :          37 :        brvsb="C"; intsb="c c a"; intsbl="c c a _1"
    1392                 :             :      case(2)
    1393                 :           1 :        brvsb="A"; intsb="b a a"; intsbl="b a a _1"
    1394                 :             :      case(3)
    1395                 :           1 :        brvsb="B"; intsb="b c b"; intsbl="b c b _1"
    1396                 :             :      case(4)
    1397                 :           1 :        brvsb="B"; intsb="b a b"; intsbl="b a b _1"
    1398                 :             :      case(5)
    1399                 :           1 :        brvsb="C"; intsb="c c b"; intsbl="c c b _1"
    1400                 :             :      case(6)
    1401                 :           1 :        brvsb="A"; intsb="c a a"; intsbl="c a a _1"
    1402                 :             :      case default
    1403                 :           0 :        brvsb="X"
    1404                 :           0 :        intsb="intsb unknown"
    1405   [ +  +  +  +  :          42 :        intsbl="intsbl to be determined"
                +  +  - ]
    1406                 :             :      end select
    1407         [ +  - ]:           6 :    else if(spgorig==2)then
    1408                 :           7 :      select case (spgaxor)
    1409                 :             :      case(1)
    1410                 :           1 :        brvsb="C"; intsb="c c a"; intsbl="c c a _2"
    1411                 :             :      case(2)
    1412                 :           1 :        brvsb="A"; intsb="b a a"; intsbl="b a a _2"
    1413                 :             :      case(3)
    1414                 :           1 :        brvsb="B"; intsb="b c b"; intsbl="b c b _2"
    1415                 :             :      case(4)
    1416                 :           1 :        brvsb="B"; intsb="b a b"; intsbl="b a b _2"
    1417                 :             :      case(5)
    1418                 :           1 :        brvsb="C"; intsb="c c b"; intsbl="c c b _2"
    1419                 :             :      case(6)
    1420                 :           1 :        brvsb="A"; intsb="c a a"; intsbl="c a a _2"
    1421                 :             :      case default
    1422                 :           0 :        brvsb="X"
    1423                 :           0 :        intsb="intsb unknown"
    1424   [ +  +  +  +  :           6 :        intsbl="intsbl to be determined"
                +  +  - ]
    1425                 :             :      end select
    1426                 :             :    else
    1427                 :           0 :      brvsb="X"
    1428                 :           0 :      intsb="intsb unknown"
    1429                 :           0 :      intsbl="intsbl to be determined"
    1430                 :             :    end if
    1431                 :             :  case(69)
    1432                 :          35 :    brvsb="F"; intsb="m m m"; schsb="D2h^23"; sporder=32
    1433                 :             :  case(70)
    1434                 :          20 :    brvsb="F"; intsb="d d d"; schsb="D2h^24"; sporder=32
    1435         [ +  - ]:          20 :    if (spgorig==1)then
    1436                 :          20 :      intsbl="d d d _1"
    1437         [ #  # ]:           0 :    else if (spgorig==2)then
    1438                 :           0 :      intsbl="d d d _2"
    1439                 :             :    else
    1440                 :           0 :      intsbl="intsbl to be determined"
    1441                 :             :    end if
    1442                 :             :  case(71)
    1443                 :          85 :    brvsb="I"; intsb="m m m"; schsb="D2h^25"; sporder=16
    1444                 :             :  case(72)
    1445                 :          32 :    brvsb="I"; schsb="D2h^26"; sporder=16
    1446                 :          84 :    select case (spgaxor)
    1447                 :             :    case(1)
    1448                 :          32 :      intsb="b a m"
    1449                 :             :    case(2)
    1450                 :           0 :      intsb="m c b"
    1451                 :             :    case(3)
    1452                 :           0 :      intsb="c m a"
    1453                 :             :    case default
    1454   [ +  -  -  - ]:          32 :      intsb="intsb unknown"
    1455                 :             :    end select
    1456                 :             :  case(73)
    1457                 :          20 :    brvsb="I"; schsb="D2h^27"; sporder=16
    1458         [ +  - ]:          20 :    if (spgorig==1)then
    1459                 :          20 :      intsb="b c a"
    1460         [ #  # ]:           0 :    else if (spgorig==2)then
    1461                 :           0 :      intsb="c a b"
    1462                 :             :    else
    1463                 :           0 :      intsb="intsb unknown"
    1464                 :             :    end if
    1465                 :             :  case(74)
    1466                 :          54 :    brvsb="I"; schsb="D2h^28"; sporder=16
    1467                 :         153 :    select case (spgaxor)
    1468                 :             :    case(1)
    1469                 :          54 :      intsb="m m a"
    1470                 :             :    case(2)
    1471                 :           0 :      intsb="b m m"
    1472                 :             :    case(3)
    1473                 :           0 :      intsb="m c m"
    1474                 :             :    case(4)
    1475                 :           0 :      intsb="m a m"
    1476                 :             :    case(5)
    1477                 :           0 :      intsb="m m b"
    1478                 :             :    case(6)
    1479                 :           0 :      intsb="c m m"
    1480                 :             :    case default
    1481   [ +  -  -  -  :          54 :      intsb="intsb unknown"
                -  -  - ]
    1482                 :             :    end select
    1483                 :             :  case(75)
    1484                 :          45 :    brvsb="P"; intsb="4"; schsb="C4^1"; sporder=4
    1485                 :             :  case(76)
    1486                 :          23 :    brvsb="P"; intsb="4_1"; schsb="C4^2"; sporder=4
    1487                 :             :  case(77)
    1488                 :          20 :    brvsb="P"; intsb="4_2"; schsb="C4^3"; sporder=4
    1489                 :             :  case(78)
    1490                 :          20 :    brvsb="P"; intsb="4_3"; schsb="C4^4"; sporder=4
    1491                 :             :  case(79)
    1492                 :          12 :    brvsb="I"; intsb="4"; schsb="C4^5"; sporder=8
    1493                 :             :  case(80)
    1494                 :          12 :    brvsb="I"; intsb="4_1"; schsb="C4^6"; sporder=8
    1495                 :             :  case(81)
    1496                 :          20 :    brvsb="P"; intsb="-4"; schsb="S4^1"; sporder=4
    1497                 :             :  case(82)
    1498                 :          60 :    brvsb="I"; intsb="-4"; schsb="S4^2"; sporder=8
    1499                 :             :  case(83)
    1500                 :          63 :    brvsb="P"; intsb="4/m"; schsb="C4h^1"; sporder=8
    1501                 :             :  case(84)
    1502                 :          28 :    brvsb="P"; intsb="4_2/m"; schsb="C4h^2"; sporder=8
    1503                 :             :  case(85)
    1504                 :          28 :    brvsb="P"; intsb="4/n"; schsb="C4h^3"; sporder=8
    1505         [ +  - ]:          28 :    if (spgorig==1)then
    1506                 :          28 :      intsbl="4/n _1"
    1507         [ #  # ]:           0 :    else if (spgorig==2)then
    1508                 :           0 :      intsbl="4/n _2"
    1509                 :             :    else
    1510                 :           0 :      intsbl="intsbl to be determined"
    1511                 :             :    end if
    1512                 :             :  case(86)
    1513                 :          28 :    brvsb="P"; intsb="4_2/n"; schsb="C4h^4"; sporder=8
    1514         [ +  - ]:          28 :    if (spgorig==1)then
    1515                 :          28 :      intsbl="4_2/n _1"
    1516         [ #  # ]:           0 :    else if (spgorig==2)then
    1517                 :           0 :      intsbl="4_2/n _2"
    1518                 :             :    else
    1519                 :           0 :      intsbl="intsbl to be determined"
    1520                 :             :    end if
    1521                 :             :  case(87)
    1522                 :          24 :    brvsb="I"; intsb="4/m"; schsb="C4h^5"; sporder=16
    1523                 :             :  case(88)
    1524                 :          20 :    brvsb="I"; intsb="4_1/a"; schsb="C4h^6"; sporder=16
    1525         [ +  - ]:          20 :    if (spgorig==1)then
    1526                 :          20 :      intsbl="4_1/a _1"
    1527         [ #  # ]:           0 :    else if (spgorig==2)then
    1528                 :           0 :      intsbl="4_1/a _2"
    1529                 :             :    else
    1530                 :           0 :      intsbl="intsbl to be determined"
    1531                 :             :    end if
    1532                 :             :  case(89)
    1533                 :          33 :    brvsb="P"; intsb="4 2 2"; schsb="D4^1"; sporder=8
    1534                 :             :  case(90)
    1535                 :          28 :    brvsb="P"; intsb="4 2_1 2"; schsb="D4^2"; sporder=8
    1536                 :             :  case(91)
    1537                 :          28 :    brvsb="P"; intsb="4_1 2 2"; schsb="D4^3"; sporder=8
    1538                 :             :  case(92)
    1539                 :          28 :    brvsb="P"; intsb="4_1 2_1 2"; schsb="D4^4"; sporder=8
    1540                 :             :  case(93)
    1541                 :          28 :    brvsb="P"; intsb="4_2 2 2"; schsb="D4^5"; sporder=8
    1542                 :             :  case(94)
    1543                 :          28 :    brvsb="P"; intsb="4_2 2_1 2"; schsb="D4^6"; sporder=8
    1544                 :             :  case(95)
    1545                 :          28 :    brvsb="P"; intsb="4_3 2 2"; schsb="D4^7"; sporder=8
    1546                 :             :  case(96)
    1547                 :          28 :    brvsb="P"; intsb="4_3 2_1 2"; schsb="D4^8"; sporder=8
    1548                 :             :  case(97)
    1549                 :          65 :    brvsb="I"; intsb="4 2 2"; schsb="D4^9"; sporder=16
    1550                 :             :  case(98)
    1551                 :          20 :    brvsb="I"; intsb="4_1 2 2"; schsb="D4^10"; sporder=16
    1552                 :             :  case(99)
    1553                 :         479 :    brvsb="P"; intsb="4 m m"; schsb="C4v^1"; sporder=8
    1554                 :             :  case(100)
    1555                 :          28 :    brvsb="P"; intsb="4 b m"; schsb="C4v^2"; sporder=8
    1556                 :             :  case(101)
    1557                 :          28 :    brvsb="P"; intsb="4_2 c m"; schsb="C4v^3"; sporder=8
    1558                 :             :  case(102)
    1559                 :          28 :    brvsb="P"; intsb="4_2 n m"; schsb="C4v^4"; sporder=8
    1560                 :             :  case(103)
    1561                 :          28 :    brvsb="P"; intsb="4 c c"; schsb="C4v^5"; sporder=8
    1562                 :             :  case(104)
    1563                 :          28 :    brvsb="P"; intsb="4 n c"; schsb="C4v^6"; sporder=8
    1564                 :             :  case(105)
    1565                 :          28 :    brvsb="P"; intsb="4_2 m c"; schsb="C4v^7"; sporder=8
    1566                 :             :  case(106)
    1567                 :          28 :    brvsb="P"; intsb="4_2 b c"; schsb="C4v^8"; sporder=8
    1568                 :             :  case(107)
    1569                 :          20 :    brvsb="I"; intsb="4 m m"; schsb="C4v^9"; sporder=16
    1570                 :             :  case(108)
    1571                 :          20 :    brvsb="I"; intsb="4 c m"; schsb="C4v^10"; sporder=16
    1572                 :             :  case(109)
    1573                 :          20 :    brvsb="I"; intsb="4_1 m d"; schsb="C4v^11"; sporder=16
    1574                 :             :  case(110)
    1575                 :          20 :    brvsb="I"; intsb="4_1 c d"; schsb="C4v^12"; sporder=16
    1576                 :             :  case(111)
    1577                 :          28 :    brvsb="P"; intsb="-4 2 m"; schsb="D2d^1"; sporder=8
    1578                 :             :  case(112)
    1579                 :          28 :    brvsb="P"; intsb="-4 2 c"; schsb="D2d^2"; sporder=8
    1580                 :             :  case(113)
    1581                 :          28 :    brvsb="P"; intsb="-4 2_1 m"; schsb="D2d^3"; sporder=8
    1582                 :             :  case(114)
    1583                 :          28 :    brvsb="P"; intsb="-4 2_1 c"; schsb="D2d^4"; sporder=8
    1584                 :             :  case(115)
    1585                 :          28 :    brvsb="P"; intsb="-4 m 2"; schsb="D2d^5"; sporder=8
    1586                 :             :  case(116)
    1587                 :          28 :    brvsb="P"; intsb="-4 c 2"; schsb="D2d^6"; sporder=8
    1588                 :             :  case(117)
    1589                 :          28 :    brvsb="P"; intsb="-4 b 2"; schsb="D2d^7"; sporder=8
    1590                 :             :  case(118)
    1591                 :          28 :    brvsb="P"; intsb="-4 n 2"; schsb="D2d^8"; sporder=8
    1592                 :             :  case(119)
    1593                 :          20 :    brvsb="I"; intsb="-4 m 2"; schsb="D2d^9"; sporder=16
    1594                 :             :  case(120)
    1595                 :          20 :    brvsb="I"; intsb="-4 c 2"; schsb="D2d^10"; sporder=16
    1596                 :             :  case(121)
    1597                 :          29 :    brvsb="I"; intsb="-4 2 m"; schsb="D2d^11"; sporder=16
    1598                 :             :  case(122)
    1599                 :          20 :    brvsb="I"; intsb="-4 2 d"; schsb="D2d^12"; sporder=16
    1600                 :             :  case(123)
    1601                 :        1426 :    brvsb="P"; intsb="4/m m m"; schsb="D4h^1"; sporder=16
    1602                 :             :  case(124)
    1603                 :          44 :    brvsb="P"; intsb="4/m c c"; schsb="D4h^2"; sporder=16
    1604                 :             :  case(125)
    1605                 :          44 :    brvsb="P"; intsb="4/n b m"; schsb="D4h^3"; sporder=16
    1606         [ +  - ]:          44 :    if (spgorig==1)then
    1607                 :          44 :      intsbl="4/n b m _1"
    1608         [ #  # ]:           0 :    else if (spgorig==2)then
    1609                 :           0 :      intsbl="4/n b m _2"
    1610                 :             :    else
    1611                 :           0 :      intsbl="intsbl to be determined"
    1612                 :             :    end if
    1613                 :             :  case(126)
    1614                 :          44 :    brvsb="P"; intsb="4/n n c"; schsb="D4h^4"; sporder=16
    1615         [ +  - ]:          44 :    if (spgorig==1)then
    1616                 :          44 :      intsbl="4/n n c _1"
    1617         [ #  # ]:           0 :    else if (spgorig==2)then
    1618                 :           0 :      intsbl="4/n n c _2"
    1619                 :             :    else
    1620                 :           0 :      intsbl="intsbl to be determined"
    1621                 :             :    end if
    1622                 :             :  case(127)
    1623                 :          44 :    brvsb="P"; intsb="4/m b m"; schsb="D4h^5"; sporder=16
    1624                 :             :  case(128)
    1625                 :          44 :    brvsb="P"; intsb="4/m n c"; schsb="D4h^6"; sporder=16
    1626                 :             :  case(129)
    1627                 :          89 :    brvsb="P"; intsb="4/n m m"; schsb="D4h^7"; sporder=16
    1628         [ +  - ]:          89 :    if (spgorig==1)then
    1629                 :          89 :      intsbl="4/n m m _1"
    1630         [ #  # ]:           0 :    else if (spgorig==2)then
    1631                 :           0 :      intsbl="4/n m m _2"
    1632                 :             :    else
    1633                 :           0 :      intsbl="intsbl to be determined"
    1634                 :             :    end if
    1635                 :             :  case(130)
    1636                 :          44 :    brvsb="P"; intsb="4/n c c"; schsb="D4h^8"; sporder=16
    1637         [ +  - ]:          44 :    if (spgorig==1)then
    1638                 :          44 :      intsbl="4/n c c _1"
    1639         [ #  # ]:           0 :    else if (spgorig==2) then
    1640                 :           0 :      intsbl="4/n c c _2"
    1641                 :             :    else
    1642                 :           0 :      intsbl="intsbl to be determined"
    1643                 :             :    end if
    1644                 :             :  case(131)
    1645                 :          44 :    brvsb="P"; intsb="4_2/m m c"; schsb="D4h^9"; sporder=16
    1646                 :             :  case(132)
    1647                 :          44 :    brvsb="P"; intsb="4_2/m c m"; schsb="D4h^10"; sporder=16
    1648                 :             :  case(133)
    1649                 :          44 :    brvsb="P"; intsb="4_2/n b c"; schsb="D4h^11"; sporder=16
    1650         [ +  - ]:          44 :    if (spgorig==1)then
    1651                 :          44 :      intsbl="4_2/n b c _1"
    1652         [ #  # ]:           0 :    else if (spgorig==2)then
    1653                 :           0 :      intsbl="4_2/n b c _2"
    1654                 :             :    else
    1655                 :           0 :      intsbl="intsbl to be determined"
    1656                 :             :    end if
    1657                 :             :  case(134)
    1658                 :          44 :    brvsb="P"; intsb="4_2/n n m"; schsb="D4h^12"; sporder=16
    1659         [ +  - ]:          44 :    if (spgorig==1)then
    1660                 :          44 :      intsbl="4_2/n n m _1"
    1661         [ #  # ]:           0 :    else if (spgorig==2)then
    1662                 :           0 :      intsbl="4_2/n n m _2"
    1663                 :             :    else
    1664                 :           0 :      intsbl="intsbl to be determined"
    1665                 :             :    end if
    1666                 :             :  case(135)
    1667                 :          44 :    brvsb="P"; intsb="4_2/m b c"; schsb="D4h^13"; sporder=16
    1668                 :             :  case(136)
    1669                 :         144 :    brvsb="P"; intsb="4_2/m n m"; schsb="D4h^14"; sporder=16
    1670                 :             :  case(137)
    1671                 :          44 :    brvsb="P"; intsb="4_2/n m c"; schsb="D4h^15"; sporder=16
    1672         [ +  - ]:          44 :    if (spgorig==1)then
    1673                 :          44 :      intsbl="4_2/n m c _1"
    1674         [ #  # ]:           0 :    else if (spgorig==2)then
    1675                 :           0 :      intsbl="4_2/n m c _2"
    1676                 :             :    else
    1677                 :           0 :      intsbl="intsbl to be determined"
    1678                 :             :    end if
    1679                 :             :  case(138)
    1680                 :          44 :    brvsb="P"; intsb="4_2/n c m"; schsb="D4h^16"; sporder=16
    1681         [ +  - ]:          44 :    if (spgorig==1)then
    1682                 :          44 :      intsbl="4_2/n c m _1"
    1683         [ #  # ]:           0 :    else if (spgorig==2)then
    1684                 :           0 :      intsbl="4_2/n c m _2"
    1685                 :             :    else
    1686                 :           0 :      intsbl="intsbl to be determined"
    1687                 :             :    end if
    1688                 :             :  case(139)
    1689                 :         316 :    brvsb="I"; intsb="4/m m m"; schsb="D4h^17"; sporder=32
    1690                 :             :  case(140)
    1691                 :          36 :    brvsb="I"; intsb="4/m c m"; schsb="D4h^18"; sporder=32
    1692                 :             :  case(141)
    1693                 :          88 :    brvsb="I"; intsb="4_1/a m d"; schsb="D4h^19"; sporder=32
    1694         [ +  - ]:          88 :    if (spgorig==1)then
    1695                 :          88 :      intsbl="4_1/a m d _1"
    1696         [ #  # ]:           0 :    else if (spgorig==2)then
    1697                 :           0 :      intsbl="4_1/a m d _2"
    1698                 :             :    else
    1699                 :           0 :      intsbl="intsbl to be determined"
    1700                 :             :    end if
    1701                 :             :  case(142)
    1702                 :          36 :    brvsb="I"; intsb="4_1/a c d"; schsb="D4h^20"; sporder=32
    1703         [ +  - ]:          36 :    if (spgorig==1)then
    1704                 :          36 :      intsbl="4_1/a c d _1"
    1705         [ #  # ]:           0 :    else if (spgorig==2)then
    1706                 :           0 :      intsbl="4_1/a c d _2"
    1707                 :             :    else
    1708                 :           0 :      intsbl="intsbl to be determined"
    1709                 :             :    end if
    1710                 :             :  case(143)
    1711                 :          21 :    brvsb="P"; intsb="3"; schsb="C3^1"; sporder=3
    1712                 :             :  case(144)
    1713                 :          12 :    brvsb="P"; intsb="3_1"; schsb="C3^2"; sporder=3
    1714                 :             :  case(145)
    1715                 :          12 :    brvsb="P"; intsb="3_2"; schsb="C3^3"; sporder=3
    1716                 :             :  case(146)
    1717                 :          19 :    brvsb="R"; intsb="3"; schsb="C3^4"
    1718         [ +  - ]:          19 :    if (spgorig==1)then
    1719                 :          19 :      intsbl="3 _H" ; sporder=9
    1720         [ #  # ]:           0 :    else if (spgorig==2)then
    1721                 :           0 :      intsbl="3 _R" ; sporder=3
    1722                 :             :    else
    1723                 :           0 :      intsbl="intsbl to be determined"
    1724                 :             :    end if
    1725                 :             :  case(147)
    1726                 :          33 :    brvsb="P"; intsb="-3"; schsb="C3i^1"; sporder=6
    1727                 :             :  case(148)
    1728                 :          42 :    brvsb="R"; intsb="-3"; schsb="C3i^2"
    1729         [ +  - ]:          42 :    if (spgorig==1) then
    1730                 :          42 :      intsbl="-3 _H" ; sporder=9
    1731         [ #  # ]:           0 :    else if (spgorig==2) then
    1732                 :           0 :      intsbl="-3 _R" ; sporder=3
    1733                 :             :    else
    1734                 :           0 :      intsbl="intsbl to be determined"
    1735                 :             :    end if
    1736                 :             :  case(149)
    1737                 :          48 :    brvsb="P"; intsb="3 1 2"; schsb="D3^1"; sporder=6
    1738                 :             :  case(150)
    1739                 :          33 :    brvsb="P"; intsb="3 2 1"; schsb="D3^2"; sporder=6
    1740                 :             :  case(151)
    1741                 :          24 :    brvsb="P"; intsb="3_1 1 2"; schsb="D3^3"; sporder=6
    1742                 :             :  case(152)
    1743                 :          51 :    brvsb="P"; intsb="3_1 2 1"; schsb="D3^4"; sporder=6
    1744                 :             :  case(153)
    1745                 :          21 :    brvsb="P"; intsb="3_2 1 2"; schsb="D3^5"; sporder=6
    1746                 :             :  case(154)
    1747                 :         241 :    brvsb="P"; intsb="3_2 2 1"; schsb="D3^6"; sporder=6
    1748                 :             :  case(155)
    1749                 :         163 :    brvsb="R"; intsb="3 2"; schsb="D3^7"
    1750         [ +  - ]:         163 :    if (spgorig==1) then
    1751                 :         163 :      intsbl="3 2 _H" ; sporder=18
    1752         [ #  # ]:           0 :    else if (spgorig==2) then
    1753                 :           0 :      intsbl="3 2 _R" ; sporder=6
    1754                 :             :    else
    1755                 :           0 :      intsbl="intsbl to be determined"
    1756                 :             :    end if
    1757                 :             :  case(156)
    1758                 :          52 :    brvsb="P"; intsb="3 m 1"; schsb="C3v^1"; sporder=6
    1759                 :             :  case(157)
    1760                 :          24 :    brvsb="P"; intsb="3 1 m"; schsb="C3v^2"; sporder=6
    1761                 :             :  case(158)
    1762                 :          24 :    brvsb="P"; intsb="3 c 1"; schsb="C3v^3"; sporder=6
    1763                 :             :  case(159)
    1764                 :          21 :    brvsb="P"; intsb="3 1 c"; schsb="C3v^4"; sporder=6
    1765                 :             :  case(160)
    1766                 :         391 :    brvsb="R"; intsb="3 m"; schsb="C3v^5"
    1767         [ +  - ]:         391 :    if (spgorig==1) then
    1768                 :         391 :      intsbl="3 m _H" ; sporder=18
    1769         [ #  # ]:           0 :    else if (spgorig==2) then
    1770                 :           0 :      intsbl="3 m _R" ; sporder=6
    1771                 :             :    else
    1772                 :           0 :      intsbl="intsbl to be determined"
    1773                 :             :    end if
    1774                 :             :  case(161)
    1775                 :          45 :    brvsb="R"; intsb="3 c"; schsb="C3v^6"
    1776         [ +  - ]:          45 :    if (spgorig==1) then
    1777                 :          45 :      intsbl="3 m _H" ; sporder=18
    1778         [ #  # ]:           0 :    else if (spgorig==2)then
    1779                 :           0 :      intsbl="3 m _R" ; sporder=6
    1780                 :             :    else
    1781                 :           0 :      intsbl="intsbl to be determined"
    1782                 :             :    end if
    1783                 :             :  case(162)
    1784                 :          54 :    brvsb="P"; intsb="-3 1 m"; schsb="D3d^1"; sporder=12
    1785                 :             :  case(163)
    1786                 :          45 :    brvsb="P"; intsb="-3 1 c"; schsb="D3d^2"; sporder=12
    1787                 :             :  case(164)
    1788                 :         106 :    brvsb="P"; intsb="-3 m 1"; schsb="D3d^3"; sporder=12
    1789                 :             :  case(165)
    1790                 :          39 :    brvsb="P"; intsb="-3 c 1"; schsb="D3d^4"; sporder=12
    1791                 :             :  case(166)
    1792                 :        1283 :    brvsb="R"; intsb="-3 m"; schsb="D3d^5"
    1793         [ +  - ]:        1283 :    if (spgorig==1) then
    1794                 :        1283 :      intsbl="3 m _H"; sporder=18
    1795         [ #  # ]:           0 :    else if (spgorig==2) then
    1796                 :           0 :      intsbl="3 m _R"; sporder=6
    1797                 :             :    else
    1798                 :           0 :      intsbl="intsbl to be determined"
    1799                 :             :    end if
    1800                 :             :  case(167)
    1801                 :          59 :    brvsb="R"; intsb="-3 c"; schsb="D3d^6"
    1802         [ +  - ]:          59 :    if (spgorig==1) then
    1803                 :          59 :      intsbl="-3 c _H"; sporder=36
    1804         [ #  # ]:           0 :    else if (spgorig==2) then
    1805                 :           0 :      intsbl="-3 c _R"; sporder=12
    1806                 :             :    else
    1807                 :           0 :      intsbl="intsbl to be determined"
    1808                 :           0 :      sporder=-1
    1809                 :             :    end if
    1810                 :             :  case(168)
    1811                 :          15 :    brvsb="P"; intsb="6"; schsb="C6^1"; sporder=6
    1812                 :             :  case(169)
    1813                 :          15 :    brvsb="P"; intsb="6_1"; schsb="C6^2"; sporder=6
    1814                 :             :  case(170)
    1815                 :          15 :    brvsb="P"; intsb="6_5"; schsb="C6^3"; sporder=6
    1816                 :             :  case(171)
    1817                 :          15 :    brvsb="P"; intsb="6_2"; schsb="C6^4"; sporder=6
    1818                 :             :  case(172)
    1819                 :          15 :    brvsb="P"; intsb="6_4"; schsb="C6^5"; sporder=6
    1820                 :             :  case(173)
    1821                 :          15 :    brvsb="P"; intsb="6_3"; schsb="C6^6"; sporder=6
    1822                 :             :  case(174)
    1823                 :          15 :    brvsb="P"; intsb="-6"; schsb="C3h^1"; sporder=6
    1824                 :             :  case(175)
    1825                 :          23 :    brvsb="P"; intsb="6/m"; schsb="C6h^1"; sporder=12
    1826                 :             :  case(176)
    1827                 :          23 :    brvsb="P"; intsb="6_3/m"; schsb="C6h^2"; sporder=12
    1828                 :             :  case(177)
    1829                 :          23 :    brvsb="P"; intsb="6 2 2"; schsb="D6^1"; sporder=12
    1830                 :             :  case(178)
    1831                 :          26 :    brvsb="P"; intsb="6_1 2 2"; schsb="D6^2"; sporder=12
    1832                 :             :  case(179)
    1833                 :          23 :    brvsb="P"; intsb="6_5 2 2"; schsb="D6^3"; sporder=12
    1834                 :             :  case(180)
    1835                 :          26 :    brvsb="P"; intsb="6_2 2 2"; schsb="D6^4"; sporder=12
    1836                 :             :  case(181)
    1837                 :          28 :    brvsb="P"; intsb="6_4 2 2"; schsb="D6^5"; sporder=12
    1838                 :             :  case(182)
    1839                 :          23 :    brvsb="P"; intsb="6_3 2 2"; schsb="D6^6"; sporder=12
    1840                 :             :  case(183)
    1841                 :          23 :    brvsb="P"; intsb="6 m m"; schsb="C6v^1"; sporder=12
    1842                 :             :  case(184)
    1843                 :          23 :    brvsb="P"; intsb="6 c c"; schsb="C6v^2"; sporder=12
    1844                 :             :  case(185)
    1845                 :          23 :    brvsb="P"; intsb="6_3 c m"; schsb="C6v^3"; sporder=12
    1846                 :             :  case(186)
    1847                 :         235 :    brvsb="P"; intsb="6_3 m c"; schsb="C6v^4"; sporder=12
    1848                 :             :  case(187)
    1849                 :         142 :    brvsb="P"; intsb="-6 m 2"; schsb="D3h^1"; sporder=12
    1850                 :             :  case(188)
    1851                 :          23 :    brvsb="P"; intsb="-6 c 2"; schsb="D3h^2"; sporder=12
    1852                 :             :  case(189)
    1853                 :          23 :    brvsb="P"; intsb="-6 2 m"; schsb="D3h^3"; sporder=12
    1854                 :             :  case(190)
    1855                 :          23 :    brvsb="P"; intsb="-6 2 c"; schsb="D3h^4"; sporder=12
    1856                 :             :  case(191)
    1857                 :         118 :    brvsb="P"; intsb="6/m m m"; schsb="D6h^1"; sporder=24
    1858                 :             :  case(192)
    1859                 :          39 :    brvsb="P"; intsb="6/m c c"; schsb="D6h^2"; sporder=24
    1860                 :             :  case(193)
    1861                 :          39 :    brvsb="P"; intsb="6_3/m c m"; schsb="D6h^3"; sporder=24
    1862                 :             :  case(194)
    1863                 :         172 :    brvsb="P"; intsb="6_3/m m c"; schsb="D6h^4"; sporder=24
    1864                 :             :  case(195)
    1865                 :           8 :    brvsb="P"; intsb="2 3"; schsb="T^1"; sporder=12
    1866                 :             :  case(196)
    1867                 :          36 :    brvsb="F"; intsb="2 3"; schsb="T^2"; sporder=48
    1868                 :             :  case(197)
    1869                 :           4 :    brvsb="I"; intsb="2 3"; schsb="T^3"; sporder=24
    1870                 :             :  case(198)
    1871                 :           8 :    brvsb="P"; intsb="2_1 3"; schsb="T^4"; sporder=12
    1872                 :             :  case(199)
    1873                 :           4 :    brvsb="I"; intsb="2_1 3"; schsb="T^5"; sporder=24
    1874                 :             :  case(200)
    1875                 :          16 :    brvsb="P"; intsb="m -3"; schsb="Th^1"; sporder=24
    1876                 :             :  case(201)
    1877                 :          27 :    brvsb="P"; intsb="n -3"; schsb="Th^2"; sporder=24
    1878         [ +  + ]:          27 :    if (spgorig==1) then
    1879                 :          26 :      intsbl="n -3 _1"
    1880         [ +  - ]:           1 :    else if (spgorig==2)then
    1881                 :           1 :      intsbl="n -3 _2"
    1882                 :             :    else
    1883                 :           0 :      intsbl="intsbl to be determined"
    1884                 :             :    end if
    1885                 :             :  case(202)
    1886                 :          12 :    brvsb="F"; intsb="m -3"; schsb="Th^3"; sporder=96
    1887                 :             :  case(203)
    1888                 :          12 :    brvsb="F"; intsb="d -3"; schsb="Th^4"; sporder=96
    1889         [ +  - ]:          12 :    if (spgorig==1) then
    1890                 :          12 :      intsbl="d -3 _1"
    1891         [ #  # ]:           0 :    else if (spgorig==2) then
    1892                 :           0 :      intsbl="d -3 _2"
    1893                 :             :    else
    1894                 :           0 :      intsbl="intsbl to be determined"
    1895                 :             :    end if
    1896                 :             :  case(204)
    1897                 :           8 :    brvsb="I"; intsb="m -3"; schsb="Th^5"; sporder=48
    1898                 :             :  case(205)
    1899                 :          12 :    brvsb="P"; intsb="a -3"; schsb="Th^6"; sporder=24
    1900                 :             :  case(206)
    1901                 :           8 :    brvsb="I"; intsb="a -3"; schsb="Th^7"; sporder=48
    1902                 :             :  case(207)
    1903                 :          14 :    brvsb="P"; intsb="4 3 2"; schsb="O^1"; sporder=24
    1904                 :             :  case(208)
    1905                 :          12 :    brvsb="P"; intsb="4_2 3 2"; schsb="O^2"; sporder=24
    1906                 :             :  case(209)
    1907                 :          32 :    brvsb="F"; intsb="4 3 2"; schsb="O^3"; sporder=96
    1908                 :             :  case(210)
    1909                 :          42 :    brvsb="F"; intsb="4_1 3 2"; schsb="O^4"; sporder=96
    1910                 :             :  case(211)
    1911                 :           8 :    brvsb="I"; intsb="4 3 2"; schsb="O^5"; sporder=48
    1912                 :             :  case(212)
    1913                 :          12 :    brvsb="P"; intsb="4_3 3 2"; schsb="O^6"; sporder=24
    1914                 :             :  case(213)
    1915                 :          12 :    brvsb="P"; intsb="4_1 3 2"; schsb="O^7"; sporder=24
    1916                 :             :  case(214)
    1917                 :           8 :    brvsb="I"; intsb="4_1 3 2"; schsb="O^8"; sporder=48
    1918                 :             :  case(215)
    1919                 :         126 :    brvsb="P"; intsb="-4 3 m"; schsb="Td^1"; sporder=24
    1920                 :             :  case(216)
    1921                 :        2713 :    brvsb="F"; intsb="-4 3 m"; schsb="Td^2"; sporder=96
    1922                 :             :  case(217)
    1923                 :           8 :    brvsb="I"; intsb="-4 3 m"; schsb="Td^3"; sporder=48
    1924                 :             :  case(218)
    1925                 :          12 :    brvsb="P"; intsb="-4 3 n"; schsb="Td^4"; sporder=24
    1926                 :             :  case(219)
    1927                 :          12 :    brvsb="F"; intsb="-4 3 c"; schsb="Td^5"; sporder=96
    1928                 :             :  case(220)
    1929                 :           8 :    brvsb="I"; intsb="-4 3 d"; schsb="Td^6"; sporder=48
    1930                 :             :  case(221)
    1931                 :        2138 :    brvsb="P"; intsb="m -3 m"; schsb="Oh^1"; sporder=48
    1932                 :             :  case(222)
    1933                 :          20 :    brvsb="P"; intsb="n -3 n"; schsb="Oh^2"; sporder=48
    1934         [ +  - ]:          20 :    if (spgorig==1) then
    1935                 :          20 :      intsbl="n -3 n _1"
    1936         [ #  # ]:           0 :    else if (spgorig==2) then
    1937                 :           0 :      intsbl="n -3 n _2"
    1938                 :             :    else
    1939                 :           0 :      intsbl="intsbl to be determined"
    1940                 :             :    end if
    1941                 :             :  case(223)
    1942                 :          20 :    brvsb="P"; intsb="m -3 n"; schsb="Oh^3"; sporder=48
    1943                 :             :  case(224)
    1944                 :          25 :    brvsb="P"; intsb="n -3 m"; schsb="Oh^4"; sporder=48
    1945         [ +  - ]:          25 :    if (spgorig==1) then
    1946                 :          25 :      intsbl="n -3 m _1"
    1947         [ #  # ]:           0 :    else if (spgorig==2)then
    1948                 :           0 :      intsbl="n -3 m _2"
    1949                 :             :    else
    1950                 :           0 :      intsbl="intsbl to be determined"
    1951                 :             :    end if
    1952                 :             :  case(225)
    1953                 :        2617 :    brvsb="F"; intsb="m -3 m"; schsb="Oh^5"; sporder=192
    1954                 :             :  case(226)
    1955                 :          20 :    brvsb="F"; intsb="m -3 c"; schsb="Oh^6"; sporder=192
    1956                 :             :  case(227)
    1957                 :        5542 :    brvsb="F"; intsb="d -3 m"; schsb="Oh^7"; sporder=192
    1958         [ +  - ]:        5542 :    if (spgorig==1) then
    1959                 :        5542 :      intsbl="d -3 m _1"
    1960         [ #  # ]:           0 :    else if (spgorig==2) then
    1961                 :           0 :      intsbl="d -3 m _2"
    1962                 :             :    else
    1963                 :           0 :      intsbl="intsbl to be determined"
    1964                 :             :    end if
    1965                 :             :  case(228)
    1966                 :          20 :    brvsb="F"; intsb="d -3 c"; schsb="Oh^8"; sporder=192
    1967         [ +  - ]:          20 :    if (spgorig==1) then
    1968                 :          20 :      intsbl="d -3 c _1"
    1969         [ #  # ]:           0 :    else if (spgorig==2) then
    1970                 :           0 :      intsbl="d -3 c _2"
    1971                 :             :    else
    1972                 :           0 :      intsbl="intsbl to be determined"
    1973                 :             :    end if
    1974                 :             :  case(229)
    1975                 :         675 :    brvsb="I"; intsb="m -3 m"; schsb="Oh^9"; sporder=96
    1976                 :             :  case(230)
    1977   [ +  +  +  +  :       32410 :    brvsb="I"; intsb="a -3 d"; schsb="Oh^10"; sporder=96
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
                   +  + ]
    1978                 :             :  end select
    1979                 :             : 
    1980         [ +  + ]:       32410 :  if(trim(intsbl)=="same")intsbl=intsb
    1981                 :             : 
    1982                 :             : !Assignment of the point group number
    1983         [ +  + ]:       32410 :  if(spgroup<=2)then  ! Triclinic system
    1984                 :        4329 :    select case(spgroup)
    1985                 :             :    case (1)
    1986                 :        4329 :      ptintsb="1"; ptschsb="C1"
    1987                 :             :    case (2)
    1988      [ +  +  + ]:        4611 :      ptintsb="-1"; ptschsb="Ci"
    1989                 :             :    end select
    1990         [ +  + ]:       27799 :  else if(spgroup<=15)then  ! Monoclinic system
    1991                 :         109 :    select case(spgroup)
    1992                 :             :    case (3:5)
    1993                 :         109 :      ptintsb="2"; ptschsb="C2"
    1994                 :             :    case (6:9)
    1995                 :         750 :      ptintsb="m"; ptschsb="Cs = C1h "
    1996                 :             :    case (10:15)
    1997      [ +  +  + ]:        1334 :      ptintsb="2/m"; ptschsb="C2h"
    1998                 :             :    end select
    1999         [ +  + ]:       26465 :  else if(spgroup<=74)then  ! Orthorhombic system
    2000                 :         210 :    select case(spgroup)
    2001                 :             :    case (16:24)
    2002                 :         210 :      ptintsb="2 2 2"; ptschsb="D2"
    2003                 :             :    case (25:46)
    2004                 :        1198 :      ptintsb="m m 2"; ptschsb="C2v"
    2005                 :             :    case (47:74)
    2006      [ +  +  + ]:        3660 :      ptintsb="m m m"; ptschsb="D2h"
    2007                 :             :    end select
    2008         [ +  + ]:       22805 :  else if(spgroup<=142)then  ! Tetragonal system
    2009                 :         132 :    select case(spgroup)
    2010                 :             :    case (75:80)
    2011                 :         132 :      ptintsb="4"; ptschsb="C4"
    2012                 :             :    case (81,82)
    2013                 :          80 :      ptintsb="-4"; ptschsb="S4"
    2014                 :             :    case (83:88)
    2015                 :         191 :      ptintsb="4/m"; ptschsb="C4h"
    2016                 :             :    case (89:98)
    2017                 :         314 :      ptintsb="4 2 2"; ptschsb="D4"
    2018                 :             :    case (99:110)
    2019                 :         755 :      ptintsb="4 m m"; ptschsb="C4v"
    2020                 :             :    case (111:114,121,122)
    2021                 :         161 :      ptintsb="-4 2 m"; ptschsb="D2d^1"
    2022                 :             :    case (115:120)
    2023                 :         152 :      ptintsb="-4 m 2"; ptschsb="D2h^2"
    2024                 :             :    case (123:142)
    2025                 :        2707 :      ptintsb="4/m m m"
    2026   [ +  +  +  +  :        4492 :      ptschsb="D4h"
             +  +  +  + ]
    2027                 :             :    end select
    2028         [ +  + ]:       18313 :  else if(spgroup<=167)then  ! Trigonal system
    2029                 :          64 :    select case(spgroup)
    2030                 :             :    case (143:146)
    2031                 :          64 :      ptintsb="3"; ptschsb="C3"
    2032                 :             :    case (147,148)
    2033                 :          75 :      ptintsb="-3"; ptschsb="C3i"
    2034                 :             :    case (149,151,153)
    2035                 :          93 :      ptintsb="3 1 2"; ptschsb="D3^1"
    2036                 :             :    case (150,152,154,155)
    2037                 :         488 :      ptintsb="3 2 1"; ptschsb="D3^2"
    2038                 :             :    case (156,158,160,161)
    2039                 :         512 :      ptintsb="3 m 1"; ptschsb="C3v^1"
    2040                 :             :    case (157,159)
    2041                 :          45 :      ptintsb="3 1 m"; ptschsb="C3v^2"
    2042                 :             :    case (162,163)
    2043                 :          99 :      ptintsb="-3 1 m"; ptschsb="D3d^1"
    2044                 :             :    case (164:167)
    2045   [ +  +  +  +  :        2863 :      ptintsb="-3 m 1"; ptschsb="D3d^2"
             +  +  +  + ]
    2046                 :             :    end select
    2047         [ +  + ]:       15450 :  else if(spgroup<=194)then  ! Hexagonal system
    2048                 :          90 :    select case(spgroup)
    2049                 :             :    case (168:173)
    2050                 :          90 :      ptintsb="6"; ptschsb="C6"
    2051                 :             :    case (174)
    2052                 :          15 :      ptintsb="-6"; ptschsb="C3h"
    2053                 :             :    case (175,176)
    2054                 :          46 :      ptintsb="6/m"; ptschsb="C6h"
    2055                 :             :    case (177:182)
    2056                 :         149 :      ptintsb="6 2 2"; ptschsb="D6"
    2057                 :             :    case (183:186)
    2058                 :         304 :      ptintsb="6 m m"; ptschsb="C6v"
    2059                 :             :    case (187,188)
    2060                 :         165 :      ptintsb="-6 m 2"; ptschsb="D3h^1"
    2061                 :             :    case (189,190)
    2062                 :          46 :      ptintsb="-6 2 m"; ptschsb="D3h^2"
    2063                 :             :    case (191:194)
    2064   [ +  +  +  +  :        1183 :      ptintsb="6/m m m"; ptschsb="D6h"
             +  +  +  + ]
    2065                 :             :    end select
    2066                 :             :  else                        ! Cubic system
    2067                 :          60 :    select case(spgroup)
    2068                 :             :    case (195:199)
    2069                 :          60 :      ptintsb="2 3"; ptschsb="T"
    2070                 :             :    case (200:206)
    2071                 :          95 :      ptintsb="m 3"; ptschsb="Th"
    2072                 :             :    case (207:214)
    2073                 :         140 :      ptintsb="4 3 2"; ptschsb="O"
    2074                 :             :    case (215:220)
    2075                 :        2879 :      ptintsb="4 3 m"; ptschsb="Td"
    2076                 :             :    case (221:230)
    2077   [ +  +  +  +  :       14267 :      ptintsb="m -3 m"; ptschsb="Oh"
                   +  - ]
    2078                 :             :    end select
    2079                 :             :  end if
    2080                 :             : 
    2081                 :       32410 : end subroutine spgdata
    2082                 :             : !!***
    2083                 :             : 
    2084                 :             : 
    2085                 :             : !!****f* m_spgdata/ptgmadata
    2086                 :             : !! NAME
    2087                 :             : !! ptgmadata
    2088                 :             : !!
    2089                 :             : !! FUNCTION
    2090                 :             : !! Return magnetic point group symbol from the magnetic point group number
    2091                 :             : !! The symbols and numbers are taken from  The Internationl Tables for Crystallography
    2092                 :             : !! Volume A, 1983 Ed. Theo Hahn, D. Reidel Publishing Company and
    2093                 :             : !! The mathematical theory of symmetry in solids, Representation theory for point
    2094                 :             : !! groups and space groups, 1972, C.J. Bradley and A.P.
    2095                 :             : !! Cracknell, Clarendon Press, Oxford.
    2096                 :             : !!
    2097                 :             : !! INPUTS
    2098                 :             : !! ptgroupma = space group number
    2099                 :             : !!
    2100                 :             : !! OUTPUT
    2101                 :             : !! ptgrpmasb= symbol
    2102                 :             : !!
    2103                 :             : !! SOURCE
    2104                 :             : 
    2105                 :        1669 : subroutine ptgmadata(ptgroupma,ptgrpmasb)
    2106                 :             : 
    2107                 :             : !Arguments ------------------------------------
    2108                 :             : !scalars
    2109                 :             :  integer,intent(in) :: ptgroupma
    2110                 :             :  character(len=10),intent(out) :: ptgrpmasb
    2111                 :             : 
    2112                 :             : ! *************************************************************************
    2113                 :             : 
    2114                 :        1675 :  select case (ptgroupma)
    2115                 :             :  case(1)
    2116                 :           6 :    ptgrpmasb="-1'"
    2117                 :             :  case(2)
    2118                 :          28 :    ptgrpmasb="2'"
    2119                 :             :  case(3)
    2120                 :          44 :    ptgrpmasb="m'"
    2121                 :             :  case(4)
    2122                 :          16 :    ptgrpmasb="2/m'"
    2123                 :             :  case(5)
    2124                 :          12 :    ptgrpmasb="2'/m"
    2125                 :             :  case(6)
    2126                 :          33 :    ptgrpmasb="2'/m'"
    2127                 :             :  case(7)
    2128                 :          32 :    ptgrpmasb="2'2'2"
    2129                 :             :  case(8)
    2130                 :          44 :    ptgrpmasb="m'm'2"
    2131                 :             :  case(9)
    2132                 :          74 :    ptgrpmasb="m'm2'"
    2133                 :             :  case(10)
    2134                 :          56 :    ptgrpmasb="m'm'm'"
    2135                 :             :  case(11)
    2136                 :         125 :    ptgrpmasb="mmm'"
    2137                 :             :  case(12)
    2138                 :         120 :    ptgrpmasb="m'm'm"
    2139                 :             :  case(13)
    2140                 :          12 :    ptgrpmasb="4'"
    2141                 :             :  case(14)
    2142                 :           4 :    ptgrpmasb="-4'"
    2143                 :             :  case(15)
    2144                 :          50 :    ptgrpmasb="42'2'"
    2145                 :             :  case(16)
    2146                 :          40 :    ptgrpmasb="4'22'"
    2147                 :             :  case(17)
    2148                 :          12 :    ptgrpmasb="4/m'"
    2149                 :             :  case(18)
    2150                 :          12 :    ptgrpmasb="4'/m'"
    2151                 :             :  case(19)
    2152                 :          12 :    ptgrpmasb="4'/m"
    2153                 :             :  case(20)
    2154                 :          24 :    ptgrpmasb="4m'm'"
    2155                 :             :  case(21)
    2156                 :          48 :    ptgrpmasb="4'mm'"
    2157                 :             :  case(22)
    2158                 :          29 :    ptgrpmasb="-42'm'"
    2159                 :             :  case(23)
    2160                 :          24 :    ptgrpmasb="-4'2m'"
    2161                 :             :  case(24)
    2162                 :          24 :    ptgrpmasb="-4'm2'"
    2163                 :             :  case(25)
    2164                 :          41 :    ptgrpmasb="4/m'm'm'"
    2165                 :             :  case(26)
    2166                 :          93 :    ptgrpmasb="4/m'mm"
    2167                 :             :  case(27)
    2168                 :          83 :    ptgrpmasb="4'/mmm'"
    2169                 :             :  case(28)
    2170                 :          85 :    ptgrpmasb="4'/m'm'm"
    2171                 :             :  case(29)
    2172                 :          75 :    ptgrpmasb="4/mm'm'"
    2173                 :             :  case(30)
    2174                 :          76 :    ptgrpmasb="32'"
    2175                 :             :  case(31)
    2176                 :          12 :    ptgrpmasb="3m'"
    2177                 :             :  case(32)
    2178                 :           2 :    ptgrpmasb="-6'"
    2179                 :             :  case(33)
    2180                 :           8 :    ptgrpmasb="-6m'2'"
    2181                 :             :  case(34)
    2182                 :           8 :    ptgrpmasb="-6'm2'"
    2183                 :             :  case(35)
    2184                 :           8 :    ptgrpmasb="-6'm'2"
    2185                 :             :  case(36)
    2186                 :          12 :    ptgrpmasb="6'"
    2187                 :             :  case(37)
    2188                 :           8 :    ptgrpmasb="-3'"
    2189                 :             :  case(38)
    2190                 :          12 :    ptgrpmasb="-3m'"
    2191                 :             :  case(39)
    2192                 :          12 :    ptgrpmasb="-3'm"
    2193                 :             :  case(40)
    2194                 :          23 :    ptgrpmasb="-3'm'"
    2195                 :             :  case(41)
    2196                 :          12 :    ptgrpmasb="62'2'"
    2197                 :             :  case(42)
    2198                 :          24 :    ptgrpmasb="6'2'2"
    2199                 :             :  case(43)
    2200                 :           4 :    ptgrpmasb="6/m'"
    2201                 :             :  case(44)
    2202                 :           4 :    ptgrpmasb="6'/m'"
    2203                 :             :  case(45)
    2204                 :           4 :    ptgrpmasb="6'/m"
    2205                 :             :  case(46)
    2206                 :           8 :    ptgrpmasb="6m'm'"
    2207                 :             :  case(47)
    2208                 :          16 :    ptgrpmasb="6'm'm"
    2209                 :             :  case(48)
    2210                 :          16 :    ptgrpmasb="6'/mmm'"
    2211                 :             :  case(49)
    2212                 :          16 :    ptgrpmasb="6'/m'm'm"
    2213                 :             :  case(50)
    2214                 :           8 :    ptgrpmasb="6/m'm'm'"
    2215                 :             :  case(51)
    2216                 :           8 :    ptgrpmasb="6/m'mm"
    2217                 :             :  case(52)
    2218                 :           8 :    ptgrpmasb="6/mm'm'"
    2219                 :             :  case(53)
    2220                 :          14 :    ptgrpmasb="m'3"
    2221                 :             :  case(54)
    2222                 :          12 :    ptgrpmasb="-4'3m'"
    2223                 :             :  case(55)
    2224                 :          16 :    ptgrpmasb="4'32'"
    2225                 :             :  case(56)
    2226                 :          20 :    ptgrpmasb="m'3m'"
    2227                 :             :  case(57)
    2228                 :          20 :    ptgrpmasb="m'3m"
    2229                 :             :  case(58)
    2230   [ +  +  +  +  :        1669 :    ptgrpmasb="m3m'"
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
             +  +  +  +  
                      - ]
    2231                 :             :  end select
    2232                 :             : 
    2233                 :        1669 : end subroutine ptgmadata
    2234                 :             : !!***
    2235                 :             : 
    2236                 :             : !!****f* m_spgdata/getptgroupma
    2237                 :             : !! NAME
    2238                 :             : !! getptgroupma
    2239                 :             : !!
    2240                 :             : !! FUNCTION
    2241                 :             : !! Return magnetic point group number from the full point group number
    2242                 :             : !! and the point group number of the non-magnetic symmetry operations.
    2243                 :             : !! The (normal) point group numbers are taken from
    2244                 :             : !! The International Tables for Crystallography
    2245                 :             : !! Volume A, 1983 Ed. Theo Hahn, D. Reidel Publishing Company
    2246                 :             : !! The magnetic point group number are taken from
    2247                 :             : !! The mathematical theory of symmetry in solids, Representation theory for point
    2248                 :             : !! groups and space groups, 1972, C.J. Bradley and A.P.
    2249                 :             : !! Cracknell, Clarendon Press, Oxford.
    2250                 :             : !! In particular, see table 7.1 of the latter reference
    2251                 :             : !!
    2252                 :             : !! INPUTS
    2253                 :             : !! ptgroup = character(len=5) point group of all the symmetry operation
    2254                 :             : !! ptgroupha = character(len=5) point group of the non-magnetic symmetry operation (halved point group)
    2255                 :             : !!
    2256                 :             : !! OUTPUT
    2257                 :             : !! ptgroupma = magnetic point group number
    2258                 :             : !!
    2259                 :             : !! SOURCE
    2260                 :             : 
    2261                 :         904 : subroutine getptgroupma(ptgroup,ptgroupha,ptgroupma)
    2262                 :             : 
    2263                 :             : !Arguments ------------------------------------
    2264                 :             : !scalars
    2265                 :             :  integer,intent(out) :: ptgroupma
    2266                 :             :  character(len=5),intent(in) :: ptgroup,ptgroupha
    2267                 :             : 
    2268                 :             : ! *************************************************************************
    2269                 :             : 
    2270                 :             : !DEBUG
    2271                 :             : !write(std_out,*)' getptgroupma : enter '
    2272                 :             : !write(std_out,*)' ptgroup="',ptgroup,'"'
    2273                 :             : !write(std_out,*)' ptgroupha="',ptgroupha,'"'
    2274                 :             : !ENDDEBUG
    2275                 :             : 
    2276                 :         904 :  ptgroupma=0
    2277                 :           4 :  select case (ptgroup)
    2278                 :             :  case("   -1")
    2279                 :           4 :    ptgroupma=1
    2280                 :             :  case("    2")
    2281                 :          18 :    ptgroupma=2
    2282                 :             :  case("   -2")
    2283                 :          28 :    ptgroupma=3
    2284                 :             :  case("  2/m")
    2285         [ +  + ]:          40 :    if(ptgroupha=="    2")ptgroupma=4
    2286         [ +  + ]:          40 :    if(ptgroupha=="   -2")ptgroupma=5
    2287         [ +  + ]:          40 :    if(ptgroupha=="   -1")ptgroupma=6
    2288                 :             :  case("  222")
    2289                 :          17 :    ptgroupma=7
    2290                 :             :  case("  mm2")
    2291         [ +  + ]:          60 :    if(ptgroupha=="    2")ptgroupma=8
    2292         [ +  + ]:          60 :    if(ptgroupha=="   -2")ptgroupma=9
    2293                 :             :  case("  mmm")
    2294         [ +  + ]:         153 :    if(ptgroupha=="  222")ptgroupma=10
    2295         [ +  + ]:         153 :    if(ptgroupha=="  mm2")ptgroupma=11
    2296         [ +  + ]:         153 :    if(ptgroupha=="  2/m")ptgroupma=12
    2297                 :             :  case("    4")
    2298                 :           6 :    ptgroupma=13
    2299                 :             :  case("   -4")
    2300                 :           2 :    ptgroupma=14
    2301                 :             :  case("  422")
    2302         [ +  + ]:          50 :    if(ptgroupha=="    4")ptgroupma=15
    2303         [ +  + ]:          50 :    if(ptgroupha=="  222")ptgroupma=16
    2304                 :             :  case("  4/m")
    2305         [ +  + ]:          18 :    if(ptgroupha=="    4")ptgroupma=17
    2306         [ +  + ]:          18 :    if(ptgroupha=="   -4")ptgroupma=18
    2307         [ +  + ]:          18 :    if(ptgroupha=="  2/m")ptgroupma=19
    2308                 :             :  case("  4mm")
    2309         [ +  + ]:          36 :    if(ptgroupha=="    4")ptgroupma=20
    2310         [ +  + ]:          36 :    if(ptgroupha=="  mm2")ptgroupma=21
    2311                 :             :  case(" -42m")
    2312         [ +  + ]:          40 :    if(ptgroupha=="   -4")ptgroupma=22
    2313         [ +  + ]:          40 :    if(ptgroupha=="  222")ptgroupma=23
    2314         [ +  + ]:          40 :    if(ptgroupha=="  mm2")ptgroupma=24
    2315                 :             :  case("4/mmm")
    2316         [ +  + ]:         212 :    if(ptgroupha=="  422")ptgroupma=25
    2317         [ +  + ]:         212 :    if(ptgroupha=="  4mm")ptgroupma=26
    2318         [ +  + ]:         212 :    if(ptgroupha=="  mmm")ptgroupma=27
    2319         [ +  + ]:         212 :    if(ptgroupha==" -42m")ptgroupma=28
    2320         [ +  + ]:         212 :    if(ptgroupha=="  4/m")ptgroupma=29
    2321                 :             :  case("   32")
    2322                 :          49 :    ptgroupma=30
    2323                 :             :  case("   3m")
    2324                 :           6 :    ptgroupma=31
    2325                 :             :  case("   -6")
    2326                 :           1 :    ptgroupma=32
    2327                 :             :  case(" -62m")
    2328         [ +  + ]:          12 :    if(ptgroupha=="   -6")ptgroupma=33
    2329         [ +  + ]:          12 :    if(ptgroupha=="   3m")ptgroupma=34
    2330         [ +  + ]:          12 :    if(ptgroupha=="   32")ptgroupma=35
    2331                 :             :  case("    6")
    2332                 :           6 :    ptgroupma=36
    2333                 :             :  case("   -3")
    2334                 :           5 :    ptgroupma=37
    2335                 :             :  case("  -3m")
    2336         [ +  + ]:          26 :    if(ptgroupha=="   -3")ptgroupma=38
    2337         [ +  + ]:          26 :    if(ptgroupha=="   3m")ptgroupma=39
    2338         [ +  + ]:          26 :    if(ptgroupha=="   32")ptgroupma=40
    2339                 :             :  case("  622")
    2340         [ +  + ]:          18 :    if(ptgroupha=="    6")ptgroupma=41
    2341         [ +  + ]:          18 :    if(ptgroupha=="   32")ptgroupma=42
    2342                 :             :  case("  6/m")
    2343         [ +  + ]:           6 :    if(ptgroupha=="    6")ptgroupma=43
    2344         [ +  + ]:           6 :    if(ptgroupha=="   -3")ptgroupma=44
    2345         [ +  + ]:           6 :    if(ptgroupha=="   -6")ptgroupma=45
    2346                 :             :  case("  6mm")
    2347         [ +  + ]:          12 :    if(ptgroupha=="    6")ptgroupma=46
    2348         [ +  + ]:          12 :    if(ptgroupha=="   3m")ptgroupma=47
    2349                 :             :  case("6/mmm")
    2350         [ +  + ]:          28 :    if(ptgroupha==" -62m")ptgroupma=48
    2351         [ +  + ]:          28 :    if(ptgroupha=="  -3m")ptgroupma=49
    2352         [ +  + ]:          28 :    if(ptgroupha=="  622")ptgroupma=50
    2353         [ +  + ]:          28 :    if(ptgroupha=="  6mm")ptgroupma=51
    2354         [ +  + ]:          28 :    if(ptgroupha=="  6/m")ptgroupma=52
    2355                 :             :  case("  m-3")
    2356                 :           7 :    ptgroupma=53
    2357                 :             :  case(" -43m")
    2358                 :           6 :    ptgroupma=54
    2359                 :             :  case("  432")
    2360                 :           8 :    ptgroupma=55
    2361                 :             :  case(" m-3m")
    2362         [ +  + ]:          30 :    if(ptgroupha=="  432")ptgroupma=56
    2363         [ +  + ]:          30 :    if(ptgroupha==" -43m")ptgroupma=57
    2364   [ +  +  +  +  :         934 :    if(ptgroupha=="  m-3")ptgroupma=58
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
                -  +  + ]
    2365                 :             :  end select
    2366                 :             : 
    2367                 :             : !DEBUG
    2368                 :             : !write(std_out,*)' getptgroupma : exit '
    2369                 :             : !write(std_out,*)' ptgroupma="',ptgroupma,'"'
    2370                 :             : !ENDDEBUG
    2371                 :             : 
    2372                 :         904 : end subroutine getptgroupma
    2373                 :             : !!***
    2374                 :             : 
    2375                 :             : !!****f* m_spgdata/symptgroup
    2376                 :             : !! NAME
    2377                 :             : !! symptgroup
    2378                 :             : !!
    2379                 :             : !! FUNCTION
    2380                 :             : !! Derive the name of the point group (+holohedry), from symrel.
    2381                 :             : !! Warning: might have to change the holohedry hR to hP, if hexagonal axes
    2382                 :             : !!
    2383                 :             : !! INPUTS
    2384                 :             : !! nsym=actual number of symmetries
    2385                 :             : !! symrel(3,3,nsym)=nsym symmetry operations in real space in terms of primitive translations
    2386                 :             : !!
    2387                 :             : !! OUTPUT
    2388                 :             : !! iholohedry=holohedry number
    2389                 :             : !! ptgroup=symmetry point group
    2390                 :             : !!
    2391                 :             : !! SOURCE
    2392                 :             : 
    2393                 :       12032 : subroutine symptgroup(iholohedry, nsym, ptgroup, symrel)
    2394                 :             : 
    2395                 :             : !Arguments ------------------------------------
    2396                 :             : !scalars
    2397                 :             :  integer,intent(in) :: nsym
    2398                 :             :  integer,intent(out) :: iholohedry
    2399                 :             :  character(len=5),intent(out) :: ptgroup
    2400                 :             : !arrays
    2401                 :             :  integer,intent(in) :: symrel(3,3,nsym)
    2402                 :             : 
    2403                 :             : !Local variables-------------------------------
    2404                 :             : !scalars
    2405                 :             :  integer :: inversion,iorder,isym
    2406                 :             :  character(len=500) :: message
    2407                 :             : !arrays
    2408                 :             :  integer :: identity(3,3),matrix(3,3),n_axes(-6:6),trial(3,3)
    2409                 :       12032 :  integer,allocatable :: determinant(:),order(:),root_invers(:)
    2410                 :       12032 :  character(len=2),allocatable :: ptsym(:)
    2411                 :             : 
    2412                 :             : !**************************************************************************
    2413                 :             : 
    2414                 :             : !DEBUG
    2415                 :             : !write(std_out,*)' symptgroup : enter'
    2416                 :             : !do isym=1,nsym
    2417                 :             : !  write(std_out,'(i3,2x,9i3)' )isym,symrel(:,:,isym)
    2418                 :             : !end do
    2419                 :             : !ENDDEBUG
    2420                 :             : 
    2421                 :       12032 :  identity(:,:)=0
    2422                 :       12032 :  identity(1,1)=1 ; identity(2,2)=1 ; identity(3,3)=1
    2423                 :       12032 :  n_axes(:)=0
    2424                 :             : 
    2425   [ -  +  +  -  :       36096 :  ABI_MALLOC(determinant,(nsym))
          +  -  +  -  -  
                +  -  + ]
    2426   [ -  +  +  -  :       24064 :  ABI_MALLOC(order,(nsym))
             -  +  -  + ]
    2427   [ -  +  +  -  :       24064 :  ABI_MALLOC(ptsym,(nsym))
          +  -  -  +  -  
                      + ]
    2428   [ -  +  +  -  :       24064 :  ABI_MALLOC(root_invers,(nsym))
             -  +  -  + ]
    2429                 :             : 
    2430                 :             : !Get the determinant
    2431                 :       12032 :  call symdet(determinant,nsym,symrel)
    2432                 :             : 
    2433                 :             : !Get the order of each the symmetry operation, as well as the maximal order
    2434                 :             : !Also, examine whether each symmetry operation is the inversion, or a root
    2435                 :             : !of the inversion (like -3)
    2436                 :             : !Finally, decide which kind of point symmetry operation it is
    2437         [ +  + ]:      299869 :  do isym=1,nsym
    2438                 :             : 
    2439                 :      287837 :    trial(:,:)=identity(:,:)
    2440   [ +  +  +  + ]:     3741881 :    matrix(:,:)=symrel(:,:,isym)
    2441                 :      287837 :    order(isym)=0
    2442                 :      287837 :    root_invers(isym)=0
    2443         [ +  - ]:      896488 :    do iorder=1,6
    2444   [ +  +  +  +  :    35859520 :      trial=matmul(matrix,trial)
                   +  + ]
    2445   [ +  +  +  +  :    11654344 :      if(sum((trial-identity)**2)==0)then
                   +  + ]
    2446                 :      287837 :        order(isym)=iorder
    2447                 :      287837 :        exit
    2448                 :             :      end if
    2449   [ +  +  +  +  :     7912463 :      if(sum((trial+identity)**2)==0)then
                   +  + ]
    2450                 :       44524 :        root_invers(isym)=iorder
    2451                 :       44524 :        if(iorder==1)inversion=isym
    2452                 :             :      end if
    2453                 :             :    end do
    2454         [ -  + ]:      287837 :    if(order(isym)==0)then
    2455                 :           0 :      write(message, '(a,i0,a)' )' The symmetry operation number',isym,' is not a root of unity'
    2456                 :           0 :      ABI_BUG(message)
    2457                 :             :    end if
    2458                 :             : 
    2459                 :             : !  determinant, order and root_invers are enough to determine the
    2460                 :             : !  kind of symmetry operation
    2461                 :      287837 :    ptsym(isym)='no'
    2462                 :       12032 :    select case(order(isym))
    2463                 :             :    case(1)
    2464                 :       12032 :      ptsym(isym)=' 1' ; n_axes(1)=n_axes(1)+1
    2465                 :             :    case(2)
    2466         [ +  + ]:      123721 :      if(determinant(isym)== 1)then
    2467                 :       56456 :        ptsym(isym)=' 2' ; n_axes(2)=n_axes(2)+1
    2468   [ +  -  +  + ]:       67265 :      else if(determinant(isym)==-1 .and. root_invers(isym)==1)then
    2469                 :        7184 :        ptsym(isym)='-1' ; n_axes(-1)=n_axes(-1)+1
    2470   [ +  -  +  - ]:       60081 :      else if(determinant(isym)==-1 .and. root_invers(isym)==0)then
    2471                 :       60081 :        ptsym(isym)='-2' ; n_axes(-2)=n_axes(-2)+1
    2472                 :             :      end if
    2473                 :             :    case(3)
    2474                 :       48170 :      ptsym(isym)=' 3' ; n_axes(3)=n_axes(3)+1
    2475                 :             :    case(4)
    2476         [ +  + ]:       65490 :      if(determinant(isym)== 1)then
    2477                 :       29994 :        ptsym(isym)=' 4' ; n_axes(4)=n_axes(4)+1
    2478         [ +  - ]:       35496 :      else if(determinant(isym)==-1)then
    2479                 :       35496 :        ptsym(isym)='-4' ; n_axes(-4)=n_axes(-4)+1
    2480                 :             :      end if
    2481                 :             :    case(6)
    2482   [ +  +  +  +  :      287837 :      if(determinant(isym)== 1)then
             +  -  +  + ]
    2483                 :         630 :        ptsym(isym)=' 6' ; n_axes(6)=n_axes(6)+1
    2484   [ +  -  +  + ]:       37794 :      else if(determinant(isym)==-1 .and. root_invers(isym)==3)then
    2485                 :       37340 :        ptsym(isym)='-3' ; n_axes(-3)=n_axes(-3)+1
    2486   [ +  -  +  - ]:         454 :      else if(determinant(isym)==-1 .and. root_invers(isym)==0)then
    2487                 :         454 :        ptsym(isym)='-6' ; n_axes(-6)=n_axes(-6)+1
    2488                 :             :      end if
    2489                 :             :    end select
    2490                 :             : 
    2491         [ -  + ]:      299869 :    if(ptsym(isym)=='no')then
    2492                 :             :      write(message,'(a,i4,a,a,a,i4,a,a,i4,a,a,i4)' )&
    2493                 :           0 :        'The symmetry operation number',isym,' could not be identified',ch10,&
    2494                 :           0 :        'order(isym)      =',order(isym),ch10,&
    2495                 :           0 :        'determinant(isym)=',determinant(isym),ch10,&
    2496                 :           0 :        'root_invers(isym)=',root_invers(isym)
    2497                 :           0 :      ABI_BUG(message)
    2498                 :             :    end if
    2499                 :             : 
    2500                 :             :  end do
    2501                 :             : 
    2502                 :       12032 :  iholohedry=0
    2503   [ +  +  +  + ]:      168448 :  if     (sum((n_axes-(/0,0,0,0,0,0, 0 ,1,0,0,0,0,0/))**2)==0)then
    2504                 :        1381 :    ptgroup='    1' ; iholohedry=1
    2505   [ +  +  +  + ]:      149114 :  else if(sum((n_axes-(/0,0,0,0,0,1, 0 ,1,0,0,0,0,0/))**2)==0)then
    2506                 :         139 :    ptgroup='   -1' ; iholohedry=1
    2507                 :             : 
    2508   [ +  +  +  + ]:      147168 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,1,0,0,0,0/))**2)==0)then
    2509                 :          85 :    ptgroup='    2' ; iholohedry=2
    2510   [ +  +  +  + ]:      145978 :  else if(sum((n_axes-(/0,0,0,0,1,0, 0 ,1,0,0,0,0,0/))**2)==0)then
    2511                 :         362 :    ptgroup='   -2' ; iholohedry=2
    2512   [ +  +  +  + ]:      140910 :  else if(sum((n_axes-(/0,0,0,0,1,1, 0 ,1,1,0,0,0,0/))**2)==0)then
    2513                 :         212 :    ptgroup='  2/m' ; iholohedry=2
    2514                 :             : 
    2515   [ +  +  +  + ]:      137942 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,3,0,0,0,0/))**2)==0)then
    2516                 :          89 :    ptgroup='  222' ; iholohedry=3
    2517   [ +  +  +  + ]:      136696 :  else if(sum((n_axes-(/0,0,0,0,2,0, 0 ,1,1,0,0,0,0/))**2)==0)then
    2518                 :         369 :    ptgroup='  mm2' ; iholohedry=3
    2519   [ +  +  +  + ]:      131530 :  else if(sum((n_axes-(/0,0,0,0,3,1, 0 ,1,3,0,0,0,0/))**2)==0)then
    2520                 :         592 :    ptgroup='  mmm' ; iholohedry=3
    2521                 :             : 
    2522   [ +  +  +  + ]:      123242 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,1,0,2,0,0/))**2)==0)then
    2523                 :          71 :    ptgroup='    4' ; iholohedry=4
    2524   [ +  +  +  + ]:      122248 :  else if(sum((n_axes-(/0,0,2,0,0,0, 0 ,1,1,0,0,0,0/))**2)==0)then
    2525                 :          48 :    ptgroup='   -4' ; iholohedry=4
    2526   [ +  +  +  + ]:      121576 :  else if(sum((n_axes-(/0,0,2,0,1,1, 0 ,1,1,0,2,0,0/))**2)==0)then
    2527                 :          91 :    ptgroup='  4/m' ; iholohedry=4
    2528   [ +  +  +  + ]:      120302 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,5,0,2,0,0/))**2)==0)then
    2529                 :          81 :    ptgroup='  422' ; iholohedry=4
    2530   [ +  +  +  + ]:      119168 :  else if(sum((n_axes-(/0,0,0,0,4,0, 0 ,1,1,0,2,0,0/))**2)==0)then
    2531                 :         271 :    ptgroup='  4mm' ; iholohedry=4
    2532   [ +  +  +  + ]:      115374 :  else if(sum((n_axes-(/0,0,2,0,2,0, 0 ,1,3,0,0,0,0/))**2)==0)then
    2533                 :          96 :    ptgroup=' -42m' ; iholohedry=4
    2534   [ +  +  +  + ]:      114030 :  else if(sum((n_axes-(/0,0,2,0,5,1, 0 ,1,5,0,2,0,0/))**2)==0)then
    2535                 :         953 :    ptgroup='4/mmm' ; iholohedry=4
    2536                 :             : 
    2537   [ +  +  +  + ]:      100688 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,0,2,0,0,0/))**2)==0)then
    2538                 :          84 :    ptgroup='    3' ; iholohedry=5
    2539   [ +  +  +  + ]:       99512 :  else if(sum((n_axes-(/0,0,0,2,0,1, 0 ,1,0,2,0,0,0/))**2)==0)then
    2540                 :          32 :    ptgroup='   -3' ; iholohedry=5
    2541   [ +  +  +  + ]:       99064 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,3,2,0,0,0/))**2)==0)then
    2542                 :         240 :    ptgroup='   32' ; iholohedry=5
    2543   [ +  +  +  + ]:       95704 :  else if(sum((n_axes-(/0,0,0,0,3,0, 0 ,1,0,2,0,0,0/))**2)==0)then
    2544                 :         269 :    ptgroup='   3m' ; iholohedry=5
    2545   [ +  +  +  + ]:       91938 :  else if(sum((n_axes-(/0,0,0,2,3,1, 0 ,1,3,2,0,0,0/))**2)==0)then
    2546                 :         534 :    ptgroup='  -3m' ; iholohedry=5
    2547                 :             : 
    2548   [ +  +  +  + ]:       84462 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,1,2,0,0,2/))**2)==0)then
    2549                 :          30 :    ptgroup='    6' ; iholohedry=6
    2550   [ +  +  +  + ]:       84042 :  else if(sum((n_axes-(/2,0,0,0,1,0, 0 ,1,0,2,0,0,0/))**2)==0)then
    2551                 :           9 :    ptgroup='   -6' ; iholohedry=6
    2552   [ +  +  +  + ]:       83916 :  else if(sum((n_axes-(/2,0,0,2,1,1, 0 ,1,1,2,0,0,2/))**2)==0)then
    2553                 :          14 :    ptgroup='  6/m' ; iholohedry=6
    2554   [ +  +  +  + ]:       83720 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,7,2,0,0,2/))**2)==0)then
    2555                 :          38 :    ptgroup='  622' ; iholohedry=6
    2556   [ +  +  +  + ]:       83188 :  else if(sum((n_axes-(/0,0,0,0,6,0, 0 ,1,1,2,0,0,2/))**2)==0)then
    2557                 :         107 :    ptgroup='  6mm' ; iholohedry=6
    2558   [ +  +  +  + ]:       81690 :  else if(sum((n_axes-(/2,0,0,0,4,0, 0 ,1,3,2,0,0,0/))**2)==0)then
    2559                 :          78 :    ptgroup=' -62m' ; iholohedry=6
    2560   [ +  +  +  + ]:       80598 :  else if(sum((n_axes-(/2,0,0,2,7,1, 0 ,1,7,2,0,0,2/))**2)==0)then
    2561                 :         126 :    ptgroup='6/mmm' ; iholohedry=6
    2562                 :             : 
    2563   [ +  +  +  + ]:       78834 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,3,8,0,0,0/))**2)==0)then
    2564                 :          36 :    ptgroup='   23' ; iholohedry=7
    2565   [ +  +  +  + ]:       78330 :  else if(sum((n_axes-(/0,0,0,8,3,1, 0 ,1,3,8,0,0,0/))**2)==0)then
    2566                 :          28 :    ptgroup='  m-3' ; iholohedry=7
    2567   [ +  +  +  + ]:       77938 :  else if(sum((n_axes-(/0,0,0,0,0,0, 0 ,1,9,8,6,0,0/))**2)==0)then
    2568                 :          47 :    ptgroup='  432' ; iholohedry=7
    2569   [ +  +  +  + ]:       77280 :  else if(sum((n_axes-(/0,0,6,0,6,0, 0 ,1,3,8,0,0,0/))**2)==0)then
    2570                 :        1057 :    ptgroup=' -43m' ; iholohedry=7
    2571   [ +  +  +  - ]:       62482 :  else if(sum((n_axes-(/0,0,6,8,9,1, 0 ,1,9,8,6,0,0/))**2)==0)then
    2572                 :        4463 :    ptgroup=' m-3m' ; iholohedry=7
    2573                 :             : 
    2574                 :             :  end if
    2575                 :             : 
    2576         [ -  + ]:       12032 :  if(iholohedry==0)then
    2577                 :           0 :    ABI_ERROR_CLASS('Could not find the point group', "TolSymError")
    2578                 :             :  end if
    2579                 :             : 
    2580                 :             : !DEBUG
    2581                 :             : !do isym=1,nsym
    2582                 :             : !write(std_out,'(a,3i5)' )' symptgroup : isym,determinant,order=',isym,determinant(isym),order(isym)
    2583                 :             : !end do
    2584                 :             : 
    2585                 :             : !write(std_out,'(a,13i3)' )' symptgroup : n_axes(-6:6)=',n_axes(-6:6)
    2586                 :             : !write(std_out,*)' iholohedry, ptgroup=',iholohedry,',',ptgroup
    2587                 :             : !ENDDEBUG
    2588                 :             : 
    2589         [ -  + ]:       12032 :  ABI_FREE(determinant)
    2590         [ -  + ]:       12032 :  ABI_FREE(order)
    2591         [ -  + ]:       12032 :  ABI_FREE(ptsym)
    2592         [ -  + ]:       12032 :  ABI_FREE(root_invers)
    2593                 :             : 
    2594                 :       12032 : end subroutine symptgroup
    2595                 :             : !!***
    2596                 :             : 
    2597                 :             : end module m_spgdata
    2598                 :             : !!***
        

Generated by: LCOV version 2.3-1