I am looking for a way to convert XYZ coordinates into z-matrix for Gaussian input files. I need to specify certain coordinates in the matrix, therefore, the automatic built-in function from gaussview isn't of much help. Do you know of a program that can help me? Thanks in advance for your help!
Try Open Babel, the windows GUI has a lot of features that may be of help depending on what are those specifics you need in your Z-matrix.
- You can hand pick the atoms that define bond lengths, angles and dihedrals
- You can save as: GamessUS, GamessUK, Gaussian z-mat, mopac, xyz
If you want to convert back to xyz with obabel (for example after replacing a variable in the zmat with a range of values), use mopac (mopin in obabel).
Molden takes a bit to get used to, but this task can be done quite well there.
Avogadro, nice, clean and very user friendly. Just draw the molecule, then navigate to menu Extensions → Gaussian. Here you can format and select z-matrix for Gaussian input.
Gaussian provides all you need to do this with the newzmat program. It literally does all this, no need for 3rd party software.
I found it works best to put the Cartesian coordinates in a file by themselves and save it as
xyz, then in the command line just run (Note the atom types need to be in front of the coordinates so
C XXXX YYYYY ZZZZZ would be one line in the file if your first atom was carbon)
newzmat -ixyz name_of_xyz_file
It will output
name_of_xyz_file.com in z-matrix format.