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 More...
 
T operator() (const Function< T, NDIM > &bra, const Function< T, NDIM > &ket) const
 compute the matrix element <bra | op | ket> More...
 
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> More...
 
virtual vecfuncT operator() (const vecfuncT &vket) const =0
 apply this operator on the argument vector of functions More...
 

Private Attributes

int iatom
 index of the atom which is displaced More...
 
int iaxis
 x,y,z component of the atom More...
 
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 >.

Referenced by 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: