Hi,
I need to develop a robust geometry optimization workflow which would be completely hands-off. I need to catch exceptions for that so I use the following code:
psi4.set_options({
'geom_maxiter': 30
})
geometric_keywords = {
'coordsys': 'tric',
'maxiter': 30
}
try:
energy, history = psi4.optimize('pbe0-d3bj/def2-svp',
molecule=mol,
return_wfn=False,
return_history=True,
engine='geometric',
optimizer_keywords=geometric_keywords,
func='gradient',
dertype='gradient',
hessian_with='pbe0-d3bj/def2-svp')
except OptimizationConvergenceError as e:
print(f'\n!!! Optimization failed: {str(e)}')
raise
The optimization I run doesn’t converge in either 30 or 50 iterations but I get no error. Not only it’s weird but I don’t wanna write a code for catching errors not internally detected by geomeTRIC or psi4. Am I doing something wrong or exceptions don’t rise when using geomeTRIC as the engine
?
psi4 1.9.1 conda-forge