File NormalModeAnalyzer.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils -
class
NormalModeAnalyzer - #include <NormalModeAnalyzer.h>
Class to calculate the normal modes of a molecule from its hessian matrix.
Public Functions
-
NormalModeAnalyzer(const HessianMatrix &hessian, const ElementTypeCollection &elements, const PositionCollection &positions) Construct a new NormalModeAnalyzer object.
- Parameters
hessian: The hessian (non-mass weighted, in cartesian coordinates).elements: The elements of the underlying structure.positions: The atom positions of the underlying structure.
-
NormalModesContainer
calculateNormalModes() Getter for the normal modes.
- Return
NormalModesContainer The mass weighted normalmodes.
Private Members
-
const HessianMatrix &
hessian_¶
-
const ElementTypeCollection &
elements_¶
-
const PositionCollection &
positions_¶
-
int
nAtoms_¶
-
Eigen::MatrixXd
cartesianDisplacements_¶
-
Eigen::VectorXd
eigenvalues_¶
Private Static Functions
-
static double
getWaveNumber(double value)¶ Returns the wave number in cm^-1 from a eigenvalue of the hessian matrix. If the eigenvalue is negative, will return a negative wave number instead of a complex number.
-
-
class
-
namespace