Hello list:
I'm thinking of writing a compute that would calculate the vibrational frequencies by finding the eigenvalues of a numerical hessian matrix and was wondering if someone already has done this, or have code that calculate numerical 2nd derivatives.

Goal:
To evaluate the vibrational frequencies of a (small) molecule in various solvent environments/simulation conditions.

Hello list:
I'm thinking of writing a compute that would calculate the vibrational frequencies by finding the eigenvalues of a numerical hessian matrix and was wondering if someone already has done this, or have code that calculate numerical 2nd derivatives.

Goal:
To evaluate the vibrational frequencies of a (small) molecule in various solvent environments/simulation conditions.

why not just use spectral densities from dipole auto-correlations?

with your method, you'd have to average over
many individual spectra since the smallest change
in position of a solvent molecule may change
your frequencies.

I've done this for simple solids (only 1 type of atom) but I think that it must not be difficult to extend the equations for a more complex system. You don't need to evaluate the 2nd derivative of the potential energy, you already have the force on the atoms, just compute the forces derivatives.

I didn't write a specific compute for this purpose, I just used LAMMPS as a library, loaded my system at the equilibrium position and computed dynamical matrix (the hessian of the potential energy). Then you can use LAPACK/Armadillo/whatever to diagonalize it.

I can send the code to you if you need, I can't guarantee that it is efficient. If you want to share some ideas about this compute that you plan to write I'm very interested on it.