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

derivative of the (regularized) nuclear potential wrt nuclear displacements More...

#include <SCFOperators.h>

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

Public Member Functions

 DNuclear (World &world, const Nemo *nemo, const int iatom, const int iaxis)
 
 DNuclear (World &world, const SCF *calc, const int iatom, const int iaxis)
 
 DNuclear (World &world, std::shared_ptr< NuclearCorrelationFactor > ncf, const int iatom, const int iaxis)
 
std::string info () const
 print some information about this operator
 
T operator() (const Function< T, NDIM > &bra, const Function< T, NDIM > &ket) const
 compute the matrix element <bra | op | ket>
 
Function< T, NDIMoperator() (const Function< T, NDIM > &ket) const
 
Tensor< Toperator() (const std::vector< Function< T, NDIM > > &vbra, const std::vector< Function< T, NDIM > > &vket) const
 
std::vector< Function< T, NDIM > > operator() (const std::vector< Function< T, NDIM > > &vket) const
 
- Public Member Functions inherited from madness::SCFOperatorBase< T, NDIM >
 SCFOperatorBase ()=default
 
 SCFOperatorBase (std::shared_ptr< MacroTaskQ > taskq)
 
virtual ~SCFOperatorBase ()
 
virtual tensorT operator() (const vecfuncT &vbra, const vecfuncT &vket) const =0
 compute the matrix <vbra | op | vket>
 
virtual vecfuncT operator() (const vecfuncT &vket) const =0
 apply this operator on the argument vector of functions
 

Private Attributes

int iatom
 index of the atom which is displaced
 
int iaxis
 x,y,z component of the atom
 
std::shared_ptr< NuclearCorrelationFactorncf
 
Worldworld
 

Additional Inherited Members

- Public Types inherited from madness::SCFOperatorBase< T, NDIM >
typedef Function< T, NDIMfunctionT
 
typedef Tensor< TtensorT
 
typedef std::vector< functionTvecfuncT
 
- Public Attributes inherited from madness::SCFOperatorBase< T, NDIM >
std::shared_ptr< MacroTaskQtaskq =0
 

Detailed Description

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

derivative of the (regularized) nuclear potential wrt nuclear displacements

Constructor & Destructor Documentation

◆ DNuclear() [1/3]

template<typename T , std::size_t NDIM>
madness::DNuclear< T, NDIM >::DNuclear ( World world,
const SCF calc,
const int  iatom,
const int  iaxis 
)

◆ DNuclear() [2/3]

template<typename T , std::size_t NDIM>
madness::DNuclear< T, NDIM >::DNuclear ( World world,
const Nemo nemo,
const int  iatom,
const int  iaxis 
)

◆ DNuclear() [3/3]

template<typename T , std::size_t NDIM>
madness::DNuclear< T, NDIM >::DNuclear ( World world,
std::shared_ptr< NuclearCorrelationFactor ncf,
const int  iatom,
const int  iaxis 
)
inline

Member Function Documentation

◆ info()

template<typename T , std::size_t NDIM>
std::string madness::DNuclear< T, NDIM >::info ( ) const
inlinevirtual

print some information about this operator

Implements madness::SCFOperatorBase< T, NDIM >.

◆ operator()() [1/4]

template<typename T , std::size_t NDIM>
T madness::DNuclear< T, NDIM >::operator() ( const Function< T, NDIM > &  bra,
const Function< T, NDIM > &  ket 
) const
inlinevirtual

compute the matrix element <bra | op | ket>

Parameters
brabra state
ketket state
Returns
the matrix element <bra | op | ket>

Implements madness::SCFOperatorBase< T, NDIM >.

References madness::inner().

◆ operator()() [2/4]

template<typename T , std::size_t NDIM>
Function< T, NDIM > madness::DNuclear< T, NDIM >::operator() ( const Function< T, NDIM > &  ket) const
inlinevirtual

apply this operator on the argument function

Parameters
ketthe argument function
Returns
op(ket)

Implements madness::SCFOperatorBase< T, NDIM >.

References madness::DNuclear< T, NDIM >::operator()().

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

◆ operator()() [3/4]

template<typename T , std::size_t NDIM>
Tensor< T > madness::DNuclear< T, NDIM >::operator() ( const std::vector< Function< T, NDIM > > &  vbra,
const std::vector< Function< T, NDIM > > &  vket 
) const
inline

◆ operator()() [4/4]

template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::DNuclear< T, NDIM >::operator() ( const std::vector< Function< T, NDIM > > &  vket) const

Member Data Documentation

◆ iatom

template<typename T , std::size_t NDIM>
int madness::DNuclear< T, NDIM >::iatom
private

index of the atom which is displaced

◆ iaxis

template<typename T , std::size_t NDIM>
int madness::DNuclear< T, NDIM >::iaxis
private

x,y,z component of the atom

◆ ncf

template<typename T , std::size_t NDIM>
std::shared_ptr<NuclearCorrelationFactor> madness::DNuclear< T, NDIM >::ncf
private

◆ world

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

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