mirror of https://gitlab.com/QEF/q-e.git
disable dftU ouput XML element for U+V+back case
the printout is not yet implement for this case, and was causing an internal error. thanks to @ye-luo
This commit is contained in:
parent
accec34683
commit
9b90c946e0
|
@ -443,6 +443,7 @@ CONTAINS
|
|||
TYPE(HubbardBack_type),ALLOCATABLE :: Hub_back_(:)
|
||||
TYPE(HubbardInterSpecieV_type),ALLOCATABLE :: Hub_V_(:)
|
||||
LOGICAL :: noncolin_ =.FALSE.
|
||||
INTEGER :: icheck
|
||||
!
|
||||
IF (PRESENT(n) .AND. PRESENT(l)) THEN
|
||||
CALL set_labels (nsp, n, l)
|
||||
|
@ -453,7 +454,11 @@ CONTAINS
|
|||
IF ( PRESENT(noncolin)) noncolin_ = noncolin
|
||||
!
|
||||
IF (lda_plus_u_kind == 2 ) THEN
|
||||
IF (PRESENT(hubbard_v)) CALL check_and_init_Hubbard_V (hub_v_, hubbard_v, species, label)
|
||||
IF (PRESENT(hubbard_v)) icheck = check_and_init_Hubbard_V (hub_v_, hubbard_v, species, label)
|
||||
IF ( icheck == 0) THEN
|
||||
obj%lwrite = .FALSE.
|
||||
RETURN
|
||||
END IF
|
||||
ELSE
|
||||
IF (PRESENT(U)) CALL init_hubbard_commons(U, U_, label, "Hubbard_U")
|
||||
END IF
|
||||
|
@ -541,23 +546,28 @@ CONTAINS
|
|||
END DO
|
||||
END SUBROUTINE init_hubbard_J
|
||||
!
|
||||
SUBROUTINE check_and_init_Hubbard_V (objs, hubbard_v_, specs, labs)
|
||||
FUNCTION check_and_init_Hubbard_V (objs, hubbard_v_, specs, labs) result( ndim )
|
||||
IMPLICIT NONE
|
||||
TYPE(HubbardInterSpecieV_type), ALLOCATABLE :: objs(:)
|
||||
REAL(DP) :: hubbard_v_(:,:,:)
|
||||
CHARACTER(len=*) :: labs(:), specs(:)
|
||||
INTEGER :: ndim
|
||||
!
|
||||
INTEGER :: nat_, nbt_, ndim, na, nb, idim, nb2isp
|
||||
INTEGER :: nat_, nbt_, na, nb, idim, nb2isp
|
||||
CHARACTER(LEN=4) :: lab1, spec1, lab2, spec2
|
||||
!
|
||||
nat_ = SIZE(ityp)
|
||||
nbt_ = SIZE(hubbard_v_, 2) / SIZE( hubbard_v_, 1) * nat_
|
||||
!
|
||||
ndim = COUNT( hubbard_v_ > 0._DP )
|
||||
ndim = COUNT( hubbard_v_(:,:,1) > 0._DP )
|
||||
IF ( COUNT(hubbard_v_(:,:,2:4) > 0._DP) > 0 ) THEN
|
||||
CALL infomsg("qexsd_init:hubbard_v", &
|
||||
"XML printout for hubbard_v with background channels is not implemented")
|
||||
ndim = 0
|
||||
END IF
|
||||
IF (ndim == 0 ) RETURN
|
||||
ALLOCATE (objs(ndim))
|
||||
IF ( COUNT(hubbard_v_(:,:,2:4) > 0._DP) > 0 ) CALL infomsg("qexsd_init:hubbard_v", &
|
||||
"XML printout for hubbard_v with background channels is not implemented")
|
||||
|
||||
idim = 0
|
||||
DO na =1, nat_
|
||||
spec1 = TRIM(species(ityp(na)))
|
||||
|
@ -571,7 +581,7 @@ CONTAINS
|
|||
CALL qes_init(objs(idim), "Hubbard_V", spec1, na, lab1, spec2, nb, lab2, Hubbard_V_(na,nb,1))
|
||||
END DO
|
||||
END DO
|
||||
END SUBROUTINE check_and_init_Hubbard_V
|
||||
END FUNCTION check_and_init_Hubbard_V
|
||||
|
||||
|
||||
SUBROUTINE reset_hubbard_commons(objs)
|
||||
|
|
Loading…
Reference in New Issue