MADNESS  0.10.1
Functions
vibanal.cc File Reference
#include <madness/chem/vibanal.h>
#include <madness/tensor/tensor_lapack.h>
Include dependency graph for vibanal.cc:

Functions

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 More...
 
Tensor< double > compute_reduced_mass (const Molecule &molecule, const Tensor< double > &normalmodes)
 
Tensor< double > projector_external_dof (const Molecule &mol)
 compute the projector to remove transl. and rot. degrees of freedom More...
 
void remove_external_dof (Tensor< double > &hessian, const Molecule &mol)
 remove translational degrees of freedom from the hessian More...
 

Function Documentation

◆ compute_frequencies()

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()

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

◆ projector_external_dof()

Tensor<double> projector_external_dof ( const Molecule mol)

◆ remove_external_dof()

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

remove translational degrees of freedom from the hessian

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

Referenced by compute_frequencies().