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