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

#include <SCFOperators.h>

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

Public Member Functions

 Kinetic (World &world)
std::string info () const
 print some information about this operator
T operator() (const functionT &bra, const functionT &ket) const
 compute the matrix element <bra | op | ket>
functionT operator() (const functionT &ket) const
tensorT operator() (const vecfuncT &vbra, const vecfuncT &vket) const
 compute the matrix <vbra | op | vket>
vecfuncT operator() (const vecfuncT &vket) const
 apply this operator on the argument vector of functions
Public Member Functions inherited from madness::SCFOperatorBase< T, NDIM >
 SCFOperatorBase ()=default
 SCFOperatorBase (std::shared_ptr< MacroTaskQ > taskq)
virtual ~SCFOperatorBase ()

Private Types

typedef DistributedMatrix< T > distmatT
typedef Function< T, NDIM > functionT
typedef Tensor< T > tensorT
typedef std::vector< functionT > vecfuncT

Private Member Functions

distmatT kinetic_energy_matrix (World &world, const vecfuncT &v) const
distmatT kinetic_energy_matrix (World &world, const vecfuncT &vbra, const vecfuncT &vket) const

Private Attributes

std::vector< std::shared_ptr< Derivative< T, NDIM > > > gradop
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

Member Typedef Documentation

◆ distmatT

template<typename T, std::size_t NDIM>
typedef DistributedMatrix<T> madness::Kinetic< T, NDIM >::distmatT
private

◆ functionT

template<typename T, std::size_t NDIM>
typedef Function<T,NDIM> madness::Kinetic< T, NDIM >::functionT
private

◆ tensorT

template<typename T, std::size_t NDIM>
typedef Tensor<T> madness::Kinetic< T, NDIM >::tensorT
private

◆ vecfuncT

template<typename T, std::size_t NDIM>
typedef std::vector<functionT> madness::Kinetic< T, NDIM >::vecfuncT
private

Constructor & Destructor Documentation

◆ Kinetic()

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

Member Function Documentation

◆ info()

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

print some information about this operator

Implements madness::SCFOperatorBase< T, NDIM >.

◆ kinetic_energy_matrix() [1/2]

◆ kinetic_energy_matrix() [2/2]

◆ operator()() [1/4]

template<typename T, std::size_t NDIM>
T madness::Kinetic< T, NDIM >::operator() ( const functionT & bra,
const functionT & 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 operator()().

◆ operator()() [2/4]

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

apply this operator on the argument function

Parameters
ketthe argument function
Returns
op(ket)

Implements madness::SCFOperatorBase< T, NDIM >.

References MADNESS_EXCEPTION.

Referenced by operator()().

◆ operator()() [3/4]

template<typename T, std::size_t NDIM>
tensorT madness::Kinetic< T, NDIM >::operator() ( const vecfuncT & vbra,
const vecfuncT & vket ) const
inlinevirtual

compute the matrix <vbra | op | vket>

Parameters
vbravector of bra states
vketvector of ket states
Returns
the matrix <vbra | op | vket>

Implements madness::SCFOperatorBase< T, NDIM >.

References madness::DistributedMatrix< T >::copy_to_replicated(), kinetic_energy_matrix(), and world.

◆ operator()() [4/4]

template<typename T, std::size_t NDIM>
vecfuncT madness::Kinetic< T, NDIM >::operator() ( const vecfuncT & vket) const
inlinevirtual

apply this operator on the argument vector of functions

Parameters
vketargument vector
Returns
op(vket)

Implements madness::SCFOperatorBase< T, NDIM >.

References MADNESS_EXCEPTION.

Member Data Documentation

◆ gradop

template<typename T, std::size_t NDIM>
std::vector< std::shared_ptr<Derivative<T,NDIM> > > madness::Kinetic< T, NDIM >::gradop
private

◆ world

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

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