There are several ways to do partial optimization (freeze coordinates) in Gaussian.

- One of them is to add “
**ModRedundant**” to**Opt**or**Geom**keyword and to write

```
F1
F2
F3
...
```

after coordinate section. “**F**” here means freeze, and integer stands for atom number.

- Another one is to add “
**ReadOpt**” to**Opt**keyword and to add

`noatoms atoms=1-4`

after Cartesians. This will exclude the first four atoms from optimization. BTW, you definitely should read the section about “**ReadOptimize**” option if you haven’t before.

- The third one is using a
*freeze-code*. I came across this method in the post at ResearchGate portal. The idea is simple: you add**0**(or nothing) between an atom symbol and its coordinates if the position of the atom should be optimized, and**-1**if you want to freeze it.

```
C 0 1.5841970000 -2.9056620000 0.0000300000
C -1 3.2294750000 0.7041530000 0.0001550000
```

The first atom in the example will be included in the optimization and the second will be frozen.

Just that simple!

And something more: if you restart your optimization from .chk file, freezing will be preserved. Enjoy!

P.S. Also check Dr. Barroso’s post on the topic.

This post was adopted and updated from my old blog.

Thanks for linking to my page!

Thank you but that’s not what I would like to do. I want to freeze one particular coordinate, i.e. a dihedral angle; say I want to keep D1 constant during optimization of this hydronium:

B1 0.97026220

B2 0.96964597

B3 0.96000000

A1 120.00000000

A2 120.00000000

D1 -179.37111574

Typing an F after the numerical value for D1 doesn’t do it; the variable still gets optimized (and changed)? Many thanks, Peter

I do not use z-matrices often, but as I understand from the Gaussian manual, you can just separate the variables you want to freeze with a blank line. I found an example here:

`# RHF/STO-3G opt=z-mat`

title : methanol

0 1

C

H 1 R1

H 1 R1 2 A1

H 1 R1 2 A1 3 D1

O 1 R2 2 A1 3 -D1

H 5 R3 1 A2 2 D2

R1 1.083

R2 1.44

A1 109.47122

D1 120.0

R3 0.96

A2 104.48

D2 180.0

`R1, R2, A1 and D1 will be allowed to vary whereas R3, A2 and D2 won't be.`

As the manual says, you can also separate the frozen variables by the following line:

`Constants:`

Hope this helps.