[QE-users] Calculating U parameter for Ni in LiNiO2 using hp.x

Timrov Iurii iurii.timrov at epfl.ch
Thu Oct 22 10:40:48 CEST 2020


Dear Mohammad,


> Is it related to the diagonalization algorithm?


No


The problem is in the postprocessing step of the HP calculation. In your calculation you perturbed only one Ni atom, and then the HP code tries to reconstruct the whole response matrix chi [see Eq. (21) in PRB 98, 085127 (2018)] using the data for the perturbed Ni atom and by comparing interatomic distances between Ni atoms. The problem is that the interatomic distances variations are larger than the hardcoded threshold of 6.d-4 Bohr. So there are two possible solutions:

  1.  Better relax the structure. Which convergence thresholds for energy and forces did you use (etot_conv_thr and forc_conv_thr)? Try to reduce these thresholds. In your current DFT+U-relaxed structure I think that the atomic positions (in particular of Ni atoms) are not very accurate, and hence the Ni-Ni distances have large variations, and hence the HP code stops. In fact, if you perform the HP calculation without specifying "perturb_only_atom(1) = .true." I think that the code will detect that more than one Ni atom must be perturbed.
  2.  Adjust the parameter eps_dist in PW/src/ldaU.f90 to a larger value (I think in your case the value of 4.d-3 Bohr should be fine, based on your data, but please check), recompile the pw.x and hp.x codes, and re-run the last step of the HP calculation using "hp_compute_hp.in".

The second solution is faster but maybe less accurate. The first solution is longer but more accurate.

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 <users-bounces at lists.quantum-espresso.org> on behalf of Mohammad Moaddeli <mohammad.moaddeli at gmail.com>
Sent: Wednesday, October 21, 2020 7:28:29 PM
To: Quantum ESPRESSO users Forum
Subject: Re: [QE-users] Calculating U parameter for Ni in LiNiO2 using hp.x

Dear Iurii,

I appreciate all your considerations. I could handle the HP run and the U parameter for Ni is calculated. Based on your suggestions on pw_forum, all atomic positions were fully relaxed with the new U parameter in order to perform a self-consistent loop calculation and compute the U parameter again until no meaningful difference between two consecutive computed "U"s was observed. Since I encountered the " problems computing cholesky " error, PARO diagonalization was used. Although hp.x went well for all q points, there was an error in computing U. Is it related to the diagonalization algorithm?

Order of calculations:
=---------------------------------------------------------------------------------=
pw.x -input scf.in<http://scf.in> > scf.out
hp.x -input hp1.in<http://hp1.in> > hp1.out   # for q point number 1
hp.x -input hp2.in<http://hp2.in> > hp2.out
hp.x -input hp3.in<http://hp3.in> > hp3.out
hp.x -input hp4.in<http://hp4.in> > hp4.out
hp.x -input hp_sum.in<http://hp_sum.in> > hp_sum.out
hp.x -input hp_compute_hp.in<http://hp_compute_hp.in> > hp_compute_hp.out
=---------------------------------------------------------------------------------=

A google drive link is provided as following:
https://drive.google.com/file/d/1SCNNOfcJGZPAM4gpgXThkTvsibv-ijNv/view?usp=sharing

With best regards,

Mohammad
ShirazU



On Tue, Oct 13, 2020 at 2:32 PM Timrov Iurii <iurii.timrov at epfl.ch<mailto:iurii.timrov at epfl.ch>> wrote:

Dear Mohammad,


> There are 4 q points in hp.out:


Ok. I was looking at the old files that you shared and there were 6 q points. Probably you have changed something in your PW input, and now you have more symmetries and hence fewer q points.


