aiida-quantumespresso
aiida-quantumespresso copied to clipboard
Support restart from file when ionic minimization cycle did not converge after the maximum number of steps.
In the case exit status 502: The ionic minimization cycle did not converge after the maximum number of steps.
Another iteration starts using the from scratch
, as shown in the report (no ionic convergence but clean shutdown: restarting from scratch but using output structure.
)
Because this is a clean shutdown, one could also restart from the file. This is very important for the system that is difficult to converge the electronic step. It is also useful for large systems.
Hmm, I think @sphuber once raised a reason to restart from scratch, but I'm not sure anymore why. I would tentatively at least be in favor of using the charge density.
With regard to restarting for geometry optimizations, I'm also wondering if it doesn't make more sense not to return an output_structure
for the PwCalculation
, but rely on ion_positions
instead. Not sure how useful a non-converged intermediary structure is.
Hmm, I think @sphuber once raised a reason to restart from scratch, but I'm not sure anymore why. I would tentatively at least be in favor of using the charge density.
I have also been scratching my head, but can also no longer think why. Given that the handler deals with exit codes that correspond to clean shutdowns (as reported in the handler message) so it should be perfectly fine to restart from the charge density as well.
With regard to restarting for geometry optimizations, I'm also wondering if it doesn't make more sense not to return an output_structure for the PwCalculation, but rely on ion_positions instead. Not sure how useful a non-converged intermediary structure is.
I disagree with this. I think for consistency, the PwCalculation
should always attach the output structure, even if not fully converged. It will also make it easier to restart from the intermediate calculation later, at which point the working directory may already be long gone, and restarting using ion_positions
will not work.