Closed ezpzbz closed 4 years ago
I've tested above approach and also thought about it for sometime. At the end, I think keeping the handling of convergence failure in the workchian is better idea compared to having it in base. My reason is to dedicate handlers in base to errors that can occure during the calculations.
Is your feature request related to a problem? Please describe
Currently, we are checking for electronic and ionic convergence within the workchain. For well behaving systems, it is quite ok. However, if we face systems that the convergence becomes an issue and needs altering parameters to improve the convergence, keeping the check is the
VaspMultiStageWorkChain
is not a good idea and will result complications/interefernce of handlers.Describe the solution you'd like
The ideal solution is having specific handlers with high priorities placed in
VaspBaseWorkChain
. These would check for convergence inmisc
and if calculation is not converged, they would try to identify source of issue. We might have different cases:VASP
hits the maxim number of iterations, so we might resubmit with increase numbers or possibly change the algorithm.It would be something like:
Additional context
We may benefit from Peter Larsson's scripts for the identification stages: https://www.nsc.liu.se/~pla/vasptools/