Optimizing water's molecular geometry

Furthermore, I have another script where I optimizing just the bond length r, and the bond angle for H3+. When i do this, the results are very consistent:


and this as well:

As you can see here, it seems to be that both bond length and angle for the H3+ are converging correctly.

However, when I repurpose this exact same script for H2O (the only thing I change is the “symbols” argument to be “O,H,H” and change the molecular_hamiltonian(). When I fix the angle, here is the output for the bond length of water:


It diverges from the accepted value, which is around 1

Any thoughts on how I can approach this?? The bond length is diverging from the accepted value for water!