- psi4.driver.frequency(name, **kwargs)¶
Function to compute harmonic vibrational frequencies.
float – Total electronic energy in Hartrees.
Wavefunction) – energy and wavefunction when return_wfn specified.
name (str) –
First argument, usually unlabeled. Indicates the computational method to be applied to the system.
molecule (molecule) –
The target molecule, if not the last molecule defined.
return_wfn (boolean) –
Indicate to additionally return the
Wavefunctioncalculation result as the second element (after float energy) of a tuple. Arrays of frequencies and the Hessian can be accessed through the wavefunction.
func (function) –
Indicates the type of calculation to be performed on the molecule. The default dertype accesses
'cbs'performs a multistage finite difference calculation. If a nested series of python functions is intended (see Function Intercalls), use keyword
dertype (dertype) –
Indicates whether analytic (if available- they’re not), finite difference of gradients (if available) or finite difference of energies is to be performed.
Indicates which symmetry block (Cotton ordering) of vibrational frequencies to be computed.
'a1'represents \(a_1\), requesting only the totally symmetric modes.
-1indicates a full frequency calculation.
Analytic hessians are only available for RHF and UHF. For all other methods, Frequencies will proceed through finite differences according to availability of gradients or energies.
>>> #  Frequency calculation for all modes through highest available derivatives >>> frequency('ccsd')
>>> #  Frequency calculation for b2 modes through finite difference of gradients >>> # printing lowest mode frequency to screen and Hessian to output >>> E, wfn = frequencies('scf', dertype=1, irrep=4, return_wfn=True) >>> print wfn.frequencies().get(0, 0) >>> wfn.hessian().print_out()
>>> #  Frequency calculation at default conditions and Hessian reuse at STP >>> E, wfn = freq('mp2', return_wfn=True) >>> set t 273.15 >>> set p 100000 >>> thermo(wfn, wfn.frequencies())
>>> #  Opt+Freq, skipping the gradient recalc at the start of the Hessian >>> e, wfn = optimize('hf', return_wfn=True) >>> frequencies('hf', ref_gradient=wfn.gradient())