When I run geometry optimization of H2O using STO-3G or 3-21G basis set and UHF, the energy components of optimized structure deviate slightly from virial theorem stipulated:

Kinetic energy = 75.424942151953331

Total energy = -75.585962823645531

What could cause this small difference, given that the gradients are pretty close to zero?

Here is the input file used:

molecule h2o {

O

H 1 0.96

H 1 0.96 2 104.5

}

set basis 3-21g

set scf_type pk

set g_convergence GAU_VERYTIGHT

set reference uhf

E, wfn = optimize(‘scf’,return_wfn=True)