diff --git a/fortran/dmftproj/set_ang_trans.f b/fortran/dmftproj/set_ang_trans.f index 361893e..bf2bb4a 100644 --- a/fortran/dmftproj/set_ang_trans.f +++ b/fortran/dmftproj/set_ang_trans.f @@ -37,7 +37,7 @@ SUBROUTINE set_ang_trans USE prnt IMPLICIT NONE CHARACTER(len=150) :: fullpath - CHARACTER(len=250) :: buf1 + CHARACTER(len=2000) :: buf1 CHARACTER(len=25) :: basis_file CHARACTER(len=1) :: repsign INTEGER, DIMENSION(2*(2*lmax+1)) :: degrep @@ -140,10 +140,10 @@ SUBROUTINE set_ang_trans degrep(irep)=m-ind+1 ind=m+1 ENDIF - READ(buf1(2:250),*)(rtrans(m1),itrans(m1),m1=-l,l) + READ(buf1(2:),*)(rtrans(m1),itrans(m1),m1=-l,l) C The line of the file is stored in the column of reptrans, which is temporarly "P". reptrans(l,isrt)%transmat(-l:l,m)= - & CMPLX(rtrans(-l:l),itrans(-l:l)) + & CMPLX(rtrans(-l:l),itrans(-l:l),KIND=8) m = m + 1 ENDIF ENDDO @@ -201,10 +201,10 @@ SUBROUTINE set_ang_trans degrep(irep)=m-ind+1 ind=m+1 ENDIF - READ(buf1(2:250),*)(rtrans(m1),itrans(m1), + READ(buf1(2:),*)(rtrans(m1),itrans(m1), & m1=1,2*(2*l+1)) tempmat(1:2*(2*l+1),m)= - = CMPLX(rtrans(1:2*(2*l+1)),itrans(1:2*(2*l+1))) + = CMPLX(rtrans(1:2*(2*l+1)),itrans(1:2*(2*l+1)),KIND=8) C The lines of the read matrix are stored in the column of tempmat, which is then P. ENDDO C diff --git a/fortran/dmftproj/setsym.f b/fortran/dmftproj/setsym.f index 877a200..daeb14c 100644 --- a/fortran/dmftproj/setsym.f +++ b/fortran/dmftproj/setsym.f @@ -826,7 +826,7 @@ SUBROUTINE spinrotmat(spinrot,isym,l) C We remind that the field phase is (g-a) in this case. C as a result, ephase = exp(+i(g-a)/2) = -exp(+i(alpha-gamma)/2) C in good agreement with Wien conventions for the definition of this phase factor. - ephase=EXP(CMPLX(0.d0,factor)) + ephase=EXP(CMPLX(0.d0,factor,KIND=8)) spinrot(1:2*l+1,2*l+2:2*(2*l+1))= = ephase*srot(isym)%rotl(-l:l,-l:l,l) C Dn/up block : @@ -842,7 +842,7 @@ SUBROUTINE spinrotmat(spinrot,isym,l) C We remind that the field phase is (a+g) in this case. C as a result, ephase = exp(+i(a+g)/2)=-exp(-i(alpha+gamma)/2) C in good agreement with Wien conventions for the definition of this phase factor. - ephase=EXP(CMPLX(0.d0,factor)) + ephase=EXP(CMPLX(0.d0,factor,KIND=8)) spinrot(1:2*l+1,1:2*l+1)= = ephase*srot(isym)%rotl(-l:l,-l:l,l) C Dn/dn block :