To solve the convergence problem for the q point #4 I suggest to use conv_thr_chi = 3.0d-5 instead of conv_thr_chi = 1.0d-5. Indeed, the residue for q#4 is below 3.d-5 after 25 iterations:


      atom #  1   q point #   4   iter #  25
      chi:   1  -0.0982377516   residue:    0.0000065024
      chi:   2  -0.0000089671   residue:    0.0000205352
      chi:   3  -0.0000484762   residue:    0.0000067400
      chi:   4  -0.0000000000   residue:    0.0000000000
      chi:   5  -0.0000333051   residue:    0.0000117502
      chi:   6  -0.0000089671   residue:    0.0000205352
      chi:   7   0.0032070938   residue:    0.0000015134
      chi:   8  -0.0000089671   residue:    0.0000205352
      chi:   9  -0.0000333051   residue:    0.0000117502
      chi:  10   0.0000000000   residue:    0.0000000000
      chi:  11  -0.0000484762   residue:    0.0000067400
      chi:  12  -0.0000089671   residue:    0.0000205352
      Average number of iter. to solve lin. system:   30.0
      Total CPU time : 85250.2 s


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 <users-bounces at lists.quantum-espresso.org<mailto:users-bounces at lists.quantum-espresso.org>> on behalf of Mohammad Moaddeli <mohammad.moaddeli at gmail.com<mailto:mohammad.moaddeli at gmail.com>>
Sent: Tuesday, October 13, 2020 11:29:57 AM
To: Quantum ESPRESSO users Forum
Subject: Re: [QE-users] Calculating U parameter for Ni in LiNiO2 using hp.x

Dear Iurii,

Thanks for your prompt reply.

A google drive link is provided:
https://drive.google.com/file/d/1-wXwPi5t4gSRBAilDT0ym5vOK8vxosif/view?usp=sharing

There are 4 q points in hp.out:
=-----------------------------------------------------------------
.
.
.
     The grid of q-points ( 2, 2, 2)  (  4 q-points ) :
       N       xq(1)         xq(2)         xq(3)       wq
       1   0.000000000   0.000000000   0.000000000   0.125000000
       2   0.000000000   0.000000000  -0.202041221   0.125000000
       3   0.000000000  -0.577350269   0.000000000   0.375000000
       4   0.000000000  -0.577350269  -0.202041221   0.375000000
=-----------------------------------------------------------------

Best,

Mohammad
ShirazU

On Tue, Oct 13, 2020 at 12:21 PM Timrov Iurii <iurii.timrov at epfl.ch<mailto:iurii.timrov at epfl.ch>> wrote:

Dear Mohammad,


> Based on your recommendations, everything went well for q point #3. However, q point #4 did not converge. Required converging iterations from q point #1 to 3 is as following: 45 iterations for q1, 63 iterations for q2, and 51 iterations for q3. q4 did not converge after 196 iterations. It took 6 days. Finally I stopped hp.x because of fluctuation in "residue" for "chi".


Did you use conv_thr_chi = 1.0d-5 and alpha_mix(1)= 0.05 for q#4 ? Can you share your input and output files (PW and HP) via Google Drive?


> Is it possible and reasonable to run hp.x for q point #1, 2, and 3 separately and use sum_pertq=.true. as well as start_q=1, last_q=3, and perturb_only_atom(1)=.true. to calculate the U parameter? (There are totally 4 q points)


I do not understand what you want to do. But I can tell that you cannot use sum_pertq=.true. if you do not have all calculations for all q points done (there are 6 q points in your case, not 4):


The grid of q-points ( 2, 2, 2)  (  6 q-points ) :
       N       xq(1)         xq(2)         xq(3)       wq
       1   0.000000000   0.000000000   0.000000000   0.125000000
       2   1.747932183   1.009169115  -0.353154352   0.125000000
       3  -0.000000002  -1.009169115  -0.176577175   0.250000000
       4   1.747932182   0.000000000  -0.529731527   0.250000000
       5  -0.873966092  -0.504584557  -0.353154351   0.125000000
       6   0.873966092   0.504584557  -0.706308703   0.125000000


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 <users-bounces at lists.quantum-espresso.org<mailto:users-bounces at lists.quantum-espresso.org>> on behalf of Mohammad Moaddeli <mohammad.moaddeli at gmail.com<mailto:mohammad.moaddeli at gmail.com>>
Sent: Tuesday, October 13, 2020 8:25:12 AM
To: Quantum ESPRESSO users Forum
Subject: Re: [QE-users] Calculating U parameter for Ni in LiNiO2 using hp.x

