Dear Sergei,
The SCF and NSCF inputs must be consistent, otherwise there can be problems. For example, if you use noncolin = .false. lspinorb = .false. in SCF, then you should use the same in NSCF. Or if you use noncolin = .true. lspinorb = .true. in SCF, then you need to use the same in NSCF. Why would you need to run SCF for the spin-unpolarized case, and then to perform a noncollinear calculation with spin-orbit on top of it? In such a case there is a mismatch in the dimensions of data written on disc by SCF and then read by NSCF. Greetings, Iurii -- Dr. Iurii Timrov Postdoctoral Researcher STI - IMX - THEOS and NCCR - MARVEL Swiss Federal Institute of Technology Lausanne (EPFL) CH-1015 Lausanne, Switzerland +41 21 69 34 881 http://people.epfl.ch/265334 ________________________________ From: users <[email protected]> on behalf of Sergei Butorin <[email protected]> Sent: Friday, August 14, 2020 3:19:59 PM To: Quantum ESPRESSO users Forum Subject: Re: [QE-users] Error of read_scf routine while reading ldaU ns Dear Iurii, I agree, it is not always easy to understand e-mails/messages despite the authors think they are clear enough. Yes, I am a Windows person and is not advanced at all in modern Fortran programming, that is why it takes time to go through Linux/Fortran things. Below is a scf.in and nscf.in input files I used (in nscf.in I have attached only few k-points here out of the 216 list, to save space). Pseudos are NC, scalar relativistic (Th) and non-relativistic (O) in scf.in and full relativistic in nscf.in. Th pseudos include a valence 5f electron. scf.in &control calculation = 'scf' prefix = 'system' pseudo_dir = '/home/my_directories/' outdir = './Out' wfcdir = 'undefined' wf_collect = .true. / &system ibrav = 0 nat = 3 ntyp = 2 noncolin = .false. lspinorb = .false. ecutwfc = 100 occupations = 'fixed' nspin = 1 nosym = .true. noinv = .true. lda_plus_u=.true., lda_plus_u_kind=1, Hubbard_U(1)=4.0, Hubbard_J(1,1)=0.0 / &electrons conv_thr = 1.1d-8 mixing_beta = 0.1 electron_maxstep = 3000 startingwfc = 'atomic+random' diagonalization = 'david' / &ions / ATOMIC_SPECIES Th 232.038 Th_sr.UPF O 15.9994 O_nr.UPF CELL_PARAMETERS bohr 5.2942567105814797 5.2942567105814797 0.0000000000000000 5.2942567105814797 0.0000000000000000 5.2942567105814797 0.0000000000000000 5.2942567105814797 5.2942567105814797 ATOMIC_POSITIONS crystal Th 0.0000000000 0.0000000000 0.0000000000 O 0.2500000000 0.2500000000 0.2500000000 O 0.7500000000 0.7500000000 0.7500000000 K_POINTS automatic 6 6 6 0 0 0 nscf.in &control calculation = 'nscf' prefix = 'system' pseudo_dir = '/home/my_directories/' outdir = './Out' wfcdir = 'undefined' wf_collect = .true. / &system ibrav = 0 nat = 3 ntyp = 2 noncolin = .true. lspinorb = .true. ecutwfc = 100 occupations = 'fixed' nspin = 1 nosym = .true. noinv = .true. nbnd = 300 lda_plus_u=.true., lda_plus_u_kind=1, Hubbard_U(1)=4.0, Hubbard_J(1,1)=0.0 / &electrons conv_thr = 1.1d-8 mixing_beta = 0.1 electron_maxstep = 3000 startingwfc = 'atomic+random' diagonalization = 'david' / &ions / ATOMIC_SPECIES Th 232.038 Th_fr.UPF O 15.9994 O_fr.UPF CELL_PARAMETERS bohr 5.2942567105814797 5.2942567105814797 0.0000000000000000 5.2942567105814797 0.0000000000000000 5.2942567105814797 0.0000000000000000 5.2942567105814797 5.2942567105814797 ATOMIC_POSITIONS crystal Th 0.0000000000 0.0000000000 0.0000000000 O 0.2500000000 0.2500000000 0.2500000000 O 0.7500000000 0.7500000000 0.7500000000 K_POINTS crystal 216 0.2083333333E-01 0.4166666667E-01 0.6250000000E-01 0.00462962963 0.2083333333E-01 0.4166666667E-01 0.2291666667E+00 0.00462962963 0.2083333333E-01 0.4166666667E-01 0.3958333333E+00 0.00462962963 By unpolarized case I meant the SCF run with noncolin=.false., lspinorb=.false., nspin=1 without LDA+U flags/settings. The NSCF run was with noncolin=.true., lspinorb=.true., nspin=1 without LDA+U flags/settings. Best regards, Sergei Butorin From: users [mailto:[email protected]] On Behalf Of Timrov Iurii Sent: Friday, 14 August 2020 11:42 To: Quantum ESPRESSO users Forum <[email protected]> Subject: Re: [QE-users] Error of read_scf routine while reading ldaU ns Dear Sergei, > posting the input files would not help much Well, for me it would help. Otherwise it is difficult/impossible to guess what exactly you are doing. For example, see my comments below. > I run NSCF with SOC after the SCF run without SOC in QE-6.3 compiled with > -D_OLDXML. It works well for the unpolarized case. This point is not clear to me. SOC can be used only when noncolin=.true., AFAIK. So how come you include SOC in the unpolarized case? > When I expand this unpolarized case to DFT+U calculations for SCF and > DFT+U+SOC for NSCF by adding U for one type of atoms, NSCF ends up with > error: ‘Error in routine read_scf (1): Reading ldaU ns’. DFT+U with SOC can be done only when noncolin=.true., and only when lda_plus_u_kind = 1. Are you using that? I wanted to see this from your input... > Where is the read_scf routine located? Are you familiar with Fortran programming and basic Unix commands? By doing "grep read_scf */*" in the QE root you will immediately find that read_scf is located in PW/src/io_rho_xml.f90 > Are ldaU ns (occupancies) written in the occup.txt file in the outdir > directory? ns is written to occup.txt, but it is located in the temporary directory (defined in your input via "outdir") > If so, how can the sequence of the numbers in that file be interpreted? Again, by using "grep" and the keyword "occup.txt" you will find that you should look in PW/src/io_rho_xml.f90 on lines 81-108 in QE 6.6 > What is the possible reason for this error? Without understanding what exactly you are doing (= looking at your input and output files), personally I cannot answer this question. HTH Greetings, Iurii -- Dr. Iurii Timrov Postdoctoral Researcher STI - IMX - THEOS and NCCR - MARVEL Swiss Federal Institute of Technology Lausanne (EPFL) CH-1015 Lausanne, Switzerland +41 21 69 34 881 http://people.epfl.ch/265334 ________________________________ From: users <[email protected]<mailto:[email protected]>> on behalf of Sergei Butorin <[email protected]<mailto:[email protected]>> Sent: Friday, August 14, 2020 11:13:23 AM To: Quantum ESPRESSO users Forum Subject: Re: [QE-users] Error of read_scf routine while reading ldaU ns Dear Iurii, As it turns out, posting the input files would not help much, because in the DFT+U case the noncolin flag leads to a change in the format of writing/reading of DFT+U occupations in the occup.txt file. It is unfortunate, since in my opinion, the noncolin format could be as well used for all other cases, thus making it unified. Therefore, tricks similar to ForceTheorem are no possible in the DFT+U case without changing the code. My guess, it would be easy for the person who programmed that because not so many changes are required while for me as an outsider, it would take some time to figure out all the dependencies in the code. Best regards, Sergei Butorin From: users [mailto:[email protected]] On Behalf Of Timrov Iurii Sent: Thursday, 13 August 2020 20:13 To: [email protected]<mailto:[email protected]> Subject: Re: [QE-users] Error of read_scf routine while reading ldaU ns Dear Sergei, Can you provide please the input files of your calculations? This will help us to understand better what is the problem. Greetings, Iurii -- Dr. Iurii Timrov Postdoctoral Researcher STI - IMX - THEOS and NCCR - MARVEL Swiss Federal Institute of Technology Lausanne (EPFL) CH-1015 Lausanne, Switzerland +41 21 69 34 881 http://people.epfl.ch/265334 ________________________________ From: users <[email protected]<mailto:[email protected]>> on behalf of Sergei Butorin <[email protected]<mailto:[email protected]>> Sent: Thursday, August 13, 2020 8:04:42 PM To: [email protected]<mailto:[email protected]> Subject: [QE-users] Error of read_scf routine while reading ldaU ns I run NSCF with SOC after the SCF run without SOC in QE-6.3 compiled with -D_OLDXML. It works well for the unpolarized case. When I expand this unpolarized case to DFT+U calculations for SCF and DFT+U+SOC for NSCF by adding U for one type of atoms, NSCF ends up with error: ‘Error in routine read_scf (1): Reading ldaU ns’. I guess my questions are rather for developers. Where is the read_scf routine located? Are ldaU ns (occupancies) written in the occup.txt file in the outdir directory? If so, how can the sequence of the numbers in that file be interpreted? What is the possible reason for this error? Best regards, Dr. Sergei Butorin Uppsala University Sweden När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy
_______________________________________________ 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
