For unconstrained optimization: don't use geovar, apply optim if Cartesian optimization is required while the data in the atoms block was in z-matrix format or when z-matrix optimization is required while the atoms input was in zcart format. Provide the atomic coordinates (atoms) directly as numerical data.
For optimizations where only very few coordinates are frozen: use geovar to set a few coordinates to frozen and/or to enforce equality of optimization coordinates whose values should remain equal. Don't use optim: the type of optimization coordinates - Cartesian or internal - must be identical to what is used in the atoms input part because you're using constraints now. In the atoms section, use identifiers for the frozen coordinates and for those that should satisfy equality conditions; use numerical input for all other (optimization) coordinates.
For very limited optimization: turn on the selected option with optim and assign with geovar initial values to the coordinates that you want to optimize. In the atoms input use identifiers for these coordinates. The numerical input coordinates are kept frozen automatically now.




