readdvscf : error # 80 ../phonons/save/pb.dvscf_q2 too short, check ecut
Posted: Tue May 18, 2021 5:36 pm
Dear All
When I run epw, I come up with the readdvscf error as indicated on the subject. I tried to look for readdvsc.f90 file in EPW/src/ folder but there is no file in that name. On this forum before 4 years ago, the same error had been discussed by Jiachen and Prof. Samuel, and the solution was to remove the checks. Does anyone know in which .f90 file the following code exist or how can I solve this error? I am using the latest QE (6.7). Thank you!
INTEGER(kind=8) :: mult_unit
CALL set_ndnmbr ( 0, iq, 1, nqc, filelab)
tempfile = trim(dvscf_dir) // trim(prefix) // '.dvscf_q' // filelab
unf_recl = DIRECT_IO_FACTOR * lrdrho
mult_unit = unf_recl
mult_unit = recn * mult_unit
open (iudvscf, file = tempfile, form = 'unformatted', &
access = 'direct', iostat=ios,recl = unf_recl,status='old')
IF (ios /= 0) call errore ('readdvscf','error opening ' // tempfile, iudvscf)
#if defined(__NAG)
CALL fstat( iudvscf, statb, errno=ios)
IF (mult_unit .gt. statb%st_size) call errore('readdvscf', &
trim(tempfile)//' too short, check ecut', iudvscf)
#endif
#if ! defined(__NAG)
ios = fstat ( iudvscf, statb)
!IF (recn * unf_recl .gt. statb(8)) call errore('readdvscf', &
IF (mult_unit .gt. statb(8)) call errore('readdvscf', &
trim(tempfile)//' too short, check ecut', iudvscf)
#endif
!
read (iudvscf, rec = recn) dvscf
close (iudvscf, status = 'keep')
!
!
end subroutine readdvscf
Sincerely, Zegnet
When I run epw, I come up with the readdvscf error as indicated on the subject. I tried to look for readdvsc.f90 file in EPW/src/ folder but there is no file in that name. On this forum before 4 years ago, the same error had been discussed by Jiachen and Prof. Samuel, and the solution was to remove the checks. Does anyone know in which .f90 file the following code exist or how can I solve this error? I am using the latest QE (6.7). Thank you!
INTEGER(kind=8) :: mult_unit
CALL set_ndnmbr ( 0, iq, 1, nqc, filelab)
tempfile = trim(dvscf_dir) // trim(prefix) // '.dvscf_q' // filelab
unf_recl = DIRECT_IO_FACTOR * lrdrho
mult_unit = unf_recl
mult_unit = recn * mult_unit
open (iudvscf, file = tempfile, form = 'unformatted', &
access = 'direct', iostat=ios,recl = unf_recl,status='old')
IF (ios /= 0) call errore ('readdvscf','error opening ' // tempfile, iudvscf)
#if defined(__NAG)
CALL fstat( iudvscf, statb, errno=ios)
IF (mult_unit .gt. statb%st_size) call errore('readdvscf', &
trim(tempfile)//' too short, check ecut', iudvscf)
#endif
#if ! defined(__NAG)
ios = fstat ( iudvscf, statb)
!IF (recn * unf_recl .gt. statb(8)) call errore('readdvscf', &
IF (mult_unit .gt. statb(8)) call errore('readdvscf', &
trim(tempfile)//' too short, check ecut', iudvscf)
#endif
!
read (iudvscf, rec = recn) dvscf
close (iudvscf, status = 'keep')
!
!
end subroutine readdvscf
Sincerely, Zegnet