Dear Iurii,

Based on your recommendations, everything went well for q point #3. However, q point #4 did not converge. Required converging iterations from q point #1 to 3 is as following: 45 iterations for q1, 63 iterations for q2, and 51 iterations for q3. q4 did not converge after 196 iterations. It took 6 days. Finally I stopped hp.x because of fluctuation in "residue" for "chi".

Is it possible and reasonable to run hp.x for q point #1, 2, and 3 separately and use sum_pertq=.true. as well as start_q=1, last_q=3, and perturb_only_atom(1)=.true. to calculate the U parameter? (There are totally 4 q points)

alpha_mix is also reduced down to 0.01 as another alternative. It is still running...

Any help will be greatly appreciated

Best,

Mohammad
ShirazU

On Fri, Sep 18, 2020 at 6:24 PM Timrov Iurii <iurii.timrov at epfl.ch<mailto:iurii.timrov at epfl.ch>> wrote:

Dear Mohammad,


Your system seems to be delicate to converge. So I found that the mixing parameter alpha_mix needs to be reduce further, down to 0.05 (which is very small). With this, you can converge the HP calculation for the third q point with the accuracy conv_thr_chi = 1.0d-5 (which is still fine).


By the way, if you want to test the convergence of the HP code for a specific q point, you can use the input parameters start_q and last_q and specify for which perturbed atom you do this. In your case, you need to specify the following in the input for HP:

   perturb_only_atom(1) = .true.
   start_q = 3
   last_q  = 3
Here is the documentation: https://www.quantum-espresso.org/Doc/INPUT_HP.html
Also, when using iverbosity = 4 the HP code prints a lot of information in the output. This is not really needed in this case. I would use iverbosity = 2.


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 <users-bounces at lists.quantum-espresso.org<mailto:users-bounces at lists.quantum-espresso.org>> on behalf of Mohammad Moaddeli <mohammad.moaddeli at gmail.com<mailto:mohammad.moaddeli at gmail.com>>
Sent: Friday, September 18, 2020 6:14:48 AM
To: Quantum ESPRESSO users Forum
Subject: Re: [QE-users] Calculating U parameter for Ni in LiNiO2 using hp.x

Dear Iurii,

Unfortunately the q pont #3 did not converge. All input and output files are available in this link:

https://drive.google.com/file/d/1zWoYq3kfBfH-6bw8s5llDm-BYFxM3ndQ/view?usp=sharing

Any help will be greatly appreciated.

Regards,

Mohammad

On Wed, Sep 16, 2020 at 1:00 PM Timrov Iurii <iurii.timrov at epfl.ch<mailto:iurii.timrov at epfl.ch>> wrote:

Dear Mohammad,


> By changing the threshold values you mentioned, nscf calculation finished (no "cholesky" error)...


Great!


> ...but there is divergence in computing "chi".


The HP calculation for q points #1 and #2 has converged, but the problem is for the q point #3. In the HP input, please setup

alpha_mix(1) = 0.1

and try again.

Also I suggest to use the default value nmix = 4, because I have never tried changing it to something else (you are using nmix=5) and so I do not know what to expect.

Also note that the parameter conv_thr_chi = 1.0d-8 is very tight, so can try even something like conv_thr_chi = 1.0d-6 which should also be fine (because your calculations take a lot of time with 16 cores that you use).


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 <users-bounces at lists.quantum-espresso.org<mailto:users-bounces at lists.quantum-espresso.org>> on behalf of Mohammad Moaddeli <mohammad.moaddeli at gmail.com<mailto:mohammad.moaddeli at gmail.com>>
Sent: Wednesday, September 16, 2020 7:21:53 AM
To: Quantum ESPRESSO users Forum
Subject: Re: [QE-users] Calculating U parameter for Ni in LiNiO2 using hp.x

