No convergence when dipole correction is switched on.
Moderators: Global Moderator, Moderator
- Lian
- Newbie
- Posts: 12
- Joined: Thu Apr 25, 2013 3:04 pm
- Location: Mons, Belgium
No convergence when dipole correction is switched on.
Dear VASPers.
I encounter a problem. I have a graphene slab with 84 carbon atoms and 6 H atoms adsorbed on the surface. I performed a first ionic relaxation with LDIPOL=FALSE to make the calculation faster, and the convergence is reached after several days. But when I switch on the dipole correction (only LDIPOL is set to TRUE, nothing else has changed in POSCAR) and restart from CONTCAR of previous step, the convergence is never reached. Obviously, I checked the CONTCAR file and I found nothing weird.
Below is the INCAR file I used for LDIPOL=FALSE:
SYSTEM = Graphene
IBRION = 2
ISTART = 0
ICHARG = 2
ISIF = 0
ISYM = 2
GGA = PE
LVDW = .TRUE. ## ADD VDW INTERACTION
VDW_RADIUS = 30.0 ## CUTOFF RADIUS (Ang) FOR PAIR INTERACTIONS
VDW_SCALING = 0.75 ## GLOBAL SCALING FACTOR FOR PBE
VDW_D = 20.0 ## DAMPING PARAMETER
VDW_C6 = 1.75 0.14 ## C6 PARAMETER (Jnm^6mol^-1) FOR C,H
VDW_R0 = 1.452 1.001 ## R0 PARAMETER (Ang) FOR C,H
ISPIN = 2
NUPDOWN = -1
PREC = Normal
ENCUT = 400
EDIFFG = -0.02
POTIM = 0.02
SMASS = 0.4
NSW = 9999
EDIFF = 1E-05
NELMIN = 4
NELM = 200
ALGO = Fast
LREAL = .FALSE.
#IALGO = 38
LDIAG = .TRUE.
LPLANE = .TRUE.
NSIM = 4
NPAR = 4
EMIN = -10.0
EMAX = 10.0
NEDOS = 2001
LORBIT = 11
ISMEAR = 1
SIGMA = 0.2
LDIPOL = .FALSE.
IDIPOL = 3
I tried with different algorithms (IALGO=38, ALGO=Fast, etc.) and/or used the real space projection (LREAL). The convergence is never reached for the dipole-corrected relaxation.
Does someone know why and what to do?
Thanks for you attention.
Yan
I encounter a problem. I have a graphene slab with 84 carbon atoms and 6 H atoms adsorbed on the surface. I performed a first ionic relaxation with LDIPOL=FALSE to make the calculation faster, and the convergence is reached after several days. But when I switch on the dipole correction (only LDIPOL is set to TRUE, nothing else has changed in POSCAR) and restart from CONTCAR of previous step, the convergence is never reached. Obviously, I checked the CONTCAR file and I found nothing weird.
Below is the INCAR file I used for LDIPOL=FALSE:
SYSTEM = Graphene
IBRION = 2
ISTART = 0
ICHARG = 2
ISIF = 0
ISYM = 2
GGA = PE
LVDW = .TRUE. ## ADD VDW INTERACTION
VDW_RADIUS = 30.0 ## CUTOFF RADIUS (Ang) FOR PAIR INTERACTIONS
VDW_SCALING = 0.75 ## GLOBAL SCALING FACTOR FOR PBE
VDW_D = 20.0 ## DAMPING PARAMETER
VDW_C6 = 1.75 0.14 ## C6 PARAMETER (Jnm^6mol^-1) FOR C,H
VDW_R0 = 1.452 1.001 ## R0 PARAMETER (Ang) FOR C,H
ISPIN = 2
NUPDOWN = -1
PREC = Normal
ENCUT = 400
EDIFFG = -0.02
POTIM = 0.02
SMASS = 0.4
NSW = 9999
EDIFF = 1E-05
NELMIN = 4
NELM = 200
ALGO = Fast
LREAL = .FALSE.
#IALGO = 38
LDIAG = .TRUE.
LPLANE = .TRUE.
NSIM = 4
NPAR = 4
EMIN = -10.0
EMAX = 10.0
NEDOS = 2001
LORBIT = 11
ISMEAR = 1
SIGMA = 0.2
LDIPOL = .FALSE.
IDIPOL = 3
I tried with different algorithms (IALGO=38, ALGO=Fast, etc.) and/or used the real space projection (LREAL). The convergence is never reached for the dipole-corrected relaxation.
Does someone know why and what to do?
Thanks for you attention.
Yan
Last edited by Lian on Thu May 23, 2013 4:08 pm, edited 1 time in total.
- kzhuo3
- Newbie
- Posts: 21
- Joined: Fri Jun 04, 2010 3:45 pm
- Location: Atlanta, GA
No convergence when dipole correction is switched on.
The problem might be with your POSCAR.
I noticed that for 2D systems, if your slab is in the CENTER of the unit/super cell and you then set LDIPOL = .TRUE. and IDIPOL = 3, vasp will never converge.
However, if you place the slab at the BOTTOM of the unit/super cell, then vasp should converge with LDIPOL = .TRUE. and IDIPOL = 3.
Here are 2 examples for comparison (notice the difference in z-coordinates):
==========
EXAMPLE 1: I COULD GET CONVERGENCE WITH THIS
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.1000000000000000
0.3333333333333357 0.6666666666666643 -0.1000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.3333333333333357 0.6666666666666643 0.1500000000000000
0.6666666666666643 0.3333333333333357 -0.1500000000000000
============
==========
EXAMPLE 2: THIS IS BAD AND MAKES VASP GO CRAZY (UNLESS YOU DON'T USE IDIPOL AND LDIPOL)
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.4000000000000000
0.3333333333333357 0.6666666666666643 0.6000000000000000
0.0000000000000000 0.0000000000000000 0.5000000000000000
0.3333333333333357 0.6666666666666643 0.6500000000000000
0.6666666666666643 0.3333333333333357 0.3500000000000000
============
I used the same INCAR for both calculations
=================
#general
ISTART = 0
ICHARG = 2 # default for fresh start is 2, DOS or BS use 11
ISMEAR = 0; SIGMA = 0.05;
LREAL = FALSE
PREC = MED
NGX = 22
NGY = 22
NGZ = 88
#electronic and ionic relaxation
IALGO = 48
IBRION = 2 # IONIC RELAXATION METHOD, 1 FOR NEWTON, 2 FOR CONJ GRAD
ISIF = 2 # CAN/CANNOT CHANGE CELL SHAPE, 2 FOR NO CHANGE
NSW = 1000 # no. of ionic relaxation steps
# how to split job, should use sqrt no. of cores except when getting DOS
NPAR = 4
# dipole corrections
LDIPOL = .TRUE.
IDIPOL = 3
# choose what outputs to have
LWAVE = .FALSE.
LCHARG = .TRUE.
LVTOT = .FALSE.
=================
Hope this might work for you.
You could also try setting DIPOL = 0.5 0.5 0.5 if you insist on putting your slab in the center of the cell but I'm not so sure about it.
http://cms.mpi.univie.ac.at/vasp/vasp/D ... _only.html
<span class='smallblacktext'>[ Edited Wed Jun 05 2013, 10:37AM ]</span>
I noticed that for 2D systems, if your slab is in the CENTER of the unit/super cell and you then set LDIPOL = .TRUE. and IDIPOL = 3, vasp will never converge.
However, if you place the slab at the BOTTOM of the unit/super cell, then vasp should converge with LDIPOL = .TRUE. and IDIPOL = 3.
Here are 2 examples for comparison (notice the difference in z-coordinates):
==========
EXAMPLE 1: I COULD GET CONVERGENCE WITH THIS
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.1000000000000000
0.3333333333333357 0.6666666666666643 -0.1000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.3333333333333357 0.6666666666666643 0.1500000000000000
0.6666666666666643 0.3333333333333357 -0.1500000000000000
============
==========
EXAMPLE 2: THIS IS BAD AND MAKES VASP GO CRAZY (UNLESS YOU DON'T USE IDIPOL AND LDIPOL)
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.4000000000000000
0.3333333333333357 0.6666666666666643 0.6000000000000000
0.0000000000000000 0.0000000000000000 0.5000000000000000
0.3333333333333357 0.6666666666666643 0.6500000000000000
0.6666666666666643 0.3333333333333357 0.3500000000000000
============
I used the same INCAR for both calculations
=================
#general
ISTART = 0
ICHARG = 2 # default for fresh start is 2, DOS or BS use 11
ISMEAR = 0; SIGMA = 0.05;
LREAL = FALSE
PREC = MED
NGX = 22
NGY = 22
NGZ = 88
#electronic and ionic relaxation
IALGO = 48
IBRION = 2 # IONIC RELAXATION METHOD, 1 FOR NEWTON, 2 FOR CONJ GRAD
ISIF = 2 # CAN/CANNOT CHANGE CELL SHAPE, 2 FOR NO CHANGE
NSW = 1000 # no. of ionic relaxation steps
# how to split job, should use sqrt no. of cores except when getting DOS
NPAR = 4
# dipole corrections
LDIPOL = .TRUE.
IDIPOL = 3
# choose what outputs to have
LWAVE = .FALSE.
LCHARG = .TRUE.
LVTOT = .FALSE.
=================
Hope this might work for you.
You could also try setting DIPOL = 0.5 0.5 0.5 if you insist on putting your slab in the center of the cell but I'm not so sure about it.
http://cms.mpi.univie.ac.at/vasp/vasp/D ... _only.html
<span class='smallblacktext'>[ Edited Wed Jun 05 2013, 10:37AM ]</span>
Last edited by kzhuo3 on Tue Jun 04, 2013 10:32 am, edited 1 time in total.
- Lian
- Newbie
- Posts: 12
- Joined: Thu Apr 25, 2013 3:04 pm
- Location: Mons, Belgium
No convergence when dipole correction is switched on.
Dear Kzhuo3.
First, thank you for you reply.
Are you sure of your POSCAR files? The first and second z positions in example 1 does not correspond to those in example 2 (considering a translation of 0.5 in the z direction); the order is inverted. Maybe the madness came from that.
Anyway, I will try with putting every positions at the bottom, and also perform another calculation with DIPOL tag.
I will keep you informed about the progress.
Once again. Thanks a lot.
<span class='smallblacktext'>[ Edited Fri Jun 07 2013, 10:05AM ]</span>
First, thank you for you reply.
Are you sure of your POSCAR files? The first and second z positions in example 1 does not correspond to those in example 2 (considering a translation of 0.5 in the z direction); the order is inverted. Maybe the madness came from that.
Anyway, I will try with putting every positions at the bottom, and also perform another calculation with DIPOL tag.
I will keep you informed about the progress.
Once again. Thanks a lot.
<span class='smallblacktext'>[ Edited Fri Jun 07 2013, 10:05AM ]</span>
Last edited by Lian on Fri Jun 07, 2013 10:04 am, edited 1 time in total.
- kzhuo3
- Newbie
- Posts: 21
- Joined: Fri Jun 04, 2010 3:45 pm
- Location: Atlanta, GA
No convergence when dipole correction is switched on.
You're right, there is a small typo.
Let me rewrite the 2 POSCARs that I tried just to be clear.
However, my findings are still the same. Somehow VASP can't do dipole corrections if you put your slab in the center of the unit cell so try putting it at the bottom or at least a fair distance off center.
This worked for me but let us know if this also works for you.
==========
EXAMPLE 1: I COULD GET CONVERGENCE WITH THIS
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.1000000000000000
0.3333333333333357 0.6666666666666643 -0.1000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.3333333333333357 0.6666666666666643 0.1500000000000000
0.6666666666666643 0.3333333333333357 -0.1500000000000000
============
==========
EXAMPLE 2: THIS IS BAD AND MAKES VASP GO CRAZY (UNLESS YOU DON'T USE IDIPOL AND LDIPOL)
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.6000000000000000
0.3333333333333357 0.6666666666666643 0.4000000000000000
0.0000000000000000 0.0000000000000000 0.5000000000000000
0.3333333333333357 0.6666666666666643 0.6500000000000000
0.6666666666666643 0.3333333333333357 0.3500000000000000
============
Let me rewrite the 2 POSCARs that I tried just to be clear.
However, my findings are still the same. Somehow VASP can't do dipole corrections if you put your slab in the center of the unit cell so try putting it at the bottom or at least a fair distance off center.
This worked for me but let us know if this also works for you.
==========
EXAMPLE 1: I COULD GET CONVERGENCE WITH THIS
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.1000000000000000
0.3333333333333357 0.6666666666666643 -0.1000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.3333333333333357 0.6666666666666643 0.1500000000000000
0.6666666666666643 0.3333333333333357 -0.1500000000000000
============
==========
EXAMPLE 2: THIS IS BAD AND MAKES VASP GO CRAZY (UNLESS YOU DON'T USE IDIPOL AND LDIPOL)
==========
Ti2CO2
3.03000000000000
1.0000000000000000 0.0000000000000000 0.0000000000000000
-0.5000000000000000 0.8660254037843997 0.0000000000000000
0.0000000000000000 0.0000000000000000 4.3548387096700001
Ti C O
2 1 2
Direct
0.6666666666666643 0.3333333333333357 0.6000000000000000
0.3333333333333357 0.6666666666666643 0.4000000000000000
0.0000000000000000 0.0000000000000000 0.5000000000000000
0.3333333333333357 0.6666666666666643 0.6500000000000000
0.6666666666666643 0.3333333333333357 0.3500000000000000
============
Last edited by kzhuo3 on Sat Jun 08, 2013 6:08 am, edited 1 time in total.
- Lian
- Newbie
- Posts: 12
- Joined: Thu Apr 25, 2013 3:04 pm
- Location: Mons, Belgium
No convergence when dipole correction is switched on.
Dear Kzhuo3.
You were right. I translated my slab to the bottom of the supercell and the minimization rapidly converged (finally^^)
But do you have an idea of why it is like this? The distance between the slab and its first image neighbor is the same in both cases (at the center or at the bottom).
Do you think there is something to do with the grid mesh which samples the charge density; different z-position of the slab leads to different sampling of the charge density?
I also tried to set DIPOL to (0.5 0.5 0.5) and the minimization of the slab still at the center of the cell converged as well. Indeed, the manual says that DIPOL tag must be set to the center of mass for surfaces and isolated molecules. But I do not understand what it does, exactly. Could you explain me?
Best regards.
Lian
You were right. I translated my slab to the bottom of the supercell and the minimization rapidly converged (finally^^)
But do you have an idea of why it is like this? The distance between the slab and its first image neighbor is the same in both cases (at the center or at the bottom).
Do you think there is something to do with the grid mesh which samples the charge density; different z-position of the slab leads to different sampling of the charge density?
I also tried to set DIPOL to (0.5 0.5 0.5) and the minimization of the slab still at the center of the cell converged as well. Indeed, the manual says that DIPOL tag must be set to the center of mass for surfaces and isolated molecules. But I do not understand what it does, exactly. Could you explain me?
Best regards.
Lian
Last edited by Lian on Sat Jun 08, 2013 12:51 pm, edited 1 time in total.
- kzhuo3
- Newbie
- Posts: 21
- Joined: Fri Jun 04, 2010 3:45 pm
- Location: Atlanta, GA
No convergence when dipole correction is switched on.
Great, I'm glad it worked out for you!
Unfortunately, I'm not sure of the reason behind this strange behaviour in VASP but I'll share my thoughts on the issue anyway. I think the default value R_center for DIPOL is (0 0 0) in which case, rho_(ions+valence) will not drop to 0 away from R_center but instead increase when you put the slab at the center (0.5 0.5 0.5). Hence, if you want your slab in the center, you need to set DIPOL = (0.5 0.5 0.5) so that rho_(ions+valence) will decrease to 0 away from this center reference point. I guess this is why the manual recommends setting DIPOL to the center of mass of your slab wherever it may be. Either that or just leave the slab at the bottom which I think is safest. Again, this is just my opinion and I'm not sure if I'm right on this issue. Hopefully, someone will clarify this in the future.
Unfortunately, I'm not sure of the reason behind this strange behaviour in VASP but I'll share my thoughts on the issue anyway. I think the default value R_center for DIPOL is (0 0 0) in which case, rho_(ions+valence) will not drop to 0 away from R_center but instead increase when you put the slab at the center (0.5 0.5 0.5). Hence, if you want your slab in the center, you need to set DIPOL = (0.5 0.5 0.5) so that rho_(ions+valence) will decrease to 0 away from this center reference point. I guess this is why the manual recommends setting DIPOL to the center of mass of your slab wherever it may be. Either that or just leave the slab at the bottom which I think is safest. Again, this is just my opinion and I'm not sure if I'm right on this issue. Hopefully, someone will clarify this in the future.
Last edited by kzhuo3 on Sun Jun 09, 2013 6:41 am, edited 1 time in total.
- Lian
- Newbie
- Posts: 12
- Joined: Thu Apr 25, 2013 3:04 pm
- Location: Mons, Belgium
No convergence when dipole correction is switched on.
Dear Kzhuo3.
It is kind from you. Thanks.
Maybe you are right. I am now working on the slab placed at the bottom, for safety.
I also sent a message to the VASP support. I keep you informed.
It is kind from you. Thanks.
Maybe you are right. I am now working on the slab placed at the bottom, for safety.
I also sent a message to the VASP support. I keep you informed.
Last edited by Lian on Sun Jun 09, 2013 9:08 pm, edited 1 time in total.