MADNESS  0.10.1
Functions
vibanal.h File Reference
#include <madness/tensor/tensor.h>
#include <madness/chem/molecule.h>
Include dependency graph for vibanal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

madness::Tensor< double > compute_frequencies (const madness::Molecule &molecule, const madness::Tensor< double > &hessian, madness::Tensor< double > &normalmodes, const bool project_tr=true, const bool print_hessian=false)
 returns the vibrational frequencies More...
 
madness::Tensor< double > compute_reduced_mass (const madness::Molecule &molecule, const madness::Tensor< double > &normalmodes)
 
madness::Tensor< double > projector_external_dof (const madness::Molecule &mol)
 compute the projector to remove transl. and rot. degrees of freedom More...
 
void remove_external_dof (madness::Tensor< double > &hessian, const madness::Molecule &mol)
 remove translational degrees of freedom from the hessian More...
 

Function Documentation

◆ compute_frequencies()

madness::Tensor<double> compute_frequencies ( const Molecule molecule,
const Tensor< double > &  hessian,
Tensor< double > &  normalmodes,
const bool  project_tr,
const bool  print_hessian 
)

returns the vibrational frequencies

Parameters
[in]hessianthe hessian matrix (not mass-weighted)
[out]normalmodesthe normal modes
[in]project_trwhether to project out translation and rotation
[in]print_hessianwhether to print the hessian matrix
Returns
the frequencies in atomic units

References madness::inner(), madness::Molecule::massweights(), molecule, madness::Molecule::natom(), madness::print(), remove_external_dof(), madness::BaseTensor::size(), and madness::syev().

Referenced by madness::Nemo::hessian().

◆ compute_reduced_mass()

madness::Tensor<double> compute_reduced_mass ( const madness::Molecule molecule,
const madness::Tensor< double > &  normalmodes 
)

◆ projector_external_dof()

madness::Tensor<double> projector_external_dof ( const Molecule mol)

◆ remove_external_dof()

void remove_external_dof ( madness::Tensor< double > &  hessian,
const madness::Molecule mol 
)

remove translational degrees of freedom from the hessian

References madness::inner(), and projector_external_dof().

Referenced by compute_frequencies().