SCF cycle deteriorates during relaxation
Posted: Sun Feb 05, 2017 9:44 pm
Dear all,
I systematically encounter a problem during structural relaxations. It happens for every kind of relaxations, e.g. optcell=0 and ionmov=7, and for every SCF procedure, e.g. iscf=17.
As the algorithm proceeds through the molecular dynamics steps, the SCF cycle takes more and more steps to converge and eventually fails. For example, in the first few iterations, the SCF cycle converges in 20 steps, but at Iteration 10, the SCF cycle is not even converged after 80 steps, so the whole relaxation fizzles at this point. If however I start a new relaxation from the coordinates obtained before the procedure failed, then the SCF cycle is well behaved, at least for a couple of iterations until it deteriorates again. Needless to say, this problem makes the relaxation process unnecessarily human-time-consuming.
I also notice that in the first few iterations, the SCF cycle converges in *less* step than Iteration 1. Therefore, I am guessing that the algorithm somehow carries a history that is supposed to help the SCF cycle, but it must also be responsible for the deterioration of the relaxation.
If this is correct, is there a way to avoid carrying a history through the relaxation? I tried specifying prtden=0 to make sure that the density of a previous iteration is not written, but that doesn’t solve the problem. Perhaps the density of a previous iteration is still kept in memory?
I also tried altering the SCF procedure with different values of npulayit, nnsclo, and iscf, without success. Altering the value of dtion doesn’t help either.
I systematically encounter a problem during structural relaxations. It happens for every kind of relaxations, e.g. optcell=0 and ionmov=7, and for every SCF procedure, e.g. iscf=17.
As the algorithm proceeds through the molecular dynamics steps, the SCF cycle takes more and more steps to converge and eventually fails. For example, in the first few iterations, the SCF cycle converges in 20 steps, but at Iteration 10, the SCF cycle is not even converged after 80 steps, so the whole relaxation fizzles at this point. If however I start a new relaxation from the coordinates obtained before the procedure failed, then the SCF cycle is well behaved, at least for a couple of iterations until it deteriorates again. Needless to say, this problem makes the relaxation process unnecessarily human-time-consuming.
I also notice that in the first few iterations, the SCF cycle converges in *less* step than Iteration 1. Therefore, I am guessing that the algorithm somehow carries a history that is supposed to help the SCF cycle, but it must also be responsible for the deterioration of the relaxation.
If this is correct, is there a way to avoid carrying a history through the relaxation? I tried specifying prtden=0 to make sure that the density of a previous iteration is not written, but that doesn’t solve the problem. Perhaps the density of a previous iteration is still kept in memory?
I also tried altering the SCF procedure with different values of npulayit, nnsclo, and iscf, without success. Altering the value of dtion doesn’t help either.