Commit c5346dbb authored by Daniel Wortmann's avatar Daniel Wortmann

Bugfixes: enpara passed from eigen to cdnval, dos needs correct k-point wt

parent cb422c90
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
INTEGER itria(3,2*kpts%nkpt),nevk(kpts%nkpt),itetra(4,6*kpts%nkpt) INTEGER itria(3,2*kpts%nkpt),nevk(kpts%nkpt),itetra(4,6*kpts%nkpt)
INTEGER, ALLOCATABLE :: ksym(:),jsym(:) INTEGER, ALLOCATABLE :: ksym(:),jsym(:)
REAL wt(kpts%nkpt),voltet(6*kpts%nkpt),kx(kpts%nkpt),vkr(3,kpts%nkpt) REAL voltet(6*kpts%nkpt),kx(kpts%nkpt),vkr(3,kpts%nkpt)
REAL ev(dimension%neigd,kpts%nkpt),e(ned),gpart(ned,atoms%ntype),atr(2*kpts%nkpt) REAL ev(dimension%neigd,kpts%nkpt),e(ned),gpart(ned,atoms%ntype),atr(2*kpts%nkpt)
REAL e_grid(ned+1),spect(ned,3*atoms%ntype),ferwe(dimension%neigd,kpts%nkpt) REAL e_grid(ned+1),spect(ned,3*atoms%ntype),ferwe(dimension%neigd,kpts%nkpt)
REAL, ALLOCATABLE :: qal(:,:,:),qval(:,:,:),qlay(:,:,:),g(:,:),qal_tmp(:,:,:),qis(:),qvlay(:,:,:) REAL, ALLOCATABLE :: qal(:,:,:),qval(:,:,:),qlay(:,:,:),g(:,:),qal_tmp(:,:,:),qis(:),qvlay(:,:,:)
...@@ -334,7 +334,7 @@ ...@@ -334,7 +334,7 @@
! !
IF ( .not.l_mcd ) THEN IF ( .not.l_mcd ) THEN
CALL dos_bin(input%jspins,qdim,ned,emin,emax,dimension%neigd,kpts%nkpt,& CALL dos_bin(input%jspins,qdim,ned,emin,emax,dimension%neigd,kpts%nkpt,&
nevk,wt,ev,qal, g) nevk,kpts%wtkpt(1:kpts%nkpt),ev,qal, g)
ELSE ELSE
CALL dos_bin(input%jspins,3*atoms%ntype*ncored,ned,emin,emax,ntb,kpts%nkpt,& CALL dos_bin(input%jspins,3*atoms%ntype*ncored,ned,emin,emax,ntb,kpts%nkpt,&
nevk(1:kpts%nkpt),kpts%wtkpt(1:kpts%nkpt),ev(1:ntb,1:kpts%nkpt), mcd(1:3*atoms%ntype*ncored,1:ntb,1:kpts%nkpt), g) nevk(1:kpts%nkpt),kpts%wtkpt(1:kpts%nkpt),ev(1:ntb,1:kpts%nkpt), mcd(1:3*atoms%ntype*ncored,1:ntb,1:kpts%nkpt), g)
......
...@@ -19,7 +19,7 @@ CONTAINS ...@@ -19,7 +19,7 @@ CONTAINS
!> The matrices generated and diagonalized here are of type m_mat as defined in m_types_mat. !> The matrices generated and diagonalized here are of type m_mat as defined in m_types_mat.
!>@author D. Wortmann !>@author D. Wortmann
SUBROUTINE eigen(mpi,stars,sphhar,atoms,obsolete,xcpot,& SUBROUTINE eigen(mpi,stars,sphhar,atoms,obsolete,xcpot,&
sym,kpts,DIMENSION, vacuum, input, cell, enpara_in,banddos, noco,jij, oneD,hybrid,& sym,kpts,DIMENSION, vacuum, input, cell, enpara_in,enpara,banddos, noco,jij, oneD,hybrid,&
it,eig_id,results,inden,v,vx) it,eig_id,results,inden,v,vx)
USE m_constants, ONLY : pi_const,sfp_const USE m_constants, ONLY : pi_const,sfp_const
USE m_types USE m_types
...@@ -49,7 +49,7 @@ CONTAINS ...@@ -49,7 +49,7 @@ CONTAINS
TYPE(t_dimension),INTENT(IN) :: DIMENSION TYPE(t_dimension),INTENT(IN) :: DIMENSION
TYPE(t_oneD),INTENT(IN) :: oneD TYPE(t_oneD),INTENT(IN) :: oneD
TYPE(t_hybrid),INTENT(INOUT) :: hybrid TYPE(t_hybrid),INTENT(INOUT) :: hybrid
TYPE(t_enpara),INTENT(INOUT) :: enpara_in TYPE(t_enpara),INTENT(INOUT) :: enpara_in,enpara
TYPE(t_obsolete),INTENT(IN) :: obsolete TYPE(t_obsolete),INTENT(IN) :: obsolete
TYPE(t_input),INTENT(IN) :: input TYPE(t_input),INTENT(IN) :: input
TYPE(t_vacuum),INTENT(IN) :: vacuum TYPE(t_vacuum),INTENT(IN) :: vacuum
...@@ -91,7 +91,6 @@ CONTAINS ...@@ -91,7 +91,6 @@ CONTAINS
TYPE(t_tlmplm) :: td TYPE(t_tlmplm) :: td
TYPE(t_usdus) :: ud TYPE(t_usdus) :: ud
TYPE(t_lapw) :: lapw TYPE(t_lapw) :: lapw
TYPE(t_enpara) :: enpara
CLASS(t_Mat),ALLOCATABLE :: zMat CLASS(t_Mat),ALLOCATABLE :: zMat
CLASS(t_mat),ALLOCATABLE :: hmat,smat CLASS(t_mat),ALLOCATABLE :: hmat,smat
TYPE(T_mat) :: olap TYPE(T_mat) :: olap
......
...@@ -93,7 +93,7 @@ CONTAINS ...@@ -93,7 +93,7 @@ CONTAINS
TYPE(t_sliceplot):: sliceplot TYPE(t_sliceplot):: sliceplot
TYPE(t_banddos) :: banddos TYPE(t_banddos) :: banddos
TYPE(t_obsolete) :: obsolete TYPE(t_obsolete) :: obsolete
TYPE(t_enpara) :: enpara TYPE(t_enpara) :: enpara,enpara_out
TYPE(t_xcpot) :: xcpot TYPE(t_xcpot) :: xcpot
TYPE(t_results) :: results TYPE(t_results) :: results
TYPE(t_jij) :: jij TYPE(t_jij) :: jij
...@@ -378,7 +378,7 @@ CONTAINS ...@@ -378,7 +378,7 @@ CONTAINS
CALL timestart("eigen") CALL timestart("eigen")
vTemp = vTot vTemp = vTot
CALL eigen(mpi,stars,sphhar,atoms,obsolete,xcpot,& CALL eigen(mpi,stars,sphhar,atoms,obsolete,xcpot,&
sym,kpts,DIMENSION,vacuum,input,cell,enpara,banddos,noco,jij,oneD,hybrid,& sym,kpts,DIMENSION,vacuum,input,cell,enpara,enpara_out,banddos,noco,jij,oneD,hybrid,&
it,eig_id,results,inDenRot,vTemp,vx) it,eig_id,results,inDenRot,vTemp,vx)
vTot%mmpMat = vTemp%mmpMat vTot%mmpMat = vTemp%mmpMat
eig_idList(pc) = eig_id eig_idList(pc) = eig_id
...@@ -413,7 +413,7 @@ CONTAINS ...@@ -413,7 +413,7 @@ CONTAINS
ENDIF ENDIF
! WRITE(6,fmt='(A)') 'Starting 2nd variation ...' ! WRITE(6,fmt='(A)') 'Starting 2nd variation ...'
CALL eigenso(eig_id,mpi,DIMENSION,stars,vacuum,atoms,sphhar,& CALL eigenso(eig_id,mpi,DIMENSION,stars,vacuum,atoms,sphhar,&
obsolete,sym,cell,noco,input,kpts, oneD,vTot,enpara) obsolete,sym,cell,noco,input,kpts, oneD,vTot,enpara_out)
IF(noco%l_soc.AND.input%gw.EQ.2) THEN IF(noco%l_soc.AND.input%gw.EQ.2) THEN
CLOSE(4649) CLOSE(4649)
INQUIRE(1014,opened=l_endit) INQUIRE(1014,opened=l_endit)
...@@ -572,7 +572,7 @@ CONTAINS ...@@ -572,7 +572,7 @@ CONTAINS
CALL timestart("generation of new charge density (total)") CALL timestart("generation of new charge density (total)")
CALL cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,& CALL cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
DIMENSION,kpts,atoms,sphhar,stars,sym,obsolete,& DIMENSION,kpts,atoms,sphhar,stars,sym,obsolete,&
enpara,cell,noco,jij,vTot,results,oneD,coreSpecInput,& enpara_out,cell,noco,jij,vTot,results,oneD,coreSpecInput,&
inDen%iter,inDen,outDen) inDen%iter,inDen,outDen)
IF ( noco%l_soc .AND. (.NOT. noco%l_noco) ) dimension%neigd=dimension%neigd/2 IF ( noco%l_soc .AND. (.NOT. noco%l_noco) ) dimension%neigd=dimension%neigd/2
......
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