LCOV - code coverage report
Current view: top level - src - semi_empirical_int_arrays.F (source / functions) Coverage Total Hit
Test: CP2K Regtests (git:70636b1) Lines: 100.0 % 990 990
Test Date: 2026-02-11 07:00:35 Functions: 100.0 % 5 5

            Line data    Source code
       1              : !--------------------------------------------------------------------------------------------------!
       2              : !   CP2K: A general program to perform molecular dynamics simulations                              !
       3              : !   Copyright 2000-2026 CP2K developers group <https://cp2k.org>                                   !
       4              : !                                                                                                  !
       5              : !   SPDX-License-Identifier: GPL-2.0-or-later                                                      !
       6              : !--------------------------------------------------------------------------------------------------!
       7              : 
       8              : ! **************************************************************************************************
       9              : !> \brief Arrays of parameters used in the semi-empirical calculations
      10              : !> \References  Everywhere in this module TCA stands for:
      11              : !>   - TCA:   W. Thiel and  A. A. Voityuk - Teor. Chim. Acta (1992) 81:391-404
      12              : !>   - TCA77: M.J.S. Dewar and W. Thiel - Teor. Chim. Acta (1977) 46:89-104
      13              : !>
      14              : !> \author Teodoro Laino [tlaino] - University of Zurich
      15              : !> \date   03.2008 [tlaino]
      16              : ! **************************************************************************************************
      17              : MODULE semi_empirical_int_arrays
      18              : 
      19              :    USE kinds,                           ONLY: dp
      20              : #include "./base/base_uses.f90"
      21              : 
      22              :    IMPLICIT NONE
      23              : 
      24              :    PRIVATE
      25              : 
      26              :    CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'semi_empirical_int_arrays'
      27              :    REAL(KINd=dp), PARAMETER, PUBLIC     :: rij_threshold = 0.00002_dp
      28              : 
      29              :    ! Mapping index for orbital ordering
      30              :    INTEGER, DIMENSION(9), PUBLIC        :: se_orbital_pointer = [1, 4, 2, 3, 9, 8, 7, 6, 5]
      31              :    INTEGER, DIMENSION(9), PUBLIC        :: se_map_alm = [1, 3, 4, 2, 8, 6, 5, 7, 9]
      32              : 
      33              :    ! Arrays to treat the invertion of the reference frame for the integrals
      34              :    ! Using the same indexing convention of the integrals
      35              :    INTEGER, PARAMETER, DIMENSION(2, 9), PUBLIC        :: map_x_to_z = RESHAPE([ &
      36              :                                                                               1, 0, & ! s    <-> s
      37              :                                                                               4, 0, & ! px   <-> pz
      38              :                                                                               3, 0, & ! py   <-> py
      39              :                                                                               2, 0, & ! pz   <-> px
      40              :                                                                               7, 5, & ! dx2  <-> SQR3/2*dz2 +    0.5*dx2
      41              :                                                                               6, 0, & ! dzx  <-> dzx
      42              :                                                                               7, 5, & ! dz2  <->   -0.5*dz2 + SQR3/2*dx2
      43              :                                                                               9, 0, & ! dzy  <-> dxy
      44              :                                                                               8, 0 & ! dxy  <-> dzy
      45              :                                                                               ], [2, 9])
      46              :    REAL(KIND=dp), PARAMETER, DIMENSION(2, 9), PUBLIC  :: fac_x_to_z = RESHAPE([ &
      47              :                                                                               1.0_dp, 0.0_dp, &
      48              :                                                                               1.0_dp, 0.0_dp, &
      49              :                                                                               1.0_dp, 0.0_dp, &
      50              :                                                                               1.0_dp, 0.0_dp, &
      51              :                                                                               0.8660254037844386_dp, 0.5_dp, &
      52              :                                                                               1.0_dp, 0.0_dp, &
      53              :                                                                               -0.5_dp, 0.8660254037844386_dp, &
      54              :                                                                               1.0_dp, 0.0_dp, &
      55              :                                                                               1.0_dp, 0.0_dp &
      56              :                                                                               ], [2, 9])
      57              : 
      58              :    ! Clm coefficients for d-orbitals:  see  Table [1] and [2] of TCA
      59              :    REAL(KIND=dp), DIMENSION(45, 0:2, -2:2), PUBLIC :: clm_d
      60              :    ! Clm coefficients for sp-orbitals: see original paper TCA77
      61              :    INTEGER, DIMENSION(45, 0:2, -2:2), PUBLIC :: clm_sp
      62              :    ! alm coefficients: see Laino and Hutter (periodic SE)
      63              :    REAL(KIND=dp), DIMENSION(45, 0:2, -2:2), PUBLIC :: alm
      64              : 
      65              :    ! These values are absolutely arbitrary and are used only for a proper
      66              :    ! tag of the integrals
      67              :    INTEGER, PARAMETER, PUBLIC :: &
      68              :       CLMz = 10, CLMp = 11, CLMzz = 12, CLMzp = 13, CLMyy = 14, CLMxy = 15, CLMxx = 16
      69              : 
      70              :    ! Indexes for diagonal storage of ij and kl multipoles
      71              :    INTEGER, DIMENSION(9, 9), PUBLIC                 :: indexa, indexb
      72              : 
      73              :    ! Type of integral for 2electron 2centers integrals
      74              :    INTEGER, DIMENSION(45), PARAMETER, PUBLIC       :: int2c_type = [ &
      75              :                                                       1, 2, 3, 2, 3, 3, 2, 3, 3, 3, 4, 5, 5, 5, 6, 4, 5, 5, 5, &
      76              :                                                       6, 6, 4, 5, 5, 5, 6, 6, 6, 4, 5, 5, 5, 6, 6, 6, 6, 4, 5, &
      77              :                                                       5, 5, 6, 6, 6, 6, 6]
      78              : 
      79              :    ! Mappinf of shell index
      80              :    INTEGER, DIMENSION(9), PARAMETER, PUBLIC        :: l_index = [ &
      81              :                                                       0, 1, 1, 1, 2, 2, 2, 2, 2]
      82              : 
      83              :    ! Index for <ij|kl>
      84              :    INTEGER, DIMENSION(45, 45), PUBLIC             :: ijkl_ind
      85              : 
      86              :    ! Symmetry index for <ij|kl>
      87              :    INTEGER, DIMENSION(491), PUBLIC                :: ijkl_sym
      88              : 
      89              :    ! Index for integral rotations
      90              :    INTEGER, DIMENSION(3, 3), PUBLIC               :: indpp
      91              :    INTEGER, DIMENSION(5, 3), PUBLIC               :: inddp
      92              :    INTEGER, DIMENSION(5, 5), PUBLIC               :: inddd
      93              : 
      94              :    ! Indexes use for the construction of the one-center two-electron integrals
      95              :    INTEGER, DIMENSION(243), PUBLIC ::  int_ij = [ &
      96              :                                       1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, &
      97              :                                       5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, &
      98              :                                       10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, &
      99              :                                       15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 19, &
     100              :                                       19, 19, 19, 19, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, &
     101              :                                       22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, &
     102              :                                       26, 26, 26, 26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, &
     103              :                                       29, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, &
     104              :                                       35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, &
     105              :                                       38, 38, 38, 39, 39, 39, 39, 39, 40, 40, 40, 41, 42, 42, 42, 42, 42, 43, 43, 43, 43, 44, 44, &
     106              :                                       44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45]
     107              :    INTEGER, DIMENSION(243), PUBLIC ::  int_kl = [ &
     108              :                                       15, 21, 28, 36, 45, 12, 19, 23, 39, 11, 15, 21, 22, 26, 28, 36, 45, 13, 24, 32, 38, 34, 37, &
     109              :                                       43, 11, 15, 21, 22, 26, 28, 36, 45, 17, 25, 31, 16, 20, 27, 44, 29, 33, 35, 42, 15, 21, 22, &
     110              :                                       28, 36, 45, 3, 6, 11, 21, 26, 36, 2, 12, 19, 23, 39, 4, 13, 24, 32, 38, 14, 17, 31, 1, &
     111              :                                       3, 6, 10, 15, 21, 22, 28, 36, 45, 8, 16, 20, 27, 44, 7, 14, 17, 25, 31, 18, 30, 40, 2, &
     112              :                                       12, 19, 23, 39, 8, 16, 20, 27, 44, 1, 3, 6, 10, 11, 15, 21, 22, 26, 28, 36, 45, 3, 6, &
     113              :                                       10, 15, 21, 22, 28, 36, 45, 2, 12, 19, 23, 39, 4, 13, 24, 32, 38, 7, 17, 25, 31, 3, 6, &
     114              :                                       11, 21, 26, 36, 8, 16, 20, 27, 44, 1, 3, 6, 10, 15, 21, 22, 28, 36, 45, 9, 29, 33, 35, &
     115              :                                       42, 18, 30, 40, 7, 14, 17, 25, 31, 4, 13, 24, 32, 38, 9, 29, 33, 35, 42, 5, 34, 37, 43, &
     116              :                                       9, 29, 33, 35, 42, 1, 3, 6, 10, 11, 15, 21, 22, 26, 28, 36, 45, 5, 34, 37, 43, 4, 13, &
     117              :                                       24, 32, 38, 2, 12, 19, 23, 39, 18, 30, 40, 41, 9, 29, 33, 35, 42, 5, 34, 37, 43, 8, 16, &
     118              :                                       20, 27, 44, 1, 3, 6, 10, 15, 21, 22, 28, 36, 45]
     119              :    INTEGER, DIMENSION(243), PUBLIC :: int_onec2el = [ &
     120              :                                       1, 1, 1, 1, 1, 3, 3, 8, 3, 9, 6, 6, 12, 14, 13, 7, 6, 15, 8, 3, 3, 11, 9, &
     121              :                                       14, 17, 6, 7, 12, 18, 13, 6, 6, 3, 2, 3, 9, 11, 10, 11, 9, 16, 10, 11, 7, 6, 4, &
     122              :                                       5, 6, 7, 9, 17, 19, 32, 22, 40, 3, 33, 34, 27, 46, 15, 33, 28, 41, 47, 35, 35, 42, 1, &
     123              :                                       6, 6, 7, 29, 38, 22, 31, 38, 51, 9, 19, 32, 21, 32, 3, 35, 33, 24, 34, 35, 35, 35, 3, &
     124              :                                       34, 33, 26, 34, 11, 32, 44, 37, 49, 1, 6, 7, 6, 32, 38, 29, 21, 39, 30, 38, 38, 12, 12, &
     125              :                                       4, 22, 21, 19, 20, 21, 22, 8, 27, 26, 25, 27, 8, 28, 25, 26, 27, 2, 24, 23, 24, 14, 18, &
     126              :                                       22, 39, 48, 45, 10, 21, 37, 36, 37, 1, 13, 13, 5, 31, 30, 20, 29, 30, 31, 9, 19, 40, 21, &
     127              :                                       32, 35, 35, 35, 3, 42, 34, 24, 33, 3, 41, 26, 33, 34, 16, 40, 44, 43, 50, 11, 44, 32, 39, &
     128              :                                       10, 21, 43, 36, 37, 1, 7, 6, 6, 40, 38, 38, 21, 45, 30, 29, 38, 9, 32, 19, 22, 3, 47, &
     129              :                                       27, 34, 33, 3, 46, 34, 27, 33, 35, 35, 35, 52, 11, 32, 50, 37, 44, 14, 39, 22, 48, 11, 32, &
     130              :                                       49, 37, 44, 1, 6, 6, 7, 51, 38, 22, 31, 38, 29]
     131              : 
     132              :    PUBLIC :: init_se_intd_array
     133              : 
     134              : CONTAINS
     135              : ! **************************************************************************************************
     136              : !> \brief  Initialize all arrays used for the evaluation of the integrals
     137              : !>
     138              : !> \date   04.2008 [tlaino]
     139              : !> \author Teodoro Laino [tlaino] - University of Zurich
     140              : ! **************************************************************************************************
     141         1000 :    SUBROUTINE init_se_intd_array()
     142              : 
     143         1000 :       CALL setup_index_array()
     144         1000 :       CALL setup_indrot_array()
     145         1000 :       CALL setup_clm_array()
     146         1000 :       CALL setup_ijkl_array()
     147              : 
     148         1000 :    END SUBROUTINE init_se_intd_array
     149              : 
     150              : ! **************************************************************************************************
     151              : !> \brief Fills in array for the diagonal storage of the ij and kl multipoles term
     152              : !>
     153              : !> \date   03.2008 [tlaino]
     154              : !> \author Teodoro Laino [tlaino] - University of Zurich
     155              : ! **************************************************************************************************
     156         1000 :    SUBROUTINE setup_index_array()
     157              : 
     158              :       INTEGER                                            :: i, j
     159              : 
     160        10000 :       DO i = 1, 9
     161        55000 :          DO j = 1, i
     162              :             ! indexa:
     163              :             !           s   pz   px   py  dz2  dzx  dzy dx2-y2 dxy
     164              :             !      s    1    2    3    4    5    6    7    8    9
     165              :             !      pz   2   10   11   12   13   14   15   16   17
     166              :             !      px   3   11   18   19   20   21   22   23   24
     167              :             !      py   4   12   19   25   26   27   28   29   30
     168              :             !     dz2   5   13   20   26   31   32   33   34   35
     169              :             !     dzx   6   14   21   27   32   36   37   38   39
     170              :             !     dzy   7   15   22   28   33   37   40   41   42
     171              :             !  dx2-y2   8   16   23   29   34   38   41   43   44
     172              :             !     dxy   9   17   24   30   35   39   42   44   45
     173        45000 :             indexa(i, j) = (9*(j - 1)) - (j*(j - 1))/2 + i
     174        45000 :             indexa(j, i) = indexa(i, j)
     175              :             ! indexb:
     176              :             !           s   pz   px   py  dz2  dzx  dzy dx2-y2 dxy
     177              :             !      s    1    2    4    7   11   16   22   29   37
     178              :             !      pz   2    3    5    8   12   17   23   30   38
     179              :             !      px   4    5    6    9   13   18   24   31   39
     180              :             !      py   7    8    9   10   14   19   25   32   40
     181              :             !     dz2  11   12   13   14   15   20   26   33   41
     182              :             !     dzx  16   17   18   19   20   21   27   34   42
     183              :             !     dzy  22   23   24   25   26   27   28   35   43
     184              :             !  dx2-y2  29   30   31   32   33   34   35   36   44
     185              :             !     dxy  37   38   39   40   41   42   43   44   45
     186        45000 :             indexb(i, j) = (i*(i - 1))/2 + j
     187        54000 :             indexb(j, i) = indexb(i, j)
     188              :          END DO
     189              :       END DO
     190         1000 :    END SUBROUTINE setup_index_array
     191              : 
     192              : ! **************************************************************************************************
     193              : !> \brief Fills in array for the rotation of the integrals
     194              : !>
     195              : !> \date   04.2008 [tlaino]
     196              : !> \author Teodoro Laino [tlaino] - University of Zurich
     197              : ! **************************************************************************************************
     198         1000 :    SUBROUTINE setup_indrot_array()
     199              : 
     200              : ! Setup indexes for integral rotations
     201              : ! INDPP
     202              : 
     203         1000 :       indpp(1, 1) = 1
     204         1000 :       indpp(2, 1) = 4
     205         1000 :       indpp(3, 1) = 5
     206         1000 :       indpp(1, 2) = 4
     207         1000 :       indpp(2, 2) = 2
     208         1000 :       indpp(3, 2) = 6
     209         1000 :       indpp(1, 3) = 5
     210         1000 :       indpp(2, 3) = 6
     211         1000 :       indpp(3, 3) = 3
     212              :       ! INDDP
     213         1000 :       inddp(1, 1) = 1
     214         1000 :       inddp(2, 1) = 4
     215         1000 :       inddp(3, 1) = 7
     216         1000 :       inddp(4, 1) = 10
     217         1000 :       inddp(5, 1) = 13
     218         1000 :       inddp(1, 2) = 2
     219         1000 :       inddp(2, 2) = 5
     220         1000 :       inddp(3, 2) = 8
     221         1000 :       inddp(4, 2) = 11
     222         1000 :       inddp(5, 2) = 14
     223         1000 :       inddp(1, 3) = 3
     224         1000 :       inddp(2, 3) = 6
     225         1000 :       inddp(3, 3) = 9
     226         1000 :       inddp(4, 3) = 12
     227         1000 :       inddp(5, 3) = 15
     228              :       ! INDDD
     229         1000 :       inddd(1, 1) = 1
     230         1000 :       inddd(2, 1) = 6
     231         1000 :       inddd(3, 1) = 7
     232         1000 :       inddd(4, 1) = 9
     233         1000 :       inddd(5, 1) = 12
     234         1000 :       inddd(1, 2) = 6
     235         1000 :       inddd(2, 2) = 2
     236         1000 :       inddd(3, 2) = 8
     237         1000 :       inddd(4, 2) = 10
     238         1000 :       inddd(5, 2) = 13
     239         1000 :       inddd(1, 3) = 7
     240         1000 :       inddd(2, 3) = 8
     241         1000 :       inddd(3, 3) = 3
     242         1000 :       inddd(4, 3) = 11
     243         1000 :       inddd(5, 3) = 14
     244         1000 :       inddd(1, 4) = 9
     245         1000 :       inddd(2, 4) = 10
     246         1000 :       inddd(3, 4) = 11
     247         1000 :       inddd(4, 4) = 4
     248         1000 :       inddd(5, 4) = 15
     249         1000 :       inddd(1, 5) = 12
     250         1000 :       inddd(2, 5) = 13
     251         1000 :       inddd(3, 5) = 14
     252         1000 :       inddd(4, 5) = 15
     253         1000 :       inddd(5, 5) = 5
     254         1000 :    END SUBROUTINE setup_indrot_array
     255              : 
     256              : ! **************************************************************************************************
     257              : !> \brief Fills in Clm coefficients (see Table [2] of TCA)
     258              : !>
     259              : !> \date   03.2008 [tlaino]
     260              : !> \author Teodoro Laino [tlaino] - University of Zurich
     261              : ! **************************************************************************************************
     262         1000 :    SUBROUTINE setup_clm_array()
     263              : 
     264              :       INTEGER                                            :: CLM1, CLM1m
     265              :       REAL(KIND=dp) :: ALM1, ALMs15_49, ALMs15_49m, ALMs15m, ALMs20_49, ALMs20_49m, ALMs35, &
     266              :          ALMs35m, ALMs45, ALMs5_49, ALMs5_49m, CLM23, CLM23m, CLM43, CLM43m, CLMs13, CLMs13m, &
     267              :          CLMs43, CLMs43m
     268              : 
     269         1000 :       CLM1 = 1
     270         1000 :       CLM1m = -1
     271         1000 :       CLMs13 = SQRT(1.0_dp/3.0_dp)
     272         1000 :       CLMs13m = -SQRT(1.0_dp/3.0_dp)
     273         1000 :       CLM23 = 2.0_dp/3.0_dp
     274         1000 :       CLM23m = -2.0_dp/3.0_dp
     275         1000 :       CLM43 = 4.0_dp/3.0_dp
     276         1000 :       CLM43m = -4.0_dp/3.0_dp
     277         1000 :       CLMs43 = SQRT(4.0_dp/3.0_dp)
     278         1000 :       CLMs43m = -SQRT(4.0_dp/3.0_dp)
     279         1000 :       ALM1 = 1.0_dp
     280         1000 :       ALMs45 = SQRT(4.0_dp/5.0_dp)
     281         1000 :       ALMs35 = SQRT(3.0_dp/5.0_dp)
     282         1000 :       ALMs35m = -ALMs35
     283         1000 :       ALMs15m = -SQRT(1.0_dp/5.0_dp)
     284         1000 :       ALMs20_49 = SQRT(20.0_dp/49.0_dp)
     285         1000 :       ALMs20_49m = -ALMs20_49
     286         1000 :       ALMs5_49 = SQRT(5.0_dp/49.0_dp)
     287         1000 :       ALMs5_49m = -ALMs5_49
     288         1000 :       ALMs15_49 = SQRT(15.0_dp/49.0_dp)
     289         1000 :       ALMs15_49m = -ALMs15_49
     290              : 
     291              :       ! Notation (1) s
     292              :       !          (2) pz = p_sigma             (5) d_sigma           = dz2  (8) d_delta               = dx2-y2
     293              :       !          (3) px = p_pi                (6) d_pi              = dzx  (9) d_{\overline{delta}}  = dxy
     294              :       !          (4) py = pi_{\overline{pi}}  (7) d_{\overline{pi}} = dzy
     295              : 
     296         1000 :       clm_d = 0.0_dp
     297         1000 :       clm_sp = 0
     298         1000 :       alm = 0.0_dp
     299              :       ! Let's fill all element of table 1 with resulting multipole lesser than 2
     300              :       ! Important Note: the value of the clm_sp does not reflect any phyisical
     301              :       !                 rule for decomposing/summing multipoles. It's just a
     302              :       !                 computational trick to put some order where conceptual mess
     303              :       !                 has been created..
     304              :       ! s s
     305         1000 :       clm_d(1, 0, 0) = CLM1
     306         1000 :       clm_sp(1, 0, 0) = CLM1
     307         1000 :       alm(1, 0, 0) = ALM1
     308              :       ! s pz
     309         1000 :       clm_d(2, 1, 0) = CLM1
     310         1000 :       clm_sp(2, 1, 0) = CLMz
     311         1000 :       alm(2, 1, 0) = ALM1
     312              :       ! s px
     313         1000 :       clm_d(3, 1, 1) = CLM1
     314         1000 :       clm_sp(3, 1, 1) = CLMp
     315         1000 :       alm(3, 1, 1) = ALM1
     316              :       ! s py
     317         1000 :       clm_d(4, 1, -1) = CLM1
     318         1000 :       clm_sp(4, 1, -1) = CLMp
     319         1000 :       alm(4, 1, -1) = ALM1
     320              :       ! s dz2
     321         1000 :       clm_d(5, 2, 0) = CLMs43
     322         1000 :       alm(5, 2, 0) = ALM1
     323              :       ! s dzx
     324         1000 :       clm_d(6, 2, 1) = CLM1
     325         1000 :       alm(6, 2, 1) = ALM1
     326              :       ! s dzy
     327         1000 :       clm_d(7, 2, -1) = CLM1
     328         1000 :       alm(7, 2, -1) = ALM1
     329              :       ! s dx2-y2
     330         1000 :       clm_d(8, 2, 2) = CLM1
     331         1000 :       alm(8, 2, 2) = ALM1
     332              :       ! s dxy
     333         1000 :       clm_d(9, 2, -2) = CLM1
     334         1000 :       alm(9, 2, -2) = ALM1
     335              :       ! pz pz
     336         1000 :       clm_d(10, 0, 0) = CLM1
     337         1000 :       clm_d(10, 2, 0) = CLM43
     338         1000 :       clm_sp(10, 0, 0) = CLM1
     339         1000 :       clm_sp(10, 2, 0) = CLMzz
     340         1000 :       alm(10, 0, 0) = ALM1
     341         1000 :       alm(10, 2, 0) = ALMs45
     342              :       ! pz px
     343         1000 :       clm_d(11, 2, 1) = CLM1
     344         1000 :       clm_sp(11, 2, 1) = CLMzp
     345         1000 :       alm(11, 2, 1) = ALMs35
     346              :       ! pz py
     347         1000 :       clm_d(12, 2, -1) = CLM1
     348         1000 :       clm_sp(12, 2, -1) = CLMzp
     349         1000 :       alm(12, 2, -1) = ALMs35
     350              :       ! pz dz2
     351         1000 :       clm_d(13, 1, 0) = CLMs43
     352         1000 :       alm(13, 1, 0) = ALMs45
     353              :       ! pz dzx
     354         1000 :       clm_d(14, 1, 1) = CLM1
     355         1000 :       alm(14, 1, 1) = ALMs35
     356              :       ! pz dzy
     357         1000 :       clm_d(15, 1, -1) = CLM1
     358         1000 :       alm(15, 1, -1) = ALMs35
     359              :       ! px px
     360         1000 :       clm_d(18, 0, 0) = CLM1
     361         1000 :       clm_d(18, 2, 0) = CLM23m
     362         1000 :       clm_d(18, 2, 2) = CLM1
     363         1000 :       clm_sp(18, 0, 0) = CLM1
     364         1000 :       clm_sp(18, 2, 0) = CLMyy
     365         1000 :       alm(18, 0, 0) = ALM1
     366         1000 :       alm(18, 2, 0) = ALMs15m
     367         1000 :       alm(18, 2, 2) = ALMs35
     368              :       ! px py
     369         1000 :       clm_d(19, 2, -2) = CLM1
     370         1000 :       clm_sp(19, 2, -2) = CLMxy
     371         1000 :       alm(19, 2, -2) = ALMs35
     372              :       ! px dz2
     373         1000 :       clm_d(20, 1, 1) = CLMs13m
     374         1000 :       alm(20, 1, 1) = ALMs15m
     375              :       ! px dzx
     376         1000 :       clm_d(21, 1, 0) = CLM1
     377         1000 :       alm(21, 1, 0) = ALMs35
     378              :       ! px dx2-y2
     379         1000 :       clm_d(23, 1, 1) = CLM1
     380         1000 :       alm(23, 1, 1) = ALMs35
     381              :       ! px dxy
     382         1000 :       clm_d(24, 1, -1) = CLM1
     383         1000 :       alm(24, 1, -1) = ALMs35
     384              :       ! py py
     385         1000 :       clm_d(25, 0, 0) = CLM1
     386         1000 :       clm_d(25, 2, 0) = CLM23m
     387         1000 :       clm_d(25, 2, 2) = CLM1m
     388         1000 :       clm_sp(25, 0, 0) = CLM1
     389         1000 :       clm_sp(25, 2, 0) = CLMxx
     390         1000 :       alm(25, 0, 0) = ALM1
     391         1000 :       alm(25, 2, 0) = ALMs15m
     392         1000 :       alm(25, 2, 2) = ALMs35m
     393              :       ! py dz2
     394         1000 :       clm_d(26, 1, -1) = CLMs13m
     395         1000 :       alm(26, 1, -1) = ALMs15m
     396              :       ! py dzy
     397         1000 :       clm_d(28, 1, 0) = CLM1
     398         1000 :       alm(28, 1, 0) = ALMs35
     399              :       ! py dx2-y2
     400         1000 :       clm_d(29, 1, -1) = CLM1m
     401         1000 :       alm(29, 1, -1) = ALMs35m
     402              :       ! py dxy
     403         1000 :       clm_d(30, 1, 1) = CLM1
     404         1000 :       alm(30, 1, 1) = ALMs35
     405              :       ! dz2 dz2
     406         1000 :       clm_d(31, 0, 0) = CLM1
     407         1000 :       clm_d(31, 2, 0) = CLM43
     408         1000 :       alm(31, 0, 0) = ALM1
     409         1000 :       alm(31, 2, 0) = ALMs20_49
     410              :       ! dz2 dzx
     411         1000 :       clm_d(32, 2, 1) = CLMs13
     412         1000 :       alm(32, 2, 1) = ALMs5_49
     413              :       ! dz2 dzy
     414         1000 :       clm_d(33, 2, -1) = CLMs13
     415         1000 :       alm(33, 2, -1) = ALMs5_49
     416              :       ! dz2 dx2-y2
     417         1000 :       clm_d(34, 2, 2) = CLMs43m
     418         1000 :       alm(34, 2, 2) = ALMs20_49m
     419              :       ! dz2 dxy
     420         1000 :       clm_d(35, 2, -2) = CLMs43m
     421         1000 :       alm(35, 2, -2) = ALMs20_49m
     422              :       ! dzx dzx
     423         1000 :       clm_d(36, 0, 0) = CLM1
     424         1000 :       clm_d(36, 2, 0) = CLM23
     425         1000 :       clm_d(36, 2, 2) = CLM1
     426         1000 :       alm(36, 0, 0) = ALM1
     427         1000 :       alm(36, 2, 0) = ALMs5_49
     428         1000 :       alm(36, 2, 2) = ALMs15_49
     429              :       ! dzx dzy
     430         1000 :       clm_d(37, 2, -2) = CLM1
     431         1000 :       alm(37, 2, -2) = ALMs15_49m
     432              :       ! dzx dxy-y2
     433         1000 :       clm_d(38, 2, 1) = CLM1
     434         1000 :       alm(38, 2, 1) = ALMs15_49
     435              :       ! dzx dxy
     436         1000 :       clm_d(39, 2, -1) = CLM1
     437         1000 :       alm(38, 2, -1) = ALMs15_49
     438              :       ! dzy dzy
     439         1000 :       clm_d(40, 0, 0) = CLM1
     440         1000 :       clm_d(40, 2, 0) = CLM23
     441         1000 :       clm_d(40, 2, 2) = CLM1m
     442         1000 :       alm(40, 0, 0) = ALM1
     443         1000 :       alm(40, 2, 0) = ALMs5_49
     444         1000 :       alm(40, 2, 2) = ALMs5_49m
     445              :       ! dzy dx2-y2
     446         1000 :       clm_d(41, 2, -1) = CLM1m
     447         1000 :       alm(41, 2, -1) = ALMs15_49m
     448              :       ! dzy dxy
     449         1000 :       clm_d(42, 2, 1) = CLM1
     450         1000 :       alm(42, 2, 1) = ALMs15_49
     451              :       ! dx2-y2 dx2-y2
     452         1000 :       clm_d(43, 0, 0) = CLM1
     453         1000 :       clm_d(43, 2, 0) = CLM43m
     454         1000 :       alm(43, 0, 0) = ALM1
     455         1000 :       alm(43, 2, 0) = ALMs20_49m
     456              :       ! dxy dxy
     457         1000 :       clm_d(45, 0, 0) = CLM1
     458         1000 :       clm_d(45, 2, 0) = CLM43m
     459         1000 :       alm(45, 0, 0) = ALM1
     460         1000 :       alm(45, 2, 0) = ALMs20_49m
     461         1000 :    END SUBROUTINE setup_clm_array
     462              : 
     463              : ! **************************************************************************************************
     464              : !> \brief Fills in the index number for the <ij|kl> integral as well as the
     465              : !>        symmetry index
     466              : !>
     467              : !> \date   03.2008 [tlaino]
     468              : !> \author Teodoro Laino [tlaino] - University of Zurich
     469              : ! **************************************************************************************************
     470         1000 :    SUBROUTINE setup_ijkl_array()
     471              : 
     472              : ! Address unique indexes (excluding those related by rotations)
     473              : ! Indexes according:
     474              : !           s   pz   px   py  dz2  dzx  dzy dx2-y2 dxy
     475              : !      s    1    2    3    4    5    6    7    8    9
     476              : !      pz   2   10   11   12   13   14   15   16   17
     477              : !      px   3   11   18   19   20   21   22   23   24
     478              : !      py   4   12   19   25   26   27   28   29   30
     479              : !     dz2   5   13   20   26   31   32   33   34   35
     480              : !     dzx   6   14   21   27   32   36   37   38   39
     481              : !     dzy   7   15   22   28   33   37   40   41   42
     482              : !  dx2-y2   8   16   23   29   34   38   41   43   44
     483              : !     dxy   9   17   24   30   35   39   42   44   45
     484              : ! ################  Zero the Arrays #######################
     485              : 
     486         1000 :       ijkl_ind = 0
     487         1000 :       ijkl_sym = 0
     488              :       ! ################      s       s   #######################
     489              :       !                       s       s   -        s       s
     490         1000 :       ijkl_ind(1, 1) = 1
     491              :       !                       s       s   -       pz       s
     492         1000 :       ijkl_ind(1, 2) = 2
     493              :       !                       s       s   -       pz      pz
     494         1000 :       ijkl_ind(1, 10) = 3
     495              :       !                       s       s   -       px      px
     496         1000 :       ijkl_ind(1, 18) = 4
     497              :       !                       s       s   -       py      py
     498         1000 :       ijkl_ind(1, 25) = 5
     499         1000 :       ijkl_sym(5) = 4
     500              :       !                       s       s   -      dz2       s
     501         1000 :       ijkl_ind(1, 5) = 35
     502              :       !                       s       s   -      dz2      pz
     503         1000 :       ijkl_ind(1, 13) = 36
     504              :       !                       s       s   -      dz2     dz2
     505         1000 :       ijkl_ind(1, 31) = 37
     506              :       !                       s       s   -      dzx      px
     507         1000 :       ijkl_ind(1, 21) = 38
     508              :       !                       s       s   -      dzx     dzx
     509         1000 :       ijkl_ind(1, 36) = 39
     510              :       !                       s       s   -      dzy      py
     511         1000 :       ijkl_ind(1, 28) = 40
     512         1000 :       ijkl_sym(40) = 38
     513              :       !                       s       s   -      dzy     dzy
     514         1000 :       ijkl_ind(1, 40) = 41
     515         1000 :       ijkl_sym(41) = 39
     516              :       !                       s       s   -   dx2-y2  dx2-y2
     517         1000 :       ijkl_ind(1, 43) = 42
     518              :       !                       s       s   -      dxy     dxy
     519         1000 :       ijkl_ind(1, 45) = 43
     520         1000 :       ijkl_sym(43) = 42
     521              :       ! ################     pz       s   #######################
     522              :       !                      pz       s   -        s       s
     523         1000 :       ijkl_ind(2, 1) = 6
     524              :       !                      pz       s   -       pz       s
     525         1000 :       ijkl_ind(2, 2) = 7
     526              :       !                      pz       s   -       pz      pz
     527         1000 :       ijkl_ind(2, 10) = 8
     528              :       !                      pz       s   -       px      px
     529         1000 :       ijkl_ind(2, 18) = 9
     530              :       !                      pz       s   -       py      py
     531         1000 :       ijkl_ind(2, 25) = 10
     532         1000 :       ijkl_sym(10) = 9
     533              :       !                      pz       s   -      dz2       s
     534         1000 :       ijkl_ind(2, 5) = 44
     535              :       !                      pz       s   -      dz2      pz
     536         1000 :       ijkl_ind(2, 13) = 45
     537              :       !                      pz       s   -      dz2     dz2
     538         1000 :       ijkl_ind(2, 31) = 46
     539              :       !                      pz       s   -      dzx      px
     540         1000 :       ijkl_ind(2, 21) = 47
     541              :       !                      pz       s   -      dzx     dzx
     542         1000 :       ijkl_ind(2, 36) = 48
     543              :       !                      pz       s   -      dzy      py
     544         1000 :       ijkl_ind(2, 28) = 49
     545         1000 :       ijkl_sym(49) = 47
     546              :       !                      pz       s   -      dzy     dzy
     547         1000 :       ijkl_ind(2, 40) = 50
     548         1000 :       ijkl_sym(50) = 48
     549              :       !                      pz       s   -   dx2-y2  dx2-y2
     550         1000 :       ijkl_ind(2, 43) = 51
     551              :       !                      pz       s   -      dxy     dxy
     552         1000 :       ijkl_ind(2, 45) = 52
     553         1000 :       ijkl_sym(52) = 51
     554              :       ! ################     pz      pz   #######################
     555              :       !                      pz      pz   -        s       s
     556         1000 :       ijkl_ind(10, 1) = 11
     557              :       !                      pz      pz   -       pz       s
     558         1000 :       ijkl_ind(10, 2) = 12
     559              :       !                      pz      pz   -       pz      pz
     560         1000 :       ijkl_ind(10, 10) = 13
     561              :       !                      pz      pz   -       px      px
     562         1000 :       ijkl_ind(10, 18) = 14
     563              :       !                      pz      pz   -       py      py
     564         1000 :       ijkl_ind(10, 25) = 15
     565         1000 :       ijkl_sym(15) = 14
     566              :       !                      pz      pz   -      dz2       s
     567         1000 :       ijkl_ind(10, 5) = 53
     568              :       !                      pz      pz   -      dz2      pz
     569         1000 :       ijkl_ind(10, 13) = 54
     570              :       !                      pz      pz   -      dz2     dz2
     571         1000 :       ijkl_ind(10, 31) = 55
     572              :       !                      pz      pz   -      dzx      px
     573         1000 :       ijkl_ind(10, 21) = 56
     574              :       !                      pz      pz   -      dzx     dzx
     575         1000 :       ijkl_ind(10, 36) = 57
     576              :       !                      pz      pz   -      dzy      py
     577         1000 :       ijkl_ind(10, 28) = 58
     578         1000 :       ijkl_sym(58) = 56
     579              :       !                      pz      pz   -      dzy     dzy
     580         1000 :       ijkl_ind(10, 40) = 59
     581         1000 :       ijkl_sym(59) = 57
     582              :       !                      pz      pz   -   dx2-y2  dx2-y2
     583         1000 :       ijkl_ind(10, 43) = 60
     584              :       !                      pz      pz   -      dxy     dxy
     585         1000 :       ijkl_ind(10, 45) = 61
     586         1000 :       ijkl_sym(61) = 60
     587              :       ! ################     px       s   #######################
     588              :       !                      px       s   -       px       s
     589         1000 :       ijkl_ind(3, 3) = 16
     590              :       !                      px       s   -       px      pz
     591         1000 :       ijkl_ind(3, 11) = 17
     592              :       !                      px       s   -      dz2      px
     593         1000 :       ijkl_ind(3, 20) = 62
     594              :       !                      px       s   -      dzx       s
     595         1000 :       ijkl_ind(3, 6) = 63
     596              :       !                      px       s   -      dzx      pz
     597         1000 :       ijkl_ind(3, 14) = 64
     598              :       !                      px       s   -      dzx     dz2
     599         1000 :       ijkl_ind(3, 32) = 65
     600              :       !                      px       s   -   dx2-y2      px
     601         1000 :       ijkl_ind(3, 23) = 66
     602              :       !                      px       s   -   dx2-y2     dzx
     603         1000 :       ijkl_ind(3, 38) = 67
     604              :       !                      px       s   -      dxy      py
     605         1000 :       ijkl_ind(3, 30) = 68
     606         1000 :       ijkl_sym(68) = 66
     607              :       !                      px       s   -      dxy     dzy
     608         1000 :       ijkl_ind(3, 42) = 69
     609         1000 :       ijkl_sym(69) = 67
     610              :       ! ################     px      pz   #######################
     611              :       !                      px      pz   -       px       s
     612         1000 :       ijkl_ind(11, 3) = 18
     613              :       !                      px      pz   -       px      pz
     614         1000 :       ijkl_ind(11, 11) = 19
     615              :       !                      px      pz   -      dz2      px
     616         1000 :       ijkl_ind(11, 20) = 70
     617              :       !                      px      pz   -      dzx       s
     618         1000 :       ijkl_ind(11, 6) = 71
     619              :       !                      px      pz   -      dzx      pz
     620         1000 :       ijkl_ind(11, 14) = 72
     621              :       !                      px      pz   -      dzx     dz2
     622         1000 :       ijkl_ind(11, 32) = 73
     623              :       !                      px      pz   -   dx2-y2      px
     624         1000 :       ijkl_ind(11, 23) = 74
     625              :       !                      px      pz   -   dx2-y2     dzx
     626         1000 :       ijkl_ind(11, 38) = 75
     627              :       !                      px      pz   -      dxy      py
     628         1000 :       ijkl_ind(11, 30) = 76
     629         1000 :       ijkl_sym(76) = 74
     630              :       !                      px      pz   -      dxy     dzy
     631         1000 :       ijkl_ind(11, 42) = 77
     632         1000 :       ijkl_sym(77) = 75
     633              :       ! ################     px      px   #######################
     634              :       !                      px      px   -        s       s
     635         1000 :       ijkl_ind(18, 1) = 20
     636              :       !                      px      px   -       pz       s
     637         1000 :       ijkl_ind(18, 2) = 21
     638              :       !                      px      px   -       pz      pz
     639         1000 :       ijkl_ind(18, 10) = 22
     640              :       !                      px      px   -       px      px
     641         1000 :       ijkl_ind(18, 18) = 23
     642              :       !                      px      px   -       py      py
     643         1000 :       ijkl_ind(18, 25) = 24
     644              :       !                      px      px   -      dz2       s
     645         1000 :       ijkl_ind(18, 5) = 78
     646              :       !                      px      px   -      dz2      pz
     647         1000 :       ijkl_ind(18, 13) = 79
     648              :       !                      px      px   -      dz2     dz2
     649         1000 :       ijkl_ind(18, 31) = 80
     650              :       !                      px      px   -      dzx      px
     651         1000 :       ijkl_ind(18, 21) = 81
     652              :       !                      px      px   -      dzx     dzx
     653         1000 :       ijkl_ind(18, 36) = 82
     654              :       !                      px      px   -      dzy      py
     655         1000 :       ijkl_ind(18, 28) = 83
     656              :       !                      px      px   -      dzy     dzy
     657         1000 :       ijkl_ind(18, 40) = 84
     658              :       !                      px      px   -   dx2-y2       s
     659         1000 :       ijkl_ind(18, 8) = 85
     660              :       !                      px      px   -   dx2-y2      pz
     661         1000 :       ijkl_ind(18, 16) = 86
     662              :       !                      px      px   -   dx2-y2     dz2
     663         1000 :       ijkl_ind(18, 34) = 87
     664              :       !                      px      px   -   dx2-y2  dx2-y2
     665         1000 :       ijkl_ind(18, 43) = 88
     666              :       !                      px      px   -      dxy     dxy
     667         1000 :       ijkl_ind(18, 45) = 89
     668         1000 :       ijkl_sym(89) = 88
     669              :       ! ################     py       s   #######################
     670              :       !                      py       s   -       py       s
     671         1000 :       ijkl_ind(4, 4) = 25
     672         1000 :       ijkl_sym(25) = 16
     673              :       !                      py       s   -       py      pz
     674         1000 :       ijkl_ind(4, 12) = 26
     675         1000 :       ijkl_sym(26) = 17
     676              :       !                      py       s   -      dz2      py
     677         1000 :       ijkl_ind(4, 26) = 90
     678         1000 :       ijkl_sym(90) = 62
     679              :       !                      py       s   -      dzy       s
     680         1000 :       ijkl_ind(4, 7) = 91
     681         1000 :       ijkl_sym(91) = 63
     682              :       !                      py       s   -      dzy      pz
     683         1000 :       ijkl_ind(4, 15) = 92
     684         1000 :       ijkl_sym(92) = 64
     685              :       !                      py       s   -      dzy     dz2
     686         1000 :       ijkl_ind(4, 33) = 93
     687         1000 :       ijkl_sym(93) = 65
     688              :       !                      py       s   -   dx2-y2      py
     689         1000 :       ijkl_ind(4, 29) = 94
     690         1000 :       ijkl_sym(94) = 66*(-1)
     691              :       !                      py       s   -   dx2-y2     dzy
     692         1000 :       ijkl_ind(4, 41) = 95
     693         1000 :       ijkl_sym(95) = 67*(-1)
     694              :       !                      py       s   -      dxy      px
     695         1000 :       ijkl_ind(4, 24) = 96
     696         1000 :       ijkl_sym(96) = 66
     697              :       !                      py       s   -      dxy     dzx
     698         1000 :       ijkl_ind(4, 39) = 97
     699         1000 :       ijkl_sym(97) = 67
     700              :       ! ################     py      pz   #######################
     701              :       !                      py      pz   -       py       s
     702         1000 :       ijkl_ind(12, 4) = 27
     703         1000 :       ijkl_sym(27) = 18
     704              :       !                      py      pz   -       py      pz
     705         1000 :       ijkl_ind(12, 12) = 28
     706         1000 :       ijkl_sym(28) = 19
     707              :       !                      py      pz   -      dzy       s
     708         1000 :       ijkl_ind(12, 26) = 98
     709         1000 :       ijkl_sym(98) = 70
     710              :       !                      py      pz   -      dzy      pz
     711         1000 :       ijkl_ind(12, 7) = 99
     712         1000 :       ijkl_sym(99) = 71
     713              :       !                      py      pz   -      dzy     dz2
     714         1000 :       ijkl_ind(12, 15) = 100
     715         1000 :       ijkl_sym(100) = 72
     716              :       !                      py      pz   -      dzy     dz2
     717         1000 :       ijkl_ind(12, 33) = 101
     718         1000 :       ijkl_sym(101) = 73
     719              :       !                      py      pz   -   dx2-y2      py
     720         1000 :       ijkl_ind(12, 29) = 102
     721         1000 :       ijkl_sym(102) = 74*(-1)
     722              :       !                      py      pz   -   dx2-y2     dzy
     723         1000 :       ijkl_ind(12, 41) = 103
     724         1000 :       ijkl_sym(103) = 75*(-1)
     725              :       !                      py      pz   -      dxy      px
     726         1000 :       ijkl_ind(12, 24) = 104
     727         1000 :       ijkl_sym(104) = 74
     728              :       !                      py      pz   -      dxy     dzx
     729         1000 :       ijkl_ind(12, 39) = 105
     730         1000 :       ijkl_sym(105) = 75
     731              :       ! ################     py      px   #######################
     732              :       !                      py      px   -       py      px
     733         1000 :       ijkl_ind(19, 19) = 29
     734              :       !                      py      px   -      dzx      py
     735         1000 :       ijkl_ind(19, 27) = 106
     736         1000 :       ijkl_sym(106) = 86
     737              :       !                      py      px   -      dzy      px
     738         1000 :       ijkl_ind(19, 22) = 107
     739         1000 :       ijkl_sym(107) = 86
     740              :       !                      py      px   -      dzy     dzx
     741         1000 :       ijkl_ind(19, 37) = 108
     742              :       !                      py      px   -      dxy       s
     743         1000 :       ijkl_ind(19, 9) = 109
     744         1000 :       ijkl_sym(109) = 85
     745              :       !                      py      px   -      dxy      pz
     746         1000 :       ijkl_ind(19, 17) = 110
     747         1000 :       ijkl_sym(110) = 86
     748              :       !                      py      px   -      dxy     dz2
     749         1000 :       ijkl_ind(19, 35) = 111
     750         1000 :       ijkl_sym(111) = 87
     751              :       ! ################     py      py   #######################
     752              :       !                      py      py   -        s       s
     753         1000 :       ijkl_ind(25, 1) = 30
     754         1000 :       ijkl_sym(30) = 20
     755              :       !                      py      py   -       pz       s
     756         1000 :       ijkl_ind(25, 2) = 31
     757         1000 :       ijkl_sym(31) = 21
     758              :       !                      py      py   -       pz      pz
     759         1000 :       ijkl_ind(25, 10) = 32
     760         1000 :       ijkl_sym(32) = 22
     761              :       !                      py      py   -       px      px
     762         1000 :       ijkl_ind(25, 18) = 33
     763         1000 :       ijkl_sym(33) = 24
     764              :       !                      py      py   -       py      py
     765         1000 :       ijkl_ind(25, 25) = 34
     766         1000 :       ijkl_sym(34) = 23
     767              :       !                      py      py   -      dz2       s
     768         1000 :       ijkl_ind(25, 5) = 112
     769         1000 :       ijkl_sym(112) = 78
     770              :       !                      py      py   -      dz2      pz
     771         1000 :       ijkl_ind(25, 13) = 113
     772         1000 :       ijkl_sym(113) = 79
     773              :       !                      py      py   -      dz2     dz2
     774         1000 :       ijkl_ind(25, 31) = 114
     775         1000 :       ijkl_sym(114) = 80
     776              :       !                      py      py   -      dzx      px
     777         1000 :       ijkl_ind(25, 21) = 115
     778         1000 :       ijkl_sym(115) = 83
     779              :       !                      py      py   -      dzx     dzx
     780         1000 :       ijkl_ind(25, 36) = 116
     781         1000 :       ijkl_sym(116) = 84
     782              :       !                      py      py   -      dzy      py
     783         1000 :       ijkl_ind(25, 28) = 117
     784         1000 :       ijkl_sym(117) = 81
     785              :       !                      py      py   -      dzy     dzy
     786         1000 :       ijkl_ind(25, 40) = 118
     787         1000 :       ijkl_sym(118) = 82
     788              :       !                      py      py   -   dx2-y2       s
     789         1000 :       ijkl_ind(25, 8) = 119
     790         1000 :       ijkl_sym(119) = 85*(-1)
     791              :       !                      py      py   -   dx2-y2      pz
     792         1000 :       ijkl_ind(25, 16) = 120
     793         1000 :       ijkl_sym(120) = 86*(-1)
     794              :       !                      py      py   -   dx2-y2     dz2
     795         1000 :       ijkl_ind(25, 34) = 121
     796         1000 :       ijkl_sym(121) = 87*(-1)
     797              :       !                      py      py   -   dx2-y2  dx2-y2
     798         1000 :       ijkl_ind(25, 43) = 122
     799         1000 :       ijkl_sym(122) = 88
     800              :       !                      py      py   -      dxy     dxy
     801         1000 :       ijkl_ind(25, 45) = 123
     802         1000 :       ijkl_sym(123) = 88
     803              :       ! ################    dz2     dz2   #######################
     804              :       !                     dz2       s   -        s       s
     805         1000 :       ijkl_ind(5, 1) = 124
     806              :       !                     dz2       s   -       pz       s
     807         1000 :       ijkl_ind(5, 2) = 125
     808              :       !                     dz2       s   -       pz      pz
     809         1000 :       ijkl_ind(5, 10) = 126
     810              :       !                     dz2       s   -       px      px
     811         1000 :       ijkl_ind(5, 18) = 127
     812              :       !                     dz2       s   -       py      py
     813         1000 :       ijkl_ind(5, 25) = 128
     814         1000 :       ijkl_sym(128) = 127
     815              :       !                     dz2       s   -      dz2       s
     816         1000 :       ijkl_ind(5, 5) = 129
     817              :       !                     dz2       s   -      dz2      pz
     818         1000 :       ijkl_ind(5, 13) = 130
     819              :       !                     dz2       s   -      dz2     dz2
     820         1000 :       ijkl_ind(5, 31) = 131
     821              :       !                     dz2       s   -      dzx      px
     822         1000 :       ijkl_ind(5, 21) = 132
     823              :       !                     dz2       s   -      dzx     dzx
     824         1000 :       ijkl_ind(5, 36) = 133
     825              :       !                     dz2       s   -      dzy      py
     826         1000 :       ijkl_ind(5, 28) = 134
     827         1000 :       ijkl_sym(134) = 132
     828              :       !                     dz2       s   -      dzy     dzy
     829         1000 :       ijkl_ind(5, 40) = 135
     830         1000 :       ijkl_sym(135) = 133
     831              :       !                     dz2       s   -   dx2-y2  dx2-y2
     832         1000 :       ijkl_ind(5, 43) = 136
     833              :       !                     dz2       s   -      dxy     dxy
     834         1000 :       ijkl_ind(5, 45) = 137
     835         1000 :       ijkl_sym(137) = 136
     836              :       ! ################    dz2      pz   #######################
     837              :       !                     dz2      pz   -        s       s
     838         1000 :       ijkl_ind(13, 1) = 138
     839              :       !                     dz2      pz   -       pz       s
     840         1000 :       ijkl_ind(13, 2) = 139
     841              :       !                     dz2      pz   -       pz      pz
     842         1000 :       ijkl_ind(13, 10) = 140
     843              :       !                     dz2      pz   -       px      px
     844         1000 :       ijkl_ind(13, 18) = 141
     845              :       !                     dz2      pz   -       py      py
     846         1000 :       ijkl_ind(13, 25) = 142
     847         1000 :       ijkl_sym(142) = 141
     848              :       !                     dz2      pz   -      dz2       s
     849         1000 :       ijkl_ind(13, 5) = 143
     850              :       !                     dz2      pz   -      dz2      pz
     851         1000 :       ijkl_ind(13, 13) = 144
     852              :       !                     dz2      pz   -      dz2     dz2
     853         1000 :       ijkl_ind(13, 31) = 145
     854              :       !                     dz2      pz   -      dzx      px
     855         1000 :       ijkl_ind(13, 21) = 146
     856              :       !                     dz2      pz   -      dzx     dzx
     857         1000 :       ijkl_ind(13, 36) = 147
     858              :       !                     dz2      pz   -      dzy      py
     859         1000 :       ijkl_ind(13, 28) = 148
     860         1000 :       ijkl_sym(148) = 146
     861              :       !                     dz2      pz   -      dzy     dzy
     862         1000 :       ijkl_ind(13, 40) = 149
     863         1000 :       ijkl_sym(149) = 147
     864              :       !                     dz2      pz   -   dx2-y2  dx2-y2
     865         1000 :       ijkl_ind(13, 43) = 150
     866              :       !                     dz2      pz   -      dxy     dxy
     867         1000 :       ijkl_ind(13, 45) = 151
     868         1000 :       ijkl_sym(151) = 150
     869              :       ! ################    dz2      px   #######################
     870              :       !                     dz2      px   -       px       s
     871         1000 :       ijkl_ind(20, 3) = 152
     872              :       !                     dz2      px   -       px      pz
     873         1000 :       ijkl_ind(20, 11) = 153
     874              :       !                     dz2      px   -      dz2      px
     875         1000 :       ijkl_ind(20, 20) = 154
     876              :       !                     dz2      px   -      dzx       s
     877         1000 :       ijkl_ind(20, 6) = 155
     878              :       !                     dz2      px   -      dzx      pz
     879         1000 :       ijkl_ind(20, 14) = 156
     880              :       !                     dz2      px   -      dzx     dz2
     881         1000 :       ijkl_ind(20, 32) = 157
     882              :       !                     dz2      px   -   dx2-y2      px
     883         1000 :       ijkl_ind(20, 23) = 158
     884              :       !                     dz2      px   -   dx2-y2     dzx
     885         1000 :       ijkl_ind(20, 38) = 159
     886              :       !                     dz2      px   -      dxy      py
     887         1000 :       ijkl_ind(20, 30) = 160
     888         1000 :       ijkl_sym(160) = 158
     889              :       !                     dz2      px   -      dxy     dxy
     890         1000 :       ijkl_ind(20, 42) = 161
     891         1000 :       ijkl_sym(161) = 159
     892              :       ! ################    dz2      py   #######################
     893              :       !                     dz2      py   -       py       s
     894         1000 :       ijkl_ind(26, 4) = 162
     895         1000 :       ijkl_sym(162) = 152
     896              :       !                     dz2      py   -       py      pz
     897         1000 :       ijkl_ind(26, 12) = 163
     898         1000 :       ijkl_sym(163) = 153
     899              :       !                     dz2      py   -      dz2      py
     900         1000 :       ijkl_ind(26, 26) = 164
     901         1000 :       ijkl_sym(164) = 154
     902              :       !                     dz2      py   -      dzy       s
     903         1000 :       ijkl_ind(26, 7) = 165
     904         1000 :       ijkl_sym(165) = 155
     905              :       !                     dz2      py   -      dzy      pz
     906         1000 :       ijkl_ind(26, 15) = 166
     907         1000 :       ijkl_sym(166) = 156
     908              :       !                     dz2      py   -      dzy     dz2
     909         1000 :       ijkl_ind(26, 33) = 167
     910         1000 :       ijkl_sym(167) = 157
     911              :       !                     dz2      py   -   dx2-y2      py
     912         1000 :       ijkl_ind(26, 29) = 168
     913         1000 :       ijkl_sym(168) = 158*(-1)
     914              :       !                     dz2      py   -   dx2-y2     dzy
     915         1000 :       ijkl_ind(26, 41) = 169
     916         1000 :       ijkl_sym(169) = 159*(-1)
     917              :       !                     dz2      py   -      dxy      px
     918         1000 :       ijkl_ind(26, 24) = 170
     919         1000 :       ijkl_sym(170) = 158
     920              :       !                     dz2      py   -      dxy     dzx
     921         1000 :       ijkl_ind(26, 39) = 171
     922         1000 :       ijkl_sym(171) = 159
     923              :       ! ################    dz2     dz2   #######################
     924              :       !                     dz2     dz2   -        s       s
     925         1000 :       ijkl_ind(31, 1) = 172
     926              :       !                     dz2     dz2   -       pz       s
     927         1000 :       ijkl_ind(31, 2) = 173
     928              :       !                     dz2     dz2   -       pz      pz
     929         1000 :       ijkl_ind(31, 10) = 174
     930              :       !                     dz2     dz2   -       px      px
     931         1000 :       ijkl_ind(31, 18) = 175
     932              :       !                     dz2     dz2   -       py      py
     933         1000 :       ijkl_ind(31, 25) = 176
     934         1000 :       ijkl_sym(176) = 175
     935              :       !                     dz2     dz2   -      dz2       s
     936         1000 :       ijkl_ind(31, 5) = 177
     937              :       !                     dz2     dz2   -      dz2      pz
     938         1000 :       ijkl_ind(31, 13) = 178
     939              :       !                     dz2     dz2   -      dz2     dz2
     940         1000 :       ijkl_ind(31, 31) = 179
     941              :       !                     dz2     dz2   -      dzx      px
     942         1000 :       ijkl_ind(31, 21) = 180
     943              :       !                     dz2     dz2   -      dzx     dzx
     944         1000 :       ijkl_ind(31, 36) = 181
     945              :       !                     dz2     dz2   -      dzy      py
     946         1000 :       ijkl_ind(31, 28) = 182
     947         1000 :       ijkl_sym(182) = 180
     948              :       !                     dz2     dz2   -      dzy     dzy
     949         1000 :       ijkl_ind(31, 40) = 183
     950         1000 :       ijkl_sym(183) = 181
     951              :       !                     dz2     dz2   -   dx2-y2  dx2-y2
     952         1000 :       ijkl_ind(31, 43) = 184
     953              :       !                     dz2     dz2   -      dxy     dxy
     954         1000 :       ijkl_ind(31, 45) = 185
     955         1000 :       ijkl_sym(185) = 184
     956              :       ! ################    dzx       s   #######################
     957              :       !                     dzx       s   -       px       s
     958         1000 :       ijkl_ind(6, 3) = 186
     959              :       !                     dzx       s   -       px      pz
     960         1000 :       ijkl_ind(6, 11) = 187
     961              :       !                     dzx       s   -      dz2      px
     962         1000 :       ijkl_ind(6, 20) = 188
     963              :       !                     dzx       s   -      dzx       s
     964         1000 :       ijkl_ind(6, 6) = 189
     965              :       !                     dzx       s   -      dzx      pz
     966         1000 :       ijkl_ind(6, 14) = 190
     967              :       !                     dzx       s   -      dzx     dz2
     968         1000 :       ijkl_ind(6, 32) = 191
     969              :       !                     dzx       s   -   dx2-y2      px
     970         1000 :       ijkl_ind(6, 23) = 192
     971              :       !                     dzx       s   -   dx2-y2  dx2-y2
     972         1000 :       ijkl_ind(6, 38) = 193
     973              :       !                     dzx       s   -      dxy      py
     974         1000 :       ijkl_ind(6, 30) = 194
     975         1000 :       ijkl_sym(194) = 192
     976              :       !                     dzx       s   -      dxy     dzy
     977         1000 :       ijkl_ind(6, 42) = 195
     978         1000 :       ijkl_sym(195) = 193
     979              :       ! ################    dzx      pz   #######################
     980              :       !                     dzx      pz   -       px       s
     981         1000 :       ijkl_ind(14, 3) = 196
     982              :       !                     dzx      pz   -       px      pz
     983         1000 :       ijkl_ind(14, 11) = 197
     984              :       !                     dzx      pz   -      dz2      px
     985         1000 :       ijkl_ind(14, 20) = 198
     986              :       !                     dzx      pz   -      dzx       s
     987         1000 :       ijkl_ind(14, 6) = 199
     988              :       !                     dzx      pz   -      dzx      pz
     989         1000 :       ijkl_ind(14, 14) = 200
     990              :       !                     dzx      pz   -      dzx     dz2
     991         1000 :       ijkl_ind(14, 32) = 201
     992              :       !                     dzx      pz   -   dx2-y2      px
     993         1000 :       ijkl_ind(14, 23) = 202
     994              :       !                     dzx      pz   -   dx2-y2  dx2-y2
     995         1000 :       ijkl_ind(14, 38) = 203
     996              :       !                     dzx      pz   -      dxy      py
     997         1000 :       ijkl_ind(14, 30) = 204
     998         1000 :       ijkl_sym(204) = 202
     999              :       !                     dzx      pz   -      dxy     dzy
    1000         1000 :       ijkl_ind(14, 42) = 205
    1001         1000 :       ijkl_sym(205) = 203
    1002              :       ! ################    dzx      px   #######################
    1003              :       !                     dzx      px   -        s       s
    1004         1000 :       ijkl_ind(21, 1) = 206
    1005              :       !                     dzx      px   -       pz       s
    1006         1000 :       ijkl_ind(21, 2) = 207
    1007              :       !                     dzx      px   -       pz      pz
    1008         1000 :       ijkl_ind(21, 10) = 208
    1009              :       !                     dzx      px   -       px      px
    1010         1000 :       ijkl_ind(21, 18) = 209
    1011              :       !                     dzx      px   -       py      py
    1012         1000 :       ijkl_ind(21, 25) = 210
    1013              :       !                     dzx      px   -      dz2       s
    1014         1000 :       ijkl_ind(21, 5) = 211
    1015              :       !                     dzx      px   -      dz2      pz
    1016         1000 :       ijkl_ind(21, 13) = 212
    1017              :       !                     dzx      px   -      dz2     dz2
    1018         1000 :       ijkl_ind(21, 31) = 213
    1019              :       !                     dzx      px   -      dzx      px
    1020         1000 :       ijkl_ind(21, 21) = 214
    1021              :       !                     dzx      px   -      dzx     dzx
    1022         1000 :       ijkl_ind(21, 36) = 215
    1023              :       !                     dzx      px   -      dzy      py
    1024         1000 :       ijkl_ind(21, 28) = 216
    1025              :       !                     dzx      px   -      dzy     dzy
    1026         1000 :       ijkl_ind(21, 40) = 217
    1027              :       !                     dzx      px   -   dx2-y2       s
    1028         1000 :       ijkl_ind(21, 8) = 218
    1029              :       !                     dzx      px   -   dx2-y2      pz
    1030         1000 :       ijkl_ind(21, 16) = 219
    1031              :       !                     dzx      px   -   dx2-y2     dz2
    1032         1000 :       ijkl_ind(21, 34) = 220
    1033              :       !                     dzx      px   -   dx2-y2  dx2-y2
    1034         1000 :       ijkl_ind(21, 43) = 221
    1035              :       !                     dzx      px   -      dxy     dxy
    1036         1000 :       ijkl_ind(21, 45) = 222
    1037         1000 :       ijkl_sym(222) = 221
    1038              :       ! ################    dzx      py   #######################
    1039              :       !                     dzx      py   -       px      py
    1040         1000 :       ijkl_ind(27, 19) = 223
    1041              :       !                     dzx      py   -      dzx      py
    1042         1000 :       ijkl_ind(27, 27) = 224
    1043         1000 :       ijkl_sym(224) = 219
    1044              :       !                     dzx      py   -      dzy      px
    1045         1000 :       ijkl_ind(27, 22) = 225
    1046         1000 :       ijkl_sym(225) = 219
    1047              :       !                     dzx      py   -      dzy     dzx
    1048         1000 :       ijkl_ind(27, 37) = 226
    1049              :       !                     dzx      py   -      dxy       s
    1050         1000 :       ijkl_ind(27, 9) = 227
    1051         1000 :       ijkl_sym(227) = 218
    1052              :       !                     dzx      py   -      dxy      pz
    1053         1000 :       ijkl_ind(27, 17) = 228
    1054         1000 :       ijkl_sym(228) = 219
    1055              :       !                     dzx      py   -      dxy     dz2
    1056         1000 :       ijkl_ind(27, 35) = 229
    1057         1000 :       ijkl_sym(229) = 220
    1058              :       ! ################    dzx     dz2   #######################
    1059              :       !                     dzx     dz2   -       px       s
    1060         1000 :       ijkl_ind(32, 3) = 230
    1061              :       !                     dzx     dz2   -       px      pz
    1062         1000 :       ijkl_ind(32, 11) = 231
    1063              :       !                     dzx     dz2   -      dz2      px
    1064         1000 :       ijkl_ind(32, 20) = 232
    1065              :       !                     dzx     dz2   -      dzx       s
    1066         1000 :       ijkl_ind(32, 6) = 233
    1067              :       !                     dzx     dz2   -      dzx      pz
    1068         1000 :       ijkl_ind(32, 14) = 234
    1069              :       !                     dzx     dz2   -      dzx     dz2
    1070         1000 :       ijkl_ind(32, 32) = 235
    1071              :       !                     dzx     dz2   -   dx2-y2      px
    1072         1000 :       ijkl_ind(32, 23) = 236
    1073              :       !                     dzx     dz2   -   dx2-y2  dx2-y2
    1074         1000 :       ijkl_ind(32, 38) = 237
    1075              :       !                     dzx     dz2   -      dxy      py
    1076         1000 :       ijkl_ind(32, 30) = 238
    1077         1000 :       ijkl_sym(238) = 236
    1078              :       !                     dzx     dz2   -      dxy     dzy
    1079         1000 :       ijkl_ind(32, 42) = 239
    1080         1000 :       ijkl_sym(239) = 237
    1081              :       ! ################    dzx     dzx   #######################
    1082              :       !                     dzx     dzx   -        s       s
    1083         1000 :       ijkl_ind(36, 1) = 240
    1084              :       !                     dzx     dzx   -       pz       s
    1085         1000 :       ijkl_ind(36, 2) = 241
    1086              :       !                     dzx     dzx   -       pz      pz
    1087         1000 :       ijkl_ind(36, 10) = 242
    1088              :       !                     dzx     dzx   -       px      px
    1089         1000 :       ijkl_ind(36, 18) = 243
    1090              :       !                     dzx     dzx   -       py      py
    1091         1000 :       ijkl_ind(36, 25) = 244
    1092              :       !                     dzx     dzx   -      dz2       s
    1093         1000 :       ijkl_ind(36, 5) = 245
    1094              :       !                     dzx     dzx   -      dz2      pz
    1095         1000 :       ijkl_ind(36, 13) = 246
    1096              :       !                     dzx     dzx   -      dz2     dz2
    1097         1000 :       ijkl_ind(36, 31) = 247
    1098              :       !                     dzx     dzx   -      dzx      px
    1099         1000 :       ijkl_ind(36, 21) = 248
    1100              :       !                     dzx     dzx   -      dzx     dzx
    1101         1000 :       ijkl_ind(36, 36) = 249
    1102              :       !                     dzx     dzx   -      dzy      py
    1103         1000 :       ijkl_ind(36, 28) = 250
    1104              :       !                     dzx     dzx   -      dzy     dzy
    1105         1000 :       ijkl_ind(36, 40) = 251
    1106              :       !                     dzx     dzx   -   dx2-y2       s
    1107         1000 :       ijkl_ind(36, 8) = 252
    1108              :       !                     dzx     dzx   -   dx2-y2      pz
    1109         1000 :       ijkl_ind(36, 16) = 253
    1110              :       !                     dzx     dzx   -   dx2-y2     dz2
    1111         1000 :       ijkl_ind(36, 34) = 254
    1112              :       !                     dzx     dzx   -   dx2-y2  dx2-y2
    1113         1000 :       ijkl_ind(36, 43) = 255
    1114              :       !                     dzx     dzx   -      dxy     dxy
    1115         1000 :       ijkl_ind(36, 45) = 256
    1116         1000 :       ijkl_sym(256) = 255
    1117              :       ! ################    dzy       s   #######################
    1118              :       !                     dzy       s   -       py       s
    1119         1000 :       ijkl_ind(7, 4) = 257
    1120         1000 :       ijkl_sym(257) = 186
    1121              :       !                     dzy       s   -       py      pz
    1122         1000 :       ijkl_ind(7, 12) = 258
    1123         1000 :       ijkl_sym(258) = 187
    1124              :       !                     dzy       s   -      dz2      py
    1125         1000 :       ijkl_ind(7, 26) = 259
    1126         1000 :       ijkl_sym(259) = 188
    1127              :       !                     dzy       s   -      dzy       s
    1128         1000 :       ijkl_ind(7, 7) = 260
    1129         1000 :       ijkl_sym(260) = 189
    1130              :       !                     dzy       s   -      dzy      pz
    1131         1000 :       ijkl_ind(7, 15) = 261
    1132         1000 :       ijkl_sym(261) = 190
    1133              :       !                     dzy       s   -      dzy     dz2
    1134         1000 :       ijkl_ind(7, 33) = 262
    1135         1000 :       ijkl_sym(262) = 191
    1136              :       !                     dzy       s   -   dx2-y2      py
    1137         1000 :       ijkl_ind(7, 29) = 263
    1138         1000 :       ijkl_sym(263) = 192*(-1)
    1139              :       !                     dzy       s   -   dx2-y2     dzy
    1140         1000 :       ijkl_ind(7, 41) = 264
    1141         1000 :       ijkl_sym(264) = 193*(-1)
    1142              :       !                     dzy       s   -      dxy      px
    1143         1000 :       ijkl_ind(7, 24) = 265
    1144         1000 :       ijkl_sym(265) = 192
    1145              :       !                     dzy       s   -      dxy     dzx
    1146         1000 :       ijkl_ind(7, 39) = 266
    1147         1000 :       ijkl_sym(266) = 193
    1148              :       ! ################    dzy      pz   #######################
    1149              :       !                     dzy      pz   -       py       s
    1150         1000 :       ijkl_ind(15, 4) = 267
    1151         1000 :       ijkl_sym(267) = 196
    1152              :       !                     dzy      pz   -       py      pz
    1153         1000 :       ijkl_ind(15, 12) = 268
    1154         1000 :       ijkl_sym(268) = 197
    1155              :       !                     dzy      pz   -      dz2      py
    1156         1000 :       ijkl_ind(15, 26) = 269
    1157         1000 :       ijkl_sym(269) = 198
    1158              :       !                     dzy      pz   -      dzy       s
    1159         1000 :       ijkl_ind(15, 7) = 270
    1160         1000 :       ijkl_sym(270) = 199
    1161              :       !                     dzy      pz   -      dzy      pz
    1162         1000 :       ijkl_ind(15, 15) = 271
    1163         1000 :       ijkl_sym(271) = 200
    1164              :       !                     dzy      pz   -      dzy     dz2
    1165         1000 :       ijkl_ind(15, 33) = 272
    1166         1000 :       ijkl_sym(272) = 201
    1167              :       !                     dzy      pz   -   dx2-y2      py
    1168         1000 :       ijkl_ind(15, 29) = 273
    1169         1000 :       ijkl_sym(273) = 202*(-1)
    1170              :       !                     dzy      pz   -   dx2-y2     dzy
    1171         1000 :       ijkl_ind(15, 41) = 274
    1172         1000 :       ijkl_sym(274) = 203*(-1)
    1173              :       !                     dzy      pz   -      dxy      px
    1174         1000 :       ijkl_ind(15, 24) = 275
    1175         1000 :       ijkl_sym(275) = 202
    1176              :       !                     dzy      pz   -      dxy     dzx
    1177         1000 :       ijkl_ind(15, 39) = 276
    1178         1000 :       ijkl_sym(276) = 203
    1179              :       ! ################    dzy      px   #######################
    1180              :       !                     dzy      px   -       px      py
    1181         1000 :       ijkl_ind(22, 19) = 277
    1182         1000 :       ijkl_sym(277) = 223
    1183              :       !                     dzy      px   -      dzx      py
    1184         1000 :       ijkl_ind(22, 27) = 278
    1185         1000 :       ijkl_sym(278) = 219
    1186              :       !                     dzy      px   -      dzy      px
    1187         1000 :       ijkl_ind(22, 22) = 279
    1188         1000 :       ijkl_sym(279) = 219
    1189              :       !                     dzy      px   -      dzy     dzx
    1190         1000 :       ijkl_ind(22, 37) = 280
    1191         1000 :       ijkl_sym(280) = 226
    1192              :       !                     dzy      px   -      dxy       s
    1193         1000 :       ijkl_ind(22, 9) = 281
    1194         1000 :       ijkl_sym(281) = 218
    1195              :       !                     dzy      px   -      dxy      pz
    1196         1000 :       ijkl_ind(22, 17) = 282
    1197         1000 :       ijkl_sym(282) = 219
    1198              :       !                     dzy      px   -      dxy     dz2
    1199         1000 :       ijkl_ind(22, 35) = 283
    1200         1000 :       ijkl_sym(283) = 220
    1201              :       ! ################    dzy      py   #######################
    1202              :       !                     dzy      py   -        s       s
    1203         1000 :       ijkl_ind(28, 1) = 284
    1204         1000 :       ijkl_sym(284) = 206
    1205              :       !                     dzy      py   -       pz       s
    1206         1000 :       ijkl_ind(28, 2) = 285
    1207         1000 :       ijkl_sym(285) = 207
    1208              :       !                     dzy      py   -       pz      pz
    1209         1000 :       ijkl_ind(28, 10) = 286
    1210         1000 :       ijkl_sym(286) = 208
    1211              :       !                     dzy      py   -       px      px
    1212         1000 :       ijkl_ind(28, 18) = 287
    1213         1000 :       ijkl_sym(287) = 210
    1214              :       !                     dzy      py   -       py      py
    1215         1000 :       ijkl_ind(28, 25) = 288
    1216         1000 :       ijkl_sym(288) = 209
    1217              :       !                     dzy      py   -      dz2       s
    1218         1000 :       ijkl_ind(28, 5) = 289
    1219         1000 :       ijkl_sym(289) = 211
    1220              :       !                     dzy      py   -      dz2      pz
    1221         1000 :       ijkl_ind(28, 13) = 290
    1222         1000 :       ijkl_sym(290) = 212
    1223              :       !                     dzy      py   -      dz2     dz2
    1224         1000 :       ijkl_ind(28, 31) = 291
    1225         1000 :       ijkl_sym(291) = 213
    1226              :       !                     dzy      py   -      dzx      px
    1227         1000 :       ijkl_ind(28, 21) = 292
    1228         1000 :       ijkl_sym(292) = 216
    1229              :       !                     dzy      py   -      dzx     dzx
    1230         1000 :       ijkl_ind(28, 36) = 293
    1231         1000 :       ijkl_sym(293) = 217
    1232              :       !                     dzy      py   -      dzy      py
    1233         1000 :       ijkl_ind(28, 28) = 294
    1234         1000 :       ijkl_sym(294) = 214
    1235              :       !                     dzy      py   -      dzy     dzy
    1236         1000 :       ijkl_ind(28, 40) = 295
    1237         1000 :       ijkl_sym(295) = 215
    1238              :       !                     dzy      py   -   dx2-y2       s
    1239         1000 :       ijkl_ind(28, 8) = 296
    1240         1000 :       ijkl_sym(296) = 218*(-1)
    1241              :       !                     dzy      py   -   dx2-y2      pz
    1242         1000 :       ijkl_ind(28, 16) = 297
    1243         1000 :       ijkl_sym(297) = 219*(-1)
    1244              :       !                     dzy      py   -   dx2-y2     dz2
    1245         1000 :       ijkl_ind(28, 34) = 298
    1246         1000 :       ijkl_sym(298) = 220*(-1)
    1247              :       !                     dzy      py   -   dx2-y2  dx2-y2
    1248         1000 :       ijkl_ind(28, 43) = 299
    1249         1000 :       ijkl_sym(299) = 221
    1250              :       !                     dzy      py   -      dxy     dxy
    1251         1000 :       ijkl_ind(28, 45) = 300
    1252         1000 :       ijkl_sym(300) = 221
    1253              :       ! ################    dzy     dz2   #######################
    1254              :       !                     dzy     dz2   -       py       s
    1255         1000 :       ijkl_ind(33, 4) = 301
    1256         1000 :       ijkl_sym(301) = 230
    1257              :       !                     dzy     dz2   -       py      pz
    1258         1000 :       ijkl_ind(33, 12) = 302
    1259         1000 :       ijkl_sym(302) = 231
    1260              :       !                     dzy     dz2   -      dz2      py
    1261         1000 :       ijkl_ind(33, 26) = 303
    1262         1000 :       ijkl_sym(303) = 232
    1263              :       !                     dzy     dz2   -      dzy       s
    1264         1000 :       ijkl_ind(33, 7) = 304
    1265         1000 :       ijkl_sym(304) = 233
    1266              :       !                     dzy     dz2   -      dzy      pz
    1267         1000 :       ijkl_ind(33, 15) = 305
    1268         1000 :       ijkl_sym(305) = 234
    1269              :       !                     dzy     dz2   -      dzy     dz2
    1270         1000 :       ijkl_ind(33, 33) = 306
    1271         1000 :       ijkl_sym(306) = 235
    1272              :       !                     dzy     dz2   -   dx2-y2      py
    1273         1000 :       ijkl_ind(33, 29) = 307
    1274         1000 :       ijkl_sym(307) = 236*(-1)
    1275              :       !                     dzy     dz2   -   dx2-y2     dzy
    1276         1000 :       ijkl_ind(33, 41) = 308
    1277         1000 :       ijkl_sym(308) = 237*(-1)
    1278              :       !                     dzy     dz2   -      dxy      px
    1279         1000 :       ijkl_ind(33, 24) = 309
    1280         1000 :       ijkl_sym(309) = 236
    1281              :       !                     dzy     dz2   -      dxy     dzx
    1282         1000 :       ijkl_ind(33, 39) = 310
    1283         1000 :       ijkl_sym(310) = 237
    1284              :       ! ################    dzy     dzx   #######################
    1285              :       !                     dzy     dzx   -       px      py
    1286         1000 :       ijkl_ind(37, 19) = 311
    1287              :       !                     dzy     dzx   -      dzx      py
    1288         1000 :       ijkl_ind(37, 27) = 312
    1289         1000 :       ijkl_sym(312) = 253
    1290              :       !                     dzy     dzx   -      dzy      px
    1291         1000 :       ijkl_ind(37, 22) = 313
    1292         1000 :       ijkl_sym(313) = 253
    1293              :       !                     dzy     dzx   -      dzy     dzx
    1294         1000 :       ijkl_ind(37, 37) = 314
    1295              :       !                     dzy     dzx   -      dxy       s
    1296         1000 :       ijkl_ind(37, 9) = 315
    1297         1000 :       ijkl_sym(315) = 252
    1298              :       !                     dzy     dzx   -      dxy      pz
    1299         1000 :       ijkl_ind(37, 17) = 316
    1300         1000 :       ijkl_sym(316) = 253
    1301              :       !                     dzy     dzx   -      dxy     dz2
    1302         1000 :       ijkl_ind(37, 35) = 317
    1303         1000 :       ijkl_sym(317) = 254
    1304              :       ! ################    dzy     dzy   #######################
    1305              :       !                     dzy     dzy   -        s       s
    1306         1000 :       ijkl_ind(40, 1) = 318
    1307         1000 :       ijkl_sym(318) = 240
    1308              :       !                     dzy     dzy   -       pz       s
    1309         1000 :       ijkl_ind(40, 2) = 319
    1310         1000 :       ijkl_sym(319) = 241
    1311              :       !                     dzy     dzy   -       pz      pz
    1312         1000 :       ijkl_ind(40, 10) = 320
    1313         1000 :       ijkl_sym(320) = 242
    1314              :       !                     dzy     dzy   -       px      px
    1315         1000 :       ijkl_ind(40, 18) = 321
    1316         1000 :       ijkl_sym(321) = 244
    1317              :       !                     dzy     dzy   -       py      py
    1318         1000 :       ijkl_ind(40, 25) = 322
    1319         1000 :       ijkl_sym(322) = 243
    1320              :       !                     dzy     dzy   -      dz2       s
    1321         1000 :       ijkl_ind(40, 5) = 323
    1322         1000 :       ijkl_sym(323) = 245
    1323              :       !                     dzy     dzy   -      dz2      pz
    1324         1000 :       ijkl_ind(40, 13) = 324
    1325         1000 :       ijkl_sym(324) = 246
    1326              :       !                     dzy     dzy   -      dz2     dz2
    1327         1000 :       ijkl_ind(40, 31) = 325
    1328         1000 :       ijkl_sym(325) = 247
    1329              :       !                     dzy     dzy   -      dzx      px
    1330         1000 :       ijkl_ind(40, 21) = 326
    1331         1000 :       ijkl_sym(326) = 250
    1332              :       !                     dzy     dzy   -      dzx     dzx
    1333         1000 :       ijkl_ind(40, 36) = 327
    1334         1000 :       ijkl_sym(327) = 251
    1335              :       !                     dzy     dzy   -      dzy      py
    1336         1000 :       ijkl_ind(40, 28) = 328
    1337         1000 :       ijkl_sym(328) = 248
    1338              :       !                     dzy     dzy   -      dzy     dzy
    1339         1000 :       ijkl_ind(40, 40) = 329
    1340         1000 :       ijkl_sym(329) = 249
    1341              :       !                     dzy     dzy   -   dx2-y2       s
    1342         1000 :       ijkl_ind(40, 8) = 330
    1343         1000 :       ijkl_sym(330) = 252*(-1)
    1344              :       !                     dzy     dzy   -   dx2-y2      pz
    1345         1000 :       ijkl_ind(40, 16) = 331
    1346         1000 :       ijkl_sym(331) = 253*(-1)
    1347              :       !                     dzy     dzy   -   dx2-y2     dz2
    1348         1000 :       ijkl_ind(40, 34) = 332
    1349         1000 :       ijkl_sym(332) = 254*(-1)
    1350              :       !                     dzy     dzy   -   dx2-y2  dx2-y2
    1351         1000 :       ijkl_ind(40, 43) = 333
    1352         1000 :       ijkl_sym(333) = 255
    1353              :       !                     dzy     dzy   -      dxy     dxy
    1354         1000 :       ijkl_ind(40, 45) = 334
    1355         1000 :       ijkl_sym(334) = 255
    1356              :       ! ################ dx2-y2       s   #######################
    1357              :       !                  dx2-y2       s   -       px      px
    1358         1000 :       ijkl_ind(8, 18) = 335
    1359              :       !                  dx2-y2       s   -       py      py
    1360         1000 :       ijkl_ind(8, 25) = 336
    1361         1000 :       ijkl_sym(336) = 335*(-1)
    1362              :       !                  dx2-y2       s   -      dzx      px
    1363         1000 :       ijkl_ind(8, 21) = 337
    1364              :       !                  dx2-y2       s   -      dzx     dzx
    1365         1000 :       ijkl_ind(8, 36) = 338
    1366              :       !                  dx2-y2       s   -      dzy      py
    1367         1000 :       ijkl_ind(8, 28) = 339
    1368         1000 :       ijkl_sym(339) = 337*(-1)
    1369              :       !                  dx2-y2       s   -      dzy     dzy
    1370         1000 :       ijkl_ind(8, 40) = 340
    1371         1000 :       ijkl_sym(340) = 338*(-1)
    1372              :       !                  dx2-y2       s   -   dx2-y2       s
    1373         1000 :       ijkl_ind(8, 8) = 341
    1374              :       !                  dx2-y2       s   -   dx2-y2      pz
    1375         1000 :       ijkl_ind(8, 16) = 342
    1376         1000 :       ijkl_sym(342) = 337
    1377              :       !                  dx2-y2       s   -   dx2-y2     dz2
    1378         1000 :       ijkl_ind(8, 34) = 343
    1379              :       ! ################ dx2-y2      pz   #######################
    1380              :       !                  dx2-y2      pz   -       px      px
    1381         1000 :       ijkl_ind(16, 18) = 344
    1382         1000 :       ijkl_sym(344) = 223
    1383              :       !                  dx2-y2      pz   -       py      py
    1384         1000 :       ijkl_ind(16, 25) = 345
    1385         1000 :       ijkl_sym(345) = 223*(-1)
    1386              :       !                  dx2-y2      pz   -      dzx      px
    1387         1000 :       ijkl_ind(16, 21) = 346
    1388         1000 :       ijkl_sym(346) = 219
    1389              :       !                  dx2-y2      pz   -      dzx     dzx
    1390         1000 :       ijkl_ind(16, 36) = 347
    1391         1000 :       ijkl_sym(347) = 226
    1392              :       !                  dx2-y2      pz   -      dzy      py
    1393         1000 :       ijkl_ind(16, 28) = 348
    1394         1000 :       ijkl_sym(348) = 219*(-1)
    1395              :       !                  dx2-y2      pz   -      dzy     dzy
    1396         1000 :       ijkl_ind(16, 40) = 349
    1397         1000 :       ijkl_sym(349) = 226*(-1)
    1398              :       !                  dx2-y2      pz   -   dx2-y2       s
    1399         1000 :       ijkl_ind(16, 8) = 350
    1400         1000 :       ijkl_sym(350) = 218
    1401              :       !                  dx2-y2      pz   -   dx2-y2      pz
    1402         1000 :       ijkl_ind(16, 16) = 351
    1403         1000 :       ijkl_sym(351) = 219
    1404              :       !                  dx2-y2      pz   -   dx2-y2     dz2
    1405         1000 :       ijkl_ind(16, 34) = 352
    1406         1000 :       ijkl_sym(352) = 220
    1407              :       ! ################ dx2-y2      px   #######################
    1408              :       !                  dx2-y2      px   -       px       s
    1409         1000 :       ijkl_ind(23, 3) = 353
    1410              :       !                  dx2-y2      px   -       px      pz
    1411         1000 :       ijkl_ind(23, 11) = 354
    1412              :       !                  dx2-y2      px   -      dz2      px
    1413         1000 :       ijkl_ind(23, 20) = 355
    1414              :       !                  dx2-y2      px   -      dzx       s
    1415         1000 :       ijkl_ind(23, 6) = 356
    1416              :       !                  dx2-y2      px   -      dzx      pz
    1417         1000 :       ijkl_ind(23, 14) = 357
    1418              :       !                  dx2-y2      px   -      dzx     dz2
    1419         1000 :       ijkl_ind(23, 32) = 358
    1420              :       !                  dx2-y2      px   -   dx2-y2      px
    1421         1000 :       ijkl_ind(23, 23) = 359
    1422              :       !                  dx2-y2      px   -   dx2-y2  dx2-y2
    1423         1000 :       ijkl_ind(23, 38) = 360
    1424              :       !                  dx2-y2      px   -      dxy      py
    1425         1000 :       ijkl_ind(23, 30) = 361
    1426              :       !                  dx2-y2      px   -      dxy     dzy
    1427         1000 :       ijkl_ind(23, 42) = 362
    1428              :       ! ################ dx2-y2      py   #######################
    1429              :       !                  dx2-y2      py   -       py       s
    1430         1000 :       ijkl_ind(29, 4) = 363
    1431         1000 :       ijkl_sym(363) = 353*(-1)
    1432              :       !                  dx2-y2      py   -       py      pz
    1433         1000 :       ijkl_ind(29, 12) = 364
    1434         1000 :       ijkl_sym(364) = 354*(-1)
    1435              :       !                  dx2-y2      py   -      dz2      py
    1436         1000 :       ijkl_ind(29, 26) = 365
    1437         1000 :       ijkl_sym(365) = 355*(-1)
    1438              :       !                  dx2-y2      py   -      dzy       s
    1439         1000 :       ijkl_ind(29, 7) = 366
    1440         1000 :       ijkl_sym(366) = 356*(-1)
    1441              :       !                  dx2-y2      py   -      dzy      pz
    1442         1000 :       ijkl_ind(29, 15) = 367
    1443         1000 :       ijkl_sym(367) = 357*(-1)
    1444              :       !                  dx2-y2      py   -      dzy     dz2
    1445         1000 :       ijkl_ind(29, 33) = 368
    1446         1000 :       ijkl_sym(368) = 358*(-1)
    1447              :       !                  dx2-y2      py   -   dx2-y2      py
    1448         1000 :       ijkl_ind(29, 29) = 369
    1449         1000 :       ijkl_sym(369) = 359
    1450              :       !                  dx2-y2      py   -   dx2-y2     dzy
    1451         1000 :       ijkl_ind(29, 41) = 370
    1452         1000 :       ijkl_sym(370) = 360
    1453              :       !                  dx2-y2      py   -      dxy      px
    1454         1000 :       ijkl_ind(29, 24) = 371
    1455         1000 :       ijkl_sym(371) = 361*(-1)
    1456              :       !                  dx2-y2      py   -      dxy     dzx
    1457         1000 :       ijkl_ind(29, 39) = 372
    1458         1000 :       ijkl_sym(372) = 362*(-1)
    1459              :       ! ################ dx2-y2     dz2   #######################
    1460              :       !                  dx2-y2     dz2   -       px      px
    1461         1000 :       ijkl_ind(34, 18) = 373
    1462              :       !                  dx2-y2     dz2   -       py      py
    1463         1000 :       ijkl_ind(34, 25) = 374
    1464         1000 :       ijkl_sym(374) = 373*(-1)
    1465              :       !                  dx2-y2     dz2   -      dzx      px
    1466         1000 :       ijkl_ind(34, 21) = 375
    1467              :       !                  dx2-y2     dz2   -      dzx     dzx
    1468         1000 :       ijkl_ind(34, 36) = 376
    1469              :       !                  dx2-y2     dz2   -      dzy      py
    1470         1000 :       ijkl_ind(34, 28) = 377
    1471         1000 :       ijkl_sym(377) = 375*(-1)
    1472              :       !                  dx2-y2     dz2   -      dzy     dzy
    1473         1000 :       ijkl_ind(34, 40) = 378
    1474         1000 :       ijkl_sym(378) = 376*(-1)
    1475              :       !                  dx2-y2     dz2   -   dx2-y2       s
    1476         1000 :       ijkl_ind(34, 8) = 379
    1477              :       !                  dx2-y2     dz2   -   dx2-y2      pz
    1478         1000 :       ijkl_ind(34, 16) = 380
    1479         1000 :       ijkl_sym(380) = 375
    1480              :       !                  dx2-y2     dz2   -   dx2-y2     dz2
    1481         1000 :       ijkl_ind(34, 34) = 381
    1482              :       ! ################ dx2-y2     dzx   #######################
    1483              :       !                  dx2-y2     dzx   -       px       s
    1484         1000 :       ijkl_ind(38, 3) = 382
    1485              :       !                  dx2-y2     dzx   -       px      pz
    1486         1000 :       ijkl_ind(38, 11) = 383
    1487              :       !                  dx2-y2     dzx   -      dz2      px
    1488         1000 :       ijkl_ind(38, 20) = 384
    1489              :       !                  dx2-y2     dzx   -      dzx       s
    1490         1000 :       ijkl_ind(38, 6) = 385
    1491              :       !                  dx2-y2     dzx   -      dzx      pz
    1492         1000 :       ijkl_ind(38, 14) = 386
    1493              :       !                  dx2-y2     dzx   -      dzx     dz2
    1494         1000 :       ijkl_ind(38, 32) = 387
    1495              :       !                  dx2-y2     dzx   -   dx2-y2      px
    1496         1000 :       ijkl_ind(38, 23) = 388
    1497              :       !                  dx2-y2     dzx   -   dx2-y2  dx2-y2
    1498         1000 :       ijkl_ind(38, 38) = 389
    1499              :       !                  dx2-y2     dzx   -      dxy      py
    1500         1000 :       ijkl_ind(38, 30) = 390
    1501              :       !                  dx2-y2     dzx   -      dxy     dzy
    1502         1000 :       ijkl_ind(38, 42) = 391
    1503              :       ! ################ dx2-y2     dzy   #######################
    1504              :       !                  dx2-y2     dzy   -       py       s
    1505         1000 :       ijkl_ind(41, 4) = 392
    1506         1000 :       ijkl_sym(392) = 382*(-1)
    1507              :       !                  dx2-y2     dzy   -       py      pz
    1508         1000 :       ijkl_ind(41, 12) = 393
    1509         1000 :       ijkl_sym(393) = 383*(-1)
    1510              :       !                  dx2-y2     dzy   -      dz2      py
    1511         1000 :       ijkl_ind(41, 26) = 394
    1512         1000 :       ijkl_sym(394) = 384*(-1)
    1513              :       !                  dx2-y2     dzy   -      dzy       s
    1514         1000 :       ijkl_ind(41, 7) = 395
    1515         1000 :       ijkl_sym(395) = 385*(-1)
    1516              :       !                  dx2-y2     dzy   -      dzy      pz
    1517         1000 :       ijkl_ind(41, 15) = 396
    1518         1000 :       ijkl_sym(396) = 386*(-1)
    1519              :       !                  dx2-y2     dzy   -      dzy     dz2
    1520         1000 :       ijkl_ind(41, 33) = 397
    1521         1000 :       ijkl_sym(397) = 387*(-1)
    1522              :       !                  dx2-y2     dzy   -   dx2-y2      py
    1523         1000 :       ijkl_ind(41, 29) = 398
    1524         1000 :       ijkl_sym(398) = 388
    1525              :       !                  dx2-y2     dzy   -   dx2-y2     dzy
    1526         1000 :       ijkl_ind(41, 41) = 399
    1527         1000 :       ijkl_sym(399) = 389
    1528              :       !                  dx2-y2     dzy   -      dxy      px
    1529         1000 :       ijkl_ind(41, 24) = 400
    1530         1000 :       ijkl_sym(400) = 390*(-1)
    1531              :       !                  dx2-y2     dzy   -      dxy     dzx
    1532         1000 :       ijkl_ind(41, 39) = 401
    1533         1000 :       ijkl_sym(401) = 391*(-1)
    1534              :       ! ################ dx2-y2  dx2-y2   #######################
    1535              :       !                  dx2-y2  dx2-y2   -        s       s
    1536         1000 :       ijkl_ind(43, 1) = 402
    1537              :       !                  dx2-y2  dx2-y2   -       pz       s
    1538         1000 :       ijkl_ind(43, 2) = 403
    1539              :       !                  dx2-y2  dx2-y2   -       pz      pz
    1540         1000 :       ijkl_ind(43, 10) = 404
    1541              :       !                  dx2-y2  dx2-y2   -       px      px
    1542         1000 :       ijkl_ind(43, 18) = 405
    1543              :       !                  dx2-y2  dx2-y2   -       py      py
    1544         1000 :       ijkl_ind(43, 25) = 406
    1545         1000 :       ijkl_sym(406) = 405
    1546              :       !                  dx2-y2  dx2-y2   -      dz2       s
    1547         1000 :       ijkl_ind(43, 5) = 407
    1548              :       !                  dx2-y2  dx2-y2   -      dz2      pz
    1549         1000 :       ijkl_ind(43, 13) = 408
    1550              :       !                  dx2-y2  dx2-y2   -      dz2     dz2
    1551         1000 :       ijkl_ind(43, 31) = 409
    1552              :       !                  dx2-y2  dx2-y2   -      dzx      px
    1553         1000 :       ijkl_ind(43, 21) = 410
    1554              :       !                  dx2-y2  dx2-y2   -      dzx     dzx
    1555         1000 :       ijkl_ind(43, 36) = 411
    1556              :       !                  dx2-y2  dx2-y2   -      dzy      py
    1557         1000 :       ijkl_ind(43, 28) = 412
    1558         1000 :       ijkl_sym(412) = 410
    1559              :       !                  dx2-y2  dx2-y2   -      dzy     dzy
    1560         1000 :       ijkl_ind(43, 40) = 413
    1561         1000 :       ijkl_sym(413) = 411
    1562              :       !                  dx2-y2  dx2-y2   -   dx2-y2  dx2-y2
    1563         1000 :       ijkl_ind(43, 43) = 414
    1564              :       !                  dx2-y2  dx2-y2   -      dxy     dxy
    1565         1000 :       ijkl_ind(43, 45) = 415
    1566              :       ! ################    dxy       s   #######################
    1567              :       !                     dxy       s   -       px      py
    1568         1000 :       ijkl_ind(9, 19) = 416
    1569         1000 :       ijkl_sym(416) = 335
    1570              :       !                     dxy       s   -      dzx      py
    1571         1000 :       ijkl_ind(9, 27) = 417
    1572         1000 :       ijkl_sym(417) = 337
    1573              :       !                     dxy       s   -      dzy      px
    1574         1000 :       ijkl_ind(9, 22) = 418
    1575         1000 :       ijkl_sym(418) = 337
    1576              :       !                     dxy       s   -      dzy     dzx
    1577         1000 :       ijkl_ind(9, 37) = 419
    1578         1000 :       ijkl_sym(419) = 338
    1579              :       !                     dxy       s   -      dxy       s
    1580         1000 :       ijkl_ind(9, 9) = 420
    1581         1000 :       ijkl_sym(420) = 341
    1582              :       !                     dxy       s   -      dxy      pz
    1583         1000 :       ijkl_ind(9, 17) = 421
    1584         1000 :       ijkl_sym(421) = 337
    1585              :       !                     dxy       s   -      dxy     dz2
    1586         1000 :       ijkl_ind(9, 35) = 422
    1587         1000 :       ijkl_sym(422) = 343
    1588              :       ! ################    dxy      pz   #######################
    1589              :       !                     dxy      pz   -       px      py
    1590         1000 :       ijkl_ind(17, 19) = 423
    1591         1000 :       ijkl_sym(423) = 223
    1592              :       !                     dxy      pz   -      dzx      py
    1593         1000 :       ijkl_ind(17, 27) = 424
    1594         1000 :       ijkl_sym(424) = 219
    1595              :       !                     dxy      pz   -      dzy      px
    1596         1000 :       ijkl_ind(17, 22) = 425
    1597         1000 :       ijkl_sym(425) = 219
    1598              :       !                     dxy      pz   -      dzy     dzx
    1599         1000 :       ijkl_ind(17, 37) = 426
    1600         1000 :       ijkl_sym(426) = 226
    1601              :       !                     dxy      pz   -      dxy       s
    1602         1000 :       ijkl_ind(17, 9) = 427
    1603         1000 :       ijkl_sym(427) = 218
    1604              :       !                     dxy      pz   -      dxy      pz
    1605         1000 :       ijkl_ind(17, 17) = 428
    1606         1000 :       ijkl_sym(428) = 219
    1607              :       !                     dxy      pz   -      dxy     dz2
    1608         1000 :       ijkl_ind(17, 35) = 429
    1609         1000 :       ijkl_sym(429) = 220
    1610              :       ! ################    dxy      px   #######################
    1611              :       !                     dxy      px   -       py       s
    1612         1000 :       ijkl_ind(24, 4) = 430
    1613         1000 :       ijkl_sym(430) = 353
    1614              :       !                     dxy      px   -       py      pz
    1615         1000 :       ijkl_ind(24, 12) = 431
    1616         1000 :       ijkl_sym(431) = 354
    1617              :       !                     dxy      px   -      dz2      py
    1618         1000 :       ijkl_ind(24, 26) = 432
    1619         1000 :       ijkl_sym(432) = 355
    1620              :       !                     dxy      px   -      dzy       s
    1621         1000 :       ijkl_ind(24, 7) = 433
    1622         1000 :       ijkl_sym(433) = 356
    1623              :       !                     dxy      px   -      dzy      pz
    1624         1000 :       ijkl_ind(24, 15) = 434
    1625         1000 :       ijkl_sym(434) = 357
    1626              :       !                     dxy      px   -      dzy     dz2
    1627         1000 :       ijkl_ind(24, 33) = 435
    1628         1000 :       ijkl_sym(435) = 358
    1629              :       !                     dxy      px   -   dx2-y2      py
    1630         1000 :       ijkl_ind(24, 29) = 436
    1631         1000 :       ijkl_sym(436) = 361*(-1)
    1632              :       !                     dxy      px   -   dx2-y2     dzy
    1633         1000 :       ijkl_ind(24, 41) = 437
    1634         1000 :       ijkl_sym(437) = 362*(-1)
    1635              :       !                     dxy      px   -      dxy      px
    1636         1000 :       ijkl_ind(24, 24) = 438
    1637         1000 :       ijkl_sym(438) = 359
    1638              :       !                     dxy      px   -      dxy     dzx
    1639         1000 :       ijkl_ind(24, 39) = 439
    1640         1000 :       ijkl_sym(439) = 360
    1641              :       ! ################    dxy      py   #######################
    1642              :       !                     dxy      py   -       px       s
    1643         1000 :       ijkl_ind(30, 3) = 440
    1644         1000 :       ijkl_sym(440) = 353
    1645              :       !                     dxy      py   -       px      pz
    1646         1000 :       ijkl_ind(30, 11) = 441
    1647         1000 :       ijkl_sym(441) = 354
    1648              :       !                     dxy      py   -      dz2      px
    1649         1000 :       ijkl_ind(30, 20) = 442
    1650         1000 :       ijkl_sym(442) = 355
    1651              :       !                     dxy      py   -      dzx       s
    1652         1000 :       ijkl_ind(30, 6) = 443
    1653         1000 :       ijkl_sym(443) = 356
    1654              :       !                     dxy      py   -      dzx      pz
    1655         1000 :       ijkl_ind(30, 14) = 444
    1656         1000 :       ijkl_sym(444) = 357
    1657              :       !                     dxy      py   -      dzx     dz2
    1658         1000 :       ijkl_ind(30, 32) = 445
    1659         1000 :       ijkl_sym(445) = 358
    1660              :       !                     dxy      py   -   dx2-y2      px
    1661         1000 :       ijkl_ind(30, 23) = 446
    1662         1000 :       ijkl_sym(446) = 361
    1663              :       !                     dxy      py   -   dx2-y2  dx2-y2
    1664         1000 :       ijkl_ind(30, 38) = 447
    1665         1000 :       ijkl_sym(447) = 362
    1666              :       !                     dxy      py   -      dxy      py
    1667         1000 :       ijkl_ind(30, 30) = 448
    1668         1000 :       ijkl_sym(448) = 359
    1669              :       !                     dxy      py   -      dxy     dzy
    1670         1000 :       ijkl_ind(30, 42) = 449
    1671         1000 :       ijkl_sym(449) = 360
    1672              :       ! ################    dxy     dz2   #######################
    1673              :       !                     dxy     dz2   -       px      py
    1674         1000 :       ijkl_ind(35, 19) = 450
    1675         1000 :       ijkl_sym(450) = 373
    1676              :       !                     dxy     dz2   -      dzx      py
    1677         1000 :       ijkl_ind(35, 27) = 451
    1678         1000 :       ijkl_sym(451) = 375
    1679              :       !                     dxy     dz2   -      dzy      px
    1680         1000 :       ijkl_ind(35, 22) = 452
    1681         1000 :       ijkl_sym(452) = 375
    1682              :       !                     dxy     dz2   -      dzy     dzx
    1683         1000 :       ijkl_ind(35, 37) = 453
    1684         1000 :       ijkl_sym(453) = 376
    1685              :       !                     dxy     dz2   -      dxy       s
    1686         1000 :       ijkl_ind(35, 9) = 454
    1687         1000 :       ijkl_sym(454) = 379
    1688              :       !                     dxy     dz2   -      dxy      pz
    1689         1000 :       ijkl_ind(35, 17) = 455
    1690         1000 :       ijkl_sym(455) = 375
    1691              :       !                     dxy     dz2   -      dxy     dz2
    1692         1000 :       ijkl_ind(35, 35) = 456
    1693         1000 :       ijkl_sym(456) = 381
    1694              :       ! ################    dxy     dzx   #######################
    1695              :       !                     dxy     dzx   -       py       s
    1696         1000 :       ijkl_ind(39, 4) = 457
    1697         1000 :       ijkl_sym(457) = 382
    1698              :       !                     dxy     dzx   -       py      pz
    1699         1000 :       ijkl_ind(39, 12) = 458
    1700         1000 :       ijkl_sym(458) = 383
    1701              :       !                     dxy     dzx   -      dz2      py
    1702         1000 :       ijkl_ind(39, 26) = 459
    1703         1000 :       ijkl_sym(459) = 384
    1704              :       !                     dxy     dzx   -      dzy       s
    1705         1000 :       ijkl_ind(39, 7) = 460
    1706         1000 :       ijkl_sym(460) = 385
    1707              :       !                     dxy     dzx   -      dzy      pz
    1708         1000 :       ijkl_ind(39, 15) = 461
    1709         1000 :       ijkl_sym(461) = 386
    1710              :       !                     dxy     dzx   -      dzy     dz2
    1711         1000 :       ijkl_ind(39, 33) = 462
    1712         1000 :       ijkl_sym(462) = 387
    1713              :       !                     dxy     dzx   -   dx2-y2      py
    1714         1000 :       ijkl_ind(39, 29) = 463
    1715         1000 :       ijkl_sym(463) = 390*(-1)
    1716              :       !                     dxy     dzx   -   dx2-y2     dzy
    1717         1000 :       ijkl_ind(39, 41) = 464
    1718         1000 :       ijkl_sym(464) = 391*(-1)
    1719              :       !                     dxy     dzx   -      dxy      px
    1720         1000 :       ijkl_ind(39, 24) = 465
    1721         1000 :       ijkl_sym(465) = 388
    1722              :       !                     dxy     dzx   -      dxy     dzx
    1723         1000 :       ijkl_ind(39, 39) = 466
    1724         1000 :       ijkl_sym(466) = 389
    1725              :       ! ################    dxy     dzy   #######################
    1726              :       !                     dxy     dzy   -       px       s
    1727         1000 :       ijkl_ind(42, 3) = 467
    1728         1000 :       ijkl_sym(467) = 382
    1729              :       !                     dxy     dzy   -       px      pz
    1730         1000 :       ijkl_ind(42, 11) = 468
    1731         1000 :       ijkl_sym(468) = 383
    1732              :       !                     dxy     dzy   -      dz2      px
    1733         1000 :       ijkl_ind(42, 20) = 469
    1734         1000 :       ijkl_sym(469) = 384
    1735              :       !                     dxy     dzy   -      dzx       s
    1736         1000 :       ijkl_ind(42, 6) = 470
    1737         1000 :       ijkl_sym(470) = 385
    1738              :       !                     dxy     dzy   -      dzx      pz
    1739         1000 :       ijkl_ind(42, 14) = 471
    1740         1000 :       ijkl_sym(471) = 386
    1741              :       !                     dxy     dzy   -      dzx     dz2
    1742         1000 :       ijkl_ind(42, 32) = 472
    1743         1000 :       ijkl_sym(472) = 387
    1744              :       !                     dxy     dzy   -   dx2-y2      px
    1745         1000 :       ijkl_ind(42, 23) = 473
    1746         1000 :       ijkl_sym(473) = 390
    1747              :       !                     dxy     dzy   -   dx2-y2  dx2-y2
    1748         1000 :       ijkl_ind(42, 38) = 474
    1749         1000 :       ijkl_sym(474) = 391
    1750              :       !                     dxy     dzy   -      dxy      py
    1751         1000 :       ijkl_ind(42, 30) = 475
    1752         1000 :       ijkl_sym(475) = 388
    1753              :       !                     dxy     dzy   -      dxy     dzy
    1754         1000 :       ijkl_ind(42, 42) = 476
    1755         1000 :       ijkl_sym(476) = 389
    1756              :       ! ################    dxy  dx2-y2   #######################
    1757              :       !                     dxy  dx2-y2   -      dxy  dx2-y2
    1758         1000 :       ijkl_ind(44, 44) = 477
    1759              :       ! ################    dxy     dxy   #######################
    1760              :       !                     dxy     dxy   -        s       s
    1761         1000 :       ijkl_ind(45, 1) = 478
    1762         1000 :       ijkl_sym(478) = 402
    1763              :       !                     dxy     dxy   -       pz       s
    1764         1000 :       ijkl_ind(45, 2) = 479
    1765         1000 :       ijkl_sym(479) = 403
    1766              :       !                     dxy     dxy   -       pz      pz
    1767         1000 :       ijkl_ind(45, 10) = 480
    1768         1000 :       ijkl_sym(480) = 404
    1769              :       !                     dxy     dxy   -       px      px
    1770         1000 :       ijkl_ind(45, 18) = 481
    1771         1000 :       ijkl_sym(481) = 405
    1772              :       !                     dxy     dxy   -       py      py
    1773         1000 :       ijkl_ind(45, 25) = 482
    1774         1000 :       ijkl_sym(482) = 405
    1775              :       !                     dxy     dxy   -      dz2       s
    1776         1000 :       ijkl_ind(45, 5) = 483
    1777         1000 :       ijkl_sym(483) = 407
    1778              :       !                     dxy     dxy   -      dz2      pz
    1779         1000 :       ijkl_ind(45, 13) = 484
    1780         1000 :       ijkl_sym(484) = 408
    1781              :       !                     dxy     dxy   -      dz2     dz2
    1782         1000 :       ijkl_ind(45, 31) = 485
    1783         1000 :       ijkl_sym(485) = 409
    1784              :       !                     dxy     dxy   -      dzx      px
    1785         1000 :       ijkl_ind(45, 21) = 486
    1786         1000 :       ijkl_sym(486) = 410
    1787              :       !                     dxy     dxy   -      dzx     dzx
    1788         1000 :       ijkl_ind(45, 36) = 487
    1789         1000 :       ijkl_sym(487) = 411
    1790              :       !                     dxy     dxy   -      dzy      py
    1791         1000 :       ijkl_ind(45, 28) = 488
    1792         1000 :       ijkl_sym(488) = 410
    1793              :       !                     dxy     dxy   -      dzy     dzy
    1794         1000 :       ijkl_ind(45, 40) = 489
    1795         1000 :       ijkl_sym(489) = 411
    1796              :       !                     dxy     dxy   -   dx2-y2  dx2-y2
    1797         1000 :       ijkl_ind(45, 43) = 490
    1798         1000 :       ijkl_sym(490) = 415
    1799              :       !                     dxy     dxy   -      dxy     dxy
    1800         1000 :       ijkl_ind(45, 45) = 491
    1801         1000 :       ijkl_sym(491) = 414
    1802         1000 :    END SUBROUTINE setup_ijkl_array
    1803              : 
    1804              : END MODULE semi_empirical_int_arrays
        

Generated by: LCOV version 2.0-1