报错如下所示:
################################
Error in routine hp_symdnsq (1):
nwfcU<>counter
################################
hp_symdnsq.f90中报错提示如下:
IMPLICIT NONE
!
COMPLEX(DP), INTENT(INOUT) :: dnsq(2*Hubbard_lmax+1, 2*Hubbard_lmax+1, nspin, nat)
!
! Local variables
!
INTEGER :: nt, n, counter, l
INTEGER :: na, nb, is, m1, m2, m0, m00, ldim
INTEGER :: isym, irot
COMPLEX(DP), ALLOCATABLE :: dnr(:,:,:,:), dnraux(:,:,:,:)
COMPLEX(DP) :: phase, phase2
REAL(DP) :: arg, arg2
!
IF (nsymq == 1 .AND. (.NOT.minus_q)) RETURN
!
CALL start_clock('hp_symdnsq')
!
ldim = 2 * Hubbard_lmax + 1
!
! Initialization
!
! D_Sl for l=1, l=2 and l=3 are already initialized, for l=0 D_S0 is 1
!
counter = 0
DO na = 1, nat
nt = ityp(na)
IF (.NOT.is_hubbard(nt)) CYCLE
DO n = 1, upf(nt)%nwfc
l = upf(nt)%lchi(n)
IF (upf(nt)%oc(n) > 0.d0 .AND. l == Hubbard_l(nt)) &
counter = counter + 2 * l + 1
ENDDO
ENDDO
IF (counter.NE.nwfcU) CALL errore ('hp_symdnsq', 'nwfcU<>counter', 1)
但是并没有很理解是为什么出现这个报错,以及我该如何解决这类问题,还请大佬们指点支招,不胜感激
|