MADNESS  0.10.1
Public Types | Public Member Functions | Public Attributes | List of all members
madness::BSHApply< T, NDIM > Class Template Reference

apply the BSH operator on a vector of functions with corresponding potentials More...

#include <BSHApply.h>

Collaboration diagram for madness::BSHApply< T, NDIM >:
Collaboration graph
[legend]

Public Types

enum  return_value { update , residual }
 

Public Member Functions

 BSHApply (World &world)
 
std::vector< Function< T, NDIM > > add_coupling_and_levelshift (const std::vector< Function< T, NDIM > > psi, const Tensor< T > fock1) const
 
double eps_in_green (const T eps) const
 limit the orbital energy (diagonal fock matrix element) entering the Green's function parameter mu More...
 
std::vector< Function< T, NDIM > > make_bra (const std::vector< Function< T, NDIM > > &rhs) const
 
MolecularOrbitals< T, NDIMoperator() (const MolecularOrbitals< T, NDIM > &arg, const std::vector< Function< T, NDIM > > &Vpsi) const
 apply the BSH operator on the vector of functions and respective potentials More...
 
std::tuple< std::vector< Function< T, NDIM > >, Tensor< double > > operator() (const std::vector< Function< T, NDIM > > psi, const Tensor< T > eps, const std::vector< Function< T, NDIM > > &Vpsi1) const
 apply the BSH operator on the vector of functions and respective potentials More...
 

Public Attributes

double bshtol =1.e-5
 
bool destroy_Vpsi =false
 
double levelshift =0.0
 
double lo =1.e-6
 
Function< double, NDIMmetric
 
bool printme =false
 
return_value ret_value =residual
 
Worldworld
 

Detailed Description

template<typename T, std::size_t NDIM>
class madness::BSHApply< T, NDIM >

apply the BSH operator on a vector of functions with corresponding potentials

this class

Member Enumeration Documentation

◆ return_value

template<typename T , std::size_t NDIM>
enum madness::BSHApply::return_value
Enumerator
update 
residual 

Constructor & Destructor Documentation

◆ BSHApply()

template<typename T , std::size_t NDIM>
madness::BSHApply< T, NDIM >::BSHApply ( World world)
inline

Member Function Documentation

◆ add_coupling_and_levelshift()

template<typename T , std::size_t NDIM>
std::vector<Function<T,NDIM> > madness::BSHApply< T, NDIM >::add_coupling_and_levelshift ( const std::vector< Function< T, NDIM > >  psi,
const Tensor< T fock1 
) const
inline

◆ eps_in_green()

template<typename T , std::size_t NDIM>
double madness::BSHApply< T, NDIM >::eps_in_green ( const T  eps) const
inline

limit the orbital energy (diagonal fock matrix element) entering the Green's function parameter mu

References madness::imag(), madness::BSHApply< T, NDIM >::levelshift, MADNESS_EXCEPTION, and madness::real().

Referenced by madness::BSHApply< T, NDIM >::add_coupling_and_levelshift(), and madness::BSHApply< T, NDIM >::operator()().

◆ make_bra()

template<typename T , std::size_t NDIM>
std::vector<Function<T,NDIM> > madness::BSHApply< T, NDIM >::make_bra ( const std::vector< Function< T, NDIM > > &  rhs) const
inline

◆ operator()() [1/2]

template<typename T , std::size_t NDIM>
MolecularOrbitals<T,NDIM> madness::BSHApply< T, NDIM >::operator() ( const MolecularOrbitals< T, NDIM > &  arg,
const std::vector< Function< T, NDIM > > &  Vpsi 
) const
inline

apply the BSH operator on the vector of functions and respective potentials

Parameters
[in]argthe MO structure holding MOs and orbital energies
[in]Vpsivector of functions V*MOs
Returns
an MO structure holding the residuals and the orbital energy updates

References madness::arg(), madness::MolecularOrbitals< T, NDIM >::get_mos(), and madness::BSHApply< T, NDIM >::operator()().

◆ operator()() [2/2]

template<typename T , std::size_t NDIM>
std::tuple<std::vector<Function<T,NDIM> >, Tensor<double> > madness::BSHApply< T, NDIM >::operator() ( const std::vector< Function< T, NDIM > >  psi,
const Tensor< T eps,
const std::vector< Function< T, NDIM > > &  Vpsi1 
) const
inline

Member Data Documentation

◆ bshtol

template<typename T , std::size_t NDIM>
double madness::BSHApply< T, NDIM >::bshtol =1.e-5

◆ destroy_Vpsi

template<typename T , std::size_t NDIM>
bool madness::BSHApply< T, NDIM >::destroy_Vpsi =false

◆ levelshift

template<typename T , std::size_t NDIM>
double madness::BSHApply< T, NDIM >::levelshift =0.0

◆ lo

template<typename T , std::size_t NDIM>
double madness::BSHApply< T, NDIM >::lo =1.e-6

◆ metric

template<typename T , std::size_t NDIM>
Function<double,NDIM> madness::BSHApply< T, NDIM >::metric

◆ printme

template<typename T , std::size_t NDIM>
bool madness::BSHApply< T, NDIM >::printme =false

◆ ret_value

template<typename T , std::size_t NDIM>
return_value madness::BSHApply< T, NDIM >::ret_value =residual

◆ world

template<typename T , std::size_t NDIM>
World& madness::BSHApply< T, NDIM >::world

The documentation for this class was generated from the following file: