On Tue, Jan 14, 2020 at 10:51 AM 王少锋(Shaofeng) <[email protected]>
wrote:

I compiled qe-6.5 using intel compiler 2013
>

the code writing the xml data file does not work well with old Intel
compilers. Comment out
  CALL pw_init_qexsd_input(qexsd_input_obj, obj_tagname="input")
at line 1587 of PW/src/input.f90 (no functionalitywill be affected). In
case of further trouble with DFT+U, try the attached patch

Paolo
-- 
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222
diff --git a/Modules/qexsd_init.f90 b/Modules/qexsd_init.f90
index 4aa1a7ad6..196183767 100644
--- a/Modules/qexsd_init.f90
+++ b/Modules/qexsd_init.f90
@@ -435,13 +435,27 @@ CONTAINS
          CALL set_labels ()
          IF ( PRESENT(noncolin)) noncolin_ = noncolin 
          !
-         IF (PRESENT(U))   CALL init_hubbard_commons(U, U_, label, "Hubbard_U") 
-         IF (PRESENT(J0))  CALL init_hubbard_commons(J0, J0_, label, "Hubbard_J0" ) 
-         IF (PRESENT(alpha)) CALL init_hubbard_commons(alpha, alpha_,label, "Hubbard_alpha") 
-         IF (PRESENT(beta))  CALL init_hubbard_commons(beta, beta_, label, "Hubbard_beta")
-         IF (PRESENT(J))     CALL init_hubbard_J (J, J_, label, "Hubbard_J" )
-         IF (PRESENT(starting_ns)) CALL init_starting_ns(starting_ns_ , label)
-         IF (PRESENT(Hub_ns))  CALL init_Hubbard_ns(Hubbard_ns_ , label)
+         IF (PRESENT(U)) THEN
+            IF (SIZE(U) > 0 ) CALL init_hubbard_commons(U, U_, label, "Hubbard_U") 
+         END IF
+         IF (PRESENT(J0)) THEN
+            IF (SIZE(J0) > 0 ) CALL init_hubbard_commons(J0, J0_, label, "Hubbard_J0" ) 
+         END IF
+         IF (PRESENT(alpha)) THEN
+            IF (SIZE(alpha) > 0 ) CALL init_hubbard_commons(alpha, alpha_,label, "Hubbard_alpha") 
+         END IF
+         IF (PRESENT(beta)) THEN
+            IF (SIZE(beta) > 0 )  CALL init_hubbard_commons(beta, beta_, label, "Hubbard_beta")
+         END IF
+         IF (PRESENT(J)) THEN
+            IF (SIZE(J) > 0 ) CALL init_hubbard_J (J, J_, label, "Hubbard_J" )
+         END IF
+         IF (PRESENT(starting_ns)) THEN
+            IF (SIZE(starting_ns) > 0 ) CALL init_starting_ns(starting_ns_ , label)
+         END IF
+         IF (PRESENT(Hub_ns)) THEN
+            IF (SIZE(Hub_ns) > 0 ) CALL init_Hubbard_ns(Hubbard_ns_ , label)
+         END IF
          !
          CALL qes_init (obj, "dftU", lda_plus_u_kind, U_, J0_, alpha_, beta_, J_, starting_ns_, Hubbard_ns_, &
                            U_projection_type)
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
users mailing list [email protected]
https://lists.quantum-espresso.org/mailman/listinfo/users

Reply via email to