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

#include <SCFOperators.h>

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

Public Member Functions

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

Private Types

typedef DistributedMatrix< TdistmatT
 
typedef Function< T, NDIMfunctionT
 
typedef Tensor< TtensorT
 
typedef std::vector< functionTvecfuncT
 

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
 
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
 

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]

template<typename T , std::size_t NDIM>
DistributedMatrix< T > madness::Kinetic< T, NDIM >::kinetic_energy_matrix ( World world,
const vecfuncT v 
) const
private

◆ kinetic_energy_matrix() [2/2]

template<typename T , std::size_t NDIM>
DistributedMatrix< T > madness::Kinetic< T, NDIM >::kinetic_energy_matrix ( World world,
const vecfuncT vbra,
const vecfuncT vket 
) const
private

◆ 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 madness::Kinetic< T, NDIM >::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 madness::Kinetic< T, NDIM >::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(), madness::Kinetic< T, NDIM >::kinetic_energy_matrix(), and madness::Kinetic< T, NDIM >::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: