File NormalModesContainer.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 NormalModesContainer
#include <NormalModesContainer.h>

Class that holds the and manages the normal modes.

Public Functions

int size() const

Returns the number of vibrational modes.

Return

int Number of modes.

void add(NormalMode mode)

Adds a normal mode to this container.

Parameters
  • mode: The mode to be added.

const DisplacementCollection &getMode(int modeIndex) const

Returns a const reference of the vibrational mode with index modeIndex.

Return

The mode with index modeIndex.

Parameters
  • modeIndex: The index of the mode required.

MolecularTrajectory getModeAsMolecularTrajectory(int modeIndex, const Utils::AtomCollection &structure, double scalingFactor) const

This function returns a molecular trajectory corresponding to a certain vibrational mode for visualization purposes.

Return

MolecularTrajectory The molecular trajectory representing the mode.

Parameters
  • modeIndex: The index of the mode required.

  • structure: The AtomCollection of the molecular structure of interest.

  • scalingFactor: The scaling factor applied to the mode to obtain the maximum displacement.

std::vector<double> getWaveNumbers() const

Getter for the wave numbers corresponding to the vibrational modes.

Return

std::vector<double> Vector of all wave numbers.

Private Members

std::vector<NormalMode> modes_