Dear Iurii,

By changing the threshold values you mentioned, nscf calculation finished (no "cholesky" error), but there is divergence in computing "chi". Please find the link below. All input and output files are attached.

https://drive.google.com/file/d/1TWDQ3X_jG7HsgaVvhUiu3oVWt28g3DNz/view?usp=sharing

Best,

Mohammad

ShirazU


On Sun, Sep 13, 2020 at 2:13 PM Timrov Iurii <iurii.timrov at epfl.ch<mailto:iurii.timrov at epfl.ch>> wrote:

Dear Mohammad,


1.In the SCF input for the supercell you have:

conv_thr = 1.0d-20

This is extremely low! Try some value in-between 1.0d-10 and 1.d-15.


2.In the HP input for the supercell you have:

ethr_nscf = 1.D-14

This is also extremely low! Try the default value of 1.0d-11.


If you still have a problem when using e.g. conv_thr=1.d-10 and ethr_nscf=1.d-11 then please put input and output files on Google Drive or Dropbox and send a link to us (do not forget to check the permissions of the shared folder).


HTH


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 <users-bounces at lists.quantum-espresso.org<mailto:users-bounces at lists.quantum-espresso.org>> on behalf of Mohammad Moaddeli <mohammad.moaddeli at gmail.com<mailto:mohammad.moaddeli at gmail.com>>
Sent: Sunday, September 13, 2020 6:12:27 AM
To: Quantum ESPRESSO users Forum
Subject: Re: [QE-users] Calculating U parameter for Ni in LiNiO2 using hp.x

Dear Lorenzo,

Thank you for your prompt reply.
Using qe_6.6 (in which calculating force and stress is implemented) the 221 supercell relaxed with the U obtained from the output of hp.x for the primitive cell, but the same error appeared. What do you recommend?

Best,

Mohammad,

ShirazU

On Mon, Sep 7, 2020 at 12:07 PM Lorenzo Paulatto <paulatz at gmail.com<mailto:paulatz at gmail.com>> wrote:
 > I am trying to calculate the U parameter for Ni in LiNiO2. The hp.x
 > (qe_6.5) runs without any error for the primitive cell, however the
 > "problems computing cholesky" error occurs for running a 2×2×1 supercell

The most likely cause is that you did a mistake in the atomic position
or cell size.

kind regards



--
Lorenzo Paulatto - Paris
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso<http://www.max-centre.eu/quantum-espresso>)
users mailing list users at lists.quantum-espresso.org<mailto:users at lists.quantum-espresso.org>
https://lists.quantum-espresso.org/mailman/listinfo/users
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso<http://www.max-centre.eu/quantum-espresso>)
users mailing list users at lists.quantum-espresso.org<mailto:users at lists.quantum-espresso.org>
https://lists.quantum-espresso.org/mailman/listinfo/users
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso<http://www.max-centre.eu/quantum-espresso>)
users mailing list users at lists.quantum-espresso.org<mailto:users at lists.quantum-espresso.org>
https://lists.quantum-espresso.org/mailman/listinfo/users
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso<http://www.max-centre.eu/quantum-espresso>)
users mailing list users at lists.quantum-espresso.org<mailto:users at lists.quantum-espresso.org>
https://lists.quantum-espresso.org/mailman/listinfo/users
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu<http://www.max-centre.eu>)
users mailing list users at lists.quantum-espresso.org<mailto:users at lists.quantum-espresso.org>
https://lists.quantum-espresso.org/mailman/listinfo/users
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu<http://www.max-centre.eu>)
users mailing list users at lists.quantum-espresso.org<mailto:users at lists.quantum-espresso.org>
https://lists.quantum-espresso.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20201022/ddf61092/attachment.html>


More information about the users mailing list