MADNESS 0.10.1
madness::Nuclear< T, NDIM > Class Template Reference

#include <SCFOperators.h>

Inheritance diagram for madness::Nuclear< T, NDIM >:
Collaboration diagram for madness::Nuclear< T, NDIM >:

Public Member Functions

 Nuclear (World &world, const Molecule &molecule)
 simple constructor takes a molecule, no nuclear correlation factor or core potentials
 Nuclear (World &world, const NemoBase *nemo)
 Nuclear (World &world, const SCF *calc)
 Nuclear (World &world, std::shared_ptr< NuclearCorrelationFactor > ncf)
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, NDIM > operator() (const Function< T, NDIM > &ket) const
Tensor< T > operator() (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

std::shared_ptr< NuclearCorrelationFactor > ncf
World & world

Additional Inherited Members

Public Types inherited from madness::SCFOperatorBase< T, NDIM >
typedef Function< T, NDIM > functionT
typedef Tensor< T > tensorT
typedef std::vector< functionT > vecfuncT
Public Attributes inherited from madness::SCFOperatorBase< T, NDIM >
nlohmann::json statistics
std::shared_ptr< MacroTaskQ > taskq =0

Constructor & Destructor Documentation

◆ Nuclear() [1/4]

template<typename T, std::size_t NDIM>
madness::Nuclear< T, NDIM >::Nuclear ( World & world,
const SCF * calc )

◆ Nuclear() [2/4]

template<typename T, std::size_t NDIM>
madness::Nuclear< T, NDIM >::Nuclear ( World & world,
const NemoBase * nemo )

References ncf, madness::nemo, and world.

◆ Nuclear() [3/4]

template<typename T, std::size_t NDIM>
madness::Nuclear< T, NDIM >::Nuclear ( World & world,
const Molecule & molecule )

simple constructor takes a molecule, no nuclear correlation factor or core potentials

References MADNESS_CHECK, molecule, ncf, and world.

◆ Nuclear() [4/4]

template<typename T, std::size_t NDIM>
madness::Nuclear< T, NDIM >::Nuclear ( World & world,
std::shared_ptr< NuclearCorrelationFactor > ncf )
inline

References ncf, and world.

Member Function Documentation

◆ info()

template<typename T, std::size_t NDIM>
std::string madness::Nuclear< 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::Nuclear< 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::Nuclear< 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 operator()().

Referenced by operator()(), and operator()().

◆ operator()() [3/4]

template<typename T, std::size_t NDIM>
Tensor< T > madness::Nuclear< 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::Nuclear< T, NDIM >::operator() ( const std::vector< Function< T, NDIM > > & vket) const

Member Data Documentation

◆ ncf

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

◆ world

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

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