gmx nmeig should plot a real infrared spectrum
gmx nmeig plots an optional spectrum, however the intensities should be computed correctly as well.
#3 Updated by David van der Spoel 5 months ago
Upon looking into this closer it may be harder than thought for non-trivial cases. That is, systems with virtual sites or shells. Since CGenFF now uses virtual sites on all the ligands with Cl, Br or I, this is a very relevant issue.
A quick and dirty solution that ignores this could be implemented in gmx nmeig, but I would prefer to do it properly. In that case, however, it needs to be implemented in the normal modes module in mdrun (or a new derivative of that). The reason for this is that the derivative of the dipole with respect to the coordinates needs to be computed, and the dipole depends on vsites. However, since the vsites are massless they do not contribute to the vibrations and they are not stored in the hessian.
#5 Updated by David van der Spoel 4 months ago
I did implement a hack in gmx mdrun that prints a text file that can be interpreted by a script. The issue is that we need to pass information in some way to gmx nmeig, or alternatively, print the spectrum straight from gmx mdrun whenever NMA is done but then the whole diagonalization etc. of the Hessian should move to mdrun as well.
Do you have any preference? I would say printing an optional text file from mdrun and optionally reading that in gmx nmeig would be preferred.
Either way, it will not make it to the beta :(