I am calling the frequency() method in order to get the normal modes and their frequencies for a certain optimized geometry. When I return the wavefunction, the return value for wfn.frequencies() provides values that match that of the printed output, but wfn.normalmodes() returns None. Is there any way to get the normal modes as some sort of data representation directly in the Python interface, or is the only way to parse the output or molden file?
Another note, the normalmodes() method exists in the manual for 1.1 (http://psicode.org/psi4manual/1.1/psi4api.html#psi4.core.Wavefunction) but not the one for master (http://psicode.org/psi4manual/master/psi4api.html#psi4.core.Wavefunction).
The situation actually got better rather than worse since 1.1! If you return the wavfunction from the freq calc, you can grab off a data structure (https://github.com/psi4/psi4/blob/master/tests/fd-freq-gradient/input.dat#L28) that has lots of good info (https://github.com/psi4/psi4/blob/master/psi4/driver/qcdb/vib.py#L331-L359).
Thank you! I looked at the data structure, and it does exactly what I need it to! I had a little trouble understanding how the numbers in the normal mode data structure were organized, but i eventually figured it out.
Ok, good. I finally threw up some docs on the subject here. If there’s any guidance that would have saved you time, please propose edits with the little pencil in the upper left.