What is the difference between the "default" and "strict" sets of Custodian error handlers?

When would one use the strict set?

1 Like

Hi John,

strict includes some additional handlers, see: atomate/run_calc.py at a9cedff225494c170c6b79c230b7479209ad475d · hackingmaterials/atomate · GitHub and custodian.vasp.handlers — custodian 2021.1.8 documentation for information on these handlers.

Specifically, currently the difference is due to AliasingErrorHandler and DriftErrorHandler.

The former is associated with an insufficient resolution of FFT grids to avoid wrap-around errors. This will result in small, aliasing errors. For high-throughput usage this might not be an issue, and increasing the resolution of your FFT grid can be expensive, but this might be important for very accurate calculations.

The latter is related to insufficiently accurate evaluation of forces, meaning that your desired force-convergence might not be met.

In both cases, it’s a trade off between computation time and fizzle rate. Using the strict handlers will mean your calculations are more likely to “fizzle” (fail) but those that do complete will be more accurate.



1 Like