~siesta-ts/siesta/trunk_ts_soc

« back to all changes in this revision

Viewing changes to Src/m_hs_matrix.f90

  • Committer: Nils Wittemeier
  • Date: 2019-02-14 07:45:07 UTC
  • mfrom: (746.1.15 trunk)
  • Revision ID: nils@4wittemeier.de-20190214074507-1mvzbmj9kw19gllr
MergedĀ trunkĀ 761

Show diffs side-by-side

added added

removed removed

Lines of Context:
329
329
! Setup H,S for this k-point:
330
330
!
331
331
    do i = 1,no_tot*no_tot
332
 
       Hk(i) = dcmplx(0.d0,0.d0)
333
 
       Sk(i) = dcmplx(0.d0,0.d0)
 
332
       Hk(i) = cmplx(0.d0,0.d0,dp)
 
333
       Sk(i) = cmplx(0.d0,0.d0,dp)
334
334
    end do
335
335
 
336
336
    xo(:) = 0.0_dp
386
386
                  k(1) * (xij(1,ind) - xo(1)) + &
387
387
                  k(2) * (xij(2,ind) - xo(2)) + &
388
388
                  k(3) * (xij(3,ind) - xo(3))
389
 
             cphase = exp(dcmplx(0d0,kxij))
 
389
             cphase = exp(cmplx(0d0,kxij,dp))
390
390
             i = iuo+(juo-1)*no_tot
391
391
             Hk(i) = Hk(i)+H(ind)*cphase
392
392
             Sk(i) = Sk(i)+S(ind)*cphase
597
597
!
598
598
    do juo = 1,no_tot
599
599
       do iuo = 1,no_tot
600
 
          Hk(iuo,juo) = dcmplx(0.d0,0.d0)
601
 
          Sk(iuo,juo) = dcmplx(0.d0,0.d0)
 
600
          Hk(iuo,juo) = cmplx(0.d0,0.d0,dp)
 
601
          Sk(iuo,juo) = cmplx(0.d0,0.d0,dp)
602
602
       end do
603
603
    end do
604
604
 
655
655
                  k(1) * (xij(1,ind) - xo(1)) + &
656
656
                  k(2) * (xij(2,ind) - xo(2)) + &
657
657
                  k(3) * (xij(3,ind) - xo(3))
658
 
             cphase = exp(dcmplx(0d0,kxij))
 
658
             cphase = exp(cmplx(0d0,kxij,dp))
659
659
             Hk(iuo,juo) = Hk(iuo,juo)+H(ind)*cphase
660
660
             Sk(iuo,juo) = Sk(iuo,juo)+S(ind)*cphase
661
661
          end do
790
790
! Setup H,S for this transfer k-point:
791
791
!
792
792
    do i = 1,no_tot*no_tot
793
 
       HkT(i) = dcmplx(0.d0,0.d0)
794
 
       SkT(i) = dcmplx(0.d0,0.d0)
 
793
       HkT(i) = cmplx(0.d0,0.d0,dp)
 
794
       SkT(i) = cmplx(0.d0,0.d0,dp)
795
795
    end do
796
796
 
797
797
    xo(:) = 0.0_dp
849
849
                  k(1) * (xij(1,ind) - xo(1)) + &
850
850
                  k(2) * (xij(2,ind) - xo(2)) + &
851
851
                  k(3) * (xij(3,ind) - xo(3))
852
 
             cphase = exp(dcmplx(0d0,kxij))
 
852
             cphase = exp(cmplx(0d0,kxij,dp))
853
853
             i = iuo+(juo-1)*no_tot
854
854
             HkT(i) = HkT(i)+H(ind)*cphase
855
855
             SkT(i) = SkT(i)+S(ind)*cphase
975
975
    ! Setup H,S for this k-point:
976
976
    do juo = 1,no_tot
977
977
       do iuo = 1,no_tot
978
 
          HkT(iuo,juo) = dcmplx(0.d0,0.d0)
979
 
          SkT(iuo,juo) = dcmplx(0.d0,0.d0)
 
978
          HkT(iuo,juo) = cmplx(0.d0,0.d0,dp)
 
979
          SkT(iuo,juo) = cmplx(0.d0,0.d0,dp)
980
980
       end do
981
981
    end do
982
982
 
1035
1035
                  k(1) * (xij(1,ind) - xo(1)) + &
1036
1036
                  k(2) * (xij(2,ind) - xo(2)) + &
1037
1037
                  k(3) * (xij(3,ind) - xo(3))
1038
 
             cphase = exp(dcmplx(0d0,kxij))
 
1038
             cphase = exp(cmplx(0d0,kxij,dp))
1039
1039
             HkT(iuo,juo) = HkT(iuo,juo)+H(ind)*cphase
1040
1040
             SkT(iuo,juo) = SkT(iuo,juo)+S(ind)*cphase
1041
1041
          end do
1153
1153
 
1154
1154
    do j = no_tot - no_R + 1 , no_tot
1155
1155
       do i = 1 , no_L
1156
 
          Hk(i,j) = dcmplx(0.d0,0.d0)
1157
 
          Sk(i,j) = dcmplx(0.d0,0.d0)
1158
 
          Hk(j,i) = dcmplx(0.d0,0.d0)
1159
 
          Sk(j,i) = dcmplx(0.d0,0.d0)
 
1156
          Hk(i,j) = cmplx(0.d0,0.d0,dp)
 
1157
          Sk(i,j) = cmplx(0.d0,0.d0,dp)
 
1158
          Hk(j,i) = cmplx(0.d0,0.d0,dp)
 
1159
          Sk(j,i) = cmplx(0.d0,0.d0,dp)
1160
1160
       end do
1161
1161
    end do
1162
1162
 
1191
1191
    do iuo = 1,no_tot
1192
1192
       do juo = 1,iuo-1
1193
1193
          
1194
 
          Sk(juo,iuo) = 0.5d0*( Sk(juo,iuo) + dconjg(Sk(iuo,juo)) )
1195
 
          Sk(iuo,juo) =  dconjg(Sk(juo,iuo))
 
1194
          Sk(juo,iuo) = 0.5d0*( Sk(juo,iuo) + conjg(Sk(iuo,juo)) )
 
1195
          Sk(iuo,juo) =  conjg(Sk(juo,iuo))
1196
1196
          
1197
 
          Hk(juo,iuo) = 0.5d0*( Hk(juo,iuo) + dconjg(Hk(iuo,juo)) ) &
 
1197
          Hk(juo,iuo) = 0.5d0*( Hk(juo,iuo) + conjg(Hk(iuo,juo)) ) &
1198
1198
               - Ef*Sk(juo,iuo)
1199
 
          Hk(iuo,juo) =  dconjg(Hk(juo,iuo))
 
1199
          Hk(iuo,juo) =  conjg(Hk(juo,iuo))
1200
1200
          
1201
1201
       end do
1202
1202
       
1203
 
       Sk(iuo,iuo)=Sk(iuo,iuo) - dcmplx(0d0,dimag(Sk(iuo,iuo)) )
 
1203
       Sk(iuo,iuo)=Sk(iuo,iuo) - cmplx(0d0,aimag(Sk(iuo,iuo)), dp)
1204
1204
       
1205
 
       Hk(iuo,iuo)=Hk(iuo,iuo) - dcmplx(0d0,dimag(Hk(iuo,iuo)) ) &
 
1205
       Hk(iuo,iuo)=Hk(iuo,iuo) - cmplx(0d0,aimag(Hk(iuo,iuo)), dp) &
1206
1206
            - Ef*Sk(iuo,iuo) 
1207
1207
    end do
1208
1208