I’m trying to run constrained geometry optimizations on water dimers and despite trying to freeze the oxygen coordinates, the oxygens continue to move between steps. Is there a way to completely fix atoms such that their x y and z don’t move at all? Here’s the input file I’m running:
“”"
memory 100 GB
molecule dimer {
0 1
O -0.322491728604 -1.449698681735 0.000000000000
H -1.294298318655 -1.499217896132 -0.000000049766
H 0.070000000000 0.450000000000 -0.000000001890
O 0.307683235515 1.381106500213 0.000000000000
H 0.847010220520 1.366108464365 0.789332099005
H 0.847010199703 1.366108476049 -0.789332112058
}
freeze_list = “”"
1 xyz
4 xyz
“”"
set optking frozen_cartesian $freeze_list
set optking {
dynamic_level = 1
ranged_distance = ("
4 3 0.9 1.0
4 5 0.9 1.0
4 6 0.9 1.0
")
}
set {
freeze_core False
scf_type df
mp2_type df
cc_type df
pcg_convergence 9
hessian_write true
geom_maxiter 100
maxiter 1000
g_convergence gau_verytight
e_convergence 13
}
optimize(name=‘ccsd(t)/aug-cc-pVDZ’, engine=‘optking’)
dimer.save_xyz_file(‘h3o-oh.xyz’, False)
“”"
The oxygens are at a distance of about 2.900 Å initially. After just a few steps the geometry becomes:
“”"
Structure for next step:
Molecular point group: c1
Full point group: C1
Geometry (in Angstrom), charge = 0, multiplicity = 1:
O -0.322577505988 -1.437216430406 0.000000001810
H -1.292293273792 -1.476031952481 -0.000000024209
H 0.004451839791 0.377499902775 0.000000001055
O 0.294635770621 1.335363632710 0.000000001810
H 0.864016991197 1.423925761095 0.789227605750
H 0.864016988735 1.423925762881 -0.789227603663
“”"
Not only have the oxygen coordinates changed but the oxygens are now at a distance of 2.840 Å. Any help would be greatly appreciated!