TABLE OF CONTENTS


ABINIT/m_symlist [ Modules ]

[ Top ] [ Modules ]

NAME

  m_symlist

FUNCTION

 Determine the space group from the number and type of symmetry operations

COPYRIGHT

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

PARENTS

CHILDREN

SOURCE

21 #if defined HAVE_CONFIG_H
22 #include "config.h"
23 #endif
24 
25 #include "abi_common.h"
26 
27 module m_symlist
28 
29  use defs_basis
30 
31  implicit none
32 
33  private

m_symlist/symlist_bcc [ Functions ]

[ Top ] [ m_symlist ] [ Functions ]

NAME

 symlist_bcc

FUNCTION

 Determine the space group from the number and type of symmetry operations
 BCC case.

INPUTS

 additional_info=information that is needed beyond n_axes, in order
  to discriminate between specific space groups
 nsym=actual number of symmetries
 n_axes(31)=array containing the number of all the possible symmetry operations

OUTPUT

 spgroup=space group number ; returns 0 if not found

NOTES

 The list of symmetry operations is for the conventional cell

TODO

 For the time being there are several groups where uncertainties still exist
 This will be solved in the very next ABINIT version

PARENTS

      symspgr

CHILDREN

SOURCE

522 subroutine symlist_bcc(additional_info,nsym,n_axes,spgroup)
523 
524 
525 !This section has been created automatically by the script Abilint (TD).
526 !Do not modify the following lines by hand.
527 #undef ABI_FUNC
528 #define ABI_FUNC 'symlist_bcc'
529 !End of the abilint section
530 
531  implicit none
532 
533 !Arguments ------------------------------------
534 !scalars
535  integer,intent(in) :: additional_info,nsym
536  integer,intent(out) :: spgroup
537 !arrays
538  integer,intent(in) :: n_axes(31)
539 
540 !Local variables-------------------------------
541 !character(len=500) :: message
542 !scalars
543  integer :: ii
544 !arrays
545  integer :: n_axest(31)
546 
547 !**************************************************************************
548 
549 !DEBUG
550 !write(std_out,*) ' symlist_bcc : enter '
551 !write(std_out,*) ' nsym = ', nsym
552 !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
553 !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
554 !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
555 !ENDDEBUG
556 
557  spgroup=0
558 
559  select case(nsym)
560 
561  case(4)
562 !    XG021015, from LSi.
563 !    The coding of this case is different because of a compiler problem on
564 !    SUN. Seems that an internal limit is reached. Do not know why.
565    do ii=1,3
566      if(ii==1)then
567        n_axest(:)=0 ; n_axest(7)=1 ; n_axest(8)=1 ; n_axest(9)=1 ; n_axest(20)=1
568        spgroup=5
569      else if(ii==2)then
570        n_axest(:)=0 ; n_axest(7)=1 ; n_axest(8)=1 ; n_axest(15)=1 ; n_axest(18)=1
571        spgroup=8
572      else if(ii==3)then
573        n_axest(:)=0 ; n_axest(7)=1 ; n_axest(8)=1 ; n_axest(16)=1 ; n_axest(18)=1
574        spgroup=9
575      end if
576      if(sum((n_axes-n_axest)**2)==0)exit
577      spgroup=0
578    end do
579 
580  case(8)
581 
582    n_axest=(/0,0,0,0,2,0,1,1,1,0,  0,0,0,0,0,2,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
583    if(sum((n_axes-n_axest)**2)==0) spgroup=15
584    n_axest=(/0,0,0,0,0,0,1,1,3,0,  0,0,0,0,0,0,0,0,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
585    if(sum((n_axes-n_axest)**2)==0) then
586      if(additional_info==1) spgroup=23
587      if(additional_info==2) spgroup=24
588    end if
589    n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,2,0,0,2,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
590    if(sum((n_axes-n_axest)**2)==0) spgroup=44
591    n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,0,4,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
592    if(sum((n_axes-n_axest)**2)==0) spgroup=45
593    n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,1,2,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
594    if(sum((n_axes-n_axest)**2)==0) spgroup=46
595    n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,2,0,0,0,0,0,0,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
596    if(sum((n_axes-n_axest)**2)==0) spgroup=79
597    n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,4,0,0,0,0,0,0,0/)
598    if(sum((n_axes-n_axest)**2)==0) spgroup=80
599 
600    n_axest=(/0,4,0,0,0,0,1,1,2,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
601    if(sum((n_axes-n_axest)**2)==0) spgroup=82
602 
603  case(16)
604 
605    n_axest=(/0,0,0,0,2,0,1,1,3,0,  0,0,0,0,3,0,0,3,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
606    if(sum((n_axes-n_axest)**2)==0) spgroup=71
607    n_axest=(/0,0,0,0,2,0,1,1,3,0,  0,0,0,0,1,4,0,1,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
608    if(sum((n_axes-n_axest)**2)==0) spgroup=72
609    n_axest=(/0,0,0,0,2,0,1,1,3,0,  0,0,0,0,0,6,0,0,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
610    if(sum((n_axes-n_axest)**2)==0) spgroup=73
611    n_axest=(/0,0,0,0,2,0,1,1,3,0,  0,0,0,0,2,2,0,2,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
612    if(sum((n_axes-n_axest)**2)==0) spgroup=74
613    n_axest=(/0,0,0,0,0,0,1,1,6,0,  0,2,0,0,0,0,0,0,0,0,  4,0,0,0,2,0,0,0,0,0,0/)
614    if(sum((n_axes-n_axest)**2)==0) spgroup=97
615    n_axest=(/0,0,0,0,0,0,1,1,6,0,  0,0,0,0,0,0,0,0,0,0,  4,0,0,4,0,0,0,0,0,0,0/)
616    if(sum((n_axes-n_axest)**2)==0) spgroup=98
617    n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,2,0,0,8,0,0,0,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
618    if(sum((n_axes-n_axest)**2)==0) spgroup=107
619    n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,2,0,0,4,4,0,0,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
620    if(sum((n_axes-n_axest)**2)==0) spgroup=108
621    n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,0,0,0,4,0,4,0,0,0,  0,0,0,4,0,0,0,0,0,0,0/)
622    if(sum((n_axes-n_axest)**2)==0) spgroup=109
623    n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,0,0,0,0,4,4,0,0,0,  0,0,0,4,0,0,0,0,0,0,0/)
624    if(sum((n_axes-n_axest)**2)==0) spgroup=110
625 
626    n_axest=(/0,4,0,0,2,0,1,1,2,0,  0,2,0,0,2,0,0,0,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
627    if(sum((n_axes-n_axest)**2)==0) spgroup=87
628    n_axest=(/0,4,0,0,2,0,1,1,2,0,  0,0,0,0,0,2,0,0,0,0,  0,0,0,4,0,0,0,0,0,0,0/)
629    if(sum((n_axes-n_axest)**2)==0) spgroup=88
630    n_axest=(/0,4,0,0,0,0,1,1,2,0,  0,0,0,0,4,0,0,0,0,0,  4,0,0,0,0,0,0,0,0,0,0/)
631    if(sum((n_axes-n_axest)**2)==0) spgroup=119
632    n_axest=(/0,4,0,0,0,0,1,1,2,0,  0,0,0,0,0,4,0,0,0,0,  4,0,0,0,0,0,0,0,0,0,0/)
633    if(sum((n_axes-n_axest)**2)==0) spgroup=120
634    n_axest=(/0,4,0,0,0,0,1,1,6,0,  0,0,0,0,4,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
635    if(sum((n_axes-n_axest)**2)==0) spgroup=121
636    n_axest=(/0,4,0,0,0,0,1,1,6,0,  0,0,0,0,0,0,4,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
637    if(sum((n_axes-n_axest)**2)==0) spgroup=122
638 
639  case(24)
640 
641    n_axest=(/0,0,0,0,0,0,1,1,3,16, 0,0,0,0,0,0,0,0,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
642    if(sum((n_axes-n_axest)**2)==0) then
643      if(additional_info==1) spgroup=197
644      if(additional_info==2) spgroup=199
645    end if
646 
647  case(32)
648 
649    n_axest=(/0,4,0,0,2,0,1,1,6,0,  0,2,0,0,10,0,0,0,0,0, 4,0,0,0,2,0,0,0,0,0,0/)
650    if(sum((n_axes-n_axest)**2)==0) spgroup=139
651    n_axest=(/0,4,0,0,2,0,1,1,6,0,  0,2,0,0,6,4,0,0,0,0,  4,0,0,0,2,0,0,0,0,0,0/)
652    if(sum((n_axes-n_axest)**2)==0) spgroup=140
653    n_axest=(/0,4,0,0,2,0,1,1,6,0,  0,0,0,0,4,2,4,0,0,0,  4,0,0,4,0,0,0,0,0,0,0/)
654    if(sum((n_axes-n_axest)**2)==0) spgroup=141
655    n_axest=(/0,4,0,0,2,0,1,1,6,0,  0,0,0,0,0,6,4,0,0,0,  4,0,0,4,0,0,0,0,0,0,0/)
656    if(sum((n_axes-n_axest)**2)==0) spgroup=142
657 
658  case(48)
659 
660    n_axest=(/0,0,16,0,2,0,1,1,3,16,  0,0,0,0,3,0,0,3,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
661    if(sum((n_axes-n_axest)**2)==0) spgroup=204
662    n_axest=(/0,0,16,0,2,0,1,1,3,16,  0,0,0,0,0,0,0,6,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
663    if(sum((n_axes-n_axest)**2)==0) spgroup=206
664    n_axest=(/0,0,0,0,0,0,1,1,12,16,  0,6,0,0,0,0,0,0,0,6,  0,0,0,0,6,0,0,0,0,0,0/)
665    if(sum((n_axes-n_axest)**2)==0) spgroup=211
666    n_axest=(/0,0,0,0,0,0,1,1,12,16,  0,0,0,0,0,0,0,0,0,6,  0,0,0,12,0,0,0,0,0,0,0/)
667    if(sum((n_axes-n_axest)**2)==0) spgroup=214
668    n_axest=(/0,12,0,0,0,0,1,1,3,16,  0,0,0,0,6,0,0,6,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
669    if(sum((n_axes-n_axest)**2)==0) spgroup=217
670    n_axest=(/0,12,0,0,0,0,1,1,3,16,  0,0,0,0,0,0,12,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
671    if(sum((n_axes-n_axest)**2)==0) spgroup=220
672 
673  case(96)
674 
675 !    Note that the identification of the mirror planes is still ambiguous for cI
676    n_axest=(/0,12,16,0,2,0,1,1,12,16,  0,6,0,0,9,0,0,9,0,6,  0,0,0,0,6,0,0,0,0,0,0/)
677    if(sum((n_axes-n_axest)**2)==0) spgroup=229
678    n_axest=(/0,12,16,0,2,0,1,1,12,16,  0,0,0,0,0,0,12,6,0,6, 0,0,0,12,0,0,0,0,0,0,0/)
679    if(sum((n_axes-n_axest)**2)==0) spgroup=230
680 
681  end select
682 
683 end subroutine symlist_bcc

m_symlist/symlist_fcc [ Functions ]

[ Top ] [ m_symlist ] [ Functions ]

NAME

 symlist_fcc

FUNCTION

 Determine the space group from the number and type of symmetry operations
 FCC case

INPUTS

 nsym=actual number of symmetries
 n_axes(31)=array containing the number of all the possible symmetry operations

OUTPUT

 spgroup=space group number ; returns 0 if not found

NOTES

 The list of symmetry operations is for the conventional cell

TODO

 For the time being there are several groups where uncertainties still exist
 This will be solved in the very next ABINIT version

PARENTS

      symspgr

CHILDREN

SOURCE

716 subroutine symlist_fcc(nsym,n_axes,spgroup)
717 
718 
719 !This section has been created automatically by the script Abilint (TD).
720 !Do not modify the following lines by hand.
721 #undef ABI_FUNC
722 #define ABI_FUNC 'symlist_fcc'
723 !End of the abilint section
724 
725  implicit none
726 
727 !Arguments ------------------------------------
728 !scalars
729  integer,intent(in) :: nsym
730  integer,intent(out) :: spgroup
731 !arrays
732  integer,intent(in) :: n_axes(31)
733 
734 !Local variables-------------------------------
735 !character(len=500) :: message
736 !arrays
737  integer :: n_axest(31)
738 
739 !**************************************************************************
740 
741 !DEBUG
742 !write(std_out,*) ' symlist_fcc : enter '
743 !write(std_out,*) ' nsym = ', nsym
744 !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
745 !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
746 !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
747 !ENDDEBUG
748 
749  spgroup=0
750 
751  select case(nsym)
752 
753  case(16)
754 
755    n_axest=(/0,0,0,0,0,0,3,1,6,0,  0,0,0,0,0,0,0,0,0,6,  0,0,0,0,0,0,0,0,0,0,0/)
756    if(sum((n_axes-n_axest)**2)==0) spgroup=22
757    n_axest=(/0,0,0,0,0,0,3,1,2,0,  0,0,0,0,2,4,0,2,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
758    if(sum((n_axes-n_axest)**2)==0) spgroup=42
759    n_axest=(/0,0,0,0,0,0,3,1,2,0,  0,0,0,0,0,0,8,0,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
760    if(sum((n_axes-n_axest)**2)==0) spgroup=43
761 
762 
763  case(32)
764 
765    n_axest=(/0,0,0,0,4,0,3,1,6,0,  0,0,0,0,3,6,0,3,0,6,  0,0,0,0,0,0,0,0,0,0,0/)
766    if(sum((n_axes-n_axest)**2)==0) spgroup=69
767    n_axest=(/0,0,0,0,4,0,3,1,6,0,  0,0,0,0,0,0,12,0,0,6, 0,0,0,0,0,0,0,0,0,0,0/)
768    if(sum((n_axes-n_axest)**2)==0) spgroup=70
769 
770  case(48)
771 
772    n_axest=(/0,0,0,0,0,0,3,1,6,32, 0,0,0,0,0,0,0,0,0,6, 0,0,0,0,0,0,0,0,0,0,0/)
773    if(sum((n_axes-n_axest)**2)==0) spgroup=196
774 
775  case(96)
776 
777    n_axest=(/0,0,32,0,4,0,3,1,6,32,  0,0,0,0,3,0,0,9,0,6,   0,0,0,0,0,0,0,0,0,0,0/)
778    if(sum((n_axes-n_axest)**2)==0) spgroup=202
779    n_axest=(/0,0,32,0,4,0,3,1,6,32,  0,0,0,0,0,0,12,0,0,6,  0,0,0,0,0,0,0,0,0,0,0/)
780    if(sum((n_axes-n_axest)**2)==0) spgroup=203
781    n_axest=(/0,0,0,0,0,0,3,1,18,32,  0,12,0,0,0,0,0,0,0,18, 0,0,0,0,12,0,0,0,0,0,0/)
782    if(sum((n_axes-n_axest)**2)==0) spgroup=209
783    n_axest=(/0,0,0,0,0,0,3,1,18,32,  0,0,0,0,0,0,0,0,0,18,  0,0,0,24,0,0,0,0,0,0,0/)
784    if(sum((n_axes-n_axest)**2)==0) spgroup=210
785    n_axest=(/0,24,0,0,0,0,3,1,6,32,  0,0,0,0,24,0,0,0,0,6,   0,0,0,0,0,0,0,0,0,0,0/)
786    if(sum((n_axes-n_axest)**2)==0) spgroup=216
787    n_axest=(/0,24,0,0,0,0,3,1,6,32,  0,0,0,0,0,0,0,24,0,6,   0,0,0,0,0,0,0,0,0,0,0/)
788    if(sum((n_axes-n_axest)**2)==0) spgroup=219
789 
790 
791  case(192)
792 
793    n_axest=(/0,24,32,0,4,0,3,1,18,32,  0,12,0,0,27,0,0,9,0,18, 0,0,0,0,12,0,0,0,0,0,0/)
794    if(sum((n_axes-n_axest)**2)==0) spgroup=225
795    n_axest=(/0,24,32,0,4,0,3,1,18,32,  0,12,0,0,3,0,0,33,0,18,  0,0,0,0,12,0,0,0,0,0,0/)
796    if(sum((n_axes-n_axest)**2)==0) spgroup=226
797    n_axest=(/0,24,32,0,4,0,3,1,18,32,  0,0,0,0,24,0,12,0,0,18,  0,0,0,24,0,0,0,0,0,0,0/)
798    if(sum((n_axes-n_axest)**2)==0) spgroup=227
799    n_axest=(/0,24,32,0,4,0,3,1,18,32,  0,0,0,0,0,0,12,24,0,18,  0,0,0,24,0,0,0,0,0,0,0/)
800    if(sum((n_axes-n_axest)**2)==0) spgroup=228
801 
802  end select
803 
804 end subroutine symlist_fcc

m_symlist/symlist_others [ Functions ]

[ Top ] [ m_symlist ] [ Functions ]

NAME

 symlist_others

FUNCTION

 Determine the space group from the number and type of symmetry operations
 Non primitive, non BCC, non FCC case : rhombohedral or face centered

INPUTS

 brvltt=Bravais lattice type
 nsym=actual number of symmetries
 n_axes(31)=array containing the number of all the possible symmetry operations

OUTPUT

 spgroup=space group number ; returns 0 if not found

NOTES

 The list of symmetry operations is for the conventional cell

TODO

 For the time being there are several groups where uncertainties still exist
 This will be solved in the very next ABINIT version

PARENTS

      symspgr

CHILDREN

SOURCE

838 subroutine symlist_others(brvltt,nsym,n_axes,spgroup)
839 
840 
841 !This section has been created automatically by the script Abilint (TD).
842 !Do not modify the following lines by hand.
843 #undef ABI_FUNC
844 #define ABI_FUNC 'symlist_others'
845 !End of the abilint section
846 
847  implicit none
848 
849 !Arguments ------------------------------------
850 !scalars
851  integer,intent(in) :: brvltt,nsym
852  integer,intent(out) :: spgroup
853 !arrays
854  integer,intent(in) :: n_axes(31)
855 
856 !Local variables-------------------------------
857 !character(len=500) :: message
858 !arrays
859  integer :: n_axest(31)
860 
861 !**************************************************************************
862 
863 !DEBUG
864 !write(std_out,*) ' symlist_others : enter '
865 !write(std_out,*) ' nsym = ', nsym
866 !write(std_out,*) ' brvltt = ',brvltt
867 !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
868 !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
869 !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
870 !ENDDEBUG
871 
872  spgroup=0
873 
874  if(brvltt==4 .or. brvltt==5 .or. brvltt==6)then       !  A, B, C face centered
875 
876    select case(nsym)
877 
878    case(4)
879 
880      n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,0,0,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
881      if(sum((n_axes-n_axest)**2)==0) spgroup=5
882      n_axest=(/0,0,0,0,0,0,1,1,0,0,  0,0,0,0,1,1,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
883      if(sum((n_axes-n_axest)**2)==0) spgroup=8
884      n_axest=(/0,0,0,0,0,0,1,1,0,0,  0,0,0,0,0,1,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
885      if(sum((n_axes-n_axest)**2)==0) spgroup=9
886 
887    case(8)
888 
889      n_axest=(/0,0,0,0,0,0,1,1,0,0,  0,0,0,0,1,2,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
890      if(sum((n_axes-n_axest)**2)==0) spgroup=36
891 
892      n_axest=(/0,0,0,0,2,0,1,1,1,0,  0,0,0,0,1,1,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
893      if(sum((n_axes-n_axest)**2)==0) spgroup=12
894      n_axest=(/0,0,0,0,2,0,1,1,1,0,  0,0,0,0,0,1,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
895      if(sum((n_axes-n_axest)**2)==0) spgroup=15
896      n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,2,1,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
897      if(sum((n_axes-n_axest)**2)==0) spgroup=38
898      n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,1,3,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
899      if(sum((n_axes-n_axest)**2)==0) spgroup=39
900      n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,1,1,0,2,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
901      if(sum((n_axes-n_axest)**2)==0) spgroup=40
902      n_axest=(/0,0,0,0,0,0,1,1,1,0,  0,0,0,0,0,3,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
903      if(sum((n_axes-n_axest)**2)==0) spgroup=41
904 
905      n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,0,0,0,0,0,0,0,0,4,  0,0,0,0,0,0,0,0,0,0,0/)
906      if(sum((n_axes-n_axest)**2)==0) spgroup=20
907      n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,0,0,0,2,2,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
908      if(sum((n_axes-n_axest)**2)==0) spgroup=35
909      n_axest=(/0,0,0,0,0,0,1,1,2,0,  0,0,0,0,0,2,0,2,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
910      if(sum((n_axes-n_axest)**2)==0) spgroup=37
911 
912      n_axest=(/0,0,0,0,0,0,1,1,4,0,  0,0,0,0,0,0,0,0,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
913      if(sum((n_axes-n_axest)**2)==0) spgroup=21
914 
915    case(16)
916 
917      n_axest=(/0,0,0,0,2,0,1,1,2,0,  0,0,0,0,2,2,0,2,0,4,  0,0,0,0,0,0,0,0,0,0,0/)
918      if(sum((n_axes-n_axest)**2)==0) spgroup=63
919      n_axest=(/0,0,0,0,2,0,1,1,2,0,  0,0,0,0,1,4,0,1,0,4,  0,0,0,0,0,0,0,0,0,0,0/)
920      if(sum((n_axes-n_axest)**2)==0) spgroup=64
921 
922      n_axest=(/0,0,0,0,2,0,1,1,4,0,  0,0,0,0,3,2,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
923      if(sum((n_axes-n_axest)**2)==0) spgroup=65
924      n_axest=(/0,0,0,0,2,0,1,1,4,0,  0,0,0,0,2,4,0,0,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
925      if(sum((n_axes-n_axest)**2)==0) spgroup=67
926      n_axest=(/0,0,0,0,2,0,1,1,4,0,  0,0,0,0,0,4,0,2,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
927      if(sum((n_axes-n_axest)**2)==0) spgroup=68
928      n_axest=(/0,0,0,0,2,0,1,1,4,0,  0,0,0,0,1,2,0,3,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
929      if(sum((n_axes-n_axest)**2)==0) spgroup=66
930 
931    end select
932 
933  else if(brvltt==7)then                ! Rhombohedral lattice
934 
935    select case(nsym)
936 
937    case(3)
938 
939      n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
940      if(sum((n_axes-n_axest)**2)==0) spgroup=146
941 
942    case(6)
943 
944      n_axest=(/0,0,2,0,1,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
945      if(sum((n_axes-n_axest)**2)==0) spgroup=148
946      n_axest=(/0,0,0,0,0,0,0,1,3,2,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
947      if(sum((n_axes-n_axest)**2)==0) spgroup=155
948      n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,3,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
949      if(sum((n_axes-n_axest)**2)==0) spgroup=160
950      n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,3,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
951      if(sum((n_axes-n_axest)**2)==0) spgroup=161
952 
953    case(12)
954 
955      n_axest=(/0,0,2,0,1,0,0,1,3,2,  0,0,0,0,3,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
956      if(sum((n_axes-n_axest)**2)==0) spgroup=166
957      n_axest=(/0,0,2,0,1,0,0,1,3,2,  0,0,0,0,0,3,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
958      if(sum((n_axes-n_axest)**2)==0) spgroup=167
959 
960    end select
961 
962  end if
963 
964 end subroutine symlist_others

m_symlist/symlist_prim [ Functions ]

[ Top ] [ m_symlist ] [ Functions ]

NAME

 symlist_prim

FUNCTION

 Determine the space group from the number and type of symmetry operations

INPUTS

 additional_info=information that is needed beyond n_axes, in order
  to discriminate between specific space groups
 nsym=actual number of symmetries
 n_axes(31)=array containing the number of all the possible symmetry operations

OUTPUT

 spgroup=space group number ; returns 0 if not found

NOTES

 The list of symmetry operations is for the conventional cell

TODO

 For the time being there are several groups where uncertainties still exist
 This will be solved in the very next ABINIT version

PARENTS

      symspgr

CHILDREN

SOURCE

 76 subroutine symlist_prim(additional_info,nsym,n_axes,spgroup)
 77 
 78 
 79 !This section has been created automatically by the script Abilint (TD).
 80 !Do not modify the following lines by hand.
 81 #undef ABI_FUNC
 82 #define ABI_FUNC 'symlist_prim'
 83 !End of the abilint section
 84 
 85  implicit none
 86 
 87 !Arguments ------------------------------------
 88 !scalars
 89  integer,intent(in) :: additional_info,nsym
 90  integer,intent(out) :: spgroup
 91 !arrays
 92  integer,intent(in) :: n_axes(31)
 93 
 94 !Local variables-------------------------------
 95 !character(len=500) :: message
 96 !arrays
 97  integer :: n_axest(31)
 98 
 99 !**************************************************************************
100 
101 !DEBUG
102 !write(std_out,*) ' symlist_prim : enter '
103 !write(std_out,*) ' nsym = ', nsym
104 !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
105 !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
106 !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
107 !ENDDEBUG
108 
109  spgroup=0
110 
111  select case(nsym)
112 
113  case(1)
114 
115    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
116    if(sum((n_axes-n_axest)**2)==0) spgroup=1
117 
118  case(2)
119 
120    n_axest=(/0,0,0,0,1,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
121    if(sum((n_axes-n_axest)**2)==0) spgroup=2
122    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
123    if(sum((n_axes-n_axest)**2)==0) spgroup=3
124    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
125    if(sum((n_axes-n_axest)**2)==0) spgroup=4
126    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,1,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
127    if(sum((n_axes-n_axest)**2)==0) spgroup=6
128    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,1,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
129    if(sum((n_axes-n_axest)**2)==0) spgroup=7
130    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
131    if(sum((n_axes-n_axest)**2)==0) spgroup=7
132 
133  case(3)
134 
135    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
136    if(sum((n_axes-n_axest)**2)==0) spgroup=143
137    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  0,2,0,0,0,0,0,0,0,0,0/)
138    if(sum((n_axes-n_axest)**2)==0) spgroup=144
139    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  0,0,2,0,0,0,0,0,0,0,0/)
140    if(sum((n_axes-n_axest)**2)==0) spgroup=145
141 
142  case(4)
143 
144    n_axest=(/0,0,0,0,1,0,0,1,1,0,  0,0,0,0,1,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
145    if(sum((n_axes-n_axest)**2)==0) spgroup=10
146    n_axest=(/0,0,0,0,1,0,0,1,0,0,  0,0,0,0,1,0,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
147    if(sum((n_axes-n_axest)**2)==0) spgroup=11
148    n_axest=(/0,0,0,0,1,0,0,1,1,0,  0,0,0,0,0,1,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
149    if(sum((n_axes-n_axest)**2)==0) spgroup=13
150    n_axest=(/0,0,0,0,1,0,0,1,1,0,  0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
151    if(sum((n_axes-n_axest)**2)==0) spgroup=13
152    n_axest=(/0,0,0,0,1,0,0,1,0,0,  0,0,0,0,0,1,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
153    if(sum((n_axes-n_axest)**2)==0) spgroup=14
154    n_axest=(/0,0,0,0,1,0,0,1,0,0,  0,0,0,0,0,0,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
155    if(sum((n_axes-n_axest)**2)==0) spgroup=14
156 
157    n_axest=(/0,0,0,0,0,0,0,1,3,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
158    if(sum((n_axes-n_axest)**2)==0) spgroup=16
159    n_axest=(/0,0,0,0,0,0,0,1,2,0,  0,0,0,0,0,0,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
160    if(sum((n_axes-n_axest)**2)==0) spgroup=17
161    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
162    if(sum((n_axes-n_axest)**2)==0) spgroup=18
163    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
164    if(sum((n_axes-n_axest)**2)==0) spgroup=19
165    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,2,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
166 
167    if(sum((n_axes-n_axest)**2)==0) spgroup=25
168    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,1,1,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
169    if(sum((n_axes-n_axest)**2)==0) spgroup=26
170    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,2,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
171    if(sum((n_axes-n_axest)**2)==0) spgroup=29
172    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,2,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
173    if(sum((n_axes-n_axest)**2)==0) then
174      if(additional_info==1) spgroup=27
175      if(additional_info==2) spgroup=32
176    end if
177    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,1,1,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
178    if(sum((n_axes-n_axest)**2)==0) spgroup=28
179    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,1,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
180    if(sum((n_axes-n_axest)**2)==0) spgroup=30
181    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,1,0,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
182    if(sum((n_axes-n_axest)**2)==0) spgroup=31
183    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,1,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
184    if(sum((n_axes-n_axest)**2)==0) spgroup=33
185    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,2,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
186    if(sum((n_axes-n_axest)**2)==0) spgroup=34
187 
188    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,2,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
189    if(sum((n_axes-n_axest)**2)==0) spgroup=75
190    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,1,  0,0,0,2,0,0,0,0,0,0,0/)
191    if(sum((n_axes-n_axest)**2)==0) spgroup=76
192    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
193    if(sum((n_axes-n_axest)**2)==0) spgroup=77
194    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,1,  0,0,0,0,0,2,0,0,0,0,0/)
195    if(sum((n_axes-n_axest)**2)==0) spgroup=78
196 
197 
198    n_axest=(/0,2,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
199    if(sum((n_axes-n_axest)**2)==0) spgroup=81
200 
201  case(6)
202 
203    n_axest=(/0,0,2,0,1,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
204    if(sum((n_axes-n_axest)**2)==0) spgroup=147
205 
206    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
207    if(sum((n_axes-n_axest)**2)==0) spgroup=149
208    n_axest=(/0,0,0,3,0,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
209    if(sum((n_axes-n_axest)**2)==0) spgroup=150
210    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  3,2,0,0,0,0,0,0,0,0,0/)
211    if(sum((n_axes-n_axest)**2)==0) spgroup=151
212    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  3,0,2,0,0,0,0,0,0,0,0/)
213    if(sum((n_axes-n_axest)**2)==0) spgroup=153
214 
215    n_axest=(/0,0,0,3,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  0,2,0,0,0,0,0,0,0,0,0/)
216    if(sum((n_axes-n_axest)**2)==0) spgroup=152
217    n_axest=(/0,0,0,3,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,  0,0,2,0,0,0,0,0,0,0,0/)
218    if(sum((n_axes-n_axest)**2)==0) spgroup=154
219 
220    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,3,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
221    if(sum((n_axes-n_axest)**2)==0) spgroup=156
222    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,0,3,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
223    if(sum((n_axes-n_axest)**2)==0) spgroup=157
224    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,3,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
225    if(sum((n_axes-n_axest)**2)==0) spgroup=158
226    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,0,0,3,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
227    if(sum((n_axes-n_axest)**2)==0) spgroup=159
228 
229    n_axest=(/0,0,0,0,0,0,0,1,1,2,  0,0,0,2,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
230    if(sum((n_axes-n_axest)**2)==0) spgroup=168
231    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,1,  0,2,0,0,0,0,2,0,0,0,0/)
232    if(sum((n_axes-n_axest)**2)==0) spgroup=169
233    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,1,  0,0,2,0,0,0,0,0,0,0,2/)
234    if(sum((n_axes-n_axest)**2)==0) spgroup=170
235 
236    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,0,  0,0,2,0,0,0,0,2,0,0,0/)
237    if(sum((n_axes-n_axest)**2)==0) spgroup=171
238    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,0,  0,2,0,0,0,0,0,0,0,2,0/)
239    if(sum((n_axes-n_axest)**2)==0) spgroup=172
240 
241    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,1,  0,0,0,0,0,0,0,0,2,0,0/)
242    if(sum((n_axes-n_axest)**2)==0) spgroup=173
243    n_axest=(/2,0,0,0,0,0,0,1,0,2,  0,0,0,0,1,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
244    if(sum((n_axes-n_axest)**2)==0) spgroup=174
245 
246  case(8)
247 
248    n_axest=(/0,0,0,0,1,0,0,1,3,0,  0,0,0,0,3,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
249    if(sum((n_axes-n_axest)**2)==0) spgroup=47
250    n_axest=(/0,0,0,0,1,0,0,1,3,0,  0,0,0,0,0,0,0,3,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
251    if(sum((n_axes-n_axest)**2)==0) spgroup=48
252    n_axest=(/0,0,0,0,1,0,0,1,3,0,  0,0,0,0,1,2,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
253    if(sum((n_axes-n_axest)**2)==0) spgroup=49
254    n_axest=(/0,0,0,0,1,0,0,1,3,0,  0,0,0,0,0,2,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
255    if(sum((n_axes-n_axest)**2)==0) spgroup=50
256 
257    n_axest=(/0,0,0,0,1,0,0,1,2,0,  0,0,0,0,2,1,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
258    if(sum((n_axes-n_axest)**2)==0) spgroup=51
259    n_axest=(/0,0,0,0,1,0,0,1,2,0,  0,0,0,0,0,1,0,2,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
260    if(sum((n_axes-n_axest)**2)==0) spgroup=52
261    n_axest=(/0,0,0,0,1,0,0,1,2,0,  0,0,0,0,1,1,0,1,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
262    if(sum((n_axes-n_axest)**2)==0) spgroup=53
263    n_axest=(/0,0,0,0,1,0,0,1,2,0,  0,0,0,0,0,3,0,0,0,1,  0,0,0,0,0,0,0,0,0,0,0/)
264    if(sum((n_axes-n_axest)**2)==0) spgroup=54
265 
266    n_axest=(/0,0,0,0,1,0,0,1,1,0,  0,0,0,0,1,2,0,0,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
267    if(sum((n_axes-n_axest)**2)==0)  then
268      if(additional_info==1) spgroup=55
269      if(additional_info==2) spgroup=57
270    end if
271    n_axest=(/0,0,0,0,1,0,0,1,1,0,  0,0,0,0,0,2,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
272    if(sum((n_axes-n_axest)**2)==0)  then
273      if(additional_info==1) spgroup=56
274      if(additional_info==2) spgroup=60
275    end if
276    n_axest=(/0,0,0,0,1,0,0,1,1,0,  0,0,0,0,1,0,0,2,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
277    if(sum((n_axes-n_axest)**2)==0) spgroup=58
278    n_axest=(/0,0,0,0,1,0,0,1,1,0,  0,0,0,0,2,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
279    if(sum((n_axes-n_axest)**2)==0) spgroup=59
280 
281    n_axest=(/0,0,0,0,1,0,0,1,0,0,  0,0,0,0,0,3,0,0,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
282    if(sum((n_axes-n_axest)**2)==0) spgroup=61
283    n_axest=(/0,0,0,0,1,0,0,1,0,0,  0,0,0,0,1,1,0,1,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
284    if(sum((n_axes-n_axest)**2)==0) spgroup=62
285 
286    n_axest=(/0,0,0,0,0,0,0,1,3,0,  0,2,0,0,0,0,0,0,0,0,  2,0,0,0,0,0,0,0,0,0,0/)
287    if(sum((n_axes-n_axest)**2)==0) spgroup=89
288    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,2,0,0,0,0,0,0,0,2,  2,0,0,0,0,0,0,0,0,0,0/)
289    if(sum((n_axes-n_axest)**2)==0) spgroup=90
290 
291    n_axest=(/0,0,0,0,0,0,0,1,2,0,  0,0,0,0,0,0,0,0,0,1,  2,0,0,2,0,0,0,0,0,0,0/)
292    if(sum((n_axes-n_axest)**2)==0) spgroup=91
293    n_axest=(/0,0,0,0,0,0,0,1,2,0,  0,0,0,0,0,0,0,0,0,1,  2,0,0,0,0,2,0,0,0,0,0/)
294    if(sum((n_axes-n_axest)**2)==0) spgroup=95
295 
296    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,3,  2,0,0,2,0,0,0,0,0,0,0/)
297    if(sum((n_axes-n_axest)**2)==0) spgroup=92
298    n_axest=(/0,0,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,3,  2,0,0,0,0,2,0,0,0,0,0/)
299    if(sum((n_axes-n_axest)**2)==0) spgroup=96
300 
301    n_axest=(/0,0,0,0,0,0,0,1,3,0,  0,0,0,0,0,0,0,0,0,0,  2,0,0,0,2,0,0,0,0,0,0/)
302    if(sum((n_axes-n_axest)**2)==0) spgroup=93
303    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,2,  2,0,0,0,2,0,0,0,0,0,0/)
304    if(sum((n_axes-n_axest)**2)==0) spgroup=94
305 
306    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,2,0,0,4,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
307    if(sum((n_axes-n_axest)**2)==0) spgroup=99
308    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,2,0,0,2,2,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
309    if(sum((n_axes-n_axest)**2)==0) spgroup=100
310    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,2,0,2,0,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
311    if(sum((n_axes-n_axest)**2)==0) spgroup=101
312    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,2,0,0,2,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
313    if(sum((n_axes-n_axest)**2)==0) spgroup=102
314    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,2,0,0,0,0,2,0,2,0,  0,0,0,0,0,0,0,0,0,0,0/)
315    if(sum((n_axes-n_axest)**2)==0) spgroup=103
316    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,2,0,0,0,0,0,2,2,0,  0,0,0,0,0,0,0,0,0,0,0/)
317    if(sum((n_axes-n_axest)**2)==0) spgroup=104
318    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,2,0,0,0,2,0,  0,0,0,0,2,0,0,0,0,0,0/)
319    if(sum((n_axes-n_axest)**2)==0) spgroup=105
320    n_axest=(/0,0,0,0,0,0,0,1,1,0,  0,0,0,0,0,2,0,0,2,0,  0,0,0,0,2,0,0,0,0,0,0/)
321    if(sum((n_axes-n_axest)**2)==0) spgroup=106
322 
323    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,2,0,0,1,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
324    if(sum((n_axes-n_axest)**2)==0) spgroup=83
325    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,0,0,0,1,0,0,0,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
326    if(sum((n_axes-n_axest)**2)==0) spgroup=84
327    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,2,0,0,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
328    if(sum((n_axes-n_axest)**2)==0) spgroup=85
329    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,0,0,0,0,0,0,1,0,0,  0,0,0,0,2,0,0,0,0,0,0/)
330    if(sum((n_axes-n_axest)**2)==0) spgroup=86
331 
332    n_axest=(/0,2,0,0,0,0,0,1,3,0,  0,0,0,0,2,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
333    if(sum((n_axes-n_axest)**2)==0) spgroup=111
334    n_axest=(/0,2,0,0,0,0,0,1,3,0,  0,0,0,0,0,0,0,0,2,0,  0,0,0,0,0,0,0,0,0,0,0/)
335    if(sum((n_axes-n_axest)**2)==0) spgroup=112
336    n_axest=(/0,2,0,0,0,0,0,1,1,0,  0,0,0,0,2,0,0,0,0,2,  0,0,0,0,0,0,0,0,0,0,0/)
337    if(sum((n_axes-n_axest)**2)==0) spgroup=113
338    n_axest=(/0,2,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,2,2,  0,0,0,0,0,0,0,0,0,0,0/)
339    if(sum((n_axes-n_axest)**2)==0) spgroup=114
340    n_axest=(/0,2,0,0,0,0,0,1,1,0,  0,0,0,0,2,0,0,0,0,0,  2,0,0,0,0,0,0,0,0,0,0/)
341    if(sum((n_axes-n_axest)**2)==0) spgroup=115
342    n_axest=(/0,2,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,2,0,0,0,  2,0,0,0,0,0,0,0,0,0,0/)
343    if(sum((n_axes-n_axest)**2)==0) spgroup=116
344    n_axest=(/0,2,0,0,0,0,0,1,1,0,  0,0,0,0,0,2,0,0,0,0,  2,0,0,0,0,0,0,0,0,0,0/)
345    if(sum((n_axes-n_axest)**2)==0) spgroup=117
346    n_axest=(/0,2,0,0,0,0,0,1,1,0,  0,0,0,0,0,0,0,2,0,0,  2,0,0,0,0,0,0,0,0,0,0/)
347    if(sum((n_axes-n_axest)**2)==0) spgroup=118
348 
349  case(12)
350 
351    n_axest=(/0,0,2,0,1,0,0,1,0,2,  0,0,0,0,0,0,3,0,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
352    if(sum((n_axes-n_axest)**2)==0) spgroup=162
353    n_axest=(/0,0,2,0,1,0,0,1,0,2,  0,0,0,0,0,0,0,3,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
354    if(sum((n_axes-n_axest)**2)==0) spgroup=163
355    n_axest=(/0,0,2,3,1,0,0,1,0,2,  0,0,0,0,3,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
356    if(sum((n_axes-n_axest)**2)==0) spgroup=164
357    n_axest=(/0,0,2,3,1,0,0,1,0,2,  0,0,0,0,0,3,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
358    if(sum((n_axes-n_axest)**2)==0) spgroup=165
359 
360    n_axest=(/2,0,2,0,1,0,0,1,1,2,  0,0,0,2,1,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
361    if(sum((n_axes-n_axest)**2)==0) spgroup=175
362    n_axest=(/2,0,2,0,1,0,0,1,0,2,  0,0,0,0,1,0,0,0,0,1,  0,0,0,0,0,0,0,0,2,0,0/)
363    if(sum((n_axes-n_axest)**2)==0) spgroup=176
364 
365    n_axest=(/0,0,0,3,0,0,0,1,1,2,  0,0,0,2,0,0,0,0,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
366    if(sum((n_axes-n_axest)**2)==0) spgroup=177
367 
368    n_axest=(/0,0,0,3,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,1,  3,2,0,0,0,0,2,0,0,0,0/)
369    if(sum((n_axes-n_axest)**2)==0) spgroup=178
370    n_axest=(/0,0,0,3,0,0,0,1,0,0,  0,0,0,0,0,0,0,0,0,1,  3,0,2,0,0,0,0,0,0,0,2/)
371    if(sum((n_axes-n_axest)**2)==0) spgroup=179
372 
373    n_axest=(/0,0,0,3,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,0,  3,0,2,0,0,0,0,2,0,0,0/)
374    if(sum((n_axes-n_axest)**2)==0) spgroup=180
375    n_axest=(/0,0,0,3,0,0,0,1,1,0,  0,0,0,0,0,0,0,0,0,0,  3,2,0,0,0,0,0,0,0,2,0/)
376    if(sum((n_axes-n_axest)**2)==0) spgroup=181
377 
378    n_axest=(/0,0,0,3,0,0,0,1,0,2,  0,0,0,0,0,0,0,0,0,1,  3,0,0,0,0,0,0,0,2,0,0/)
379    if(sum((n_axes-n_axest)**2)==0) spgroup=182
380 
381    n_axest=(/0,0,0,0,0,0,0,1,1,2,  0,0,0,2,3,0,3,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
382    if(sum((n_axes-n_axest)**2)==0) spgroup=183
383    n_axest=(/0,0,0,0,0,0,0,1,1,2,  0,0,0,2,0,3,0,3,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
384    if(sum((n_axes-n_axest)**2)==0) spgroup=184
385    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,0,3,3,0,0,1,  0,0,0,0,0,0,0,0,2,0,0/)
386    if(sum((n_axes-n_axest)**2)==0) spgroup=185
387    n_axest=(/0,0,0,0,0,0,0,1,0,2,  0,0,0,0,3,0,0,3,0,1,  0,0,0,0,0,0,0,0,2,0,0/)
388    if(sum((n_axes-n_axest)**2)==0) spgroup=186
389 
390    n_axest=(/2,0,0,0,0,0,0,1,0,2,  0,0,0,0,4,0,0,0,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
391    if(sum((n_axes-n_axest)**2)==0) spgroup=187
392    n_axest=(/2,0,0,0,0,0,0,1,0,2,  0,0,0,0,1,3,0,0,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
393    if(sum((n_axes-n_axest)**2)==0) spgroup=188
394    n_axest=(/2,0,0,3,0,0,0,1,0,2,  0,0,0,0,1,0,3,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
395    if(sum((n_axes-n_axest)**2)==0) spgroup=189
396    n_axest=(/2,0,0,3,0,0,0,1,0,2,  0,0,0,0,1,0,0,3,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
397    if(sum((n_axes-n_axest)**2)==0) spgroup=190
398 
399    n_axest=(/0,0,0,0,0,0,0,1,3,8,  0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
400    if(sum((n_axes-n_axest)**2)==0) spgroup=195
401    n_axest=(/0,0,0,0,0,0,0,1,0,8,  0,0,0,0,0,0,0,0,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
402    if(sum((n_axes-n_axest)**2)==0) spgroup=198
403 
404  case(16)
405 
406    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,2,0,0,5,0,0,0,0,0,  2,0,0,0,0,0,0,0,0,0,0/)
407    if(sum((n_axes-n_axest)**2)==0) spgroup=123
408    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,2,0,0,1,0,2,0,2,0,  2,0,0,0,0,0,0,0,0,0,0/)
409    if(sum((n_axes-n_axest)**2)==0) spgroup=124
410    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,2,0,0,2,2,0,1,0,0,  2,0,0,0,0,0,0,0,0,0,0/)
411    if(sum((n_axes-n_axest)**2)==0) spgroup=125
412    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,2,0,0,0,0,0,3,2,0,  2,0,0,0,0,0,0,0,0,0,0/)
413    if(sum((n_axes-n_axest)**2)==0) spgroup=126
414 
415    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,2,0,0,3,2,0,0,0,2,  2,0,0,0,0,0,0,0,0,0,0/)
416    if(sum((n_axes-n_axest)**2)==0) spgroup=127
417    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,2,0,0,1,0,0,2,2,2,  2,0,0,0,0,0,0,0,0,0,0/)
418    if(sum((n_axes-n_axest)**2)==0) spgroup=128
419    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,2,0,0,4,0,0,1,0,2,  2,0,0,0,0,0,0,0,0,0,0/)
420    if(sum((n_axes-n_axest)**2)==0) spgroup=129
421    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,2,0,0,0,0,2,1,2,2,  2,0,0,0,0,0,0,0,0,0,0/)
422    if(sum((n_axes-n_axest)**2)==0) spgroup=130
423 
424    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,0,0,0,3,0,0,0,2,0,  2,0,0,0,2,0,0,0,0,0,0/)
425    if(sum((n_axes-n_axest)**2)==0) spgroup=131
426    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,0,0,0,3,0,2,0,0,0,  2,0,0,0,2,0,0,0,0,0,0/)
427    if(sum((n_axes-n_axest)**2)==0) spgroup=132
428    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,0,0,0,0,2,0,1,2,0,  2,0,0,0,2,0,0,0,0,0,0/)
429    if(sum((n_axes-n_axest)**2)==0) spgroup=133
430    n_axest=(/0,2,0,0,1,0,0,1,3,0,  0,0,0,0,2,0,0,3,0,0,  2,0,0,0,2,0,0,0,0,0,0/)
431    if(sum((n_axes-n_axest)**2)==0) spgroup=134
432 
433    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,0,0,0,1,2,0,0,2,2,  2,0,0,0,2,0,0,0,0,0,0/)
434    if(sum((n_axes-n_axest)**2)==0) spgroup=135
435    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,0,0,0,3,0,0,2,0,2,  2,0,0,0,2,0,0,0,0,0,0/)
436    if(sum((n_axes-n_axest)**2)==0) spgroup=136
437    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,0,0,0,2,0,0,1,2,2,  2,0,0,0,2,0,0,0,0,0,0/)
438    if(sum((n_axes-n_axest)**2)==0) spgroup=137
439    n_axest=(/0,2,0,0,1,0,0,1,1,0,  0,0,0,0,2,0,2,1,0,2,  2,0,0,0,2,0,0,0,0,0,0/)
440    if(sum((n_axes-n_axest)**2)==0) spgroup=138
441 
442  case(24)
443 
444    n_axest=(/2,0,2,3,1,0,0,1,1,2,  0,0,0,2,4,0,3,0,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
445    if(sum((n_axes-n_axest)**2)==0) spgroup=191
446    n_axest=(/2,0,2,3,1,0,0,1,1,2,  0,0,0,2,1,3,0,3,0,0,  3,0,0,0,0,0,0,0,0,0,0/)
447    if(sum((n_axes-n_axest)**2)==0) spgroup=192
448    n_axest=(/2,0,2,3,1,0,0,1,0,2,  0,0,0,0,1,3,3,0,0,1,  3,0,0,0,0,0,0,0,2,0,0/)
449    if(sum((n_axes-n_axest)**2)==0) spgroup=193
450    n_axest=(/2,0,2,3,1,0,0,1,0,2,  0,0,0,0,4,0,0,3,0,1,  3,0,0,0,0,0,0,0,2,0,0/)
451    if(sum((n_axes-n_axest)**2)==0) spgroup=194
452 
453 
454    n_axest=(/0,0,8,0,1,0,0,1,3,8,  0,0,0,0,3,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
455    if(sum((n_axes-n_axest)**2)==0) spgroup=200
456    n_axest=(/0,0,8,0,1,0,0,1,3,8,  0,0,0,0,0,0,0,3,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
457    if(sum((n_axes-n_axest)**2)==0) spgroup=201
458    n_axest=(/0,0,8,0,1,0,0,1,0,8,  0,0,0,0,0,0,0,3,0,3,  0,0,0,0,0,0,0,0,0,0,0/)
459    if(sum((n_axes-n_axest)**2)==0) spgroup=205
460    n_axest=(/0,0,0,0,0,0,0,1,3,8,  0,6,0,0,0,0,0,0,0,0,  6,0,0,0,0,0,0,0,0,0,0/)
461    if(sum((n_axes-n_axest)**2)==0) spgroup=207
462    n_axest=(/0,0,0,0,0,0,0,1,3,8,  0,0,0,0,0,0,0,0,0,0,  6,0,0,0,6,0,0,0,0,0,0/)
463    if(sum((n_axes-n_axest)**2)==0) spgroup=208
464    n_axest=(/0,0,0,0,0,0,0,1,0,8,  0,0,0,0,0,0,0,0,0,3,  6,0,0,0,0,6,0,0,0,0,0/)
465    if(sum((n_axes-n_axest)**2)==0) spgroup=212
466    n_axest=(/0,0,0,0,0,0,0,1,0,8,  0,0,0,0,0,0,0,0,0,3,  6,0,0,6,0,0,0,0,0,0,0/)
467    if(sum((n_axes-n_axest)**2)==0) spgroup=213
468 
469    n_axest=(/0,6,0,0,0,0,0,1,3,8,  0,0,0,0,6,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
470    if(sum((n_axes-n_axest)**2)==0) spgroup=215
471    n_axest=(/0,6,0,0,0,0,0,1,3,8,  0,0,0,0,0,0,0,6,0,0,  0,0,0,0,0,0,0,0,0,0,0/)
472    if(sum((n_axes-n_axest)**2)==0) spgroup=218
473 
474  case(48)
475 
476    n_axest=(/0,6,8,0,1,0,0,1,3,8,  0,6,0,0,9,0,0,0,0,0,  6,0,0,0,0,0,0,0,0,0,0/)
477    if(sum((n_axes-n_axest)**2)==0) spgroup=221
478    n_axest=(/0,6,8,0,1,0,0,1,3,8,  0,6,0,0,0,0,0,9,0,0,  6,0,0,0,0,0,0,0,0,0,0/)
479    if(sum((n_axes-n_axest)**2)==0) spgroup=222
480    n_axest=(/0,6,8,0,1,0,0,1,3,8,  0,0,0,0,3,0,0,6,0,0,  6,0,0,0,6,0,0,0,0,0,0/)
481    if(sum((n_axes-n_axest)**2)==0) spgroup=223
482    n_axest=(/0,6,8,0,1,0,0,1,3,8,  0,0,0,0,6,0,0,3,0,0,  6,0,0,0,6,0,0,0,0,0,0/)
483    if(sum((n_axes-n_axest)**2)==0) spgroup=224
484 
485  end select
486 
487 end subroutine symlist_prim