Commit d08d83b4 authored by Daniel Wortmann's avatar Daniel Wortmann

Changes to mapping of k-points for transformation. Still not running as...

Changes to mapping of k-points for transformation. Still not running as mapatom is not called before gen_bz.
parent 2300e5e0
...@@ -651,13 +651,21 @@ ...@@ -651,13 +651,21 @@
!#ifdef CPP_DEBUG !#ifdef CPP_DEBUG
!test !test
DO i=1,kpts%nkpt nrkpt=0
IF ( maxval( abs(rkpt - kpts%bk(:,i)) ) .le. 1E-06 ) THEN DO i=1,kpts%nkptf
IF ( maxval( abs(rkpt - kpts%bkf(:,i)) ) .le. 1E-06 ) THEN
nrkpt = i nrkpt = i
EXIT EXIT
END IF END IF
END DO END DO
IF( nrkpt .ne. ikpt1 ) STOP 'bra_trafo2: rotation failed' IF( nrkpt .NE. ikpt1 ) THEN
PRINT *,ikpt0,ikpt1
PRINT *,kpts%bkf(:,ikpt1)
PRINT *,kpts%bkf(:,ikpt0)
PRINT *,rkpt
STOP 'bra_trafo2: rotation failed'
ENDIF
!#endif !#endif
! Define pointer to first mixed-basis functions (with m = -l) ! Define pointer to first mixed-basis functions (with m = -l)
......
...@@ -45,7 +45,7 @@ SUBROUTINE gen_bz( kpts,sym) ...@@ -45,7 +45,7 @@ SUBROUTINE gen_bz( kpts,sym)
INTEGER,ALLOCATABLE :: iarr(:) INTEGER,ALLOCATABLE :: iarr(:)
REAL :: rrot(3,3,2*sym%nop),rotkpt(3) REAL :: rrot(3,3,2*sym%nop),rotkpt(3)
REAL,ALLOCATABLE :: rarr1(:,:) REAL,ALLOCATABLE :: rarr1(:,:)
INTEGER:: nsym INTEGER :: nsym,ID_mat(3,3)
nsym=sym%nop nsym=sym%nop
if (.not.sym%invs) nsym=2*sym%nop if (.not.sym%invs) nsym=2*sym%nop
...@@ -57,24 +57,18 @@ SUBROUTINE gen_bz( kpts,sym) ...@@ -57,24 +57,18 @@ SUBROUTINE gen_bz( kpts,sym)
! Generate symmetry operations in reciprocal space ! Generate symmetry operations in reciprocal space
DO iop=1,nsym DO iop=1,nsym
IF( iop .le. sym%nop ) THEN IF( iop .le. sym%nop ) THEN
rrot(:,:,iop) = transpose( sym%mrot(:,:,iop) ) rrot(:,:,iop) = transpose( sym%mrot(:,:,sym%invtab(iop)) )
ELSE ELSE
rrot(:,:,iop) = -rrot(:,:,iop-sym%nop) rrot(:,:,iop) = -rrot(:,:,iop-sym%nop)
END IF END IF
END DO END DO
! Set target number for k points in full BZ
!Add existing vectors to list of full vectors !Add existing vectors to list of full vectors
print *,"WARNING from gen_bz" id_mat=0
print *,"Assuming Identity to be fist symmetry op!" ID_mat(1,1)=1;ID_mat(2,2)=1;ID_mat(3,3)=1
DO ic=1,kpts%nkpt IF (ANY(sym%mrot(:,:,1).NE.ID_mat)) CALL judft_error("Identity must be first symmetry operation",calledby="gen_bz")
kpts%bkf(:,ic) = kpts%bk(:,ic)
kpts%bkp(ic) = ic
kpts%bksym(ic) = 1
ENDDO
ic=ic-1
ic=0
DO iop=1,nsym DO iop=1,nsym
DO ikpt=1,kpts%nkpt DO ikpt=1,kpts%nkpt
l_found = .FALSE. l_found = .FALSE.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment