Commit 57fb7f28 authored by S.Rost's avatar S.Rost

fixes to unfolding output for banddos.hdf and fixes to writeBasis

parent 56650ede
...@@ -8,7 +8,7 @@ MODULE m_writeBasis ...@@ -8,7 +8,7 @@ MODULE m_writeBasis
CONTAINS CONTAINS
SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,results,eig_id,oneD) SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,results,eig_id,oneD,sphhar,stars,vacuum)
USE m_types USE m_types
USE m_juDFT USE m_juDFT
...@@ -17,7 +17,7 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r ...@@ -17,7 +17,7 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r
USE m_hdf_tools USE m_hdf_tools
#endif #endif
USE m_genmtbasis USE m_genmtbasis
! USE m_cdn_io USE m_pot_io
USE m_abcof USE m_abcof
USE m_eig66_io, ONLY : read_eig USE m_eig66_io, ONLY : read_eig
...@@ -26,8 +26,10 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r ...@@ -26,8 +26,10 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r
TYPE(t_dimension),INTENT(IN) :: DIMENSION TYPE(t_dimension),INTENT(IN) :: DIMENSION
TYPE(t_enpara),INTENT(IN) :: enpara TYPE(t_enpara),INTENT(IN) :: enpara
! TYPE(t_banddos),INTENT(IN) :: banddos ! TYPE(t_banddos),INTENT(IN) :: banddos
! TYPE(t_sphhar),INTENT(IN) :: sphhar
! TYPE(t_stars),INTENT(IN) :: stars TYPE(t_sphhar),INTENT(IN) :: sphhar
TYPE(t_stars),INTENT(IN) :: stars
TYPE(t_vacuum),INTENT(IN) :: vacuum
TYPE(t_input),INTENT(IN) :: input TYPE(t_input),INTENT(IN) :: input
TYPE(t_noco),INTENT(IN) :: noco TYPE(t_noco),INTENT(IN) :: noco
...@@ -313,7 +315,7 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r ...@@ -313,7 +315,7 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r
DO nk = 1,kpts%nkpt DO nk = 1,kpts%nkpt
CALL lapw%init(input,noco,kpts,atoms,sym,nk,cell,l_zref) CALL lapw%init(input,noco,kpts,atoms,sym,nk,cell,l_zref)
!write(kpt_name , '(2a,i0)') TRIM(ADJUSTL(jsp_name)),'/kpt_',nk !write(kpt_name , '(2a,i0)') TRIM(ADJUSTL(jsp_name)),'/kpt_',nk
write(kpt_name , '(2a,f12.10,a,f12.10,a,f12.10)') TRIM(ADJUSTL(jsp_name)),'/',kpts%bk(1,nk),',',kpts%bk(2,nk),',',kpts%bk(3,nk) write(kpt_name , '(2a,f12.10,a,f12.10,a,f12.10)') TRIM(ADJUSTL(jsp_name)),'/kpt_',kpts%bk(1,nk),',',kpts%bk(2,nk),',',kpts%bk(3,nk)
CALL h5gcreate_f(fileID, TRIM(ADJUSTL(kpt_name)), kptGroupID, hdfError) CALL h5gcreate_f(fileID, TRIM(ADJUSTL(kpt_name)), kptGroupID, hdfError)
!--------------------enter output gvec etc here-------------------- !--------------------enter output gvec etc here--------------------
!lapw%gvec(3,nv,input%jspins) !lapw%gvec(3,nv,input%jspins)
...@@ -445,8 +447,8 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r ...@@ -445,8 +447,8 @@ SUBROUTINE writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,r
! DO nk = mpi%n_start,kpts%nkpt,mpi%n_stride ! DO nk = mpi%n_start,kpts%nkpt,mpi%n_stride
DO nk = 1,kpts%nkpt DO nk = 1,kpts%nkpt
CALL lapw%init(input,noco,kpts,atoms,sym,nk,cell,l_zref) CALL lapw%init(input,noco,kpts,atoms,sym,nk,cell,l_zref)
write(kpt_name , '(2a,i0)') TRIM(ADJUSTL(jsp_name)),'/kpt_',nk !write(kpt_name , '(2a,i0)') TRIM(ADJUSTL(jsp_name)),'/kpt_',nk
!write(kpt_name , '(2a,f12.10,a,f12.10,a,f12.10)') TRIM(ADJUSTL(jsp_name)),'_',kpts%bk(1,nk),',',kpts%bk(2,nk),',',kpts%bk(3,nk) write(kpt_name , '(2a,f12.10,a,f12.10,a,f12.10)') TRIM(ADJUSTL(jsp_name)),'/kpt_',kpts%bk(1,nk),',',kpts%bk(2,nk),',',kpts%bk(3,nk)
CALL h5gcreate_f(fileID, TRIM(ADJUSTL(kpt_name)), kptGroupID, hdfError) CALL h5gcreate_f(fileID, TRIM(ADJUSTL(kpt_name)), kptGroupID, hdfError)
!--------------------abcoff, zmat, eig output here------------------- !--------------------abcoff, zmat, eig output here-------------------
!,results%neig(nk,jsp),results%eig(:,nk,jsp) !,results%neig(nk,jsp),results%eig(:,nk,jsp)
...@@ -487,7 +489,8 @@ write(*,*)numbands,ndbands ...@@ -487,7 +489,8 @@ write(*,*)numbands,ndbands
CALL h5sclose_f(eigSpaceID,hdfError) CALL h5sclose_f(eigSpaceID,hdfError)
CALL io_write_real1(eigSetID,(/1/),dimsInt(:1),results%eig(:numbands,nk,jsp)) CALL io_write_real1(eigSetID,(/1/),dimsInt(:1),results%eig(:numbands,nk,jsp))
CALL h5dclose_f(eigSetID, hdfError) CALL h5dclose_f(eigSetID, hdfError)
CALL io_write_attint0(kptGroupID,'numbands',numbands)
IF (zMat%l_real) THEN IF (zMat%l_real) THEN
dims(:2)=(/nbasfcn,numbands/) dims(:2)=(/nbasfcn,numbands/)
dimsInt=dims dimsInt=dims
...@@ -612,6 +615,11 @@ write(*,*)numbands,ndbands ...@@ -612,6 +615,11 @@ write(*,*)numbands,ndbands
CALL h5gclose_f(jspGroupID, hdfError) CALL h5gclose_f(jspGroupID, hdfError)
END DO END DO
CALL h5fclose_f(fileID, hdfError) CALL h5fclose_f(fileID, hdfError)
!-------------------------write potential--------------------
CALL writePotential(stars,vacuum,atoms,cell,sphhar,input,sym,oneD,1,vTot%iter,vTot%mt,vTot%pw,vTot%vacz,vTot%vacxy)
CALL writePotential(stars,vacuum,atoms,cell,sphhar,input,sym,oneD,2,vTot%iter,vTot%mt,vTot%pw,vTot%vacz,vTot%vacxy)
CALL writePotential(stars,vacuum,atoms,cell,sphhar,input,sym,oneD,3,vTot%iter,vTot%mt,vTot%pw,vTot%vacz,vTot%vacxy)
......
...@@ -173,6 +173,7 @@ CONTAINS ...@@ -173,6 +173,7 @@ CONTAINS
!write(91,'(3f15.8)') kpts%bk !write(91,'(3f15.8)') kpts%bk
!write(92,*) kpts%wtkpt !write(92,*) kpts%wtkpt
ALLOCATE (kpts%sc_list(13,p_kpts%nkpt)) ALLOCATE (kpts%sc_list(13,p_kpts%nkpt))
kpts%specialPointIndices(:) = p_kpts%specialPointIndices(:)
kpts%sc_list=list kpts%sc_list=list
!write(90,'(10f15.8)') kpts%sc_list !write(90,'(10f15.8)') kpts%sc_list
END SUBROUTINE find_supercell_kpts END SUBROUTINE find_supercell_kpts
......
...@@ -401,7 +401,7 @@ CONTAINS ...@@ -401,7 +401,7 @@ CONTAINS
CALL forcetheo%postprocess() CALL forcetheo%postprocess()
IF ((input%gw.GT.0).AND.(mpi%irank.EQ.0)) THEN IF ((input%gw.GT.0).AND.(mpi%irank.EQ.0)) THEN
CALL writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,results,eig_id,oneD) CALL writeBasis(input,noco,kpts,atoms,sym,cell,enpara,vTot,mpi,DIMENSION,results,eig_id,oneD,sphhar,stars,vacuum)
END IF END IF
CALL enpara%mix(mpi,atoms,vacuum,input,vTot%mt(:,0,:,:),vtot%vacz) CALL enpara%mix(mpi,atoms,vacuum,input,vTot%mt(:,0,:,:),vtot%vacz)
......
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