## ABINIT/m_symlist [ Modules ]

[ Top ] [ Modules ]

NAME

```  m_symlist
```

FUNCTION

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

```  Copyright (C) 2008-2018 ABINIT group (RC)
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
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
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
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
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
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
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
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
```