[solved] The result not converge
Moderator: bguster
[solved] The result not converge
Hi,
I want to optimizae the supercell of BaTiO3, but it does not converge and I set the nstep 200. Can someone help me ?
And this is the .in file:
occopt 4
tsmear 0.04
acell 7.7833429999E+00 7.7833429999E+00 7.7833429999E+00
rprim 4.5 0 0
0 sqrt(2) 0
0 0 sqrt(2)
ntypat 3
znucl 56 22 8
natom 14
typat 1 1 1 1 2 2 3 3 3 3 3 3 3 3
xangst 0.000000000 0.000000000 0.000000000
0.000000000 2.821858368 2.834698466
3.999800000 0.000000000 0.000000000
3.999800000 2.821858368 2.834698466
1.999900000 2.834727678 0.000000000
1.999900000 -0.012869310 2.834698466
1.999900000 1.410929184 1.417349233
1.999900000 4.232787552 4.252047698
1.999900000 4.245656862 1.417349233
1.999900000 1.398059874 4.252047698
0.000000000 2.834727678 0.000000000
0.000000000 -0.012869310 2.834698466
3.999800000 2.834727678 0.000000000
3.999800000 -0.012869310 2.834698466
ecut 52
ixc -101130
ionmov 3
dilatmx 1.1
ntime 200
ecutsm 0.5
ngkpt 1 8 8
nshiftk 1
shiftk 0.5 0.5 0.5
nstep 200
toldfe 1.0d-5
Do I need to modify some parameters? or if some parameter I set is error ?
thank you .
I want to optimizae the supercell of BaTiO3, but it does not converge and I set the nstep 200. Can someone help me ?
And this is the .in file:
occopt 4
tsmear 0.04
acell 7.7833429999E+00 7.7833429999E+00 7.7833429999E+00
rprim 4.5 0 0
0 sqrt(2) 0
0 0 sqrt(2)
ntypat 3
znucl 56 22 8
natom 14
typat 1 1 1 1 2 2 3 3 3 3 3 3 3 3
xangst 0.000000000 0.000000000 0.000000000
0.000000000 2.821858368 2.834698466
3.999800000 0.000000000 0.000000000
3.999800000 2.821858368 2.834698466
1.999900000 2.834727678 0.000000000
1.999900000 -0.012869310 2.834698466
1.999900000 1.410929184 1.417349233
1.999900000 4.232787552 4.252047698
1.999900000 4.245656862 1.417349233
1.999900000 1.398059874 4.252047698
0.000000000 2.834727678 0.000000000
0.000000000 -0.012869310 2.834698466
3.999800000 2.834727678 0.000000000
3.999800000 -0.012869310 2.834698466
ecut 52
ixc -101130
ionmov 3
dilatmx 1.1
ntime 200
ecutsm 0.5
ngkpt 1 8 8
nshiftk 1
shiftk 0.5 0.5 0.5
nstep 200
toldfe 1.0d-5
Do I need to modify some parameters? or if some parameter I set is error ?
thank you .
Re: The result not converge
Hi Paul,
There could be several things at fault in the parameters. To properly diagnose the problem, it would be very useful if you posted your .log file. Then, I could suggest relevant solutions.
Jonathan
There could be several things at fault in the parameters. To properly diagnose the problem, it would be very useful if you posted your .log file. Then, I could suggest relevant solutions.
Jonathan
Re: The result not converge
Dear Jonathan,
I want to upload the log file, but it notices The extension is not allowed
why is it ?
I want to upload the log file, but it notices The extension is not allowed
why is it ?
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: The result not converge
Hello,
This is because the log file might be several Mbytes therefore it is forbidden to upload it. In any case, you can put post important parts of your log and out files so that we can help you.
David
This is because the log file might be several Mbytes therefore it is forbidden to upload it. In any case, you can put post important parts of your log and out files so that we can help you.
David
Re: The result not converge
Dear David,
The log file is just about 100 Kb, and it is forbidden to upload it either. Can I have your email to ask for your advice in private?
My email is gechaoyi@tju.edu.cn, also you can give me a mail, then I pass the files to you. Thanks ~
The log file is just about 100 Kb, and it is forbidden to upload it either. Can I have your email to ask for your advice in private?
My email is gechaoyi@tju.edu.cn, also you can give me a mail, then I pass the files to you. Thanks ~
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: The result not converge
Hello again,
If the file is small then just change it's name to something.out or something.in, so that you can upload it.
David
If the file is small then just change it's name to something.out or something.in, so that you can upload it.
David
Re: The result not converge
Dear David,
I upload the .out and the log files , it has run for 2 days and doesnot complete still, I hope for your help deeply.
In addition, because it needs too long time and it doesnot converge, I want to use the PAW pseudopotentials instead of
the Norm-conserving pseudopotentials, but it aslo has some errors. Can you help me for this ?
Please see the topic Ultra-soft pseudopotentials and atom relaxation in the module of Input file.
Thanks~
I upload the .out and the log files , it has run for 2 days and doesnot complete still, I hope for your help deeply.
In addition, because it needs too long time and it doesnot converge, I want to use the PAW pseudopotentials instead of
the Norm-conserving pseudopotentials, but it aslo has some errors. Can you help me for this ?
Please see the topic Ultra-soft pseudopotentials and atom relaxation in the module of Input file.
Thanks~
- Attachments
-
- BaTiO3.out
- (63.81 KiB) Downloaded 303 times
-
- BaTiO3.log
- (228.59 KiB) Downloaded 307 times
Re: The result not converge
Hi Paul,
I see you use
in your input file while you don't do any optimization of the primitive cell (optcell not present). I commented those, but they shouldn't be the source of the problem.
I successfully made a few steps that converged fast:
With the following input file:
Which basically differs from yours by a (too much) reduced ecut and ngkpt and a different functional (in my case, PBE). The reducing ecut and ngkpt, if anything, usually make the convergence poorer, so your values for these shouldn't be the problem. Therefore, it seems your problem rests in the choice of functional and/or the choice of pseudopotentials. For my test run, I used the GGA FHI pseudo potentials provided on the Abinit site :
http://www.abinit.org/downloads/psp-links/gga_fhi
I invite you to check the impact of the choice of alternates pseudos and functionals on the convergence of your calculation. By elimination, they must be the problem. I would personally begin by checking the pseudos, they appear to often be the source of the problem.
Good luck,
Jonathan
I see you use
Code: Select all
dilatmx 1.1
ecutsm 0.5
in your input file while you don't do any optimization of the primitive cell (optcell not present). I commented those, but they shouldn't be the source of the problem.
I successfully made a few steps that converged fast:
Code: Select all
bouboule:2011_11 jonathan$ grep ETOT BaTiO3.log
ETOT 1 -112.60374535991 -1.126E+02 2.078E-02 2.006E+04
ETOT 2 -123.63343433268 -1.103E+01 5.391E-03 2.068E+03
ETOT 3 -125.14748656741 -1.514E+00 5.247E-03 1.027E+03
ETOT 4 -125.29445939553 -1.470E-01 1.330E-03 6.844E+02
ETOT 5 -125.36533525844 -7.088E-02 4.740E-04 4.760E+02
ETOT 6 -125.42525980409 -5.992E-02 8.805E-04 2.661E+02
ETOT 7 -125.43849883981 -1.324E-02 9.290E-04 2.038E+02
ETOT 8 -125.45006167018 -1.156E-02 6.069E-04 1.376E+02
ETOT 9 -125.45438270799 -4.321E-03 5.971E-04 1.068E+02
ETOT 10 -125.45954981144 -5.167E-03 1.731E-04 6.220E+01
ETOT 11 -125.45953006497 1.975E-05 1.014E-04 6.189E+01
ETOT 12 -125.46004301979 -5.130E-04 1.508E-04 4.731E+01
ETOT 13 -125.46040431126 -3.613E-04 1.851E-04 4.161E+01
ETOT 14 -125.46060120620 -1.969E-04 2.211E-04 3.737E+01
ETOT 15 -125.46152462528 -9.234E-04 1.734E-03 9.689E+00
ETOT 16 -125.46146205522 6.257E-05 2.383E-04 1.277E+01
ETOT 17 -125.46145079391 1.126E-05 2.293E-04 1.355E+01
ETOT 18 -125.46145281115 -2.017E-06 3.603E-05 1.352E+01
ETOT 19 -125.46150207767 -4.927E-05 6.104E-05 1.179E+01
ETOT 20 -125.46119776583 3.043E-04 8.262E-06 1.946E+01
ETOT 21 -125.46122475197 -2.699E-05 8.762E-06 1.779E+01
ETOT 22 -125.46148875422 -2.640E-04 6.893E-06 6.763E+00
ETOT 23 -125.46142775084 6.100E-05 1.953E-06 8.949E+00
ETOT 24 -125.46164592060 -2.182E-04 1.152E-05 4.948E-01
ETOT 25 -125.46165329231 -7.372E-06 9.214E-05 2.994E-01
ETOT 26 -125.46164998431 3.308E-06 6.238E-05 3.672E-01
ETOT 1 -123.91411546787 -1.239E+02 6.416E-03 6.581E+03
ETOT 2 -125.54475962425 -1.631E+00 2.064E-03 8.114E+01
ETOT 3 -125.56275333421 -1.799E-02 3.241E-04 1.460E+02
ETOT 4 -125.56941224975 -6.659E-03 1.010E-04 1.038E+02
ETOT 5 -125.57574593925 -6.334E-03 1.781E-05 6.633E+01
ETOT 6 -125.57645246190 -7.065E-04 1.201E-05 5.915E+01
ETOT 7 -125.57708651923 -6.341E-04 2.311E-06 5.227E+01
ETOT 8 -125.57875529243 -1.669E-03 5.074E-06 3.303E+01
ETOT 9 -125.57895039385 -1.951E-04 1.460E-05 3.057E+01
ETOT 10 -125.57958988972 -6.395E-04 2.900E-06 2.087E+01
ETOT 11 -125.57973054685 -1.407E-04 1.013E-05 1.872E+01
ETOT 12 -125.57983348795 -1.029E-04 3.255E-06 1.637E+01
ETOT 13 -125.58023185132 -3.984E-04 1.872E-05 7.234E+00
ETOT 14 -125.58026532067 -3.347E-05 6.613E-05 6.544E+00
ETOT 15 -125.58021194799 5.337E-05 1.253E-05 7.491E+00
ETOT 16 -125.58023907334 -2.713E-05 4.108E-05 5.928E+00
ETOT 17 -125.58030026297 -6.119E-05 1.405E-05 4.095E+00
ETOT 18 -125.58024874653 5.152E-05 5.184E-06 5.199E+00
ETOT 19 -125.58032180929 -7.306E-05 2.084E-05 2.495E+00
ETOT 20 -125.58035693574 -3.513E-05 4.463E-05 1.262E+00
ETOT 21 -125.58036563921 -8.703E-06 1.462E-05 8.788E-01
ETOT 22 -125.58037870730 -1.307E-05 8.238E-05 1.787E-01
ETOT 23 -125.58037809589 6.114E-07 4.511E-06 2.065E-01
ETOT 24 -125.58038070184 -2.606E-06 2.099E-05 5.149E-02
With the following input file:
Code: Select all
occopt 4
tsmear 0.04
acell 7.7833429999E+00 7.7833429999E+00 7.7833429999E+00
rprim 4.5 0 0
0 sqrt(2) 0
0 0 sqrt(2)
ntypat 3
znucl 56 22 8
natom 14
typat 1 1 1 1 2 2 3 3 3 3 3 3 3 3
xangst 0.000000000 0.000000000 0.000000000
0.000000000 2.821858368 2.834698466
3.999800000 0.000000000 0.000000000
3.999800000 2.821858368 2.834698466
1.999900000 2.834727678 0.000000000
1.999900000 -0.012869310 2.834698466
1.999900000 1.410929184 1.417349233
1.999900000 4.232787552 4.252047698
1.999900000 4.245656862 1.417349233
1.999900000 1.398059874 4.252047698
0.000000000 2.834727678 0.000000000
0.000000000 -0.012869310 2.834698466
3.999800000 2.834727678 0.000000000
3.999800000 -0.012869310 2.834698466
ecut 5 #52
ixc 11 #-101130
ionmov 3
#dilatmx 1.1
ntime 200
#ecutsm 0.5
ngkpt 1 2 2 #1 8 8
nshiftk 1
shiftk 0.5 0.5 0.5
nstep 200
toldfe 1.0d-5
Which basically differs from yours by a (too much) reduced ecut and ngkpt and a different functional (in my case, PBE). The reducing ecut and ngkpt, if anything, usually make the convergence poorer, so your values for these shouldn't be the problem. Therefore, it seems your problem rests in the choice of functional and/or the choice of pseudopotentials. For my test run, I used the GGA FHI pseudo potentials provided on the Abinit site :
http://www.abinit.org/downloads/psp-links/gga_fhi
I invite you to check the impact of the choice of alternates pseudos and functionals on the convergence of your calculation. By elimination, they must be the problem. I would personally begin by checking the pseudos, they appear to often be the source of the problem.
Good luck,
Jonathan
Re: The result not converge
Dear Jonathan,
Thanks a lot for your advice, and I am testing it using the GGA-PBE functional.
I am waiting the result and it looks like well until now. Thanks again, and your
advice solves the problem bothering me several days.
Paul
Thanks a lot for your advice, and I am testing it using the GGA-PBE functional.
I am waiting the result and it looks like well until now. Thanks again, and your
advice solves the problem bothering me several days.
Paul
Re: The result not converge
Dear Jonathan,
I am so sorry that I have to touble you again. I take your advice to set the ixc 11, adopt the GGA-PBE functional and the GGA FHI pseudo potentials,
but in the every step of TIM_DEN calculation it can converge well, however, the whole TIM_DEN doesnot converge until it reaches 200 steps the ntime
sets 200. I really don't know what this is caused by, can you tell me?
In addition, there is another problem: the slab has 5 layers, and I fix the bulk atoms and relax the surfaces, however, the surface atoms are moving
so far that they are 10,000 times farther than the initial state in the result which it run 200 ntimes. This is my initial atomic positions and final ones.
And the red ones are the relaxing atoms. What makes it so?
inital
xangst 0.000000000 0.000000000 -0.000000000
0.000000000 0.000000000 4.034483750
0.000000000 0.000000000 8.068967500
2.017241875 2.017256270 2.017241875
2.017241875 2.017256270 6.051725625
2.017241875 0.000000000 2.017241875
2.017241875 0.000000000 6.051725625
0.000000000 2.017256270 2.017241875
0.000000000 2.017256270 6.051725625
2.017241875 2.017256270 -0.000000000
2.017241875 2.017256270 4.034483750
2.017241875 2.017256270 8.068967500
final
56 -4.0622193542E+01 1.6162404718E+02 1.6975396187E+03
56 -1.0859882939E-11 1.5307361795E-12 4.0344837500E+00
56 -4.0622193542E+01 1.6162404718E+02 -1.6894706512E+03
22 2.0172418750E+00 2.0172562700E+00 2.0172418750E+00
22 2.0172418750E+00 2.0172562700E+00 6.0517256250E+00
8 2.0172418750E+00 1.5306126591E-12 2.0172418750E+00
8 2.0172418750E+00 1.5308596999E-12 6.0517256250E+00
8 -1.0860006459E-11 2.0172562700E+00 2.0172418750E+00
8 -1.0859759418E-11 2.0172562700E+00 6.0517256250E+00
8 -6.0041420693E+01 -1.6075092406E+01 4.3391788423E+03
8 2.0172418750E+00 2.0172562700E+00 4.0344837500E+00
8 -6.0041420693E+01 -1.6075092406E+01 -4.3311098748E+03
Paul
I am so sorry that I have to touble you again. I take your advice to set the ixc 11, adopt the GGA-PBE functional and the GGA FHI pseudo potentials,
but in the every step of TIM_DEN calculation it can converge well, however, the whole TIM_DEN doesnot converge until it reaches 200 steps the ntime
sets 200. I really don't know what this is caused by, can you tell me?
In addition, there is another problem: the slab has 5 layers, and I fix the bulk atoms and relax the surfaces, however, the surface atoms are moving
so far that they are 10,000 times farther than the initial state in the result which it run 200 ntimes. This is my initial atomic positions and final ones.
And the red ones are the relaxing atoms. What makes it so?
inital
xangst 0.000000000 0.000000000 -0.000000000
0.000000000 0.000000000 4.034483750
0.000000000 0.000000000 8.068967500
2.017241875 2.017256270 2.017241875
2.017241875 2.017256270 6.051725625
2.017241875 0.000000000 2.017241875
2.017241875 0.000000000 6.051725625
0.000000000 2.017256270 2.017241875
0.000000000 2.017256270 6.051725625
2.017241875 2.017256270 -0.000000000
2.017241875 2.017256270 4.034483750
2.017241875 2.017256270 8.068967500
final
56 -4.0622193542E+01 1.6162404718E+02 1.6975396187E+03
56 -1.0859882939E-11 1.5307361795E-12 4.0344837500E+00
56 -4.0622193542E+01 1.6162404718E+02 -1.6894706512E+03
22 2.0172418750E+00 2.0172562700E+00 2.0172418750E+00
22 2.0172418750E+00 2.0172562700E+00 6.0517256250E+00
8 2.0172418750E+00 1.5306126591E-12 2.0172418750E+00
8 2.0172418750E+00 1.5308596999E-12 6.0517256250E+00
8 -1.0860006459E-11 2.0172562700E+00 2.0172418750E+00
8 -1.0859759418E-11 2.0172562700E+00 6.0517256250E+00
8 -6.0041420693E+01 -1.6075092406E+01 4.3391788423E+03
8 2.0172418750E+00 2.0172562700E+00 4.0344837500E+00
8 -6.0041420693E+01 -1.6075092406E+01 -4.3311098748E+03
Paul
Re: The result not converge
Yes, I've seen that kind of behavior before. To begin with, I notice you don't define explicitely the tolerance you want on the forces at the end of the relaxation (tolmxf). That's not the source of your current problem, since the default value of 5.0d-5 is reasonable, but you should write it down in your input just to remember it can be adjusted (loosened for tests, for instance).
Now, I think the problem comes from that you set a tolerance on the total energy for the SCF cycles:
which can correspond to a tolerance on the calculation of forces (toldff) much worse than the default valut for tolmxf. What this means is that the uncertainty on the calculated forces (toldff) is orders of magnitude worse than the maximum residual forces you want at the end of your relaxation (tolmxf). In that context, your atomic displacement in the relaxation will essentially be random. When Abinit sees this, it will eventually try to explore configurations far from the ones it has already tried, e.g. your system explodes, hence the absurd final coordinates you've obtained.
So, choose a tolmxf (default is fine) and replace your toldfe by a toldff about 50 times smaller than your tolmxf:
Good luck,
Jonathan
Code: Select all
tolmxf 5.0d-5
Now, I think the problem comes from that you set a tolerance on the total energy for the SCF cycles:
Code: Select all
toldfe 1.0d-5
which can correspond to a tolerance on the calculation of forces (toldff) much worse than the default valut for tolmxf. What this means is that the uncertainty on the calculated forces (toldff) is orders of magnitude worse than the maximum residual forces you want at the end of your relaxation (tolmxf). In that context, your atomic displacement in the relaxation will essentially be random. When Abinit sees this, it will eventually try to explore configurations far from the ones it has already tried, e.g. your system explodes, hence the absurd final coordinates you've obtained.
So, choose a tolmxf (default is fine) and replace your toldfe by a toldff about 50 times smaller than your tolmxf:
Code: Select all
tolmxf 5.0d-5
toldff 1.0d-6
Good luck,
Jonathan
Re: The result not converge
Dear Jonathan,
I modify the .in file as what you say, and the result is much better now, however the surface atoms is also 14 angstrom far away from the second layer.
I think it is unreasonable either. What's your opinion on this?
Paul
I modify the .in file as what you say, and the result is much better now, however the surface atoms is also 14 angstrom far away from the second layer.
I think it is unreasonable either. What's your opinion on this?
Paul
Re: The result not converge
Dear Jonathan,
I have known the reason because of the periodic boundary condition. And the atoms which is far away from the others are the next supercell surface.
Thank you for your recent help~
Paul
I have known the reason because of the periodic boundary condition. And the atoms which is far away from the others are the next supercell surface.
Thank you for your recent help~
Paul
Re: The result not converge
Good luck with your calculations, then!
Jonathan
Jonathan